Documentation > Webhooks
Webhook Templates
Use Formsig webhooks to send submissions anywhere instantly.
These production-ready templates reduce setup confusion and help your team ship reliable automations faster.
Slack
Post every new submission into a Slack channel so your team sees leads and requests instantly.
Where to obtain webhook URL
- In Slack: channel settings > Integrations > Incoming Webhooks.
- Create a webhook and copy the URL.
Setup steps with Formsig
- Create a public HTTPS webhook endpoint (or automation endpoint) that forwards to Slack.
- In Formsig: form settings > Submission webhook > paste destination URL > Save.
- Submit one test form and confirm the channel message appears.
Sample payload JSON
{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}Test webhook example request
curl -X POST "$YOUR_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}'Common use cases
- Lead alerts to sales
- Support request triage
- Recruiting intake notifications
Discord
Send form events to Discord channels for community, support, or moderation workflows.
Where to obtain webhook URL
- In Discord: Edit Channel > Integrations > Webhooks.
- Create a webhook and copy the URL.
Setup steps with Formsig
- Create your receiver endpoint (if you need payload transform) or use direct Discord-compatible payload flow.
- Paste the endpoint in Formsig webhook settings for that form.
- Submit test data and verify channel delivery.
Sample payload JSON
{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}Test webhook example request
curl -X POST "$YOUR_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}'Common use cases
- Community applications
- Bug report intake
- Creator campaign submissions
Zapier
Use Zapier Catch Hook triggers to route Formsig submissions into CRMs, email tools, and task apps.
Where to obtain webhook URL
- In Zapier: create a Zap with Webhooks by Zapier > Catch Hook.
- Copy the generated hook URL.
Setup steps with Formsig
- Create the Catch Hook trigger and keep Zapier listening.
- Paste hook URL into Formsig form webhook settings and save.
- Send test submission, then map fields in following Zap steps.
Sample payload JSON
{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}Test webhook example request
curl -X POST "$YOUR_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}'Common use cases
- CRM contact creation
- Email onboarding flows
- Project task automation
Make
Trigger Make scenarios from each submission and fan out to any API or app module.
Where to obtain webhook URL
- In Make: create a scenario with Webhooks > Custom webhook.
- Copy the generated webhook URL.
Setup steps with Formsig
- Create the Make webhook module and set scenario to listen.
- Paste URL in Formsig webhook destination and save.
- Submit a test form and map fields in downstream modules.
Sample payload JSON
{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}Test webhook example request
curl -X POST "$YOUR_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}'Common use cases
- Multi-step lead qualification
- Data sync across tools
- Internal ops orchestration
Google Sheets
Store every submission in a sheet for lightweight reporting and team visibility.
Where to obtain webhook URL
- Use Apps Script Web App URL, or get a webhook URL via Zapier/Make.
- If using Apps Script, deploy as a web app and copy the URL.
Setup steps with Formsig
- Create sheet columns matching expected form fields.
- Set Formsig webhook URL to your script/automation endpoint.
- Submit test entry and verify row insertion in the spreadsheet.
Sample payload JSON
{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}Test webhook example request
curl -X POST "$YOUR_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}'Common use cases
- Marketing lead logs
- Event registrations
- Daily submission reporting
API
Custom Webhook
Send payloads to your own API endpoint for full control over validation, routing, and storage.
Where to obtain webhook URL
- Create a public HTTPS endpoint in your own backend (Cloudflare Workers, Node, Rails, etc).
- Enable logging and return 2xx quickly after accepting payload.
Setup steps with Formsig
- Add endpoint URL in Formsig webhook settings for the form.
- Enable signing secret and verify signature/timestamp in receiver.
- Implement idempotency using webhook_id or submission_id.
Sample payload JSON
{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}Test webhook example request
curl -X POST "$YOUR_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-H "X-Formsig-Signature: t=1713811200,v1=..." \
-d '{
"version": "2026-01-01",
"event": "submission.created",
"webhook_id": "wh_123",
"form_id": "form_abc",
"submission_id": "sub_456",
"created_at": "2026-04-22T15:04:05.000Z",
"data": {
"name": "Alex Carter",
"email": "alex@example.com",
"message": "Can I get enterprise pricing?"
}
}'Common use cases
- Internal platform ingestion
- Custom enrichment pipelines
- Compliance-controlled workflows