Getting started

Install the Apps Script trigger

The Apps Script is what catches form submissions and forwards them to RouteForms. This page is the installation reference; the script content itself is generated for you when you add the form.

Before you start

  • You have edit access to the Google Form.
  • You've added the form to RouteForms (sign in → New form → paste form URL). The dashboard will show you a script pre-filled with the form's RouteForms webhook secret.
  • (Optional) You've created at least one Slack incoming webhook URL and pasted it into the form's RouteForms settings. The trigger fires either way, but with no webhook configured RouteForms records the response as SKIPPED.

Install, five steps

1. Open the Apps Script editor

Open the Google Form. Click the three-dot menu in the top right → Apps Script. A new tab opens with an editor and a default empty function.

2. Replace the default with our generated script

Select all of the existing function myFunction() block, delete it, and paste the script from the RouteForms dashboard. Save the file with ⌘S / Ctrl-S. The editor will name the file Code.gs by default.

The pasted script defines three functions: installRouteForms() (creates the trigger), uninstallRouteForms() (removes it), and onFormSubmit(e) (the handler called on every submission).

3. Run installRouteForms

At the top of the editor, the function dropdown defaults to whatever function is at the top of the file. Pick installRouteForms from the dropdown. Click Run.

The installer wipes any existing form-submit trigger from this script (so re-running is safe), then creates a fresh one bound to onFormSubmit. This is idempotent, you can run it as many times as you want.

4. Authorise when prompted

The first run prompts a Google authorisation dialog. The canonical click path:

  1. Review permissions.
  2. Pick the Google account that owns the form.
  3. Advanced (small grey link).
  4. Go to [Project name] (unsafe).
  5. Review the scopes (UrlFetchApp + Forms read), click Allow.

5. Verify by submitting a test response

Open the form, fill it in, submit. Within ~5 seconds:

  • The RouteForms delivery log shows a new row (docs).
  • If a Slack webhook is configured, the message lands in the channel.
  • The Apps Script Executions tab (left sidebar, line-graph icon) shows a completed run with green check.

If none of these happen, the trigger isn't firing, run our trigger checker to verify the function / source / event-type combination.

Uninstall

In the function dropdown, pick uninstallRouteForms. Click Run. The script removes the form-submit trigger; the script file itself stays in the form's Apps Script project until you delete it manually.

If you want to stop forwarding without removing the script (e.g. pausing temporarily), open Triggers (clock icon, left sidebar) and disable the row for onFormSubmit by deleting it. Re-create later with installRouteForms.

Reinstall after editing the form

The trigger doesn't need re-installation after form edits, the same onFormSubmit handler keeps firing regardless of field changes. However, some Google Apps Script lifecycle events wipe triggers silently:

  • Deleting and re-adding the form's Apps Script project (rare).
  • Migrating the form between Google accounts.
  • Disabling and re-enabling Apps Script on the Workspace.

If submissions stop reaching RouteForms after one of these events, re-run installRouteForms. The installer is idempotent so duplicates don't accumulate.

Avoiding duplicate triggers

If you previously installed a different form-to-Slack script (a hand-written one from a tutorial, or another vendor's installer), open Triggers and delete the old row. Two triggers calling two handlers both fire on every submission, doubling Slack posts.

Our installer deliberately wipes only triggers calling onFormSubmit , it doesn't touch other handlers. If your old script used a different function name, our installer can't see it; remove it manually.