pinecallDocs
Get started / Overview

Build a voice agent
your team can supervise.

One class answers phone, WhatsApp and web. Every call is logged, scored at hang-up, and one tap from a person.

Quickstart
From nothing to an agent that answers, in ten minutes — in TypeScript, Ruby or Python.
Pinecall is open source under Apache-2.0 and runs on LiveKit. Self-host it →

Try it

agents/front-desk/agent.tsx
1import { Agent, tool } from "@pinecall/agents";
2
3/** Brightside Dental's front desk. Never clinical advice. */
4export default class FrontDesk extends Agent {
5 slots: Slot[] = [];
6 // agenda() and Slot: your calendar's client and its type, left out here.
7
8 /** Open times on the day the caller named. */
9 @tool()
10 async freeSlots(day: string) {
11 return (this.slots = await this.agenda().free(day));
12 }
13
14 render() {
15 return this.slots.length > 0
16 ? <p>Offer only these times.</p>
17 : <p>Ask what day works for them.</p>;
18 }
19}

Running in three steps

1
Install the CLIOne CLI for TypeScript, Ruby and Python.
$npm i -g pinecall
2
Sign inOpens the browser and signs this machine in, once.
$pinecall login
3
Run the agentThe process you deploy. Call it from the sandbox console.
$pinecall start

Explore the platform