Is this article helpful?

We love to hear from you!

Table of Contents

CRM Integration: HubSpot

Susan Swier Updated by Susan Swier

Synchronize Contact Information in HubSpot and respond.io

Understanding Contact Syncing Logic

There are four tasks that can be automated in order to sync contacts.

Sending data from respond.io to HubSpot

Sending data from HubSpot to respond.io

Create or update a contact in HubSpot when a new Contact is added in respond.io.

When a new Contact is added in respond.io, the Zapier template will automatically search for that contact in Hubspot using the email as the identifier. These are the expected outcomes.

Trigger Event

Conditions

Actions

New Contact is added in respond.io

Contact exists in HubSpot

Update Contact in HubSpot with new details

New Contact is added in respond.io

Contact does not exist in HubSpot

Create a new HubSpot Contact

New Contact is added in respond.io

Contact does not have an email in respond.io

Zap will stop

Method

  • Use a Zapier template

How-to

Use this template:

Template Configuration

Respond.io Trigger

First, follow the steps to set up a respond.io Zapier integration here to configure the trigger.

Run the trigger test and continue on to the action.

Filter Action

Filters by Zapier and multi-step Zaps are only available on Zapier’s Starter plan and above.

This template contains a filter so the Zap will only continue if the respond.io Contact’s email address exists. This is because HubSpot has set email as the required identifier to be used by Zapier.

Zapier filter action

HubSpot Action

Map the fields to be filled in for the newly created Contact. HubSpot has a long list of fields, but email is the only mandatory one. Scroll down and choose any other fields you want to add, e.g., first name, last name, phone number. If you have created Custom Fields in respond.io that match certain HubSpot fields, consider mapping those as well.

HubSpot action configuration

Create or update a contact in HubSpot when a Contact is updated in respond.io

When a Contact is updated in respond.io, the Zapier template will automatically search for that contact in Hubspot using the email as the identifier. These are the expected outcomes.

Trigger Event

Conditions

Actions

Contact is updated in respond.io

Contact exists in HubSpot

Update Contact in HubSpot with new details

Contact is updated in respond.io

Contact does not exist in HubSpot

Create a new HubSpot Contact

Contact is updated in respond.io

Contact does not have an email in respond.io

Zap will stop

Method

  • Use a Zapier template

How-to

Use this template:

Template Configuration

Respond.io Trigger

First, follow the steps to set up a respond.io Zapier integration here.

For this trigger, you’ll need to choose which updated fields you want to be included as a trigger. There is the option to select Standard or Custom. For this example, we chose Standard as this would be the best choice for most common use cases. Add all relevant fields by selecting from the dropdown.

Configure respond trigger

Filter Action

Filters by Zapier and multi-step Zaps are only available on Zapier’s Starter plan and above.

This template contains a filter so the Zap will only continue if the respond.io Contact’s email address exists. This is because HubSpot has set email as the required identifier to be used by Zapier.

Zapier filter action

HubSpot Action

Map the fields to be filled in for the newly created or update Contact. HubSpot has a long list of fields, but the only mandatory field is email. Scroll down and choose any other fields you want to add, e.g., first name, last name, phone number. If you have created Custom Fields in respond.io that match certain HubSpot fields, consider mapping those as well.

Hubspot create or update action

Create or update a Contact in respond.io when a new contact is added in HubSpot

When a new contact is added in HubSpot, the Zapier template will automatically search for that contact in respond.io using email as the identifier. These are the expected outcomes.

Trigger Event

Conditions

Actions

Contact is added in HubSpot

Contact exists in respond.io with an email

Update Contact in respond.io with new details

Contact is added in HubSpot

Contact does not exist in respond.io

Create a new respond.io Contact

Contact is added in HubSpot

Contact exists in respond.io without an email

Create a new respond.io Contact*

*If you recognize this has happened, you can merge the contacts.

Method

  • Use a Zapier template

How-to

Use this template:

Template Configuration

HubSpot Trigger

Select your HubSpot account and set up the trigger. For most use cases, simply select Continue. If you have custom fields you want to add, select these from the Additional Properties dropdown.

HubSpot Trigger setup

Respond.io Action

First, follow the steps to set up a respond.io Zapier integration here.

Select email as the Identifier Type. Map the other fields with the information you want from HubSpot, e.g., first name, last name, phone number.

Respond.io Zapier action configuration

Update a Contact’s information in respond.io when the Contact is updated in HubSpot

When a new Contact is added in HubSpot, the Zapier template will automatically search for that contact in respond.io using email as the identifier. These are the expected outcomes.

Trigger Event

Conditions

Actions

Contact is updated in HubSpot

Contact exists in respond.io with an email

