API Triggers let you programmatically start a DevRev workflow from an external service or from another workflow. This enables you to connect any system that can make HTTP requests: CI/CD pipelines, monitoring tools, CRMs, custom applications directly into your DevRev automation, or to reuse a common series of steps across multiple workflows by calling one workflow from another.
An API Trigger is a trigger node that starts a workflow when it receives an authenticated HTTP POST request. You define the input parameters the workflow expects (name, type, required/optional), and when an API call is made with matching data, the workflow executes with those values available as variables in every downstream node.
Capability | Description |
|---|---|
External initiation | Any system that can make HTTP requests can trigger your workflow |
Custom data input | Pass structured parameters (Text, Number, ID, etc.) into the workflow at runtime |
Type validation | Incoming data is validated against the schema you define in the trigger node |
Secure access | All API calls require a valid DevRev PAT token or an active connection |
Built-in testing | Test your trigger directly from the workflow canvas using the test button on the node |
Cross-workflow chaining | Trigger one workflow from another using DevRev's HTTP action node |
Create a new workflow or open an existing one. You'll land on a blank canvas with "Add a first step.." Alternatively Click "+ Step" in the bottom toolbar, and select "Trigger".
In the Select Trigger dialog, search for "API Trigger" node
The trigger node is added to your canvas.
Input parameters define what data your workflow expects when triggered. Each parameter becomes a variable that downstream nodes can reference.
Click the API Trigger node to open its configuration panel. You'll see:
Attributes:
Input Parameters* (required) — "The input parameters of the trigger." This is where you define the variables that must be passed when calling the trigger.
Filter — "Filter for the trigger event." Optional conditions that must be met for the workflow to execute.
Click on the Input Parameters field. The variable selector panel opens on the right.
Click + Add field to create a new parameter.
In the Field creator, configure:
Field | Required | Description |
|---|---|---|
Field name | Yes | The name of the parameter (e.g., |
Field type | Yes | The data type: Text, Int, ID, etc. |
Required field | No | Toggle on to make this parameter mandatory. Required parameters show a red Required badge in the UI. |
Description | No | An optional description of the parameter's purpose. |
Click Save. The parameter appears in the Input Parameters field showing its name, type, and required status (e.g., test1 · Text · Required).
You can add multiple parameters by repeating this process. Each parameter you define here must be supplied (if marked required) in the API call's payload for the workflow to trigger successfully.
Filters let you conditionally run the workflow only when the incoming parameter values meet certain criteria. If filter conditions are not met, the workflow run is skipped and the caller receives a response indicating the trigger conditions were not satisfied.
There are two ways to trigger an API Trigger workflow:
You can test your API Trigger directly from the workflow canvas without making an external API call.
Hover over the API Trigger node on the canvas. A play button (▶) appears on the right side of the node.
Click the play button. A "Trigger workflow" modal opens with the subtitle "Provide the input values to trigger this workflow run."
The modal shows one input field per parameter you defined. Required fields are marked with a red asterisk (*). Each field shows placeholder text like Add {parameter_name}.
Fill in the values and click Run workflow. The workflow executes immediately with the provided data.
Use this to quickly validate your workflow logic before connecting external systems.
For production use, trigger the workflow by making an HTTP POST request.
Endpoint:
POST https://api.devrev.ai/internal/workflows.trigger
Headers:
Header | Value |
|---|---|
|
|
Authentication: Use a DevRev Personal Access Token (PAT). If calling from an external service, generate a PAT from Settings > Personal Access Tokens in DevRev and include it in the Authorization header.
Authorization Type: Basic
Request body — single trigger workflow:
When your workflow has a single API Trigger, the payload is straightforward:
{
"id": "workflow-XXXX",
"payload": {
"value": {
"Name": "John",
"Phone_number": 29,
"Ticket_id": "TKT-1000"
}
}
}
Request body for multiple triggers in one workflow:
When your workflow has multiple API Trigger nodes (e.g., API Trigger, API Trigger 2, API Trigger 3), you must include a step_reference_key to specify which trigger to fire. The key corresponds to the trigger's label on the canvas, you can click the "ellipsis" on the trigger node and copy the "step reference key"
{
"id": "workflow-XXXX",
"step_reference_key": "api_trigger_2",
"payload": {
"value": {
"test3": 2
}
}
}
Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Your workflow ID in the format |
| string | Only for multiple triggers | The reference key for the specific API Trigger node to fire. |
| object | Yes | Key-value pairs matching the input parameters you defined. Keys must match parameter names exactly (case-sensitive). Values must match the declared types. |
Fetching step reference key for API Trigger
Click on the "API Trigger" node and you will find a "⋮" on the top right. Click on "Copy step reference key" as shown in the image
To chain workflows — for example, to reuse a common sequence of steps — use DevRev's HTTP action node to call the API Trigger endpoint from within a separate workflow.
Configure the HTTP node as follows:
Attribute | Value |
|---|---|
Description | "Make HTTP requests" (read-only) |
Auth Token | Select an active connection available to your organization. The connection shows as |
Url* |
|
Method |
|
Auth Type |
|
Headers | Key: |
Body | JSON payload with |
The Body field accepts a JSON code editor where you build the request payload:
{
"id": "workflow-4530",
"payload": {
"value": {
"test3": 2
}
}
}
When triggering from within a workflow, use an active connection (configured in the Auth Token field) instead of a raw PAT token. This keeps credentials managed centrally and avoids hardcoding tokens.
Once the API Trigger fires, the input parameter values are available as variables throughout the entire workflow. Reference them in any downstream node using the Insert variable button.
Open any node downstream of the API Trigger.
Click Insert variable on the field where you want to use a trigger parameter.
Navigate to API Trigger / Output and select the parameter you need.
Input parameters can be used in:
Ask AI / AI Agent Skill nodes — as part of the prompt context
HTTP nodes — as dynamic values in URLs, headers, or request bodies
Code nodes — as variables in custom logic
If Else / Router nodes — to branch workflow logic based on input values
Set Variable nodes — to store or transform trigger values for later use
The parameter type you defined in the API Trigger must match the type expected by the downstream field. If you defined test3 as Int, you can only insert it into fields that accept a number type.
An external web form submits customer feedback to DevRev via API Trigger. The workflow routes the feedback to the appropriate team, creates a ticket, and sends a confirmation email — all triggered by a single POST request from the form backend.
A primary workflow handles ticket creation. When certain conditions are met, an HTTP node triggers a secondary workflow (via API Trigger) that runs a specialized set of steps — like an AI-powered analysis or a multi-step approval chain. This lets you build reusable workflow modules instead of duplicating logic.
Monitoring tools like Datadog or PagerDuty call the API Trigger endpoint when critical thresholds are breached. The workflow creates a high-priority tikcet/incident, pages the on-call engineer, and starts an escalation timer.
Match parameter names exactly. The keys in your payload.value must match the parameter names defined in the API Trigger node. Mismatched keys result in missing values at runtime. Names are case-sensitive.
Use the ▶ button first. Always test your workflow from the canvas using the play button before connecting external systems. This validates both your input schema and downstream logic without needing to set up API calls.
Use connections for internal triggers. When triggering from another workflow via the HTTP node, use an active connection (Auth Token) rather than hardcoding a PAT. This keeps credentials managed centrally.
Use a PAT for external triggers. When calling from external services, use a DevRev Personal Access Token in the Authorization header. Store it in environment variables or a secrets manager — never hardcode it in your application.
Include step_reference_key for multi-trigger workflows. If your workflow has more than one API Trigger node, every API call must include the step_reference_key field to specify which trigger to fire. The value is the trigger's label (e.g., api_trigger_2) and is case-sensitive.
Publish before triggering. The workflow must be published before it can be triggered via API. Note the workflow ID (workflow-XXXX) from the URL after publishing.
Use filters to guard execution. Add filter conditions on the trigger node to prevent unnecessary workflow runs when parameter values don't meet your criteria.
Handle errors in external callers. Implement retry logic for transient network failures. Validate your payload structure before sending requests and monitor HTTP response codes.
Error | Cause | Fix |
|---|---|---|
401 Unauthorized | Invalid or expired PAT token | Regenerate your token in Settings > Personal Access Tokens |
400 Bad Request | Malformed JSON or payload doesn't match the workflow's input schema | Verify parameter names, types, and JSON structure |
404 Not Found | Workflow ID doesn't exist or the workflow isn't published | Confirm the workflow ID and ensure it's published |
429 Too Many Requests | Rate limit exceeded | Reduce request frequency or implement exponential backoff |
Workflow runs but input values are empty | Parameter names in payload don't match the trigger definition | Check that keys in |
Workflow doesn't run despite correct payload | Filter conditions on the trigger are not met | Review the filter configuration on the API Trigger node and ensure the incoming values satisfy all conditions |
Property | Details |
|---|---|
Category | Trigger (Native) |
Description | Triggers the workflow via API |
Input Parameters | User-defined parameters with name, type (Text, Int, ID, etc.), and required/optional flag |
Filter | Optional condition builder to gate workflow execution based on parameter values |
Outputs | All input parameter values, accessible via Insert variable in downstream nodes |
Authentication | DevRev PAT token (external) or active connection (internal HTTP node) |
Endpoint |
|