Skip to main content
Eight things must be true before your users meet Vendo in production.

What must be true

Work top to bottom. Each row links to the page that covers it in depth.
1

Your Cloud key is set, so every turn has a model.

If not: every message fails before it reaches your API.Model credentials
2

Every request resolves to one stable user id.

If not: threads, approvals, and audit rows land on the wrong user.Auth
3

Your Cloud store is on, so threads outlive a restart.

If not: threads, apps, and audit rows vanish when the process restarts.Persistence
4

The handler sits at one base path, with streaming intact.

If not: replies arrive in one lump at the end, or not at all.Handler options
5

Risky tools ask a human before they run.

If not: every call runs on its own, including the ones that move money.In-client venue and approvals
6

Something calls /tick on a clock.

If not: apps that declare vendo.json schedules never run their functions.Automations
7

Every webhook source is registered and verified.

If not: anyone who finds the URL can start a run in your product.Automations
8

Apps that need a server have a sandbox to run in.

If not: those apps stay stuck at the preview and never boot.Vendo Cloud
Checks 1, 3, 6, and 8 come with your Cloud key. The other four are yours to wire.
Every automation runs in your process. Check 6 comes with the key because a deployment derives the tick secret from VENDO_API_KEY and registers itself at boot, so Cloud’s heartbeat knocks for you once a minute — set VENDO_BASE_URL and nothing else. Without a key, set VENDO_TICK_SECRET and run your own cron; both credentials POST /api/vendo/tick accepts are checked against that one secret.

One command checks your wiring

vendo doctor reads your repo and your environment. It never calls the deployed app, so run it where your source lives.
Terminal
Exit 0 means every check passed. A check that fails prints broken: instead, and a soft one prints warning:. Add --json and doctor prints one object with a checks array. Each entry carries a status, and a failing one also carries its error_code and a fix_ref URL, for example E-WIRE-004.

What your process prints at boot

createVendo announces the seams it composed, once per process. Read it as which implementation won each slot, and what chose it.
vendo ready
Column two is the venue. Column three is what selected it.

Where to go next

The three pages behind the rows you are most likely to touch.

Persistence

Where threads, apps, and audit rows live, and how to erase them.VENDO_API_KEY → hosted store

Auth

Who the agent acts as, on present calls and away runs.principal.subject · actAs

Telemetry

What Vendo collects, what it never sends, and every way to opt out.VENDO_TELEMETRY_DISABLED=1