Developers

Build on top of zyntForms

Connect your forms to any tool, trigger automations on every response, embed reviews on your site, and query your data via API. Everything you need is here.

WebhooksPro

Get an HTTP POST to your server the moment a response is submitted. Configure the webhook URL per form under Form Settings → Integrations.

Payload

POST https://your-server.com/webhook
Content-Type: application/json

{
  "event": "response.created",
  "formId": "clxxx...",
  "formTitle": "Event Registration",
  "submittedAt": "2026-06-20T10:34:00.000Z",
  "response": {
    "id": "res_abc123",
    "answers": [
      { "fieldId": "field_1", "label": "Full name",      "value": "Alice Nakato" },
      { "fieldId": "field_2", "label": "Email address",  "value": "[email protected]" },
      { "fieldId": "field_3", "label": "Ticket type",    "value": "VIP — $75" }
    ]
  }
}

Verifying the signature

Each request includes an X-ZyntForms-Signature header — an HMAC-SHA256 digest of the raw body using your webhook secret. Verify it before processing.

// Node.js / Edge example
import { createHmac } from 'crypto'

const sig = req.headers['x-zyntforms-signature']
const expected = createHmac('sha256', process.env.WEBHOOK_SECRET!)
  .update(rawBody)
  .digest('hex')

if (sig !== expected) {
  return new Response('Forbidden', { status: 403 })
}
Pricing: Each webhook delivery costs 0.1 credits ($0.01). Failed deliveries are retried up to 3 times with exponential back-off.

Slack notificationsPro

Paste a Slack Incoming Webhook URL in Form Settings → Integrations → Slack webhook and your team will receive a message for every new response.

Setting up in Slack

  1. Go to api.slack.com/apps and create a new app (or use an existing one).
  2. Enable Incoming Webhooks and click Add New Webhook to Workspace.
  3. Choose the channel where you want response notifications.
  4. Copy the webhook URL (starts with https://hooks.slack.com/) and paste it into your form settings.
Note: Slack notifications count as integrations. Each delivery costs 0.001 credits.

Embed reviews widget

Display verified customer reviews collected via your zyntForms forms on any external website — your landing page, marketing site, or app.

Drop-in script

<!-- Add to your <head> or before </body> -->
<script
  src="https://zyntforms.com/embed/reviews.js"
  data-form-id="YOUR_FORM_ID"
  data-theme="light"
  async
></script>

<!-- Place where you want reviews to appear -->
<div id="zyntforms-reviews"></div>

JSON endpoint

If you want to fetch review data yourself and render it your own way:

GET /api/embed/reviews/data?formId=YOUR_FORM_ID

// Response
{
  "count": 42,
  "averageRating": 4.8,
  "reviews": [
    {
      "id": "res_abc",
      "rating": 5,
      "text": "Incredibly smooth experience.",
      "submittedAt": "2026-06-15T08:12:00.000Z"
    }
  ]
}

The endpoint is public and CORS-enabled. Rate-limited to 60 requests per minute per IP.

REST APIPro

Query your forms, responses, and analytics programmatically. Available on Pro plans. Full API reference is coming soon.

Coming soon

The public REST API is currently in development. Endpoints planned for the initial release:

  • GET /api/v1/forms — list your forms
  • GET /api/v1/forms/:id/responses — paginated response list
  • GET /api/v1/forms/:id/responses/:responseId — single response
  • GET /api/v1/forms/:id/analytics — aggregate stats

Want early access? Email [email protected].

Ready to start building?

Webhooks, Slack, and the embed widget are available today on the Pro plan.