Formstorkdocs
PricingENTRDashboard

Integrations

Forward every submission to the tools you already use. Connect integrations in the dashboard. They apply to all your forms, and their credentials are encrypted at rest. All integrations are included on every plan, free.

Slack, Discord, Telegram

Paste an incoming webhook URL (Slack, Discord) or a bot token and chat ID (Telegram). Each new submission is posted as a formatted message.

Webhooks

Send submissions to your own endpoint. Every request is a POST with a JSON body and an HMAC-SHA256 signature so you can verify it came from Formstork.

POST https://your-endpoint.com/hook
Content-Type: application/json
X-Formstork-Signature: sha256=<hmac>

{ "submissionId": "...", "formLabel": "Contact", "data": { ... }, "createdAt": "..." }

Verify the signature with your signing secret:

import { createHmac, timingSafeEqual } from "node:crypto";

function verify(rawBody, header, secret) {
  const expected = "sha256=" + createHmac("sha256", secret).update(rawBody).digest("hex");
  return timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}

You can also set a per-form webhook in that form’s settings.

Google Sheets

Click Connect Google on the Integrations page and authorize access. Formstork creates a spreadsheet for you and appends every submission as a new row: timestamp, form, and each field in its own column. Formstork only ever touches the sheet it creates.

Notion

Each submission becomes a page in a Notion database.

  1. Create an internal integration at notion.so/my-integrations and copy the secret (secret_…).
  2. Open your target database in Notion → ⋯ → Connections → add your integration so it can write.
  3. The Database ID is the 32-character part of the database URL, before the ?.

Formstork maps fields to database properties by name and adds any missing ones as text.

Airtable

Each submission becomes a record in an Airtable table.

  1. Create a personal access token at airtable.com/create/tokens with the data.records:write and schema.bases:read scopes, plus access to your base.
  2. The Base ID starts with app…, you can see it in the base URL or its API docs.
  3. Use the table’s name (or its tbl… ID).

Mailchimp

Adds the submitter’s email to a Mailchimp audience, handy for newsletter forms.

  1. Get an API key from Account → Extras → API keys. Keep the -usXX suffix; it tells us your data center.
  2. The Audience ID is under Audience → Settings → Audience name and defaults.

Submissions need an email field; name is used for merge fields when present.