Webhooks make it easy to send information from one tool to another automatically. You can use webhooks to send data from any tool where you can create a workflow to Typeform’s Contacts.
In the tool you’re sending data from, create a workflow that consists of a trigger (the event that starts the workflow) and an action (what happens next). You can set the action to send information (properties) to Typeform’s Contacts using a webhook. Once everything is set up, data will be sent automatically to Typeform’s Contacts whenever the trigger happens.
Properties in the webhook payload will appear in the webhook data import section of your Typeform Contact. Properties in the webhook payload won’t be mapped to Typeform’s Contact properties.
What you’ll need:
- A Typeform account on any plan, excluding legacy plans.
- Another tool where you can create a workflow to send data from.
- The contact's email address.

Note! In the tool you’re sending data from, we recommend checking your plan to make sure it includes the ability to create workflows.
In this article, we’ll use an example of sending data from HubSpot’s contacts to Typeform’s Contacts. We’ll create the workflow with a trigger to start when a HubSpot Lead status property value changes to Open Deal and set the action to send a webhook with the information to Typeform’s Contacts.
Looking to send data from Typeform to another tool with webhooks instead? Take a look at our guide on how to set up webhooks to send data from Typeform.
Create the inbound webhook in Typeform
1. In your Typeform account, click the Contacts tab.
2. Click Add contact and select Add from external tools.
3. Click Generate URL.
4. Click the pencil icon to name your webhook. Give your webhook a contextual name so you'll know where the events are coming from in your contact's activity.
5. Click Copy to copy the webhook URL. You'll use this webhook URL when you create the action of your workflow.
Set up the trigger in your external tool
You’ll need to set up a workflow trigger in the tool you want to send data from. The instructions below may vary depending on the tool you’re using.
In our example, we’ll set up a workflow in HubSpot.
We’ll create a trigger to start when the following happens in HubSpot:
- Trigger when the property value changed.
- In the record type Contact.
- When the Lead status property value is any of Open Deal.
Set up the action in your external tool
Next, we’ll set up the workflow action in HubSpot (what happens after the trigger occurs). You can set this up using any tool that supports sending webhooks. The setup instructions may vary depending on the tool you use.
In the action, we’ll configure a webhook to send the information we want from HubSpot to Typeform’s Contacts.
1. In the Send a webhook action, set the Method to POST in the dropdown.
2. In the Webhook URL field, paste the webhook URL you generated from the Create the inbound webhook in Typeform section.
3. In the Request body, enter the properties you want to include in the webhook payload to send from your tool to Typeform’s Contacts.
The email property is required in the request body, as the email address is used to determine whether a contact already exists in your Typeform’s Contacts.
If a contact doesn’t exist, a new contact will be created. If a contact does exist, the contact will be updated with the new data that’s imported.

Note! Properties in the webhook payload will appear in the webhook data import section of your Typeform Contact. Properties in the webhook payload won’t be mapped to Typeform’s Contact properties.
In our example below, we’ve included email and name in the webhook payload from HubSpot and will send this data to Typeform’s Contacts.
4. When you’re done with setting up your workflow in your external tool, make sure to publish it.
View data in Typeform’s Contacts
After setting up your workflow in your external tool, data will automatically be sent to your Typeform’s Contacts.
A new contact will be created in Typeform with the email address sent from the webhook payload if the contact doesn’t already exist. If a contact already exists, it’ll be updated with the data imported.
Click on the contact profile to open the side menu of the Contact.
Under Webhook data import, you can view which webhook was used to import the data. Click View full activity to view the changes that have been made.
Click View changes.
Then you’ll be able to see the raw data (the properties you’ve included in the webhook payload) that was received into Typeform.