Zapier Workflows List
Use the public SDK CLI experimental command surface. Do not use
zapier-sdk-code-substrate
.
Compatibility Gate
Before using this skill, run the
bundle compatibility check. If
is not installed or cannot be loaded, run
or install
from
before continuing. If
reports SDK/skill drift, follow its refresh instructions, stop this skill invocation, reload the agent workspace if needed, and ask the user to rerun the original request.
Check Prerequisites
bash
zapier-sdk --version
zapier-sdk get-profile --json
zapier-sdk --experimental --help
If auth fails, ask the user to run
in an interactive terminal and retry.
List Workflows
bash
zapier-sdk --experimental list-workflows --json
Parse the JSON output and format what the user asked for. Common useful fields may include
,
,
,
,
,
,
,
,
, and trigger-related metadata if present.
For each workflow with an
, include the Zapier editor link:
text
https://zapier.com/durables-editor/<workflow-id>
Treat
as account-sensitive: firing it invokes the workflow as the authenticated account, so while the token in the URL is no longer a standalone credential, it is still not something to print gratuitously. Do not print
unless the user explicitly asks for it.
Check each entry in
for
, regardless of trigger type — its presence alone tells you there's a catch URL. Unlike
,
is meant to be shared — it's the URL the user pastes into the external service — so surface it plainly when present. Most triggers have no
, and that is normal; do not flag its absence unless the user specifically expects one (for example they mention "Webhooks by Zapier"), in which case the installed SDK may predate this field.
Open Drafts
A workflow's published state is not the whole story — it may also have open server drafts, and an open draft always holds unpublished work (publishing consumes drafts). When the user asks about unpublished changes, in-progress work, or why the editor shows something different from what's live, check:
bash
zapier-sdk --experimental list-workflow-drafts <workflow-id> --json
Surface each open draft's
,
, and
, and whether its
matches the newest published version (an older base means the draft predates the current live version). Include the draft's editor link:
https://zapier.com/durables-editor/<workflow-id>/draft/<draft-slug>/workflow.ts
— the final segment is one of the draft's
keys (
in this bundle's flows). Do not fetch drafts for every workflow in a plain listing — it is one request per workflow; do it on request or for the workflows under discussion.
Ownership Scoping
may return every workflow the authenticated user can see, including team workflows. If the user asks for "my workflows," first show the likely matches and explain any uncertainty rather than silently filtering by the wrong ID.
Known quirk:
may return a UUID that does not match
list-workflows[].created_by_user_id
, which may be a separate numeric user ID. If you cannot confidently map those IDs, say so and present the unfiltered list with enough context for the user to choose.
Last Run Time
If the user asks for recent activity, fetch runs for each relevant workflow:
bash
zapier-sdk --experimental list-workflow-runs <workflow-id> --json
Use the most recent run. Be mindful of API volume for large accounts.