Update Contact in respond.io with new details

Contact is updated in HubSpot

Contact does not exist in respond.io

Create a new respond.io Contact

Contact is updated in HubSpot

Contact exists in respond.io without an email

Create a new respond.io Contact*

*If you recognize this has happened, you can merge the contacts.

Method

Use a Zapier template

How-to

Use this template:

Template Configuration

HubSpot Trigger

Select your HubSpot account and set up the trigger. For most use cases, simply select Continue. If you have custom fields you want to add, select these from the Additional Properties dropdown.

HubSpot trigger configuration

Respond.io Action

First, follow the steps to set up a respond.io Zapier integration here.

Select email as the Identifier Type because HubSpot uses email as the required identifier for Zapier. Map the other fields with the information you want from HubSpot, e.g., first name, last name, phone number.

Respond.io action configuration

Enrich Contact Data using a Workflow

If you don’t have a Zapier subscription or you only need to get extra details on a particular Contact, use a Workflow. For example, if you’re chatting with someone about a support issue, you can use this Workflow to get additional information about them from HubSpot.

Method Objectives

  • Provide Contact’s identifier to HubSpot
  • Save retrieved data
  • Update Contact information on respond.io platform

Workflow Setup

Tip: Consider using the Ask for Phone Number or Email method earlier in the Workflow.

Here’s how to use an HTTP Request to retrieve one field from an external CRM.

use an HTTP Request to retrieve one field from an external CRM
Provide Contact’s Identifier to your CRM
Tip: Learn more about sending HTTP requests here.

Use the HTTP Request Step to provide the Contact’s identifier to your CRM or business software. In this example, we’ll use Email as the Contact’s identifier. Keep in mind, your CRM may use Email, Phone Number or some other identifier.

HubSpot HTTP Request initial configuration
1. Add HTTP Request Step and select the request method GET from the dropdown.
2. Input the URL endpoint for HubSpot API with your HubSpot API Key (hapikey). Here’s how to get your HubSpot API Key.
3. Expand Body toggle, select application/json as Content-Type Header and leave the Request Body field empty as it’s not required for the GET method.
4. For the Header toggle, leave the Key and Value field empty as it’s not required by HubSpot.

Save Retrieved Data

Response Mapping is used to save the information you get from the CRM as a Variable. The Variable can later be used to update the Contact’s field on respond.io. This example will show you how to save the Customer ID field as a Variable.

HubSpot Response Mapping configuration
In order to map the retrieved data, you’ll need to know what the response looks like. For our HubSpot API call example, we can see the response sample here. If you want to see what your specific response looks like, use Postman.

1. Pick the fields you want to retrieve. In this example, we’ll retrieve the vid field to get HubSpot Unique Customer ID.



2. In the HTTP Request configuration panel, expand the Response Mapping toggle, add $.vid in the JSON Key field and give it a Variable name. Here’s how to fill JSON Key for different response formats.


Update Contact information on respond.io platform
Tip: Learn more about Update Contact Field Step here.

Use Update Contact Field Step to automatically update a Contact’s data in respond.io. Here’s an example of how to update one field.

Update Contact Field configuration
1. Add Update Contact Field Step and select the field you want to save from dropdown.
2. Input in the field with the Variable from the Response Mapping section.

Create HubSpot Deals and Tickets from respond.io

Want to create HubSpot deals and tickets while chatting with customers on respond.io? You can do this with a shortcut button.

Methods for Creating HubSpot Deals and Tickets from respond.io

Create a HubSpot deal shortcut button using Workflows

Use this method when you want to create deals in Hubspot without leaving the respond.io platform.

Method Objectives

  • Set up a Create Deal Shortcut for agents to use in the Messages Module.
  • Determine the fields required to create a new deal in your CRM.
  • Provide new deal link to agents upon creation.

Workflow Setup

Here’s an example of how to use a Workflow to create a new deal in a CRM.

screenshot of how to use a workflow to create a deal in a CRM

Set up a Create Deal Shortcut for agents to use in the Messages Module
Tip: Learn more about Shortcut Triggers here.

Use a Trigger to create a Deal Shortcut button in the Messages Module. This allows agents to initiate the Workflow to create a deal when needed without leaving the Messages Module.

Trigger configuration
1. Choose Shortcut as the Trigger in the dropdown.
2. Configure the Shortcut Icon, Name and Description.

Determine the fields required to create a new deal in your CRM

To create a deal, you’ll need to identify the mandatory fields and information for your CRM. This can usually be found in the CRM’s API documentation. Then decide any additional information you want to include. To complete this step, you’ll configure the Shortcut Button Form and the HTTP Request Step in Workflows.

screenshot of a workflow to make an HTTP post request

