Google Forms × Slack integration
Send Google Forms responses to Slack channels with conditional routing, idempotent retries, and a per-form delivery log. The focused integration for the one hop teams use every day.
- Trigger: new Google Forms response
- Action: post formatted message to Slack
- Setup in under 3 minutes
The integration at a glance
{{response.field['Name']}} in templates and rules.What you should know
- Authentication
- Google OAuth (form access) + Slack incoming webhook
- Delivery latency
- 1–3 seconds typical
- Retries
- Auto, exponential backoff on transient errors
- Idempotency
- On the Google Forms response ID
- Audit
- Per-form delivery log with payload + status
- Free tier
- 30 responses/month, 1 form
Three steps to live
- 1Create a Slack incoming webhookIn Slack, Settings & administration → Manage apps → Incoming Webhooks. Pick the destination channel and copy the webhook URL.
- 2Add the form in RouteForms and paste the webhook URLFree plan covers 30 responses/month, no card. Paste the Google Form's edit URL and the Slack webhook URL. RouteForms generates a form-specific Apps Script.
- 3Install the Apps Script into the formOpen the form's three-dot menu → Apps Script. Paste the generated script, save, run
installRouteFormsonce. Authorise when Google asks (detailed walkthrough).
Beyond the simple notification
- Conditional routing: IF-THEN rules with 10 operators (equals, not equals, contains, does not contain, greater/less than, is empty, is not empty). Numeric operators tolerate currency symbols and commas.
- Per-form delivery log: every submission, every Slack response, every retry. Click a row to expand the rendered payload.
- Idempotency on response ID: retries can never double-post. Solves a class of bug that bites hand-rolled scripts.
- Failed-streak email alerts (paid plans), silent failures surface in minutes, not weeks.
- Client workspaces (Agency plan), separate forms-and-Slack configs per client, no permission bleed.
Frequently asked questions
Is this an official integration?▾
It's an official RouteForms integration. The Google side runs as an Apps Script trigger (installed once into your form); the Slack side runs as an incoming webhook bound to a channel. There's no Google Workspace Marketplace listing required, the integration operates entirely through the standard Google and Slack APIs that don't gate on Marketplace verification.
How fast does Slack receive the message?▾
Typically within 1–3 seconds of form submission. The Apps Script trigger fires synchronously on submission, POSTs to RouteForms, RouteForms evaluates routing rules and POSTs to Slack. The dominant latency is whatever round-trip Slack itself takes, usually under a second.
What if a Slack message fails to deliver?▾
RouteForms retries transient failures (5xx, rate-limit) automatically with exponential backoff. Permanent failures (invalid channel, expired webhook) surface in the delivery log with the exact error. Paid plans send an email alert after 3 consecutive failures so the operator knows to look. Every message is idempotent on the Google Forms response ID, a retry can never produce a duplicate post.
Can I send to multiple Slack channels?▾
Yes, through routing rules. Each rule has its own destination channel (or destination webhook). The default behavior is one channel per form; routing rules layer fan-out and conditional delivery on top. Up to 10 routing rules per form on the Solo plan, unlimited on Agency.
Does this integration need both Google Workspace and Slack admin permissions?▾
It needs whoever installs the Apps Script trigger to have edit access on the Google Form and the ability to authorise the Apps Script (which Google asks for once on first install). For Slack, anyone who can create an incoming webhook in their workspace can complete the setup. Neither side requires global admin, these are standard per-form / per-channel permissions most users already have.
Set up the integration in 3 minutes
Free for 30 responses a month. No card. Conditional routing on every paid plan.
Keep reading
The incoming-webhook surface, payload, retries, idempotency.
Operators, rule order, fan-out, the spec for IF-THEN routing.
Client workspaces, per-client Slack destinations, billing roll-up.
Same integration shape, no per-task billing, no general-platform overhead.
The full walkthrough of features, pricing, and trade-offs.
Step-by-step setup with screenshots and the debugging checklist.