eve
Use Zavu from an agent built with eve — as an API connection today, or deploy the whole project onto Zavu.
Zavu + eve
eve is Vercel's open-source agent framework. There are two ways to combine it with Zavu, depending on where you want the agent to run.
Option 1: deploy the eve project on Zavu
If your agent is instructions + tools, deploy it directly — it becomes a first-class Zavu agent answering on your senders:
terminalnpx zavudev import owner/repo --sender sndr_123
See Deploy an eve project for what maps, what doesn't, and the compatibility report.
Option 2: keep the agent on eve, call Zavu as a connection
If your agent relies on eve's own runtime (sandbox, subagents, durable sessions), keep it there and give it Zavu's messaging API as tools. eve's OpenAPI connections turn our spec into one tool per operation:
TypeScript// agent/connections/zavu.ts import { defineOpenAPIConnection } from "eve/connections" export default defineOpenAPIConnection({ spec: "https://www.zavu.dev/docs/openapi.json", description: "Send SMS, WhatsApp, email, and voice messages via Zavu.", auth: { getToken: async () => ({ token: process.env.ZAVUDEV_API_KEY! }) }, operations: { // Start narrow; every operation is available if you want it. allow: ["sendMessage", "getMessage", "introspectPhone", "introspectEmail"], }, })
The agent then gets tools like zavu__sendMessage. Recommendations:
- Gate sends behind an approval so the model cannot message people
unsupervised: add
approval: once()(fromeve/tools/approval) to the connection config if your review policy calls for it. - Scope the API key: create a key for this agent, and use a sub-account with a spending cap if the agent messages on behalf of a client.
sendMessageaccepts phone numbers (E.164), email addresses, and chat IDs in the sametofield, withchannel: "auto"routing — one tool covers every channel.
Which option to pick
| Your agent needs | Run it on |
|---|---|
| Messaging channels, voice calls, an inbox, per-message billing | Zavu (option 1) |
| Sandboxed compute, subagents, durable multi-day sessions | eve, calling Zavu (option 2) |
Both directions use the same account, senders, and message history — you can prototype with option 2 and migrate to option 1 (or the reverse) without changing anything else.