Runners
A runner is the process that executes a flow: it sends the requests, evaluates assertions, and reports node results back. Echopoint has three runner types; every flow runs unchanged on any of them.
Cloud runner
Section titled “Cloud runner”The default. Launch a flow from the UI, CLI, or API and Echopoint’s managed runner executes it — nothing to install or operate.
Use it when the APIs under test are reachable from the public internet and you want zero setup.
Self-hosted runner
Section titled “Self-hosted runner”A runner you operate on your own infrastructure. Self-hosted runners claim jobs through lease-based claiming — a runner takes a lease on a job, executes it, and reports back — and send heartbeats so the platform knows they are alive. The UI shows your live runners with their current load and heartbeat freshness.
Use it when flows need to reach services the cloud runner cannot: internal APIs, staging environments behind a VPN, on-prem systems. Launch against it from the CLI:
echopoint flows launch <flow-id> --runner self_hostedThe runner source is public on GitHub: github.com/nanostack-dev/echopoint-runner.
Ephemeral runner
Section titled “Ephemeral runner”A one-shot runner for CI: it spins up inside your job, executes, and exits. The flow snapshot and resolved inputs are delivered to the process, it runs the flow from within your CI environment, and results are published back to Echopoint — so run history and node results look the same as any other execution.
This is what echopoint flows run and the GitHub Action use:
echopoint flows run --tag smoke --environment staging- uses: nanostack-dev/echopoint-cli@v1 with: api-key: ${{ secrets.ECHOPOINT_API_KEY }} organization-id: ${{ secrets.ECHOPOINT_ORG_ID }} tags: smokeBecause the runner executes inside the job, it reaches whatever the job can reach — a service started in the pipeline, a preview deployment — without standing up a long-lived self-hosted runner.
Choosing a runner
Section titled “Choosing a runner”| Cloud | Self-hosted | Ephemeral (CI) | |
|---|---|---|---|
| Setup | None | Install on your infra | None — built into CLI and Action |
| Reaches | Public APIs | Private networks, internal services | Whatever the CI job reaches |
| Lifetime | Managed | Long-lived, heartbeats | One execution, then exits |
| Typical use | On-demand runs from the app | Staging behind a VPN, on-prem | Smoke suites on every push |
Next steps
Section titled “Next steps”- Executions & live runs — statuses, live progress, and node results
- CLI —
flows runandflows launchreference - GitHub Action — inputs, outputs, and required key scopes
- Environments & variables — how inputs are resolved before delivery