- Sync to your own database — a waitlist form pushes each signup directly into your backend, calculates a queue position based on referral count, and sends a personalized confirmation email
- Trigger a workflow — a booking form fires your internal scheduling logic the moment someone submits, rather than waiting for a nightly sync
- Connect to any tool — send submissions to a CRM, Slack channel, data warehouse, or any system that accepts HTTP, without being limited to pre-built integrations
- Filter before processing — use conditions to only fire the webhook when specific criteria are met, so your backend only receives the submissions it cares about

Create a Webhook
Enter your endpoint URL
Paste your server’s URL into the Webhook URL field. Click Test to send a sample request and verify your endpoint is reachable.
Choose trigger events
Check one or both events:
- Submission Created — fires when a new entry is submitted
- Submission Updated — fires when an existing entry is edited
Add conditions (optional)
Toggle Only trigger when conditions matched to filter which submissions fire the webhook. For example, only notify your backend when
Role is Founder or Developer.Review push fields
Expand Push fields to see exactly which fields and API codes will be included in the payload. All fields are pushed by default.
Trigger Events
| Event | When it fires |
|---|---|
entry_created | A new submission is received |
entry_updated | An existing submission is edited |
entry_paid | A payment submission is completed |
Payload Format
FormHug sends aPOST request with Content-Type: application/json. The body follows this structure:
Entry fields
| API Code | Field name | Type | Description |
|---|---|---|---|
serial_number | Serial Number | Number | Auto-incrementing entry number |
field_1 … field_N | Your form fields | String | Submitted field values, in form order |
creator_name | Submitter | String | Name of the submitter (if collected) |
created_at | Submitted at | String | ISO 8601 timestamp |
updated_at | Modified at | String | ISO 8601 timestamp of last edit |
info_filling_duration | Duration | Number | Time spent filling the form, in seconds |
info_platform | Device | String | Desktop or Mobile |
info_os | OS | String | Submitter’s operating system |
info_browser | Browser | String | Submitter’s browser |
info_remote_ip | IP Address | String | Submitter’s IP address |
The exact API codes for your form fields (
field_1, field_2, etc.) are listed in the Push fields table inside the webhook configuration dialog.Receiving the Webhook
Your endpoint must return a2xx response. Here is a minimal example in Node.js:
Manage Webhooks
Active webhooks appear in My connections on the Integrations page.
From there you can:
| Action | How |
|---|---|
| Enable / disable | Toggle the switch |
| Edit URL, events, or conditions | Click the pencil icon |
| View delivery history | Click the clock icon |
| Delete | Click the trash icon |
Related
Google Sheets
Sync submissions to a spreadsheet automatically
Stripe
Collect payments directly inside your form
Submissions
View and manage all entries in FormHug