No middleware

Send Google Forms responses to Slack — without Zapier

Zapier's per-task pricing, throttling, and Paths upsell make this one-hop automation more painful than it should be. Here's how to replace it with a direct webhook that runs on Google's own Apps Script.

  • $7/month flat, unlimited responses
  • Direct webhook, no middleware
  • Idempotent, retryable, logged
The Zapier tax

What people actually hit

A 'free' Zap stays free for the first month or two. Then a few sharp edges show up.

  • Task pricing: every Google Forms response is one Zapier task. 1,000 responses a month means at least the Starter plan, plus burst fees if you spike.
  • Path-locked routing: sending different responses to different Slack channels needs Paths, which sits on a higher plan. The same routing on RouteForms is included on every paid plan.
  • Throttling on bursts: when a campaign or ad lands and 200 submissions arrive in 15 minutes, Zapier queues them. You don't see Slack messages in real time, you see them when Zapier feels like delivering them.
  • Quiet failures: a misconfigured Filter step silently drops responses, and the task history is the only audit trail.
  • Replays cost a task: if you re-run a Zap to retry a failed Slack post, it eats another task from your monthly quota.
The replacement

Google's Apps Script + Slack's incoming webhooks

Two pieces Google and Slack ship for free, glued by a hosted webhook that adds the parts you actually need.

Every Google Form already has access to a free Apps Script editor. Every Slack channel can have an incoming-webhook URL. The piece in the middle, turning a form submission into a Slack message, with routing, idempotency, and a log, is the only thing you need RouteForms (or any tool) for.

RouteForms provides:

  • A hosted webhook with a unique per-form secret
  • A pre-filled Apps Script you paste into the form and run once
  • A dashboard for routing rules, delivery logs, and retries
  • Idempotency on the Google Forms response ID, so an Apps Script retry can't double-post
  • Optional failed-delivery email alerts on the paid plans
Side by side

RouteForms vs Zapier for Google Forms → Slack

FeatureRouteFormsZapier
Pricing modelFlat $7/month (Solo) for unlimited responsesPer-task, with overage fees on bursts
Cost at 1,000 responses/month$7, well under Starter$30+ on Starter
Conditional routingOn every paid planPaths, on Professional+
Burst handlingPosts to Slack in real timeBuffers, can lag during spikes
Retry a failed deliveryOne click, doesn't consume quotaReplay the task, costs another task
Idempotency on retriesDB-enforced via response IDEach replay is a fresh task, can double-post
Multi-client (agency)Client workspaces on the Agency planOne Zap per client, or Teams plan
Setup time~2 minutes (paste Apps Script, click Run)~10 minutes (authorise app on Google + Slack, build Zap)
Migration

From a working Zap to RouteForms in 5 minutes

  1. 1
    Sign up for RouteForms (Free)
    30 responses a month is enough to validate that the migration is working end-to-end.
  2. 2
    Add your existing Slack incoming-webhook URL
    Paste the same https://hooks.slack.com/… URL your Zap uses, so submissions land in the same channel. Add a label like #leads for your own bookkeeping.
  3. 3
    Copy the Apps Script into your Google Form
    RouteForms shows the script with your webhook secret baked in. Open the form's three-dot menu → Apps Script → paste → save → run installRouteForms once. That creates the form-submit trigger.
  4. 4
    Run both for a day
    Submit a few test responses. Confirm RouteForms is delivering to Slack and that the messages look right. Watching the delivery log inside RouteForms makes this trivial.
  5. 5
    Turn the Zap off
    Disable (don't delete yet) the Zap. Re-check Slack the next day. When you're confident, delete the Zap and reclaim the task budget.
  6. 6
    (Optional) Add routing rules
    Move whatever logic lived in Zapier Paths into the Routing rules tab. The rule simulator can test against your real recent submissions before you go live.
FAQ

Frequently asked questions

Can I send Google Forms responses to Slack without Zapier?

Yes. Google Apps Script can post to a Slack incoming-webhook URL on every form submission. RouteForms provides a hosted webhook (with idempotency, routing rules, retries, and a delivery log) and a copy-paste Apps Script that wires it up in about two minutes.

Why bother replacing Zapier for this?

Three reasons people switch. Cost: Zapier charges per task; at a few thousand responses a month, a single Zap costs more than RouteForms' Solo plan. Reliability: Zapier silently throttles bursts, so a campaign-driven spike can queue. Routing: branching to multiple Slack channels needs Paths, which is a higher tier. RouteForms ships rule-based routing on every paid plan.

Will I lose any Zapier features?

If your Zap was 'Google Forms response → Slack message', you'll gain features: idempotent delivery, retry from the dashboard, masked Slack URLs, a rule simulator, and per-form delivery logs. If your Zap chained into spreadsheets, CRMs, or email tools, RouteForms doesn't replace those, keep them, and use RouteForms for the Slack hop.

What about Make.com and n8n?

Same trade-off. Make and n8n are powerful general-purpose automation tools, they're worth the configuration cost when you're chaining many systems. For the single hop Google Forms → Slack, a dedicated tool is faster to set up, cheaper at scale, and easier to debug.

Is the Apps Script safe to run?

Yes. The script we generate has your webhook secret embedded, uses Google's standard form-submit trigger, and only talks to RouteForms. You authorise it once when you click Run, and Google warns you the first time because it's your script (which is true, you can read every line). It does not request access to anything outside your form.

What happens to my existing Zap?

Turn it off after you've verified RouteForms is working end-to-end. We recommend running both for a day to confirm submissions are arriving in Slack from RouteForms, then disabling the Zap and saving the task budget.

How fast is delivery?

Apps Script fires the webhook immediately after the form submission. RouteForms posts to Slack in the same request. End-to-end latency is typically under three seconds; Zapier can buffer up to 15 minutes on the free plan.

Will this scale to thousands of submissions?

Yes. Apps Script and Slack incoming webhooks are both designed for high-volume use. RouteForms runs on Vercel functions pinned to the Singapore region, with idempotency on the response ID so retries can't double-post.

Stop paying per task for one Slack message

Flat pricing, direct webhook, idempotent retries, no middleware.