Skip to main content

Integrate HubSpot with Zonka Feedback πŸ§‘β€πŸ¦°πŸ§‘β€πŸ¦±

With the HubSpot x Zonka Feedback Integration, you can create and update HubSpot Objects (Contacts, Companies, Deals, and Custom Objects) with Survey Responses, and sync data and scores back to HubSpot.

Written by Sonika Mehta

With the Zonka Feedback and HubSpot Integration, you can:

  • Create new or update existing HubSpot Objects (Contacts, Companies, Deals, and Custom Objects) when new Survey Responses are received in Zonka Feedback.

  • Create timeline activities on existing Contacts, Companies, or Deals directly from survey responses.

  • Sync your Survey Scores (NPS, CSAT, CES) and full Survey Response data back to existing Contacts, Companies, or both in HubSpot.

  • Map Survey Attributes, Response Attributes, Hidden Attributes, and Contact Attributes β€” in addition to survey question answers β€” to HubSpot properties.

  • Embed your survey question, button, or hyperlink directly inside HubSpot Emails β€” including email campaigns and trigger-based emails β€” so customers can respond right from their inbox.

  • Trigger Zonka Feedback surveys directly from HubSpot Workflows β€” send Email Surveys, SMS Surveys, 2-Way SMS Surveys and from Webhook automatically whenever a workflow condition is met.

In this section


What do you need for this integration?

  • Zonka Feedback account – Growth or Enterprise Plan

  • HubSpot account – Any paid plan


Setting up the HubSpot Integration with Zonka Feedback

  • Choose a Survey from Survey List View and head to the Integrations Tab from the top navigation.

  • Click on 'Connect' in HubSpot

  • Next you will see the HubSpot Integrations Detail Page where you can click to 'Connect to HubSpot' to connect your Zonka Feedback Account.

  • You’ll be redirected to HubSpot. If you're not logged in, you will have to log in at this step. If you're logged in and you have multiple accounts, you can choose the account you'd like to connect at this step.

  • Once logged in, you will see an Authorization Screen. Click on 'Connect app' to give permission to Zonka Feedback to access your HubSpot account.

  • You’ll be directed back to Zonka Feedback. Now you can manage your settings to add new Contacts to HubSpot when new Zonka Feedback Survey Responses are received and to sync Survey Response data and CX scores to existing contacts in HubSpot.


Creating/Updating Records in HubSpot (Mappings)

