Documentation Index
Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
Use this file to discover all available pages before exploring further.
Embedded triggers/actions
This use case is for products with an existing workflow builder or orchestration layer that want Zapier to execute individual action steps via API. This White Label use case differs from the generic Powered by Zapier docs:- You do not need to have a public Zapier integration.
- You can run actions across Zapier’s catalog (you are not limited to actions “owned by” your integration).
What you need
- an access token (server-side)
- a connection identifier for the user’s connected app account
High-level flow
- Token exchange: your backend exchanges a partner-signed JWT for an access token.
- Check existing connections: list the user’s connections for the app and reuse a valid connection when possible.
- Request a connect token (if needed): when you need to connect or reconnect, exchange the access token for a connect token. Include
resourceset to the Connect UI URL you will open (https://connect.zapier.com/to/{app}), matching Token exchange. - Connect if needed: launch Connect UI with the connect token to create/reconnect a connection and store the resulting connection identifier.
- Run the action: create an action run with the access token + connection identifier + action inputs.
- Poll for completion: poll run status until complete, then return results to your UI.
Build the Action Run payload
Before you can callPOST /v2/action-runs/, you need three things: a fresh action id, a valid authentication (connection id), and a complete input object. Use the same White Label access token (Authorization: Bearer …) for listing apps, listing actions, loading inputs/choices, and creating the run.
GET /v2/whitelabel/apps is documented for the MCP White Label use case (AI agent connections & automations). For Action Runs, discover apps with GET /v2/apps (Get Apps [v2]) and your access token, unless API reference explicitly documents otherwise.Discover apps
Use Get Apps [v2] (GET https://api.zapier.com/v2/apps) with:
Authorization: Bearer <access_token>
Use query, category, ids, limit, and offset as needed. See Retrieving Apps for product patterns (search, categories, pagination).
Store the id of the app the user selects. You will use it when listing actions and when opening Connect (https://connect.zapier.com/to/{app} — use the app identifier required by Connection flow / Token exchange for your integration).
List actions for the selected app
Call Get Actions (GET https://api.zapier.com/v2/actions) with the same bearer token, passing the selected app (for example app=<app_id>) and any filters your UX needs.
Let the user pick an action. Persist the action’s stable key for UX if you want, but POST /v2/action-runs/ must use the ephemeral id returned by Get Actions.
Build input (dynamic fields)
Action inputs are not arbitrary JSON: they follow Zapier’s field definitions and may require follow-up calls.
- Fetch input field definitions using the Partner API pattern described in Fields and Fieldsets (
POSTto/v2/actions/{action_id}/inputswith the user’sauthenticationconnection id and theinputscollected so far). - For fields with
format: SELECT, fetch options from/choicesas described in the same guide. - When the user changes a field marked
invalidates_input_fields, or whendepends_onfields change, refetch/inputsand pass all values collected so far (see the invalidation and dependency examples in Fields and Fieldsets). - Optionally use
/outputsfrom that guide if your UI needs to preview output shape after inputs are set.
input is the final key/value object keyed by field ids, using the values required by each field type (including choice id values for SELECT fields, per the guide).
Resolve authentication (connection id)
The authentication value is the user’s connection identifier for the target app — obtained by listing/reusing connections and/or completing Connect per steps 2–4 on this page and Connection flow / Token exchange.
Create the Action Run
Only after you have:- a fresh action
idfrom Get Actions, - a valid
authenticationconnection id for that app, and - a complete
inputobject,
POST https://api.zapier.com/v2/action-runs/ as documented in Create and retrieve Action Runs below, then poll GET /v2/action-runs/{id}/ until the run completes.
Create and retrieve Action Runs
To run an action, make aPOST request to the Action Runs endpoint.
API reference: /v2/action-runs
Create an Action Run (request example)
Retrieve an Action Run result (request example)
API reference: /v2/action-runs/Related guides
- Token exchange
- Connection flow
- AI agent connections & automations — MCP tool-calling for agents
- Retrieving Apps
- Selecting an Action
- Fields and Fieldsets