How to automatically route Google Form responses to the right Slack channel
Every Google Forms submission should land in the channel that owns it — sales in #sales, support in #support, urgent in #oncall — without anyone reading the response first. Here's the full setup, the rule model, and the delivery guarantees that make “automatic” actually mean automatic.
- Submit → Slack in under 2 seconds
- First-match IF-THEN rules, no fan-out surprises
- Idempotent on response ID — retries never double-post
Two halves: the trigger fires on its own, and the destination is picked for you
Most teams stop at the first half. They set up a single Slack webhook, every response goes to one #leads channel, and the channel becomes a firehose nobody reads. That's automated delivery, not automated routing.
The point of automatic routing is that the system decides where the message goes before it gets there, based on what the respondent answered:
- A high-budget lead lands in
#hot-leads, not the noise channel. - An “Urgent” bug report lands in
#oncall, not#cs-inbox. - A client form submission lands in
#client-acme, not the agency-wide dump. - An NPS score of 1–6 lands in
#detractor-followup, while a 9–10 lands in#promoter-thanks.
The five-step setup
If the form already exists, this takes under five minutes end-to-end.
- 1Connect the Google Form to RouteFormsSign in, click
Add form, paste the form's edit URL. You'll see a pre-filled Apps Script snippet — copy it into the form's script editor (Extensions → Apps Script) and run the install once. That registers theonFormSubmittrigger Google requires for any automation. - 2Set the default Slack channelOn the Slack tab, paste an incoming-webhook URL for the channel that should handle “everything else” — the catch-all. Every submission goes here until you add routing rules.
- 3Submit a test response to confirm the pipeFill the form once and watch the Delivery logs tab. You should see the response arrive, the Slack call go out, and a 200 OK from Slack — all within a couple of seconds.
- 4Add routing rules on the Routing rules tabEach rule is one row:
field name,operator,value,destination webhook. RouteForms evaluates them top-to-bottom for every submission; the first match wins. Put the most specific rules first (high-budget Austin lead above any Austin lead). - 5Simulate before you trust the rulesUse the built-in rule simulator at the bottom of the Routing rules tab. It pre-fills with your most recent real submission so you can tweak the JSON, click
Run test, and see exactly which rule would have fired — without sending a real Slack message.
A property-enquiry form, fully automatic
Suppose your Google Form has three questions: City, Property Type, and Budget. You want hot leads in #hot-leads, commercial enquiries to land with the commercial desk, and anything else in #all-enquiries. The rule table looks like this:
Budgetgreater than or equal100000→ send to#hot-leadsProperty TypecontainsCommercial→ send to#commercial-deskCityequalsAustin→ send to#austin-team#all-enquiriesA respondent who enters Budget ₹2,50,000, Property Type Commercial, City Austin matches rule #1 first and lands in #hot-leads. Nothing else fires. That predictability is the whole point — one submission, one channel, no Slack noise.
Delivery guarantees, not just a fire-and-forget webhook
Automatic posting is only useful if you trust it. RouteForms adds the bits that turn a webhook into infrastructure:
- Idempotency: every Slack post is keyed by the Google Forms response ID, so a retry can never double-post the same submission.
- Per-form delivery log: timestamp, matched rule, destination, Slack's HTTP response code. Filter to Failed to find anything that needs attention.
- One-click resend: anything in the Failed bucket can be replayed once Slack is healthy.
- Failed-delivery email alerts: on paid plans, you get an email the moment Slack rejects a post — so you don't learn about it by noticing the channel went quiet.
Frequently asked questions
Can Google Forms post to Slack automatically?▾
Not on its own. Google Forms can email a single fixed address when a response comes in, but it has no built-in Slack integration and no way to pick a channel based on the answer. You either bolt on Apps Script yourself, pipe submissions through Zapier or Make, or use a purpose-built tool like RouteForms that handles the form → Slack hop directly.
What does 'automatically route' actually mean here?▾
Two things: (1) the trigger fires the instant the form is submitted, with no manual step, and (2) the destination channel is chosen by rules — not always the same channel. So a high-budget lead automatically lands in #hot-leads while a low-budget one lands in #nurture, without anyone reading the response first.
How fast does the Slack message arrive?▾
From submit to Slack post is typically under two seconds. Google Forms fires the on-submit Apps Script trigger immediately, RouteForms receives the webhook, evaluates the routing rules, and posts to Slack's incoming webhook in one hop. There's no polling and no batched job.
Do I need to write any code?▾
No. RouteForms gives you a pre-filled Apps Script snippet to paste into the form's script editor — that's the one piece of plumbing Google requires. Everything else (which fields to look at, which Slack channels, which conditions) is configured in the RouteForms dashboard, point-and-click.
What happens if Slack is down when a response comes in?▾
The submission is recorded with status Failed and the Slack HTTP error code in the delivery log. You can resend it with one click once Slack is healthy, or set up failed-delivery email alerts so you know without checking the dashboard. Because RouteForms keys retries by the Google Forms response ID, the same submission can never double-post.
Can I route to different Slack workspaces?▾
Yes. Each routing rule has its own Slack webhook, so a single Google Form can fan out to channels across multiple workspaces. Useful for agencies routing one form's submissions into many client Slacks.
What if no routing rule matches a submission?▾
The submission goes to the form's default Slack channel — the webhook you set on the Slack tab when you connected the form. That's your catch-all. If no default is configured, the submission is recorded with status Skipped so you can review it.
Does this work with Google Workspace forms or just personal Google accounts?▾
Both. The setup is identical — you paste the Apps Script trigger inside the form's script editor, authorise it once for the Google account that owns the form, and you're live. Workspace admins occasionally restrict Apps Script for the whole org, in which case you'd ask IT to allow the RouteForms script.
Wire up your first automatic route
Free for 30 responses a month. Solo unlocks routing rules from $7.
Keep reading
The IF-THEN rule language in detail — operators, ordering, examples.
The conditional-routing pattern, why broadcast channels fail, and how to think about routing rules.
Recipes for routing by dropdown, scale, checkbox, free text, file upload, and currency answers.
The three-step setup walkthrough if you just want to get a single channel wired up first.