Customize the Shortcut Form

Use the Shortcut Form for agents to fill in required information about the deal such as name, amount and deal stage. The data in the form will be saved as Variables and used in the next steps in the Workflow. The Shortcut Form fields are customizable based on the information you need.

Hubspot deals Shortcut Form configuration
1. Create the Shortcut Form. In this example, we'll use DealName, DealAmount and DealStage as Form Field titles.
2. To save each Form Field answer, give each Output Variable a name. These Variables (saved Form Field answers) will be used in this Workflow's HTTP Request Step in order to create a deal in Hubspot.
3. For DealStage, set the Field Type as List. List out the Hubspot internal deal stage identifiers as options.
Note that Hubspot deal stage identifiers are case sensitive, e.g., you must use qualifiedtobuy, not QualifiedToBuy. Otherwise, the Workflow will fail.

Create a deal in an external CRM
Tip: Learn more about sending HTTP requests here.

Use the HTTP Request Step to create a deal in an external CRM. This initial configuration frames the deal information you want to send to the CRM.

Hubspot HTTP Request initial configuration
To do this request, you’ll need API information from Hubspot. Find the API docs for creating a deal here.
1. Add an HTTP Request Step, select POST in the Method dropdown.
2. Input the URL endpoint of the Hubspot API.
3. Expand Body toggle, select application/json as Content-Type Header.
4. For the Request Body, Hubspot requires the Properties fields. Here's an example with the deal name and deal amount as Variables to be reflected in the deal information as context.

💡Tip: To find your Hubspot Owner ID in Hubspot, follow these instructions. Another option to find your HubSpot ID is to send a separate GET request first.

5. Expand the Headers toggle, fill in the parameters as Authorization: Bearer {your Hubspot API Key}. Here's how to get your Hubspot API Key.

This step lets agents know whether a deal was successfully created and gives them a link where they can view and update it as necessary. This involves mapping the data to save from Hubspot and routing the success or failure of the deal creation to Comment Steps.

screenshow showing how to use workflow branches to let agents know a deal was created in Hubspot

Save data from the CRM

Response Mapping is used to save the information you get from the CRM as a Variable. The Variable can later be used to update the Contact’s field on respond.io.

Hubspot Response Mapping configuration

Route to Success and Fail branch

Tip: Learn more about the Branch Step here.

Use the Branch Step to route to the next step based on the success or failure of the HTTP Request made earlier.

Branching configuration
1. Add a Branch Step, in Branch 1, select Variables > Status> is equal to in the dropdown.
2. Type 201 in the value field representing the successfully created response code, so if a deal is created, you will be routed to the next step in Branch 1. Otherwise, you will be routed to the next step under the Else branch.

Tip: Learn more about the Add Comment Step here.

Use the Add Comment Step to show agents the HTTP Request response status. In this example, if the request is successful, more information about the deal can be added such as deal ID and deal link. If it fails, tag a manager to look into the problem.

Comment on Deal Status configuration
1. Under both branches, add a Comment Step.
2. In the Success branch, add the deal status, its Variable and other desired information.
3. In the Fail branch, add the deal status, its Variable and tag a manager to look into the failure to create a deal.

Use the Create Deal Shortcut button in the Messages Module

Method Objective

  • Create a Deal using the Shortcut button in the Messages Module and view response in Comment.

How-to

Create a Deal using the Shortcut button in the Messages Module and view response in Comment

Here’s an example of how to create a deal in Hubspot using the Shortcut button in the Messages Module.

gif showing how to use the deal shortcut button to create a deal in a CRM

In the Messages Module, got to the toolbar at the bottom > click on Shortcut button > select Create a Deal Shortcut > fill in the form > click Start > wait for Comment response. Then agents can view the Hubspot deal.

Create a HubSpot ticket shortcut button using Workflows

Use this method when you want to create tickets in Hubspot without leaving the respond.io platform.

Method Objectives

  • Set up the Create Ticket Shortcut button in the Messages Module.
  • Determine the fields required for the new ticket.
  • Provide a new ticket link to agents upon creation.

Workflow Setup

Here’s an example of using a Workflow to create a support ticket in an external ticketing system.

example of using a Workflow to create a support ticket in an external ticketing system.
Set up the Create Ticket Shortcut button in the Messages Module
Tip: Learn more about Shortcut Trigger here.

Use a Trigger to create a Shortcut button in the Messages Module. This allows agents to initiate creating the support ticket workflow when needed without leaving the Messages Module.

Trigger configuration
1. Choose Shortcut as the Trigger in the dropdown.
2. Configure the Shortcut Icon, Name, and Description. These will be displayed in the Shortcuts menu for agents to easily identify and select the desired Shortcut.

