Replace
your
Vapi
+
n8n
+
Supabase
stack.
One runtime. Every channel.
Agent runtime, workflows, tables with vector search. One config for phone, web, chat, SMS and email.
Most agents run on a stack like this.
Three vendors, three dashboards, a webhook mesh you maintain. Every tool call crosses two networks. Every price is per vendor.
+ STT + LLM + TTS + telco10 lines, then $10 each
retries you writecron · http · code nodes
embedding pipelineyou keep it in sync
It's built for your terminal.
Add the MCP server to Claude Code or Cursor. Agents, tables, workflows, credentials, swarm tests. The dashboard is optional.
Settings → Connectors → Add custom connector URL: https://api.anyreach.ai/mcp → sign in with your Anyreach account. No client ID, no secret.
// .cursor/mcp.json (Cursor needs the published client ID)
{ "mcpServers": {
"anyreach": { "url": "https://api.anyreach.ai/mcp",
"clientId": "see docs.anyreach.ai/mcp" }
} }
Any client that supports remote servers + Client ID Metadata Documents connects with the URL alone: https://api.anyreach.ai/mcp
Your account, your permissions, every org you belong to. Two tools, search_tools and call_tool, reach the whole API.
We built the backend in.
Workflows read and write the same tables the agent queries mid-call. No glue service. No second vendor. The dashboard, the API and the MCP server see one state.
| order | item | status | match |
|---|---|---|---|
| 4471-0928 | Karu 16 · cobalt | shipped · Oct 14 | 0.91 |
| 4471-0113 | Koda 12 · slate | delivered · Jun 02 | 0.74 |
| 4470-9986 | Cover · Karu 16 | delivered · Jun 02 | 0.62 |
| 1 | trigger · call.ended | done | evt |
| 2 | extract · order_id, amount | done | llm |
| 3 | approval · amount > 500 | waiting · 14m | human |
| 4 | shopify.refund | queued | http |
> tables.search("orders", "blue oven I bought in June", filter={ email: caller.email }, limit=3) ← 3 rows · 61ms · cosine 4471-0928 Karu 16 · cobalt shipped 0.91 4471-0113 Koda 12 · slate delivered 0.74 4470-9986 Cover · Karu 16 delivered 0.62 > workflows.run("refund", { order: "4471-0928", amount: 612 }) ← run_01k7 · step 3/6 · waiting approval
Workflows
Triggers, conditions, loops, parallel branches, sandboxed Python, HTTP, wait steps, and app steps for 2,000+ SaaS tools. Callable as tools mid-conversation, or pre- and post-call.
workflows.run · workflows.scheduleTables + vector search
Rows, not documents. Filter by column, rank by meaning. Sync from Sheets or Shopify. Pair a table with a recrawl workflow and you have a knowledge base that watches your site and proposes instruction edits.
tables.search · tables.upsert · tables.claimCredentials that refresh
Secrets stored encrypted, referenced from any step. Expiring tokens refreshed by a workflow you write once; ready-made templates for OAuth and the usual providers.
$credential(shopify)Wherever your customers are, the agent is there too.
Define the agent once. The same version, tools and tables answer the phone, the widget, SMS and the inbox. Every agent is a SIP endpoint, so it drops into Genesys, Five9, NICE CXone, Avaya or any trunk you bring. Every turn becomes an event you can subscribe to.
agent: order-status version: 13 model: openai/gpt-4.1 identity: verifier: workflow:verify_caller tools: - tables.search: orders - workflows.run: refund # needs verified identity channels: [phone, web, chat, sms, email] overrides: email.model: openai/gpt-4.1-mini phone.tts: elevenlabs/v3
- 212 conversations, 91% contained
- Phone p50 412 ms, 2 warm transfers
- 1 refund waiting approval, $612
- Email: 3 threads, same agent, 0 escalations
One agent. A full day.
Same version, same tables, same tools. Different channel every hour. Nobody rebuilt a prompt.
Find the order. No number needed.
Verify by SMS. Don't leave the chat.
See it on your site. Five minutes.
We crawl the site, build a phone, chat and email agent from it, put it on a number and email you the link. No signup, no form.
Any model. Swap it per channel.
Pick the LLM, the recognizer and the voice per agent, then override any of them per channel. A cheaper model on email, a faster one on the phone. No redeploy.
LLM
- OpenAI GPT-4o · 4.1 · 5 · 5.x · 6
- Azure OpenAI same catalogue
- Google Gemini 3 · 3.5 · 4
- xAI Grok 4.x
- DeepSeek V4 · Kimi K2.6
- Gemma 4 · GPT-OSS 120B
STT
- Deepgram Nova-3 · Flux · Medical
- AssemblyAI Universal
- Cartesia Ink
- Gladia code-switching
- Speechmatics · Google
TTS
- Cartesia Sonic 3.x
- ElevenLabs turbo · cloning
- Deepgram Aura-2
- Rime · Inworld · Fish
- Google Gemini TTS