Integrate HubSpot with SalesAi (HubSpot Workflows)

Follow this Article to integrate your HubSpot account with SalesAi!

You will need HubSpot Operations Hub Professional or Enterprise to execute this integration. Zapier method will be cheaper if you don't have this plan:

Integrate HubSpot with SalesAi (via Zapier)

Inbound

Triggering based on a contact added to a specific list in Hubspot

Create a List in Hubspot

  • Go to CRM -> Lists
  • Click Create List at the top-right
  • Make sure to select Contacts then click Next
  • Name the list
  • Click Review and Save. You will not need any filters, since this is a Static list.
    • Active lists are possible, but we still recommend Static lists

Workflow Steps

 

  • Go to the Automations tab and click Workflows
  • Click Create Workflow at the top right. Select from scratch
  • Click Contact Based for the Trigger.
  • Click on Next at the top-right
  • Click Group 1 to see the different options for triggers. Click When an event occurs
  • Click on the Contacts can be manually enrolled box and then select List membership changed.
  • Select the correct List and make sure the trigger is for when the contact is added to list. Make sure to Save the criteria.
  • Your Trigger should now look like this:
  • Click the Plus Sign below the Trigger and search for Webhook. Click the Send a webhook option
  • The Webhook method should be POST
  • The URL will be the Webhook URL created in SalesAi:
  • Click on Settings -> Integrations -> Company Integrations. Then click Connect on the Webhook option.
  • Add a Webhook Name and Lead Source to your new webhook. We recommend naming it based on your use case. Click Add Webhook
  • Copy the Webhook URL
  • Enter the fields for first, last, email, and phone number. Similar to the steps for Zapier
  • You can test by clicking the Test Action drop down and manually enter test values for first, last, email, and phone. Then click Test.
  • Test this step and check the Contacts page of SalesAi to see if a contact came through.

 

Building a Webhook Trigger in SalesAi

We will need a Trigger built to enroll all Contacts that come through the Webhook into a Sequence.

  • Click on Triggers
    Screenshot 2025-04-01 at 3.47.33 PM
  • Click Create Trigger
  • Add a name for this Trigger and make sure Lead Triggers is selected. Click Next
    Screenshot 2025-04-01 at 3.48.56 PM
  • Select Contact Created and then select Webhook. Click the dropdown under Webhook Name and Select the Webhook being used. Click Next.
    Screenshot 2025-04-01 at 3.50.42 PM
  • Choose the Enroll Sequence Action
  • Select the correct Sequence. Click Next.

If you haven't created a Sequence, you may click the link below for instructions!

How to Create a Sequence

  • Click Create Trigger

Outbound - Sending Post-Call Data to HubSpot

HubSpot Inbound Webhook

  • Create a new Workflow in HubSpot (Automations -> Workflows -> Create Workflow)
  • Select when a webhook is received
  • Click +Create a webhook Event
  • Add a name and click Next
  • Copy the URL. Go back to SalesAi
  • Click on the AI Voice tab
  • Click the triple dots on the Agent and click Edit
  • Go to the third page and paste the link in the 3rd Party Webhook slot.
  • Make sure the Update the Agent.

Sending Post-Call Data to HubSpot

  • For Inbound Agents, call the number and have a brief conversation with the Agent. You can hang up shortly, but avoid it immediately, as it can negatively impact your answering metrics with Twilio.
  • For an Outbound Agent, add yourself as a contact to SalesAi and Manually Enroll yourself in a sequence with that Agent. The Test Call function will not be suitable for testing this feature.
    You can enroll by clicking the Triple Dots on the Contact in the Contacts Page.

    Have a brief conversation with the Agent, and hang up.
  • Go back to HubSpot

HubSpot Test Steps

  • Review your Test data and click Next:
  • Map the data for your webhooks properties:
    • Edit the HubSpot property label as necessary.
    • Click the Data type dropdown menu to select a data type for each property label.
      • You can use string, enum, number, and boolean values.
      • Datetime properties are not supported and should be mapped as string values instead. After, you can use a custom code action with strtotime to convert to a date time object, and then use unixtimestamp to get a timestamp. 
    • To remove a property label, click the Delete icon.
  • We recommend removing all transcript headers, since it does not come into HubSpot clean.
  • Here is a resource on creating Custom Properties
  • Match your Enrollment Property this will typically be Email by default:
  • Click on the new Webhook Event Name on the left-hand side, then click Save at the top

HubSpot Action Step Options

    • Create a Note:
      • Here is an example of a Note setup you can do. This will attach to the contact.
  • Branches
      • Utilize branches to perform different actions depending on Call outcomes.
  • Reporting
    • Utilize data that was sent to Custom Properties to analyze different call metrics:
      • Answer Rate
      • Call Duration
      • Conversion Rate
      • Transfer Rate