HubSpot forms

BetaThis feature is new and we're actively working to improve it. Contact us if you'd like to try it out. Updated

Our HubSpot integration doesn’t currently make it easy to sync form submissions. We’re working on that while we’re in beta. But, if you’re a HubSpot premium or enterprise user, you can send form submissions using a HubSpot workflow to support form submissions in the meantime.

How it works

You’ll set up a workflow in HubSpot that sends a webhook to Customer.io when someone submits your form. Then, in Customer.io, you can:

  • Convert that webhook to an event that triggers downstream campaigns
  • Store attributes on your audience’s profiles in Customer.io. These attributes can add people to segments, trigger campaigns, or personalize messages.
flowchart LR subgraph HubSpot direction TB a(Person
submits form)-->|Hubspot
workflow|b(Generate
webhook) end b-->c subgraph Customer.io direction TB c(Trigger campaign)-.->d(Generate event) c-.->e(Set attributes) d-.->f(Send follow-up
messages) e-.->g(Add person
to segment) end

1. Create your HubSpot workflow

If you’re unfamiliar with HubSpot workflows, check out HubSpot’s documentation. In this case, we’ll create a workflow where the trigger is a form submission and the action is to send a webhook to Customer.io.

  1. In HubSpot, go to Automation > Workflows.
  2. In the upper right, click Create workflow and select From scratch.
  3. Select the Websites & media option and continue setting up your form submission trigger.
  4. Add the Send a webhook action to your workflow but don’t configure it yet. You’ll need to get your webhook address from Customer.io first.

2. Create your Customer.io webhook

In Customer.io, you’ll create a new campaign. This will generate a webhook address that HubSpot will call when people submit your form.

  1. Go to Campaigns and click Create Campaign.
  2. Click Choose Trigger and select Webhook.
    The list of trigger options, with the webhook option at the bottom hovered
    The list of trigger options, with the webhook option at the bottom hovered
  3. Copy the webhook address and click Save and build workflow.
    the webhook URL for a Customer.io campaign
    the webhook URL for a Customer.io campaign

3. Finish setting up your HubSpot workflow

Go back to your HubSpot workflow. In your Send a webhook action:

  1. Set the method to POST.
  2. Set the Webhook URL to the webhook URL you previously copied.
  3. Include the form field properties you want to send to Customer.io, or select Include all [object] properties to send all of the properties from the form submission.

Now that you’ve set up your workflow in HubSpot, send a test form submission. This provides your Customer.io campaign with sample data that’ll help you map form data to attributes or event properties in Customer.io.

When you send a test, you’ll see your sample data in your Customer.io campaign.

The list of actions in a workflow, with the send a webhook action at the bottom hovered
The list of actions in a workflow, with the send a webhook action at the bottom hovered

4. Finish setting up your Customer.io campaign

Now return to your Customer.io campaign. Here, you can map the incoming form submission to an event that can trigger downstream campaigns, attributes that you store on your audience’s profiles in Customer.io—or both.

an example campaign workflow containing 'HubSpot form event' and 'Update attributes from HubSpot form' actions
an example campaign workflow containing 'HubSpot form event' and 'Update attributes from HubSpot form' actions

Send an event:

  1. Add a Send Event action to your workflow. This converts the incoming webhook to an event that can trigger campaigns in Customer.io.
  2. Set the Event Name to a name that you want to use to trigger downstream campaigns or use in segments.
  3. Set Event Attribute names to the values you want to use to personalize downstream campaigns.
  4. Set the Value to the field values from the event.
an example event generated by a campaign from an incoming HubSpot webhook
an example event generated by a campaign from an incoming HubSpot webhook

Set attributes:

  1. Add a Create or update person action to your workflow.
  2. Set the Identifier for the person you want to add or update based on your HubSpot form—a person’s email or their canonical ID.
  3. Click Add attribute and set the values you want to store on the person’s profile from the incoming form submission.
an example of setting attributes on a person's profile from an incoming HubSpot webhook
an example of setting attributes on a person's profile from an incoming HubSpot webhook
Copied to clipboard!
  Contents