Anticode Open builder

Slack form notifications: post every website submission to a channel

Paste a Slack incoming-webhook URL into Anticode's Slack connector and every booking request, enquiry, newsletter sign-up and invite request from your published sites appears as a message in the channel you picked, usually within a minute. No automation service sits in between, and a visitor's text can't turn into a mention or a link.

Updated · By the Anticode team

Who this suits

Teams that already live in Slack and answer enquiries together. A studio where whoever is free picks up the next booking request, a shop that wants sign-ups visible to the whole team, a freelancer who keeps a private channel as an inbox. Slack form notifications put the submission where the conversation about it will happen, so someone can reply in a thread with "I've got this one" before two people email the same customer.

What lands in the channel

Each post starts with a line naming the kind of form and the project, then one line per field, written as the field name, a colon and the value. A contact form produces something like:

  • New message on Harbour Yoga
  • name: Priya Shah
  • email: priya@example.com
  • message: Do you run beginners' classes on Saturdays?

A booking adds the service, day, time and phone number; a newsletter sign-up is just the email address. Line breaks inside a visitor's message are folded into spaces and each value is cut at 500 characters, so one long message can't push the rest of the channel off screen. The whole post is capped at 3,500 characters.

Connect Slack in five steps

  1. In Slack, create an app for your workspace (or open one you already use), turn on Incoming Webhooks in its settings, then choose Add New Webhook to Workspace and pick the channel. Slack's incoming webhooks guide walks through the screens.
  2. Copy the URL Slack gives you. It starts with https://hooks.slack.com/services/.
  3. In your Anticode dashboard, open Connectors and choose Slack.
  4. Paste the URL into Webhook URL and press Save and turn on. Anticode refuses anything that isn't a hooks.slack.com services address, so a pasted channel link or a Discord URL is caught here.
  5. Press Send a test. A sample contact message from "Anticode" should appear in the channel straight away.

The channel is fixed by the webhook, not by Anticode: Slack doesn't let a webhook post to a different channel or change its name and icon. To move notifications, create a new webhook for the other channel and paste it over the old one.

Why a visitor can't ping your whole team

Slack treats <!channel>, <@U123> and <https://…|text> as special: angle brackets make mentions and links. If a website form passed visitor text through untouched, anyone could send a contact message that alerts every member of the channel, or dress a phishing link up as harmless words. Anticode escapes &, < and > in everything it posts, so a visitor who types <!channel> produces those characters as plain text and nobody gets a notification they didn't ask for.

Keeping the URL private

Anyone holding an incoming-webhook URL can post into that channel. Slack says the URL contains a secret and that it searches for leaked ones and revokes them. Anticode stores the URL encrypted with AES-256-GCM, bound to your account and this connector, and never shows it again: the field reads "A URL is saved" and the builder and your published pages never see it. To change it, paste a new one.

Limits worth knowing

  • One Slack connector per account. It covers every site you publish, so two sites can't post to two different channels.
  • Sent once. If Slack is unreachable at that moment, the post is skipped and not retried. The submission itself stays in the project's Submissions.
  • Plain text only. There are no buttons, threads or Block Kit layouts, and you can't reply to the visitor from Slack.
  • Free-plan allowance. Submissions past a free site's monthly allowance are kept but held, and aren't posted; see form submissions.

When posts don't arrive

The test says Slack answered 404 or 410
The webhook was removed or the app was uninstalled. Create a new webhook and paste it in.
The test says Slack answered 403
A workspace admin may have restricted posting, or the channel limits who can post. Check with them, or pick another channel.
The test works but live forms don't show
Check the connector is still On, and that the site was published from the same account the connector is saved on.
One post is missing
Slack was probably briefly unavailable. Read it in Submissions; nothing is resent automatically.

For a wider view of where enquiries can go, see routing contact form enquiries or the step-by-step guide to form submissions in Slack. If you'd rather have the same alerts in Discord, the Discord connector works the same way.

Questions people ask

Do I need Zapier to send a contact form to a Slack channel?

No. Anticode posts to Slack's incoming webhook directly. Use the generic webhook connector with an automation tool only if you want extra steps after each post.

Can the post go to a private channel?

Yes, if the webhook was created for that channel. The channel is chosen in Slack when you add the webhook.

Will a visitor's message ever mention @channel?

No. Angle brackets and ampersands are escaped before posting, so mention syntax arrives as plain text.

Can I see the saved webhook URL later?

No. It's write-only once saved. Paste a new one to replace it, or press Remove.

Sources

  1. Slack: Sending messages using incoming webhooks, checked