Documentation Index
Fetch the complete documentation index at: https://docs.zavu.dev/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
We’ll build a restaurant booking agent that lives on a WhatsApp sender. By the end, customers can text the number and the agent will show the menu, check availability, and confirm reservations.You’ll need an active WhatsApp sender in your Zavu project. If you don’t
have one yet, connect WhatsApp first.
1. Install the CLI
brew upgrade zavu.
Verify:
2. Log in
~/.zavu/credentials.json (chmod 0600).
Confirm you’re on the right project:
3. Find your sender
4. Scaffold the function
index.ts like this (truncated):
5. Set the sender ID as a secret
6. Deploy
7. Try it on WhatsApp
From your phone (not the sender’s number), send the sender:hola, qué tienen vegano?Expected flow:
8. Watch it run
In three terminals:9. Iterate
Editindex.ts — say, add a cancel_reservation tool — and redeploy:
description and
parameters schema directly.
Common pitfalls
The agent doesn't respond on WhatsApp
The agent doesn't respond on WhatsApp
Run
zavu agents get --sender "$SENDER_ID" and confirm enabled: true.
If false, check that defineAgent is being called (deploy must show
Agents synced: + Bella).Tools never get called
Tools never get called
Check that the tool
description is specific enough. The LLM uses the
description to decide when to call the tool, so vague descriptions
("do stuff") don’t trigger. Rewrite each description as the answer to
“when should the model call this?”.Also confirm zavu agents tools list --sender "$SENDER_ID" shows the 4
tools with enabled: true.A tool errors out
A tool errors out
Watch
zavu fn logs --tail while you trigger the tool. The error stack
appears live. Common causes: missing env var (run
zavu fn secrets list to confirm what’s set), JSON parse errors on
response, unhandled async exceptions.My slug is too long error
My slug is too long error
AWS Lambda function names cap at 64 chars, and we prefix yours with
zavu-fn-<projectId>- (41 chars used). Slugs over 23 chars get rejected
server-side with a clear message. Pick something short — bella, not
restaurant-reservations-agent-v2.Next steps
Define agents in depth
Providers, models, prompts, triggers.
Define tools in depth
Schemas, handlers, returning structured data.
Customer support example
Knowledge base lookup + ticket creation.
Ecommerce example
Order status + smart recommendations.
