Embedded workflows
This use case is for products that want end-to-end automations—a trigger plus one or more actions, optional filters, and field mapping between steps—owned and executed by Zapier, while your product owns the UX (discovery, configuration, enable/disable, and surfacing status). This White Label path differs from generic Powered by Zapier docs mainly in authentication: your backend uses token exchange and Connect for user connections. The Workflow API endpoints and payload shapes are the same as in the Zap creation guides.When to use this vs other White Label patterns
- Embedded triggers/actions — run individual actions on demand with Action Runs when you orchestrate execution.
- Embedded workflows (this page) — users get Zaps: persistent workflows 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 Zaps).
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 Zaps 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 Zaps).
Create and manage Zaps
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. Create example shape (see API reference for full schema andexpand):
inputs even when you sent them; that is expected (How to build a workflow).
What Zapier runs vs what you own
| Area | Zapier | Your product |
|---|---|---|
| Execution | Schedules/runs triggers, actions, filters, searches | Drives configuration via API; no per-step runtime polling required |
| Third-party credentials | Stores and refreshes connections | Surfaces Connect; refreshes authentication lists after connect |
| Workflow record | Persists the Zap (steps, mapping, enabled state) | Your setup UX, templates, and lifecycle (draft/publish) |
Limits and best practices
- Steps — maximum 25 per Zap; use snake_case
aliason 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 Zaps appear in
GET /v2/zapsdepends on granted scopes (for examplezap:allvs default); see Retrieving a list of Zaps. - 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.