Code by Zapier lets you run custom JavaScript or Python code as steps in your Zaps. Use code steps to transform data, perform calculations, make API calls, or handle logic that is not possible with built-in Zapier actions.
Code steps work as both triggers and actions. Action steps can use the Zapier SDK to call other Zapier apps directly from your code, and can install third-party packages from npm or PyPI.
When to use Code steps
Code steps are useful when you need to:
- Transform data in ways that Formatter cannot handle
- Make API calls to services that do not have a Zapier integration
- Perform calculations or complex logic
- Parse or generate structured data like JSON or XML
- Orchestrate multiple apps in a single step using the Zapier SDK
Get started
Limitations
Runtime limits
Each Code step has a maximum runtime before it times out. If your code exceeds this limit, the step fails with a timeout error.
| Plan | Runtime limit | Memory |
|---|---|---|
| Free | 1 second | 512 MB |
| Trial | 10 seconds | 512 MB |
| Professional | 30 seconds | 512 MB |
| Team | 30 seconds | 512 MB |
| Enterprise | 2 minutes | 512 MB |
If your Code steps need more time, you can configure extended runtimes for action steps to run up to 10 minutes total.
Rate limits
Code steps are rate limited to prevent overloading Zapier's infrastructure. When your Zap exceeds these limits, runs are held until the limit resets.
| Plan | Rate limit |
|---|---|
| Free | 10 requests every 60 seconds |
| Trial | 75 requests every 10 seconds |
| Professional and Team | 225 requests every 10 seconds |
| Enterprise | 225 requests every 10 seconds |
Learn more about Code by Zapier rate limits.
Other limits
- Extended runtimes and the Zapier SDK are not available for Code triggers, only actions.
- For Code triggers, you cannot map fields from previous Zap steps. For Code actions, use the Input Data dictionary to pass data from previous steps into your code.
- Dates and times in Code steps use the UTC timezone, even if a different one is set for your account or Zap.
- Only JavaScript (Node.js 22) and Python 3.10 are supported.