App integration · All integrations

Formfy + Slack: the SmartWaiver Slack Alternative

SmartWaiver teams want a real-time Slack ping the moment a liability waiver or consent form is signed — but SmartWaiver's Slack integration is gated on higher-tier plans, cannot route specific waiver types to different channels, and sends no PDF link. Clinics, gyms, and agencies managing high-volume waivers need instant visibility without paying SmartWaiver's premium add-on pricing or stitching together a separate Slack app.

Formfy fires a form.signed webhook the instant any waiver is completed. Point that webhook at a lightweight relay and your Slack channel gets the signer's name, document title, and a signed-PDF link within seconds — no SmartWaiver account required.

The workflow at a glance

Trigger

A client signs a Formfy waiver, consent, or intake form

Action

Formfy fires a form.signed webhook to your relay, which posts a formatted message to Slack

Result

Your team sees the signer's name, form title, and PDF link in Slack within seconds

Step-by-step: connect Slack to Formfy

Wire Formfy webhook subscriptions to Slack incoming webhooks via a relay function and get real-time signed-waiver notifications in any Slack channel.

  1. Generate a Formfy API key

    Open the Formfy dashboard, navigate to Settings → API Keys, and click Create key. Copy the fk_live_… token to a password manager — Formfy shows it once. During development use a fk_test_… key so test signatures do not count against your production quota.

  2. Create a Slack incoming webhook URL

    In Slack, open your workspace's App Directory, create a new app, and enable Incoming Webhooks. Add the webhook to a #waivers or #signed-forms channel, then copy the webhook URL beginning with https://hooks.slack.com/services/. Each destination channel gets its own URL.

  3. Deploy a relay endpoint

    Deploy a small relay — a Cloudflare Worker or Vercel Edge Function works well. The relay receives the Formfy form.signed payload, extracts signer_email and form_title, formats a Slack Block Kit message, and forwards it to your Slack incoming webhook URL.

  4. Register the Formfy webhook subscription

    POST /api/v1/webhooks with your Formfy Bearer token, setting target_url to your relay and event_types: ["form.signed"]. Formfy returns a signing secret — store it in your relay and verify the X-Formfy-Signature HMAC-SHA256 header on every delivery before forwarding to Slack.

    POST/api/v1/webhooksSee in the OpenAPI spec →

  5. Test end-to-end and rotate the secret quarterly

    Sign a test form in Formfy. Within 30 seconds a Slack alert should appear with the signer's name and document title. Quarterly, POST /api/v1/webhooks/{id}/rotate-secret for a fresh signing secret, then update your relay's environment variable to match.

    POST/api/v1/webhooks/{id}/rotate-secretSee in the OpenAPI spec →

Subscribe Formfy to your Slack relay endpoint

Register the form.signed event against your relay URL. Formfy signs every delivery with HMAC-SHA256 so the relay can reject spoofed payloads before they reach Slack.

curl -X POST https://formfy.ai/api/v1/webhooks \
  -H "Authorization: Bearer fk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target_url": "https://your-relay.workers.dev/formfy-to-slack",
    "event_types": ["form.signed"]
  }'

Frequently asked questions

Does Formfy have a native Slack app?

Formfy does not ship a one-click Slack app today. Instead it exposes a clean REST API and webhook firehose. You register a webhook subscription for the form.signed event and point it at a lightweight relay — a Cloudflare Worker or Vercel Edge Function — that reformats the Formfy payload into a Slack Block Kit message and posts it to your Slack incoming webhook URL. The setup takes under fifteen minutes.

How does Formfy compare to SmartWaiver's Slack integration?

SmartWaiver's Slack notifications deliver a fixed-format alert gated on higher-tier plans. Formfy's webhook approach lets you control the full message shape — include the signed PDF link, route different waiver types to different Slack channels, or fan out to multiple destinations simultaneously. You own the relay code and can modify behavior without waiting on a product update or tier upgrade.

Which Formfy events can trigger a Slack notification?

Five webhook event types are live in Formfy v1: form.created, form.sent, form.viewed, form.signed, and form.expired. For Slack alerts, form.signed is the most useful — it fires the instant a client completes a waiver or consent form. Subscribe to multiple event types on one endpoint by listing them all in the event_types array when you POST /api/v1/webhooks.

Can I route different waiver types to different Slack channels?

Yes. Your relay reads form_id or form_title from the Formfy payload and dispatches to different Slack incoming webhook URLs based on the value. Liability waivers route to #legal-waivers, intake forms route to #new-clients, and so on. Formfy does not filter by form type at the webhook level — that routing logic lives in your relay, giving you full control without plan upgrades.

How do I include the signed PDF in the Slack message?

The form.signed payload includes the form ID. Call GET /api/v1/forms/{id}/signed-pdf from your relay to retrieve the PDF download token, then append the download URL to your Slack Block Kit message as a button or link. Recipients open the signed document directly from Slack without navigating to the Formfy dashboard.

Is there a no-code way to connect Formfy to Slack?

Yes — Zapier. Create a Webhooks by Zapier trigger subscribed to the Formfy form.signed event, then add a Slack action step to post a message to any channel. Zapier handles the relay logic with no code at all. See the Formfy + Zapier integration guide for the webhook setup steps; adding the Slack action takes about two minutes from there.

What data does the Formfy webhook payload include?

The form.signed payload contains the submission ID, form ID, form title, signer name, signer email, and a signed_at timestamp. From the form ID your relay can call GET /api/v1/forms/{id}/signed-pdf to retrieve a signed PDF download token. All payloads are signed with HMAC-SHA256 via the X-Formfy-Signature header so your relay can verify authenticity before acting on the data.

What happens if Slack is down when a waiver is signed?

Formfy retries failed webhook deliveries with exponential backoff for up to 24 hours. Once Slack recovers and your relay returns a 2xx response, the queued deliveries fire automatically. You can also inspect and replay individual delivery attempts from the Webhook Deliveries log in the Formfy dashboard — useful for confirming every waiver was captured during an outage.

Ready to wire Slack into Formfy?

Spin up an API key, run your first webhook, and route signed forms wherever your team already works.