Telephony & SIP
Bring a number or port your own. Inbound and outbound over PSTN, Twilio, or SIP trunks.
Write the prompt, tools, and logic once. Pinecall runs it live across phone, web, and messaging — with state and history that follow the caller.
npm i @pinecall/sdkChannels
You don't rebuild the agent per surface. Write it once; Pinecall meets the caller wherever they are and keeps the conversation in sync.
Bring a number or port your own. Inbound and outbound over PSTN, Twilio, or SIP trunks.
Sub-second WebRTC voice in the browser or your app, with barge-in and natural turns.
The same agent answers on messaging — text, voice notes, and media, with full history.
Drop a voice or chat widget into any site with one snippet. Themeable, tiny, accessible.
Command line
The pinecall CLI ships inside the SDK — inspect agents, chat and grade them, and check phones, keys, and usage without ever opening a dashboard.
Anatomy of a turn
Every caller turn runs this loop. Pinecall owns the streaming pieces; you only write the one step that makes the agent yours.
Tools
No DSL, no remote tool server. Define a tool as a typed function and the agent can call it mid-conversation — with arguments validated for you.
const book = tool({
name: "bookSlot",
schema: z.object({
date: z.string(),
time: z.string(),
}),
execute: async ({ date, time }) => {
return db.appointments.create({ date, time });
},
});Models
Pick the LLM, voice, and transcription that fit each agent. Change a string to switch providers — or point at your own endpoint and keep inference in-house.
Get started
Ship your first call today with the SDK — or bring in our team for a production rollout.
Install the SDK and put an agent on the phone the same afternoon.
Hands-on help, custom volume pricing, and the controls enterprises need.