Once you have connected your HubSpot and Zonka Feedback accounts, you can now set conditions to add new Contacts to HubSpot once Zonka Feedback Survey Responses are received. Here's how.

  • Go to Integrations within the Survey you'd like to add new Contacts in HubSpot for. (To do this, choose the Survey from the Survey List, navigate to Build from the top navigation and go to Integrations).

  • Navigate to HubSpot and click on Settings to manage the HubSpot Integration.

  • Adding a Mapping

    1. Go to Integrations within the Survey (Survey List β†’ Build β†’ Integrations β†’ HubSpot β†’ Settings).

    2. Ensure the Create/Update records to HubSpot toggle is turned on.

    3. Click Add Mapping. A slide-in panel will appear on the right.

    4. Fill in the following: Mapping Name – A friendly name to help you identify this mapping. HubSpot Object – Choose which HubSpot Object to create or update:

      • Contacts

      • Companies

      • Deals (For Deals, you'll also select a Pipeline and Deal Stage.)

      • Custom Objects (Any custom HubSpot Objects configured in your HubSpot account.)

      Select an Action – Choose what should happen when a Survey Response is received (see full details in the next section). Select a Mapping Condition – Choose when this mapping should trigger:

      • Everytime – Triggers for every new Survey Response.

      • Only When – Triggers only when specific filter conditions are met. You can add multiple filters and choose whether All or Any conditions need to be satisfied.

      Required Fields Notice – A blue info box will highlight the required fields for the selected HubSpot Object. Ensure these are mapped for a successful sync:

      • Contacts β†’ Email is required

      • Companies β†’ Company Name or Company Domain Name is required (at least one must be mapped)

      • Deals β†’ Deal Name is required

      • Custom Objects β†’ Required fields will depend on your Custom Object configuration in HubSpot.

      Field Mapping – Map your Zonka Feedback fields to the corresponding HubSpot Object properties. This includes Survey Questions, Survey Attributes, Response Attributes, Hidden Attributes, and Contact Attributes. Fields you don't want to map can be left as No Mapping.

    5. Click Save to activate the mapping.

    You can create multiple mappings across different HubSpot Objects.
    ​


    ​


Select an Action

When adding or editing a mapping, the Select an Action dropdown determines how Zonka Feedback interacts with HubSpot records. The available actions are:

  • Create a new one – Creates a new HubSpot record every time a Survey Response is received. Skips if a matching record already exists.

  • Update fields – Updates the fields on a matching existing record. Never creates a new record.

  • Create or update – Updates the matching record if one exists, or creates a new one if none is found. (Default and recommended for most use cases.)

  • Create an activity on timeline – Creates a Zonka Feedback timeline activity on an existing HubSpot record. Available for Contacts, Companies, and Deals only. See the section below for details.
    ​


Supported HubSpot Objects and their Match Keys

When a Survey Response is received, Zonka Feedback identifies existing HubSpot records using the following match keys:

HubSpot Object

Match Key Used to Identify Existing Record

Contacts

Email Address

Companies

Company Name or Company Domain Name

Deals

Deal Name

Custom Objects

Depends on your Custom Object configuration in HubSpot

If a matching record is found, the mapped fields will be updated (or a timeline activity created, depending on the Action selected). If no match is found, a new record will be created β€” unless the Update fields action is selected.


Creating a Timeline Activity on an Existing Record

The Create an activity on timeline action lets you log survey responses as a timeline event on an existing HubSpot Contact, Company, or Deal β€” without creating or updating any record fields.

This is available for Contacts, Companies, and Deals only (not Custom Objects).

To use this, Zonka Feedback needs to identify which HubSpot record to attach the activity to. You do this by passing a HubSpot record ID as a hidden parameter in your survey.

How it works:

  1. When setting up your mapping, select Create an activity on timeline as the Action.

  2. A Matching Criteria section will appear, showing the parameter name to use:

    • For Contacts β†’ pass hb_contact_id

    • For Companies β†’ pass hb_company_id

    • For Deals β†’ pass hb_deal_id

  3. Pass the relevant ID as a key-value pair in your survey distribution:

    • For Web Surveys β†’ append as a URL parameter, e.g. ?hb_company_id=12345

    • For Email or SMS Surveys β†’ pass it as a hidden parameter in the survey link

When a response is submitted, Zonka Feedback will find the matching HubSpot record using this ID and create a timeline activity with the full survey response.

Note: The Select a Mapping Condition (Everytime or Only When) still applies when using the timeline activity action.


Mapping Attributes (Survey, Response, Hidden, Contact)

In addition to mapping survey question answers, you can also map the following attribute types to HubSpot properties:

Survey Attributes

  • Date Submitted

  • Survey Name

  • Survey Duration

Response Attributes

  • Response ID

Hidden Attributes

  • Any hidden fields you pass into the survey via URL parameters or embedded code (e.g., hb_company_id, custom identifiers).

Contact Attributes

  • Any Contact Attribute fields defined in Zonka Feedback (e.g., Full Name, Email, Mobile Number, External ID, and any custom properties).

To map these, click the dropdown next to any HubSpot property field in the mapping panel. You will see a searchable list grouped by attribute type. Select the attribute you want to map and click Save.

Tip: Use + Add Attribute at the bottom of the field mapping panel to add additional attribute rows beyond the default fields shown.


Editing your Mappings

  1. From the HubSpot Integration Detail Page, click View All Mappings.

  2. Your existing mappings will appear in the slide-in panel on the right.

  3. Click Edit next to the mapping you want to modify.

  4. In the Mapping Editor, you can:

    • Change the Mapping Name

    • Change the HubSpot Object, Pipeline, or Deal Stage (for Deals)

    • Change the Syncing Conditions

    • Update the Field Mapping

  5. Click Update to save your changes.


Deactivating or Deleting your Mappings

  1. From the HubSpot Integration Detail Page, click View All Mappings.

  2. Hover over a mapping and click the three dots (β‹―) menu.

  3. Choose Deactivate or Delete:

    • Deactivate – Temporarily pauses the mapping. No new records will be created or updated until you reactivate it.

    • Delete – Permanently removes the mapping. This cannot be undone, but you can recreate it at any time.

Note: Editing, Deactivating, or Deleting a mapping does not affect any previously synced data.


Syncing Survey Responses and Scores back to HubSpot

When you collect feedback from your existing customers or leads, you can sync Survey Responses and CX Scores (NPS, CSAT, CES) back to their corresponding records in HubSpot.

  1. Go to Integrations within the Survey (Survey List β†’ Build β†’ Integrations β†’ HubSpot β†’ Settings).

  2. Turn on the Sync back responses in HubSpot toggle.

  3. Under Objects to be Synced, select which HubSpot Objects should receive the synced data. You can select:

    • Contact

    • Company

    • (Or both)

  4. Choose what to sync:

    • Sync scores to properties – Syncs CX scores to the following dedicated properties on the HubSpot Contact and/or Company record:

      • Zonka Feedback NPS

      • Zonka Feedback CSAT

      • Zonka Feedback CES

    • Sync responses to timeline – Adds the full survey response as a Timeline Activity on the HubSpot Object.

  5. Click Save.

Important points:

  • Contacts are matched by Email Address – if the email in the Zonka Feedback Survey Response or Contact Attribute matches a HubSpot Contact's email, scores and responses will be synced to that Contact.

  • Companies are matched by Company Name.

  • Both Contacts and Companies can be synced simultaneously if both are selected under Objects to be Synced.
    ​


Viewing Zonka Feedback Activity on the HubSpot Timeline

When Sync responses to timeline is enabled, every Survey Response will appear as a Zonka Feedback activity on the HubSpot record's activity timeline.

To view these activities in HubSpot:

  1. Open the HubSpot Contact or Company record.

  2. Click on the Activities tab.

  3. Click Filter activity at the top of the activity feed.

  4. In the filter panel, locate the INTEGRATIONS section and check Zonka Feedback.

  5. The timeline will now display all Zonka Feedback Survey Responses submitted for that record, including:

    • Survey question responses

    • CX Scores (NPS, CSAT, CES)

    • Respondent details (Email, Name, etc.)

    • A View full Zonka Feedback Survey Response link


Field Mapping Reference

When setting up your mappings, the tables below show how Zonka Feedback fields correspond to HubSpot property types across Contacts, Companies, and Deals.


Contact Information Fields β†’ HubSpot Contact Properties

Zonka Feedback Field

HubSpot Contact Property

Full Name

Full Name / Single-line Text

First Name

First Name / Single-line Text

Last Name

Last Name / Single-line Text

Email

Email (required β€” used as match key)

Mobile Number

Phone Number / Mobile

Gender

Gender (Custom)

Country

Country/Region / Dropdown Select

Time Zone

Time Zone / Dropdown Select

Language

Preferred Language / Dropdown Select

External ID

Contact ID / External ID / Single-line Text

Anniversary

Date

Birthday

Date


Survey & Response Attributes β†’ HubSpot Property Types

Zonka Attribute

Attribute Type

HubSpot Property Type

Date Submitted

Survey Attribute

Date Picker

Survey Name

Survey Attribute

Single-line Text

Survey Duration

Survey Attribute

Number

Response ID

Response Attribute

Single-line Text

Hidden Fields (e.g. hb_contact_id)

Hidden Attribute

Single-line Text


Question Types β†’ HubSpot Property Types

Choices

Zonka Question Type

HubSpot Property Type

Button Choice (single)

Radio Select

Button Choice (multiple selection ON)

Multiple Checkboxes

Radio Buttons

Radio Select

Dropdown

Dropdown Select

Checkbox

Multiple Checkboxes

Picture Choice (single)

Radio Select

Picture Choice (multiple selection ON)

Multiple Checkboxes


Text & Input

Zonka Question Type

HubSpot Property Type

Text Box

Single-line Text

Comment Box

Multi-line Text

Date

Date Picker


Rating & Scales

Zonka Question Type

HubSpot Property Type

NPS

Number (0–10)

CES

Single-line Text

CSAT

Number

Rating

Number

0–10 Scale

Number

Ranking

Multi-line Text / Single-line Text

Tip: If you don't see Zonka Feedback activities, make sure the Sync responses to timeline option is enabled and saved in your HubSpot Integration settings in Zonka Feedback.



Embedding a Survey Question in HubSpot Emails

You can embed your Zonka Feedback survey directly inside your HubSpot emails β€” both email campaigns and trigger-based (automated) emails. Your customers see the survey question right in their inbox, and clicking a response option records their answer instantly and takes them to the rest of the survey.

Here's how to set it up:

  1. Go to Integrations within the Survey (Survey List β†’ Build β†’ Integrations β†’ HubSpot β†’ Settings).

  2. Turn on the Embed a question in HubSpot Email toggle.

  3. Choose your Embed Style from the dropdown:

  • Question – Embeds the first question of your survey (e.g., your NPS, CSAT, or Rating question) directly in the email. Recipients can answer with a single click.

  • Button – Adds a Start Survey button in your email that takes recipients to the survey.

  • Hyperlink – Adds a simple text hyperlink to your survey in the email.

4. Use the Code and Preview tabs to review your embed:

  • Code – Shows the generated HTML code for the selected embed style.

  • Preview – Shows exactly how the question, button, or link will appear in the recipient's inbox.

5. Click the Copy icon next to the Embed Style dropdown to copy the HTML code.

6. In HubSpot, open your email campaign or trigger-based email, add a Custom HTML module to the email body, and paste the copied code inside it.

7. Send or activate your HubSpot email as usual.
​

When a recipient clicks a response option in the email, their answer to the first question is captured automatically, and they're taken to a survey page to complete any remaining questions.

Note: The embedded question is rendered using email-safe HTML (including Outlook support), so it displays consistently across major email clients.


Triggering Surveys from HubSpot Workflows

With Workflow Triggers, you can automatically send a Zonka Feedback survey to your contacts whenever a HubSpot workflow fires β€” for example, when a ticket is closed, a deal is won, or a contact completes onboarding.
​

Step 1: Install the Zonka Feedback App from the HubSpot Marketplace

Before setting up a trigger, install the Zonka Feedback app from the HubSpot Marketplace so events from your HubSpot workflows can reach your Zonka Feedback workspace.

Once installed, the Zonka Feedback actions become available inside your HubSpot workflow editor.
​

There are two ways to send surveys from HubSpot Workflows:

  • Native Zonka Feedback actions – The Send Email Survey, Send SMS Survey, and Send 2-Way SMS Survey actions work directly inside HubSpot Workflows. No additional setup is needed in Zonka Feedback β€” just add the action to your workflow and configure it (see Step 2).
    ​

  • Send a Survey from Webhook – For advanced control over delivery timing, throttling, and response attribute tracking, first create a Trigger in Zonka Feedback (see Step 3), then use the Send a Survey from Webhook action in your workflow to call it.

Step 2: Use Zonka Feedback Actions in your HubSpot Workflow

Once the Zonka Feedback app is installed, you'll see Zonka Feedback actions in the HubSpot workflow editor. Here's how to use them:

  1. In HubSpot, open (or create) the Workflow you'd like to trigger the survey from.

  2. Click the + icon to add a new action.

  3. In the action panel, scroll to the Zonka Feedback app section. You'll see four available actions:

  • Send Email Survey From Zonka

  • Send SMS Survey From Zonka

  • Send 2-Way SMS Survey From Zonka

  • Send a Survey from Webhook (requires a Trigger created in Zonka Feedback β€” see Step 3)

4. Select the action you want and configure it as described below.

5. Click Save on the action, and turn on your workflow.
​


Action 1: Send Email Survey From Zonka

Sends your survey to the enrolled contact via Email. Configure the following fields:

  • Email* (required) – The recipient's email address. By default, this is set to the Email (Enrolled contact) token, so the survey goes to the contact enrolled in the workflow. You can replace it with any other contact property token.

  • Select Survey* (required) – Choose the Zonka Feedback survey to send.

  • Select Survey Type – Choose the email survey type (e.g., embedded question or survey link).

  • Subject – The subject line of the survey email.

  • Heading – The heading displayed at the top of the email body.

  • Message – The message text shown above the survey question or link.

  • Signature – The signature displayed at the bottom of the email.

If you leave Subject, Heading, Message, or Signature blank, the defaults configured in your Zonka Feedback Email Survey settings will be used.


Action 2: Send SMS Survey From Zonka

Sends your survey to the enrolled contact via SMS. Configure the following fields:

  • Mobile Number* (required) – The recipient's mobile number. Use the contact's phone/mobile number property token so the SMS goes to the enrolled contact.

  • Select Survey* (required) – Choose the Zonka Feedback survey to send.

  • Message – The SMS text. Include the {URL} tag wherever you want the survey link to appear β€” Zonka Feedback will automatically replace it with your survey URL when the SMS is sent. Example: Hi! Thanks for contacting us. Share your feedback here: {URL}
    ​


Action 3: Send 2-Way SMS Survey From Zonka

Starts a 2-Way SMS conversation where the contact answers survey questions by replying directly to text messages β€” no link required.
​

Important: To use this action, the 2-Way SMS Survey feature must be enabled in your Zonka Feedback account plan. This is mandatory β€” if the feature isn't available on your plan, the 2-Way SMS survey will not be sent. Contact your Zonka Feedback account manager or reach out to support to get it enabled.

Configure the following fields:

  • Mobile Number* (required) – The recipient's mobile number. Use the contact's phone/mobile number property token.

  • Select Survey* (required) – Choose the Zonka Feedback survey to run over 2-Way SMS.

  • Additional Attributes (JSON) (optional) – A JSON object of additional values to pass along with the survey. Leave blank if not required. Supported keys:

    • language – The survey language (e.g., en_US, nl_NL, de_DE). The language must be configured in your survey.

    • locationId – The External ID of the Location in Zonka Feedback to associate the response with.

    • ratedUser – The External ID of the Agent/User

    • name – The recipient's name.

    • Any other key is treated as a hidden/contact variable and prefilled on the survey response.
      ​

    Example:

json

  {"language":"en_US","locationId":"DEL_100006","booking_pnr":"IXN-189","ratedUser":"Id_123","contact_ticket_type":"Inquiry"}

Action 4: Send a Survey from Webhook

POSTs a JSON body to a Zonka webhook trigger URL. Unlike the three native actions above, this action requires a Trigger created in Zonka Feedback first (see Step 3 below). It gives you full control over the delivery channel, send timing, throttling, and response attribute tracking configured in your trigger. Configure the following fields:

  • Zonka Webhook URL – Paste the Webhook URL you copied from your trigger in Zonka Feedback (Step 3). The token in the URL handles authentication automatically β€” no API key required.

  • Request Body (JSON) – Paste the Webhook Body auto-generated in your Zonka Feedback trigger (Step 3). HubSpot substitutes the placeholder tokens with the enrolled contact's real property values before sending the request to Zonka Feedback. Example:

json

  {     "email": "{{ enrolled_object.email }}",     "firstname": "{{ enrolled_object.firstname }}",     "company": "{{ enrolled_object.company }}",     "address": "{{ enrolled_object.address }}",     "country": "{{ enrolled_object.country }}",     "annualrevenue": "{{ enrolled_object.annualrevenue }}"   }

You can also customize the JSON further β€” use {{contact.}} tokens to insert any other HubSpot contact property values dynamically.
​

Now, whenever a contact meets your workflow's enrollment criteria, they'll automatically receive your Zonka Feedback survey through the channel you selected.


Step 3: Create a Trigger in Zonka Feedback (for the Webhook action only)

Note: This step is only required if you're using the Send a Survey from Webhook action. The Email, SMS, and 2-Way SMS actions work directly in HubSpot Workflows without a trigger.

  1. Go to Integrations within the Survey (Survey List β†’ Build β†’ Integrations β†’ HubSpot β†’ Settings).

  2. Turn on the Trigger Surveys from HubSpot toggle.

  3. Click Add Trigger. A slide-in panel will appear on the right.

  4. Fill in the following:

  • Trigger Name – A friendly name to identify this trigger (e.g., Ticket Closed Survey).

  • Trigger Description (optional) – Describe what this trigger does.

  • Your Webhook URL – A unique webhook URL is generated automatically for this trigger. Copy it using the Copy icon β€” you'll paste this into the Send a Survey from Webhook action in your HubSpot workflow. The token in the URL handles authentication automatically, so no API key is required.

  • Delivery Channel – Choose how the survey should be delivered when the webhook fires (e.g., Send Email Survey).

  • Send Email – Choose when the survey should be sent (e.g., Immediately, or after a delay).

  • Ignore Throttling – Choose Yes to send the survey every time the webhook fires, even if the contact has recently received a survey. Choose No to respect your survey throttling rules.

  • Attributes to track on responses – When the webhook fires, you can store properties from the incoming HubSpot payload directly on the survey response:

  • Select a Zonka Attribute (e.g., a Hidden or Contact Attribute) and map it to the corresponding HubSpot Property from the payload.

  • Click + Add Attribute to map additional properties.

  • Use Add static value to attach a fixed value (instead of a HubSpot property) to every response from this trigger.

  • Webhook Body – Based on the attributes you've mapped above, Zonka Feedback automatically generates a JSON Webhook Body for you. Copy this JSON using the Copy icon and paste it into the Request Body (JSON) field of the Send a Survey from Webhook action in your HubSpot workflow. HubSpot will substitute the placeholder tokens (e.g., {{ enrolled_object.email }}) with the contact's real property values before sending the request to Zonka Feedback.
    ​

  • Click Save to activate the trigger.

You can create multiple triggers for the same survey β€” for example, one for ticket closures and another for renewals β€” each with its own webhook URL. Once triggers are added, the integration page shows the Total Triggers count, and you can click View All Triggers to manage them.

Tip: Use Attributes to track on responses to pass context like Ticket ID, Deal Stage, or Owner from HubSpot onto each survey response β€” making it easy to slice your feedback data by HubSpot properties later.


Did this answer your question?