Skip to main content

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

  1. Token exchange: your backend exchanges a partner-signed JWT for an access token.
  2. Check existing connections: list the user’s connections for the app and reuse a valid connection when possible.
  3. Connect if needed: if no valid connection exists, launch Connect UI to create/reconnect one and store the resulting connection identifier.
  4. Run the action: create an action run with the access token + connection identifier + action inputs.
  5. Poll for completion: poll run status until complete, then return results to your UI.

Create and retrieve Action Runs

To run an action, make a POST request to the Action Runs endpoint. API reference: /v2/action-runs
Before every action run, retrieve a new/unique id from the Get Actions endpoint for the action you’d like to execute. This ensures the run can be uniquely tracked, debugged, and attributed correctly.The id is unique for every lookup; the key is the action’s stable developer identifier.

Create an Action Run (request example)

POST https://api.zapier.com/v2/action-runs/
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

{
  "action": "core:89sg4uhs5g85gh53hso59hs399hgs59",
  "authentication": "UHsi8e6K",
  "input": {
    "email": "user@example.com",
    "message": "Hello from White Label!"
  }
}

Retrieve an Action Run result (request example)

API reference: /v2/action-runs/
GET https://api.zapier.com/v2/action-runs/arun_abc123/
Authorization: Bearer YOUR_ACCESS_TOKEN