Skip to main content
Requires a plan with the webhooks_enabled feature. Configured per-form from that form’s Webhooks settings.

Getting an Incoming Webhook URL

1

Create a Slack app

Go to api.slack.com/apps and click Create New App (or reuse an existing app for your workspace).
2

Enable Incoming Webhooks

From the app’s settings, turn on Incoming Webhooks.
3

Add a webhook to a channel

Click Add New Webhook to Workspace, pick the channel submissions should post to, and authorize it.
4

Copy the Webhook URL

Slack generates a URL shaped like https://hooks.slack.com/services/T000/B000/XXXXXXXX — that’s the only credential this integration needs. The URL itself is the secret; anyone with it can post to that channel, so treat it accordingly.

Connecting it to Raykoi

From the form’s Webhooks settings, choose Slack, and paste in the Incoming Webhook URL. Raykoi validates the shape of the URL (it has to actually look like a Slack webhook URL) before saving.

What the message looks like

Up to 10 submitted fields are shown, each truncated to 150 characters — enough to see what came in without needing to click through for a typical form. Field values are escaped against Slack’s mrkdwn formatting, so a submitted value containing <@here> or bare &/</> characters can’t inject formatting or disguise a link.

Testing, retries, and signing

Same delivery pipeline as every other integration — see Webhook for retry/auto-disable behavior and the test-send button. Slack doesn’t need Raykoi’s own HMAC signing on top — the webhook URL itself is already the credential that authenticates the request.