Choose how to run actions
There are two ways to run actions from your product:- Runtime Actions: Your product builds the action request at runtime and sends it directly to the Action Runs API. Use this when you do not need to save the action configuration.
- Stored actions: Your product saves a reusable action definition, then runs it later through the Actions API. Use this when users configure an action once and expect your product to update, delete, or run that saved action later.
What is an action run?
An action run represents a single execution of an action step in a Zapier workflow. When you call the Action Run API or run a stored action, Zapier executes the action logic asynchronously and returns a runid immediately.
For production use, include a callback_url when you create the action run. Zapier sends the completed result to that URL when the run finishes, so your app can update its own workflow or user experience without repeatedly polling for status.
Understanding action runs vs. Zap workflows
Action runs differ from Zap workflows in how they’re created and executed:- A Zap is a saved, user-owned workflow (trigger → actions) stored and managed by Zapier.
- An action run is a one-off action your app triggers through the Workflow API. Zapier executes the action but doesn’t store the workflow definition.
- Action runs are stateless: data is retained briefly (7 days) for processing and troubleshooting, then automatically deleted. You should store any request or response data needed for visibility or support.
Runtime Actions flow
- Create an action run with
POST /v2/action-runsand include acallback_url. - Store the returned run
idso you can match the callback to the original request. - Receive the callback from Zapier when the run reaches a terminal state.
- Use
GET /v2/action-runs/{id}only as a fallback for troubleshooting or missed callbacks.
Example / demo
See a walkthrough of how to run one-off actions using the Workflow API.
View our guides for more information
- For reusable saved actions: Use stored actions
- Step 1: Trigger an action run with a
callback_url - Step 2: Receive results via callback
- Fallback: Retrieve the action run result if a callback is missed or unavailable