When to use this vs other White Label patterns
- Embedded triggers — subscribe to real-time events from connected apps via the Trigger Inbox API.
- Embedded actions — run individual actions on demand with Action Runs when you orchestrate execution.
- Embedded workflows (this page) — users get Zap workflows: persistent automations that run on Zapier (triggers, multi-step logic, filters, mapping).
- AI agent connections & automations — MCP (
listTools/callTool, Streamable HTTP) for agentic products.
Prerequisites
- White Label onboarding complete — JWKS, callback URLs, JWT expectations, client credentials (Partner onboarding).
- Server-side token exchange — partner-signed JWT to user access token with the scopes your flows need (Token exchange).
- OAuth client configured for Workflow API — same scopes model as the broader Partner / Workflow API (Authentication); request only the scopes each endpoint requires (for example
zap:writeto create Zap workflows).
What you need
- A user access token (from token exchange), used as
Authorization: Beareron Workflow API requests. - A strategy to create or reuse connections (authentications) via Connect when a step requires a linked account (Connection flow, Selecting an authentication).
- Your UI or server flow to walk apps → actions → inputs → outputs/mapping → create Zap, using the guides below.
High-level flow
- Token exchange — exchange the partner JWT for a user access token (Token exchange).
- Discover apps —
GET /v2/appsfor pickers and search (Retrieving apps). - Select actions —
GET /v2/actionsper app (READtriggers,WRITEactions, etc.) (Selecting an action). - Connections —
GET /v2/authentications; route users through Connect when adding or reconnecting accounts (Connection flow). - Configure inputs —
POST /v2/actions/{action_id}/inputs; use.../inputs/{input_id}/choicesforSELECTfields; refetch when fields invalidate or depend on other fields (Fields and fieldsets). - Map between steps —
POST /v2/actions/{action_id}/outputs; use{{field_id}}for two-step Zap workflows or{{alias.field_id}}with explicit step aliases when you have more than two steps (How to build a workflow). - Optional filters — add Filter by Zapier steps (
action_type=FILTER) per Filter actions. - Create the Zap —
POST /v2/zapswith scopezap:write(Create a Zap, How to build a workflow). - Test steps (recommended) —
POST /v2/actions/{action_id}/test(Testing a workflow). - Operate —
GET /v2/zapswith filters/expandas needed; uselinks.html_editorwhen you want a handoff to the Zapier editor (Retrieving a list of Zap workflows). Turn workflows on or off withPOST /v2/zaps/{id}/enableandPOST /v2/zaps/{id}/disable(scopezap:pause).
Create and manage Zap workflows
End-to-end construction (actions, authentications, inputs, output mapping, aliases, multi-step examples) is documented in How to build a workflow. Use that guide as the canonical walkthrough; this page wires it to White Label auth and sibling use cases. ExamplePOST /v2/zaps shape (see API reference for full schema and expand):
inputs even when you sent them; that is expected (How to build a workflow).
What Zapier runs vs what you own
Limits and best practices
- Steps — maximum 25 per Zap; use
snake_caseforaliason steps when referencing outputs across more than two steps (How to build a workflow). - Action identity — prefer stable
keyfor product logic;idis what the API accepts on steps and may change when app implementations change. Refresh cached metadata when building UIs. - Zap listing scopes — which Zap workflows appear in
GET /v2/zapsdepends on granted scopes (for examplezap:allvs default); see Retrieving a list of Zap workflows. - Rate limits — Workflow API requests are rate limited (Rate limiting).
Security notes
- Keep
client_secret, user access tokens, and connect tokens on the server. - Validate
stateon OAuth callbacks where used. - Prefer short-lived partner JWTs and rotate signing keys with JWKS.