Google Forms to Slack with IF-THEN routing
Every Google Forms submission walks a list of IF-THEN rules and lands in the first Slack channel whose condition is true. Explicit syntax, first-match-wins, with a default fallback so nothing is dropped.
- IF <field> <op> <value> THEN send to <channel>
- 10 operators, numeric and currency-aware
- Live simulator before you trust the rules
One rule, one IF-THEN sentence
A RouteForms rule reads like a sentence: IF this field, this comparison, this value, THEN send to this channel. The dashboard renders it that way, and the delivery log records it that way too, so anyone on your team can predict what will happen without learning a rules engine.
IF Budget greater than or equal 50000 THEN send to #hot-leads IF Property Type contains Commercial THEN send to #commercial-desk IF City equals Austin THEN send to #austin-team ELSE (default) send to #all-enquiries
That's the whole language. Add rows in the dashboard until your routing matches how your team works.
The ten verbs an IF clause can use
- equals / does not equal — case-insensitive, whitespace-trimmed. Best for dropdowns and multiple-choice questions.
- contains / does not contain — case-insensitive substring. Best for free-text answers and checkbox questions (Google Forms joins checked options with commas, so contains matches any of them).
- greater than / greater than or equal — numeric. Strips
₹,$,,and trailing units likek usdbefore comparing. - less than / less than or equal — numeric, same normalisation. Useful for routing low-rating NPS to a follow-up channel.
- is empty / is not empty — no value field. Catches respondents who skipped an optional question (great for file-upload fields).
Three IF-THEN rule sets from real RouteForms accounts
Each block is one Google Form, with its rules in the order they'd be evaluated.
Budgetgreater than or equal100000THEN send to#vip-leadsBudgetgreater than or equal50000THEN send to#hot-leadsProperty TypecontainsCommercialTHEN send to#commercial-deskCityequalsAustinTHEN send to#austin-teamPrioritycontainsUrgentTHEN send to#oncallPlanequalsEnterpriseTHEN send to#cs-enterpriseAttachment URLis not emptyTHEN send to#bugs-with-reproAttachment URLis emptyTHEN send to#bugs-needs-reproScoreless than or equal6THEN send to#detractor-followupScoregreater than or equal9THEN send to#promoter-thanksConstraints that keep routing predictable
- No fan-out. Only the first matching rule fires. If you need two channels to see a response, set up two rules pointing at it — but the default is the safer one, since fan-out turns into Slack noise fast.
- No AND / OR inside one IF. Today each IF clause is a single condition. You compose AND by stacking rules and OR by repeating the same THEN. Most teams find this easier to debug than a nested expression.
- No regex. contains is a plain case-insensitive substring match. It covers the common cases without the foot-guns of writing regex against form responses.
- No silent drops.Anything that doesn't match a rule goes to the default Slack channel. If you haven't set one, RouteForms records the submission as Skipped instead of dropping it.
Wire up your first IF-THEN rule
- 1Connect the form and set a default Slack channelPaste a default Slack webhook on the Slack tab and install the Apps Script trigger from
Extensions → Apps Script. Until you add rules, every submission goes to the default — that's your safety net. - 2Open the Routing rules tabAvailable on Solo (10 rules per form) and Agency (unlimited). Click
Add ruleand fill the IF row: field name, operator, value. - 3Paste the destination Slack webhook (the THEN)Each rule has its own destination webhook, so one form can post to channels across multiple Slack workspaces.
- 4Reorder so specific rules come firstFirst-match-wins. Put 'Budget ≥ 100000 → #vip' above 'Budget ≥ 50000 → #hot' or the general rule will eat the specific one.
- 5Simulate, then watch the delivery logUse the simulator with your latest real submission to confirm the right rule fires. Once live, the Delivery logs tab shows the matched rule and Slack's HTTP response for every post.
Frequently asked questions
What does 'IF-THEN routing' mean in this context?▾
Each routing rule has the shape: IF <form field> <operator> <value> THEN send to <Slack channel>. RouteForms evaluates the IF clauses in order on every Google Forms submission; the first one that's true picks the THEN destination. It's the same model as a switch / case statement, applied to form submissions.
How do I write an IF-THEN rule in RouteForms?▾
You don't write code. In the Routing rules tab you click 'Add rule', pick a field name from your form (e.g. Budget), pick an operator (e.g. greater than or equal), type a value (e.g. 50000), and paste the Slack webhook URL for the destination. That's one IF-THEN rule. Add as many rows as you need.
What operators can the IF clause use?▾
equals, does not equal, contains, does not contain, greater than, greater than or equal, less than, less than or equal, is empty, is not empty. Numeric operators tolerate currency symbols and commas — so a comparison against 50000 will match '₹50,000', '$50,000', and '50k usd'.
Can an IF clause combine multiple conditions (AND / OR)?▾
Today, no — each rule is a single condition. You compose AND by stacking conditions across multiple rules in the right order (first-match-wins), and OR by writing one rule per branch with the same destination. Most teams find the single-condition model easier to read than nested AND/OR, but a multi-condition builder is on the roadmap.
What happens when no IF clause is true?▾
The submission goes to the form's default Slack channel — the webhook configured on the Slack tab. That's your ELSE / fallback. If no default is configured either, the submission is recorded with status Skipped so you can review and resend it manually.
Does the order of IF-THEN rules matter?▾
Yes — RouteForms uses first-match-wins. Put specific rules above general ones (e.g. 'Budget ≥ 100000 → #vip-leads' above 'Budget ≥ 50000 → #hot-leads'), or the general rule will swallow the specific case. Reorder with the up/down arrows on each row.
Can the THEN destination be a different Slack workspace?▾
Yes. Each rule carries its own Slack incoming-webhook URL, so a single Google Form can fan out to channels across multiple workspaces. Agencies use this to route each client's submissions into that client's own Slack.
How do I test an IF-THEN rule without spamming the real channel?▾
The Routing rules tab has a simulator pre-filled with your most recent real submission. Tweak the JSON to test edge cases, click Run test, and the dashboard shows which rule (or default) would have fired. No Slack message is actually sent during a simulation.
Write your first IF-THEN rule
Free for 30 responses a month. Solo unlocks IF-THEN routing from $7.
Keep reading
The conditional-routing pattern in plain terms — what it is, when you need it, how to think about rule ordering.
The end-to-end how-to from form to Slack with no manual triage.
Concrete recipes for routing by dropdown, scale, checkbox, free text, file upload, and currency.
The rule model in detail — operators, ordering, defaults, and the rule simulator.