How to · Automatic routing

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
What automatic means here

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.
Setup

The five-step setup

If the form already exists, this takes under five minutes end-to-end.

  1. 1
    Connect the Google Form to RouteForms
    Sign 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 the onFormSubmit trigger Google requires for any automation.
  2. 2
    Set the default Slack channel
    On 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.
  3. 3
    Submit a test response to confirm the pipe
    Fill 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.
  4. 4
    Add routing rules on the Routing rules tab
    Each 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).
  5. 5
    Simulate before you trust the rules
    Use 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 worked example

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:

Property enquiry form
Rules, evaluated top-down
#1IFBudgetgreater than or equal100000→ send to#hot-leads
#2IFProperty TypecontainsCommercial→ send to#commercial-desk
#3IFCityequalsAustin→ send to#austin-team
fallbackno rule matched → send to#all-enquiries

A 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.

What “automatic” should also mean

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.
FAQ

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.