Determine the fields required for a new ticket

To create a ticket, you’ll need to identify the mandatory fields and information for your ticketing system. This can usually be found in the ticketing system’s API documentation. Then decide the additional information you want to include. To complete this step, you’ll configure the Shortcut Button Form and the HTTP Request Step in Workflows.

Determine the fields required for a new ticket

Customize the Shortcut Button Form

Use the Shortcut Button Form for agents to add required information from the external ticketing system such as ticket name and a summary of the issue. The form data will be saved as Variables and used in the next steps of the Workflow. The Shortcut Form fields are customizable based on the information you need.

HubSpot Ticketing System Shortcut Form configuration
1. Create the Shortcut Form. In this example, we’ll use Ticket Name and Description as Form Field.
2. To save each Form Field answer, give each Output Variable a name. These Variables (saved Form Field answers) will be used in this Workflow’s HTTP Request Step in order to create a ticket in HubSpot.

Create a support ticket in an external ticketing system

Tip: Learn more about sending HTTP requests here.

Use the HTTP Request Step to create a support ticket in an external ticketing system. This initial configuration frames the support ticket information you want to set in your external ticketing system.

HubSpot HTTP Request initial configuration
To do this request, you’ll need API information from HubSpot. Find the Create a Ticket API Docs here.

1. Add the HTTP Request Step, select POST in the Method dropdown.
2. Input the URL endpoint of the HubSpot API.
3. Expand Body toggle, select application/json as Content-Type Header.
4. For the Request Body, HubSpot has 3 default ticket fields. It’s required to add the Ticket name, Pipeline and Ticket status as properties in the Request Body. Here’s an example with added ticket description and respond.io contact message link to be reflected in the support ticket for context on the customer’s issue.


5. Expand the Headers toggle, fill in the parameters as Authorization: Bearer {your HubSpot API Key}. Here’s how to get your HubSpot API Key.

This step will make the result of the ticket creation visible to agents so they can identify the next steps to take when in a conversation with a customer. This step includes mapping the data to save from the ticketing system and routing the success or failure of the ticket creation to its own Comment Step in Workflows.

Provide new ticket link to agents upon creation

Save data from the ticket system

Response Mapping is used to save the information you get from the ticket system as a Variable. The Variable can later be used to update the Contact’s field on respond.io.

HubSpot Response Mapping configuration
In order to map the retrieved data, you’ll need to know what the response looks like. Find the HubSpot API response example here.

1. Pick the fields you want to retrieve. In this example, we’ll retrieve the portalId and objectId field to get your HubSpot Hub ID and ticket ID.


2. In the HTTP Request configuration panel, expand the Response Mapping toggle, add $.portalId and $.objectId in the JSON Key field and give them a Variable name. Here’s how to fill in the JSON Key for different response formats.
3. Enable Save Response Status as Variable and give it a Variable name to be used in the Branch Step later in the Workflow.

Route to success and fail branch

Tip: Learn more about the Branch Step here.

Use the Branch Step to route to the next step based on the success or failure of the HTTP Request made earlier.

Branching configuration
1. Add a Branch Step > in Branch 1, select Variables > Status > is equal to in the dropdown.
2. Type 200 in the value field representing success response code. So if a support ticket is successfully created, you will be routed to the next step in Branch 1. Otherwise, you will be routed to the next step under the Else branch.

Provide ticket creation status and link to agents

Tip: Learn more about the Add Comment Step here.

Use the Add Comment Step to show agents the HTTP Request response status. In this example, if the request is successful, more information about the ticket can be added such as ticket ID and ticket link. If it fails, tag a manager to look into the problem.

Comment Ticket Status configuration
1. Under both branches, add a Comment Step.
2. In the Success branch, add the ticket status, Status Variable, and other desired information.
3. In the Fail branch, add the ticket status, Status Variable, and tag a manager to look into the failure to create a ticket.

Use the Create Ticket Shortcut button in the Messages Module

Method Objectives

  • Create a Ticket using the Shortcut button in the Messages Module and view response in Comment.

How-to

Create a Ticket using the Shortcut button in the Messages Module and view response in Comment

Here’s an example of how to create a support ticket using the Shortcut button in the Messages Module.

In the Messages Module, go to the toolbar at the bottom > click on Shortcut button > select Create a Ticket Shortcut > fill in the form > click Start > wait for Comment response.

Feeling stuck? Do not fear.

Help is here!

E-Commerce Integration: Magento

CRM Integration: Salesforce

Can't find what you're looking for?

Talk to an expert here!

Contact Us
Powered by HelpDocs (opens in a new tab)

Powered by HelpDocs (opens in a new tab)