stackbone triggers
stackbone triggerstargets a running agent installation. With no--agentit runs against the local-dev installation linked to the current project, sostackbone devmust be running. See target resolution. Every verb accepts--jsonand emits the standard envelope.
Read the trigger links of the targeted installation. A trigger link connects a connector trigger to a workflow: each event the trigger delivers starts a run of that workflow. You create and edit links on the Triggers screen in Studio. This command only reads them.
| Command | Purpose |
|---|---|
stackbone triggers list |
List every link, and show a warning under each link that may start itself. |
stackbone triggers list
List every trigger link: its id, whether it is on or off, the connector and trigger it reads, and the workflow it starts.
| Flag | Type | Description |
|---|---|---|
--agent |
string | Installation id to target. Defaults to the local-dev install. |
3f2a9c1e-5b7d-4e8a-9c0f-1a2b3c4d5e6f on gmail · new-email → reply-to-email
warning: This link may start itself: a run it started wrote back through "gmail" (send_email) without asking isOwnEcho, so if the trigger delivers that write, the workflow runs again. Open the step with `if (await isOwnEcho('gmail', <the value the event carries>)) return;`.
8d4f0b6a-1e33-4a71-9c2e-9b1c7f423f6a off linear · updated_issue → triageThe echo-loop warning
A workflow that answers a trigger by writing back through the same connection
can cause the event that trigger reads. The workflow then starts itself again.
isOwnEcho
stops that loop.
The warning: line shows when a run that the link started did all of these
things in the last hour:
- It called an operation on the link's own connector, and the call named an
echoPath. - It did not call
isOwnEchofor that connector.
The warning names the connector and the operation of the most recent such write. A link shows one warning, however many runs made such a write. A link that is off shows none.
The warning says the link may start itself. The box sees the shape of a
loop, not the object the write changed: a file written to a folder the
trigger does not watch makes no loop, and still gets the warning. A call that
names no echoPath counts as a read and raises nothing.
To clear the warning, call isOwnEcho for that connector before the write.
A run that called it is not counted, whatever the guard answered. The warning
goes away when no run in the last hour wrote without the guard.
The same warning shows as a banner on the trigger's page in Studio.
JSON payload
{
"schema_version": 1,
"items": [
{
"id": "3f2a9c1e-5b7d-4e8a-9c0f-1a2b3c4d5e6f",
"connector": "gmail",
"trigger": "new-email",
"workflowName": "reply-to-email",
"enabled": true,
"activity": {
"firedCount": 12,
// ...the rest of the link's activity
"echoLoop": {
"connector": "gmail",
"operation": "send_email",
"runId": "4c8d2e17-9a0b-4f3c-8e6d-7b5a1c2d3e4f",
"at": "2026-06-01T10:05:00Z",
} /* or null */,
},
},
],
}echoLoop.runId is the run that made the most recent unguarded write. Open it
with stackbone runs get.