Skip to content

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.

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.

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:

Terminal window
echopoint flows launch <flow-id> --runner self_hosted

The runner source is public on GitHub: github.com/nanostack-dev/echopoint-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:

Terminal window
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: smoke

Because 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.

CloudSelf-hostedEphemeral (CI)
SetupNoneInstall on your infraNone — built into CLI and Action
ReachesPublic APIsPrivate networks, internal servicesWhatever the CI job reaches
LifetimeManagedLong-lived, heartbeatsOne execution, then exits
Typical useOn-demand runs from the appStaging behind a VPN, on-premSmoke suites on every push