Case Study

Dynamic Forms That Route Themselves.

How we used Google Apps Script to make dynamic list population and conditional section routing coexist in Google Forms — solving a Form Ranger conflict that had been declared unsolvable.

Google Apps Script dynamic form engine for healthcare
100%
Dynamic Population + Conditional Routing Together
0
Form Ranger Conflicts
Hourly
Automated Therapist List Sync
Multi
Client Forms Deployed Simultaneously

The Problem

The healthcare group relied on Google Forms for therapist intake and scheduling — but Form Ranger, the tool they used for dynamic list population, couldn't coexist with conditional section-skip routing. Every attempt to enable both features broke one or the other.

Mission-critical intake forms were either static (missing real-time therapist availability) or broken (failing to route respondents to the correct sections). The workaround was manual updates — which didn't scale across multiple locations.

What We Built

We built a Google Apps Script solution bound directly to each form, bypassing Form Ranger entirely. The script pulls therapist lists from a shared Google Sheet and programmatically wires section routing via Choice objects with gotoPage destinations.

Hourly and on-submit triggers keep the therapist lists current without manual intervention. A diagnostic function was included for fast troubleshooting when new therapists or sections are added — so the operations team can maintain the forms without developer support.

We'd been told this wasn't possible — that you had to choose between dynamic lists and conditional routing. We didn't have to choose.

The System Architecture

Google Apps Script bound to each form. Therapist list data stored in a shared Google Sheet. Hourly time-based trigger for list refresh. On-submit trigger for confirmation workflows. Choice object routing wired programmatically to gotoPage destinations. Diagnostic function for configuration validation.

The Results

Dynamic form population and conditional routing working together across multiple client forms — the outcome Form Ranger's architecture made impossible. Therapist lists update automatically on an hourly cycle.

The operations team can now add therapists, update locations, and add new intake sections without touching the form logic. The diagnostic function catches configuration issues before they reach respondents.

Client

Healthcare services group — multi-location, therapist intake and scheduling

Engagement

Sprint
Initial build: 1 week

Stack

  • Google Apps Script
  • Google Forms
  • Google Sheets
  • Trigger Engine

Services

  • Automation Engineering
  • Form Architecture
  • Script Development
  • Diagnostic Tooling

Your Turn
Similar problem?
Every system we build starts with understanding what's broken.
Book a call →