Flow Templates
Flow Templates are pre-built flow definitions the platform ships with every tenant. Clone one and it becomes an ordinary draft flow in your account — a working starting point you rename, edit, and publish like any flow you build yourself. The catalog lives in two places that read the same data: the Templates tab in the dashboard, and theGET /api/v1/flows/templates endpoint.
Where the catalog appears
Open the Templates tab either way:- Flows > Templates — the third tab on the Flows hub.
- Deep-link —
…/flows?tab=templates. The legacy/flows/templatespath redirects to the tab URL, so existing bookmarks keep working.
The gallery anatomy
The Templates tab header reads “Pre-built workflow templates to get you started quickly”, with a Create Blank Flow button beside it. Under the header:- Search box — matches against template name, description, and channel labels, so
survey,24h, andwhatsappare all valid queries. - Category chips — All, then the six categories the catalog uses: Welcome, Reminder, Survey, Nurture, Escalation, Custom.
- Template cards — each card shows the template’s name and description, its category badge, a channel badge per channel it spans, its node count, and a schematic preview of the flow graph.
- Incremental reveal — the gallery renders nine cards at a time; Show more grows the list toward the full catalog, and narrowing the search or category resets the window.
Clicking a template: what happens to the draft
Use Template on a card opens the Flow Builder with?template=<id> in the URL. The builder fetches the template’s definition and drops its graph — canvas positions, node labels, and placeholder copy included — onto a fresh canvas as a new, unsaved draft.
A few specifics that matter when you edit it:
- Nothing is wired to your account yet. The trigger node carries a placeholder Trigger Source (for example “Schedule” on the reminder template); set it to a real number, sender, or schedule before you deploy.
- The message copy is placeholder text. Bodys and subjects ship with
{{...}}placeholders such as{{phone}}and{{otp}}; replace the sample copy with your own wording. - Save creates a new flow. The draft has no name or flow of its own until you save — at which point it is an ordinary flow that shares the template’s shape but no longer references it. Editing the draft later never writes back to the catalog.
- API parity for this path: seeding a draft over the API is
GET /api/v1/flows/templates(pick your template), thenPOST /api/v1/flowswith the template’sdefinitionas your starting graph.
API parity
data array of templates, plus the usual meta (request id and timestamp). Each template object:
Reads are rate-limited like the rest of the flows read surface: 60 requests per minute per API key. Callers need the
flows:read scope.
One example per category
Every category has a built-in starter. One representative per category, with the id you’d pass to clone it:
Other cataloged starters follow the same pattern — an abandoned-cart reminder, a lead-qualification score, a support FAQ deflector, and a few more.
Known limits
The catalog is platform-shipped. Three consequences:- No per-tenant authoring — you cannot register or save a template back into the gallery.
- No versioning or deletion — templates don’t carry versions, and the catalog is not tenant-editable.
- Clone, don’t upload — the supported way to keep a reusable flow shape is to own a draft shaped like it. Clone a starter with Use Template and save, or duplicate-define from a flow you already have:
GETthe flow, thenPOST /api/v1/flowswith the samedefinitionunder a new name.
Next steps
- Flow Builder — edit the cloned draft
- Flows overview — trigger catalog and node taxonomy
- Flow Executions — inspect how a published flow runs
- Flows API — clone a template and manage flows over the API