Skip to content

Activating & Disabling Flows

Audience: Everyone · Tags: flow, status, archive

Purpose. Understand exactly what makes a flow actually run when its trigger fires — and what doesn't.

Be aware up front: SnapLink does not have a separate on/off switch for flows. There's no "Activate" or "Disable" button and no activate/deactivate API endpoint. What determines whether a flow runs is simpler than a toggle, and it's worth understanding precisely.

What actually controls whether a flow runs

A flow has a status that is always one of exactly three things:

Status How you get here Does it run?
draft Every flow starts here — created but never promoted No — nothing to run yet
active Automatically, the moment you promote a draft (POST /drafts/:id/promote) Yes — its webhook accepts requests and starts runs
archived Explicitly, via POST /flows/:id/archive No — permanently retired

So, in plain terms:

  • A flow "turns on" the moment it has a promoted version. There's no separate approval step after promoting — promotion is the activation. This is intentional: it's the same human-approval moment described in Creating Flows and Editing Flows — a person reviewed and promoted this definition, so it's live.
  • A flow "turns off" only by being archived. Archiving is one-directional — there's no unarchive endpoint today (see Managing Flows).
  • Editing a flow (creating a new draft) does not affect whether the currently active version keeps running — the old version stays live until you promote a new one.

When a webhook call arrives for a flow that isn't active (still draft, or archived), SnapLink rejects it with 409 FLOW_NOT_ACTIVE and does not create a run.

curl -X POST "https://api.snaplink.cloudsolutionaccelerators.com/api/v1/webhooks/flow_1a2b3c4d5e6f/<secret>" \
  -H "Content-Type: application/json" -d '{}'
{ "ok": false, "error": { "code": "FLOW_NOT_ACTIVE", "message": "The flow is not active." } }

"Turning a flow off" today

Since there's no pause/disable state, if you need to stop a flow from running, your options are:

  1. Archive it (POST /flows/:id/archive) if you're done with it for good — this is permanent and keeps its history for audit.
  2. Rotate its webhook secret (POST /flows/:id/webhook/rotate) if you want to stop traffic through the current URL without touching the flow's status — this doesn't change status, it just invalidates the old secret (after its grace window). See Managing Flows.
  3. Stop calling its webhook at the source — if you control what triggers it, the simplest way to "pause" a flow is to stop sending events to it. The flow itself stays active and ready.

A true pause/resume toggle that keeps the flow active-adjacent but temporarily non-running is Planned, not available today.

Checking a flow's current state

curl https://api.snaplink.cloudsolutionaccelerators.com/api/v1/flows/flow_1a2b3c4d5e6f \
  -H "Authorization: Bearer $TOKEN"
{ "ok": true, "data": { "id": "flow_1a2b3c4d5e6f", "status": "active", "activeVersionId": "ver_00002", "...": "..." } }

Or list everything in a workspace, including archived flows, with GET /flows?workspaceId=...&includeArchived=true — see Managing Flows.

Best practices

  • Don't promote a draft until you actually want it live — promotion and activation are the same action, with no extra confirmation step after it.
  • Validate before promoting (see Flow Validation) — since promotion immediately activates, catching problems before that point matters more here than it would with a separate activate step.
  • Archive flows you're finished with rather than leaving them draft forever; it keeps your default flow list (without includeArchived) meaningful.

FAQ

Is there any way to temporarily pause an active flow without archiving it? Not today — see "Turning a flow off" above for the closest available options. If I archive a flow, do its past runs disappear? No — run history, versions, and logs are all retained; only future triggering is blocked. Can I un-archive a flow? Not via the API today; rebuild it from a copied version definition if you need it back.

If something goes wrong

If you expect a flow to be running and it isn't, check its status here first, then see Flow not running.


Related: Managing Flows · Creating Flows · Editing Flows