Reference · Tools
Currents Trigger
Starts workflow when Currents test run events occur
The Currents Trigger node starts a workflow whenever Currents.dev fires a webhook for a test run event — run started, finished, canceled, or timeout. Connect it to downstream nodes to do things like post Slack alerts when a run fails or log test results to a database the moment a run completes. You configure which project and which event types to watch; everything else arrives in the webhook payload.
- Node type
- Webhook trigger
- Parameters
- 3
- Outputs
- Output
- Credentials
- Currents API
Currents Trigger
Trigger workflow on Currents test run events
Overview
Starts a workflow when Currents.dev CI/CD test orchestration events fire via webhook. Supports run started, run finished, run canceled, and run timeout events. Verifies incoming webhooks using a shared secret header (x-webhook-secret) and timestamp freshness check (x-timestamp) to prevent replay attacks. Currents sends separate webhook events for each group in a run, so multi-group runs will trigger multiple events. Outputs the full Currents webhook payload including run details, project info, and event metadata.
Category: Development
Tool Name: currents_trigger
Version: 1
Appearance: Icon: lucide-TestTube | Color: #17b794
Node Type
Trigger — webhook (receives incoming HTTP callbacks)
Input / Output
| Direction | Port(s) |
|---|---|
| Input | None (trigger node) |
| Output | Output |
Credentials
This tool requires Currents API credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Project ID | string | Yes | — | The Currents project ID to receive webhook events for. Found in the Currents Dashboard under project settings. |
| Events | multiOptions | Yes | [] | The Currents events to listen for. |
Options: RUN_CANCELED (a run is manually canceled), RUN_FINISH (a run completes), RUN_START (a new run begins), RUN_TIMEOUT (a run exceeds the time limit) |
Output Data
Each delivery from Currents produces one output item. The webhook payload is copied onto the item unchanged, and three fields are added:
_trigger— alwayscurrents_webhook_timestamp— ISO 8601 timestamp of when the request arrived_webhookEvent— the Currents event name, taken from the payload’seventfield
The Currents payload itself carries:
event— the event name, e.g.RUN_FINISHrunId,groupId,projectId— identifiers for the run, the group within the run, and the projectstatus— the run statustags— the run’s tagscommit— the commit under test, withsha,branch,authorName,authorEmail,message, andremoteOrigincreatedAt,completedAt,duration— run timingmachineCount,specCount,testCount,passCount,failCount,skipCount— run totals
Deliveries whose event is not one of the selected events are acknowledged without starting the workflow.
Reference the payload downstream by expression, e.g. {{ $json.commit.branch }} or {{ $json.failCount }}.
Usage Examples
- start workflow when a CI test run finishes
- trigger on Currents run timeout
- listen for canceled test runs in Currents
- monitor Currents test run start events
Example Configuration
Listen for run completion only:
{
"id": "currents-trigger",
"type": "currents_trigger",
"typeVersion": 1,
"position": [250, 300],
"parameters": {
"projectId": "proj_abc123def456",
"events": ["RUN_FINISH"]
}
}
Listen for several events at once:
{
"id": "currents-trigger-multi",
"type": "currents_trigger",
"typeVersion": 1,
"position": [250, 300],
"parameters": {
"projectId": "proj_xyz789uvw012",
"events": ["RUN_START", "RUN_FINISH", "RUN_CANCELED"]
}
}
Monitor test completion to trigger deployment workflows:
{
"id": "deployment-trigger",
"type": "currents_trigger",
"typeVersion": 1,
"position": [250, 300],
"parameters": {
"projectId": "proj_cicd_production",
"events": ["RUN_FINISH"]
}
}
Get notified when runs are canceled or time out:
{
"id": "failure-monitor",
"type": "currents_trigger",
"typeVersion": 1,
"position": [250, 300],
"parameters": {
"projectId": "proj_quality_assurance",
"events": ["RUN_CANCELED", "RUN_TIMEOUT"]
}
}
Track all phases of test execution:
{
"id": "full-lifecycle-monitor",
"type": "currents_trigger",
"typeVersion": 1,
"position": [250, 300],
"parameters": {
"projectId": "proj_comprehensive_testing",
"events": ["RUN_START", "RUN_FINISH", "RUN_CANCELED", "RUN_TIMEOUT"]
}
}
Trigger Behavior
- Activation: When the workflow is activated, a webhook endpoint is registered with the service.
- Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
- Payload: The incoming webhook payload is parsed and output as workflow items.
- Verification: Supports signature verification where applicable.
Tips
Entry point that fires when Currents.dev sends a webhook for test run events (start, finish, canceled, timeout). Verifies the webhook secret header and filters by selected event types. Outputs the full event payload for downstream processing.
Important Notes
- The
projectIdmust be a valid Currents project ID from your dashboard - At least one event must be selected in the
eventsarray - When runs have multiple groups, you will receive separate webhook events for each group
- The trigger will activate for any run in the specified project that matches the selected events
Frequently asked questions
Which Currents events can trigger a workflow?
You can subscribe to four event types: run started, run finished, run canceled, and run timeout. You must select at least one — the node won't activate without an event type configured. You can enable multiple types in the same trigger to handle all run outcomes from a single node.
My Currents project has multiple groups in a run. Will the trigger fire more than once?
Yes. Currents sends a separate webhook event for each group in a run, so a multi-group run will fire this trigger once per group. If your downstream workflow should only run once per full run, you'll need to add logic after this node to deduplicate or wait for all group events before proceeding.
How does the node verify that the webhook actually came from Currents?
The node checks two things on every incoming request: it validates the shared secret in the x-webhook-secret header against the secret stored in your Currents API credential, and it checks the x-timestamp header to ensure the request is fresh. The timestamp check is a replay-attack prevention measure — stale requests with valid secrets are still rejected.
Where do I find the projectId to put in the node configuration?
The projectId must come from your Currents.dev dashboard — it identifies which project's runs will trigger the workflow. The node will only activate for runs belonging to that specific project, so make sure you're copying the ID from the correct project in Currents.
What data is available in the output for downstream nodes to use?
The node outputs the full Currents webhook payload, which includes run details, project info, and event metadata. This gives downstream nodes access to everything Currents sends — such as run status, timing, and group information — without needing a separate API call to fetch run data.
Build with the Currents Trigger node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Currents API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.