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.

Create endpoint URL Open docs

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

  1. Create a public HTTPS webhook endpoint (or automation endpoint) that forwards to Slack.
  2. In Formsig: form settings > Submission webhook > paste destination URL > Save.
  3. 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

  1. Create your receiver endpoint (if you need payload transform) or use direct Discord-compatible payload flow.
  2. Paste the endpoint in Formsig webhook settings for that form.
  3. 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

  1. Create the Catch Hook trigger and keep Zapier listening.
  2. Paste hook URL into Formsig form webhook settings and save.
  3. 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

  1. Create the Make webhook module and set scenario to listen.
  2. Paste URL in Formsig webhook destination and save.
  3. 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

  1. Create sheet columns matching expected form fields.
  2. Set Formsig webhook URL to your script/automation endpoint.
  3. 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

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

  1. Add endpoint URL in Formsig webhook settings for the form.
  2. Enable signing secret and verify signature/timestamp in receiver.
  3. 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