Web chat + WhatsApp · one file, one command

Your coding agent can ship your customer agent.

The runtime for AI agents that talk to real customers, on web chat and on WhatsApp. An agent is one YAML file — so your agent can write it.

Read the docs

Hand it to Claude Code, Cursor or Codex — anything that can run a shell.

~/acme-backend live in 40s
$ curl -fsSL https://vatio.ai/install.sh | bash
vatio 1.4.0 → ~/.local/bin/vatio
$ vatio login
device authorized · [email protected]
$ vatio init acme
acme · one vatio.yml, next to your code
$ vatio push
manifest ok · 1 agent · preview updated
$ vatio chat "hola"
¡Hola! Soy Sofía, de Estudio Acme.
¿Buscas horarios o precios?
  • A free shared WhatsApp number. No Meta account.
  • Preview, live, and a one-command rollback.
  • Safeguards you can't switch off.

Zero to live

Six commands. There is no step seven.

No dashboard wizard, no infrastructure YAML, no container to build. Push to preview, talk to it, publish when it reads right.

  • vatio push is idempotent — no link or create step.
  • vatio chat never reaches a real customer.
  • Every deploy is a snapshot. vatio rollback undoes it.
~/acme-backend/agent preview → live
$ vatio diff
~ vatio.yml · agent.instructions
+ knowledge/hours.md
$ vatio status
preview rev 42 · 2 minutes ago
live rev 41 · 6 days ago
$ vatio publish
live · rev 42 · https://vatio.ai/w/acme
$ vatio rollback
live back to rev 41
nobody had to redeploy anything
acme-backend/agent/vatio.yml the whole workspace
workspace: acme
business:
  name: Estudio Acme
widget:
  accent_color: "#3355FF"
agent:
  name: Sofía
  instructions: >-
    Answer questions about Estudio Acme: classes,
    schedule, prices and memberships. Check real
    availability before promising a spot. If you
    do not know something, say so.
  personality: Warm, brief, Chilean Spanish.
  tools:
    - search_knowledge
    - check_availability
    - identify_contact

One agent, every channel

Write the file. Push it. Text it.

One agent per workspace — the agent block of vatio.yml — answering every conversation on every channel. No handoffs, no phases, no routing graph.

The same file powers the widget, the web chat page and WhatsApp — in whatever language the visitor writes in.

1
file to deploy an agent
2
environments, separate contacts
3
fallback languages: EN, ES, PT
0
infrastructure to operate


Built for the agent building it

One page. The entire contract.

Quick start, concepts, features, CLI and API on a single static page — because the thing most likely to read it is a language model with one shot at context. Your agent fetches the whole platform in one request, then writes a manifest that validates.

your agent's first move one request
$ vatio docs --save
vatio-docs.md · 1533 lines
quick start · concepts · features
cli · api — all of it, no auth
$ $EDITOR vatio.yml
$ vatio tools check
3 tools · 2 knowledge entries
manifest ok — ready to push

Give your agent the keys.

Copy the prompt, paste it into your agent, answer what it asks about your business.

Paste into your coding agent
# Vatio bootstrap prompt · docs: https://vatio.ai/docs

Install the Vatio CLI and ship me a production agent.

1. Install: curl -fsSL https://vatio.ai/install.sh | bash
2. Run vatio docs --save and read vatio-docs.md first —
   one page, the whole contract. Don't guess the manifest format.
3. vatio login, then vatio init <slug> in a folder
   next to the code the agent will call.
4. Ask me what the business does and what the agent must
   never say, then write vatio.ymlworkspace,
   business, widget and agent, all in that one file.
5. vatio push, then vatio chat "hi" and iterate with
   vatio chat debug --last 30.
6. Show me the WhatsApp preview link, then vatio publish.
Needs only curl, tar and Ruby ≥ 2.6.