Zapier AI Actions API
Use the Zapier AI Actions API via direct curl calls to execute pre-configured actions across 6000+ apps using natural language instructions. AI Actions removes the complexity of building integrations by providing a single universal API that handles authentication, API calls, and edge cases for supported apps.
Official docs:
https://actions.zapier.com/docs/using-the-api
When to Use
Use this skill when you need to:
- Execute automated actions across apps like Gmail, Slack, Google Sheets, Salesforce, and thousands more
- Trigger workflows using natural language instructions without building direct integrations
- Preview action results before executing them
- List and manage configured AI actions available to your account
Prerequisites
- Sign up or log in at Zapier
- Go to AI Actions and configure the actions you want to expose
- Click Manage Actions to create and enable actions (e.g., "Gmail: Send Email", "Slack: Send Message")
- Get your API key from the credentials page
export ZAPIER_TOKEN="your-zapier-api-key"
How to Use
All examples below assume you have ZAPIER_TOKEN set. Authentication uses the x-api-key header.
1. Check API Key
Verify that your API key is valid.
curl -s "https://actions.zapier.com/api/v2/check/" --header "x-api-key: $(printenv ZAPIER_TOKEN)" | jq .
2. List Exposed Actions
Retrieve all actions you have configured and exposed in your Zapier AI Actions dashboard.
curl -s "https://actions.zapier.com/api/v1/exposed/" --header "x-api-key: $(printenv ZAPIER_TOKEN)" | jq '.results[] | {id, description, params}'
3. Execute an AI Action
Execute a configured action using natural language instructions. Replace ACTION_ID with the action ID from the list above.
curl -s -X POST "https://actions.zapier.com/api/v2/ai-actions/ACTION_ID/execute/" --header "Content-Type: application/json" --header "x-api-key: $(printenv ZAPIER_TOKEN)" -d '{"instructions": "Send a message saying hello to the #general channel"}' | jq .
4. Execute with Parameter Hints
Supply parameter hints to guide the AI in filling action fields. Supported modes: locked (use exact value), guess (AI matches text), choose_from (AI selects from list), ignored (skip parameter).
Write to /tmp/zapier_request.json:
{
"instructions": "Send an email about the weekly report",
"params": {
"to": {
"mode": "locked",
"value": "team@example.com"
},
"subject": {
"mode": "locked",
"value": "Weekly Report"
}
}
}
Then run:
curl -s -X POST "https://actions.zapier.com/api/v2/ai-actions/ACTION_ID/execute/" --header "Content-Type: application/json" --header "x-api-key: $(printenv ZAPIER_TOKEN)" -d @/tmp/zapier_request.json | jq .
5. Preview an Action (Dry Run)
Preview what the action would do without actually executing it. Add preview_only=true as a query parameter.
curl -s -X POST "https://actions.zapier.com/api/v2/ai-actions/ACTION_ID/execute/?preview_only=true" --header "Content-Type: application/json" --header "x-api-key: $(printenv ZAPIER_TOKEN)" -d '{"instructions": "Create a new row in the Sales spreadsheet with name John and amount 500"}' | jq .
6. Execute a V1 Exposed Action
Execute an action using the V1 endpoint. Replace ACTION_ID with the exposed action ID.
curl -s -X POST "https://actions.zapier.com/api/v1/dynamic/exposed/ACTION_ID/execute/" --header "Content-Type: application/json" --header "x-api-key: $(printenv ZAPIER_TOKEN)" -d '{"instructions": "Send a Slack message to #dev saying deployment complete"}' | jq .
Guidelines
- Configure actions first: Before using the API, you must configure and enable actions in the Zapier AI Actions dashboard. The API can only execute actions you have set up
- Use natural language: The
instructionsfield accepts plain English descriptions of what you want to do. The AI interprets and maps instructions to the correct action parameters - Parameter modes: Use
lockedmode when you know the exact value,guesswhen the AI should match text to available options, andchoose_fromto provide a list of valid IDs - Preview before executing: Use
preview_only=trueto verify the AI correctly interprets your instructions before running the action - Response statuses: Check the
statusfield in responses - values aresuccess,error,empty, orpreview - Rate limits: Zapier enforces rate limits on API calls. Implement backoff if you receive HTTP 429 responses
- Action IDs: Each configured action has a unique ID. Use the list endpoint to discover available action IDs