β Available on the following plans: Business
π Not sure which plan you're on? Check your subscription here.
If you're on the Business plan, you have additional options to tailor your webhook setup:
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.
This article explains each of these features in more detail to help you make the most of your webhook integration.
π Need help with the basics? Take a look here for more information on setting up webhooks.
HTTP Methods
By default, Heyflow sends webhook requests using the POST method. On the Business plan, you can change this behavior based on the requirements of your receiving system.
Available options:
POST: (default) Sends data in the body of the request.
PUT: Similar to POST, often used for updates.
GET: Sends data via URL parameters (note: payload will not be in the body).
DELETE: Sends a request to delete a resource on the server (used only in specific implementations).
OPTIONS: Sends metadata about the request. Mostly used in CORS scenarios or testing allowed methods.
β
β Choose the method that your endpoint expects to receive data with.
Custom HTTP Headers
Need to include custom headers in your webhook request? You can define any number of key-value pairs to be sent along with the request.
Use cases include:
Authentication tokens
Content-Type specifications
Custom API requirements
βMake sure the receiving server expects and can parse these headers.
URL Parameters
You can append fixed values as URL parameters to your webhook endpoint. This is helpful for static identifiers like API keys or client IDs.
Example:
Original URL:
https://www.example.com/webhook
With parameters:
https://www.example.com/webhook?clientID=123&apiKey=abc
β Dynamic values (like user inputs or variables) cannot be included in URL parameters. Only fixed/static values are supported.
Basic Authentication
To secure your webhook with basic authentication, you can provide a username and password.
β Use this option if your endpoint requires basic HTTP authentication. Avoid using public URLs when transmitting sensitive credentials.
Payloads
Business users can enable Extended Payloads, which provide a more detailed structure for submitted responses. This is especially useful for advanced data handling or analytics.
Simple Webhook Payload (default)
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.
Extended Payload
If you're on the Business plan, you can also send an extended payload. This format is useful if you need detailed context about each field. Most importantly, the type of fields changes from being an object to an array of objects.
{
flowID: <YourFlowID>,
id: <HeyflowResponseUUID>, // Heyflow UUID for the response
createdAt: <DateTimeOfTheResponseSubmission>, // new Date()
fields: [
{
// Each block has a static unique identifier, the ID:
"id": "mco-fb5cd9b5",
// The label is either the system label or block label you define:
"label": "Please choose an option",
// The values holds the user entered data in an array. If only one
// value can be specified, e.g. an input field, it only holds one
// object. If mutliple values can be speificed, e.g. for a Multiple
// Choice block, it holds multiple elements.
"values": [
{
"name": "mco-fb5cd9b5",
"answer": "Option 2 label"
}
],
// The variable you have specified for this block.
"variable": "mc-24115746",
// If this block is flagged as senstivive as a boolean.
"sensitive": false,
},
],
}
βPlease note: The structure and content of the extended payload are predefined by Heyflow and cannot be customized. You can include additional information by adding hidden input fields to your flow. These fields can capture extra data (e.g., tracking parameters, user metadata) and will be included in the payload upon submission.