Skip to main content

Webhook API

With Heyflow's Webhook API, you can automatically send every submission straight to any URL endpoint as soon as it’s submitted.

Updated in the last hour

⭐ Available on the following plans: Pro & Agency (limited), Business

👀 Not sure which plan you're on? Check your subscription here.

A webhook is a way for your Heyflow to send information instantly to another service or application when someone submits a response. Think of it as an automatic message that notifies another system about the new submission, allowing you to process the data in real-time. Heyflow allows creating custom webhooks that send every submission straight to any URL endpoint that receives the response data in a JSON format.​

In the business plan, there are numerous customization options available to tailor the webhook to your requirements.

This article covers:


Creating and testing a new webhook

  1. Navigate to the Integrate tab and select Hooks.

  2. Provide a valid URL and assign a name to the webhook for easier identification.

  3. Click Test to send an example payload to the specified URL.

Test Webhook Payload

{
flowID: <YourFlowID>,
id: 'demo-response-id', // Heyflow UUID for the response
createdAt: new Date(), // datetime of the test trigger,
fields: {
'Demo Field 1': 'Some value', // 'Demo Field 1' is your system label,
'Demo Field 2': 'Some other value',
},
}

After a successful test (HTTP status code 200), activate your webhook. From now on, each new submission will be sent to the specified URL.

Simple Webhook Payload

This is the standard format sent with each submission:

{
"flowID": "<YourFlowID>",
"id": "<HeyflowResponseUUID>",
"createdAt": "2025-04-24T11:18:55Z",
"fields": {
"System Label": "Value"
}
}

Please note: To ensure that download links are full file URLs that can be accessed programmatically, enable Public Link access for the flow in the settings.

💡 If you want to receive more detailed information about each submission, you can use our Extended Payloads feature in the Business plan.


Customizing Your Webhook (Business Plan)

If you're on the Business plan, you have additional options to tailor your webhook:​

  • HTTP Methods: Choose between POST, PUT, GET, DELETE or OPTIONS to match your endpoint's expected request type.

  • Custom Headers: Add specific information required by the receiving system.

  • URL Parameters: Include fixed details like API keys in the webhook URL.

  • Basic Authentication: Secure your webhook with a username and password.

  • Extended Payloads: Receive more detailed information about each submission.

🔎 Learn more about customization options here.



Tracking URL parameters

If you want to pass URL/UTM parameters from your flow to your webhook, you need to set up a hidden input field to capture the data. Once set up, you can map these input fields to corresponding fields in your response handler of choice.

The UTM parameters will then be automatically passed along with each response—without your visitors noticing. 🚀



Troubleshooting

If something goes wrong with your webhook integration, we’ll automatically notify you by email. The message will include the flow ID and the HTTP status code, for example: Error: Request failed with status code 503

Please note that these errors come from the external service or server you’ve configured, Heyflow only forwards the response.

🔎 For a full list of common errors and how to resolve them, check out our troubleshooting guide.

Did this answer your question?