GoRunner
Core concepts

Triggers

What starts a run — webhooks, schedules, forms, polling, and workflows watching each other.

Every workflow begins with exactly one trigger. The trigger's output is available to every step as {{trigger.…}}, and real deliveries always execute the published version — editor tests run the draft as environment=test (the runs page explains the split).

TriggerFires whenWorth knowing
WebhookAn HTTP request hits the flow's unique URL (minted at publish)Optional shared-secret auth, recorded with the secret redacted. Any body shape survives — objects arrive parsed, arrays and non-JSON are preserved, never silently dropped.
ScheduleCron fires — human frequency editor, timezone-awareThe panel shows the next five fire times computed by the scheduler's own code. Every Hour/Day skip weekends unless "run on weekends" is on (Activepieces-compatible default — the preview makes it visible).
FormSomeone submits the hosted input page GoRunner serves for you10 field types; required/email/number/choice validation is server-side, so a hand-crafted POST can't skip it.
Email (IMAP)A new message lands in the polled mailboxDeduped on UIDVALIDITY+UID; the first poll baselines silently — enabling it on a full inbox does not replay history.
Error TriggerA watched workflow (or all workflows) failsThe payload carries {workflow, run, failedStep} — one alerting flow for the whole workspace. Deduplicated against the failing flow's own error-workflow setting: one failure, one handler run.
Run FinishedAny run of a watched workflow endsSame payload shape; filter by outcome with on_status.
MCP ToolAn AI agent calls the workflow by nameParameters land on {{trigger.body.<parameter>}}. See Workflows as tools.
When Called by Another WorkflowA parent flow runs this one via Execute WorkflowThe parent's configured input becomes this flow's trigger data.

Synchronous replies

A webhook flow with the Return Response action makes the caller's HTTP request wait for the flow's real answer — status, headers and body computed by the run. A run that pauses mid-flight answers 202 with status: "paused" honestly rather than a fake success; a caller who never wants to wait appends ?async=true.

On this page