The code-first platform for voice, chat and WhatsApp AI agents. One SDK, five channels. Your code, your database, your rules.
Same prompt, same tools, same code. Adding a fourth channel is one line.
Three channels, three production agents running right now. Pull out your phone, scan the code, talk to the browser.
The same SDK serves a clinic, a bank, an ecommerce and an office tower. Change the prompt and the tools. Nothing else.
import { Pinecall, tool } from "@pinecall/sdk"; import { db } from "./db.js"; const pc = new Pinecall(); const lookupOrder = tool({ name: "lookupOrder", description: "Look up an order by the customer's phone number.", execute: async ({ phone }) => await db.orders.findOne({ phone }), }); export const agent = pc.agent("support", { prompt: "You're Acme's support agent. Be brief and human.", llm: "openai/gpt-5.3-chat-latest", voice: "elevenlabs/valentina", stt: "deepgram/flux", phoneNumber: "+13186330963", greeting: "Hi, how can I help?", tools: [lookupOrder], }); // that's it. phone, chat, whatsapp and webrtc — same agent.
You write specs in YAML. An LLM judge talks to your agent over real voice or over text and reports pass / fail in a CI pipeline. You can record the call, listen to it and audit it.
Managed: usage drawn from your credits. BYOK: your provider bills you directly, zero Pinecall markup. You choose per model, per provider and per agent.
Dial the number, scan the widget, or send us a message. In 48 hours we'll have a prototype agent running against your database, inside your own process.
One knowledge base per agent or per skill. Upload PDFs, Word, Markdown or HTML and Pinecall chunks, embeds and indexes them. The agent searches and cites — mid-call, with no perceptible latency.