Send Google Forms responses to different Slack channels based on the answer
Pick a question, pick an operator, pick a destination. Each Google Forms submission walks the rules top-to-bottom and lands in the first channel that matches, works with dropdowns, scales, free text, numbers, checkboxes.
- Works with every Google Forms question type
- Numeric matching tolerates ₹, $, commas
- Live rule simulator
Three pieces: field, operator, destination
For each routing rule you tell RouteForms three things:
- Which form field to look at: the exact question title from your Google Form (e.g.
Budget,City,Property Type). - How to compare: equals, contains, greater than, less than, is empty, and their inverses.
- Where to send the match: a Slack incoming-webhook URL plus an optional channel label like
#hot-leadsthat shows up in delivery logs.
That's the whole API. The recipes below show what that looks like for each common Google Forms question type.
One recipe per Google Forms question type
DepartmentequalsSales→ send to#sales-inboxDepartmentequalsSupport→ send to#support-inboxDepartmentequalsBilling→ send to#finance-inboxWith dropdowns and multiple-choice (single answer), equals is the right operator. Comparison is case-insensitive.
NPS Scoreless than or equal6→ send to#detractor-followupNPS Scoregreater than or equal9→ send to#promoter-thanksLinear scale answers come through as plain numbers. greater/less than handles them directly. RouteForms strips currency symbols and commas before comparing — '$50,000' compares correctly against 50000.
What are you trying to docontainsdemo→ send to#sdr-inboxWhat are you trying to docontainspricing→ send to#sales-pricingWhat are you trying to docontainsbug→ send to#cs-bugsFree-text questions need contains. Pick keywords that strongly predict intent. Comparison is case-insensitive — 'Demo' matches 'demo'.
ChannelscontainsSlack→ send to#slack-usersChannelscontainsWhatsApp→ send to#whatsapp-leadsCheckbox answers arrive as a comma-joined list — 'Email, Slack, SMS'. contains matches any of them, so 'Slack' fires when Slack is checked even if other options are too.
Attach a screenshotis not empty→ send to#bugs-with-reproAttach a screenshotis empty→ send to#bugs-needs-reproFile-upload fields are either a Drive URL or empty. is-empty / is-not-empty triage submissions without you needing to inspect the URL.
Budgetgreater than or equal100000→ send to#vip-leadsBudgetgreater than or equal50000→ send to#hot-leadsBudgetless than10000→ send to#low-priorityRespondents type currency in inconsistent ways. RouteForms strips ₹, $, commas, and trailing units before comparing so all of '₹50,000', '$50000', and '50k USD' match correctly against 50000.
How to wire this up
- 1Sign in to RouteForms and connect your Google FormPaste a default Slack webhook (the channel that handles “everything else”) and copy our Apps Script into your form's script editor. Full setup walkthrough.
- 2Open the Routing rules tab on the formSolo plan supports 10 rules per form, Agency is unlimited. Click
Add rule, pick a field name (use the recipe matching your question type), pick an operator, type a value if the operator needs one. - 3Paste the Slack webhook for the destination channelEach rule has its own Slack webhook URL, so a single form can fan out across multiple Slack workspaces if you need it to (useful for agencies routing into client Slacks).
- 4Run the simulatorThe simulator at the bottom of the tab pre-fills with the fields from your latest real submission. Edit the JSON to test edge cases (high vs low budget, empty vs filled). The dashboard shows you exactly which rule fires.
- 5Reorder if neededPlace the most specific rules first. The first match wins, so 'high-budget Austin lead' should sit above 'any Austin lead'. Up/down arrows in the dashboard reorder rules without redeploying anything.
- 6Watch the delivery logEvery Slack post is recorded with the matched rule, the destination, and Slack's HTTP response. Filter to Failed to see anything to retry.
Frequently asked questions
Can Google Forms send to a specific Slack channel based on the answer?▾
Google Forms by itself only emails one fixed recipient on submit. To route to a different Slack channel based on what the respondent picked or typed, you need a thin layer between Google Forms and Slack. RouteForms is that layer: you define IF-THEN rules in a dashboard and we evaluate them on every submission before posting to Slack.
Which Google Forms question types work with answer-based routing?▾
All of them. Dropdowns and multiple-choice route on equals/does-not-equal. Linear scale and number questions route on greater-than / less-than. Short answer and paragraph route on contains / does-not-contain. Checkbox questions route on contains (because Apps Script joins checked values with commas). File uploads route on is-empty / is-not-empty.
What field name do I put in the rule?▾
Use the exact question title from your Google Form, including spacing. RouteForms compares case-insensitively and trims whitespace, so 'Budget' will match the question 'BUDGET' or ' Budget '. If you renamed a question, update the rule.
How do I route by a number answer like budget or rating?▾
Use the greater-than, greater-than-or-equal, less-than, or less-than-or-equal operators with a plain number like 50000. RouteForms strips currency symbols, commas, and trailing units before comparing, so '₹50,000', '$50,000', and '50k usd' all compare correctly against 50000.
Can I route by multiple answers in a checkbox question?▾
Yes. Google Forms checkbox responses arrive as comma-joined values (e.g. 'Email, Slack, SMS'). Use the contains operator to match any of them. IF Interested in contains 'Slack' will fire whenever Slack is one of the checked options.
Does the order of rules matter?▾
Yes. RouteForms walks rules top-to-bottom and the first match wins. Put the most specific rules first (e.g. 'high-budget Austin lead' above 'any Austin lead') and use the up/down arrows in the dashboard to reorder. There is no implicit fan-out, one submission goes to one channel.
What if no rule matches?▾
The submission goes to the form's default Slack channel, the webhook you set on the Slack tab. If no default is set either, the submission is recorded with status 'SKIPPED' so you can review it later and either configure a default or retry.
Can I test a rule before going live?▾
Yes. The Routing rules tab includes a simulator that pre-fills itself with the fields from your most recent real submission. Tweak the JSON, click Run test, and the dashboard shows you which rule (or default) would fire, no actual Slack message is sent.
Route your next form response to the right Slack channel
Free for 30 responses a month. Solo unlocks routing rules from $7.