Voice API

Phone calls your app can place and answer.

Speak a script, transfer the caller, or let an agent handle the conversation. Same API key and logs as email and SMS.

Start for free
  • Script or agent
  • Your own numbers
  • Transcript on every call
Read the docs
Sec. 01Live demo

Voice API with integrated AI

Place a scripted call, or let an agent handle the conversation.

  • Scripted calls, transfers, and inbound on your numbers
  • Voice agents with OpenAI, Gemini, and Grok
  • Transcript, recording, and cost on every call
send-appointment-reminder.ts
Call Initiated
Call Answered
WebSocket Connected
Speaking
Listening ...
Transcript Received
Call Completed & Recorded.
Sec. 02One request

A script is a list of lines to speak

Pass the destination and the lines. Variables fill in per call. The response gives you a tracking id and a live transcript socket. Guides:Voice.

Place a callNode
await pingram.voice.call({
  to: "+14165551234",
  config: {
    type: "script",
    steps: [
      { verb: "Say", text: "Hi {{name}}, your code is {{code}}." }
    ]
  },
  variables: { name: "Sam", code: "123456" }
});
Sec. 03What you can do

Scripts, numbers, and agents

01

Scripted calls

Speak the lines you write. Fill {{variables}} per call. Leave a voicemail, hang up, or keep talking when a machine answers.

02

Your numbers

Answer with a script, transfer the caller to a US or Canada number with their caller ID intact, or block inbound on that number.

03

Voice agents

Hand the conversation to an agent. Pick a speech model, give it tools, and transfer to a person when the caller asks.

04

Transcript and cost

Every call keeps a transcript, an optional recording, and a cost breakdown. Follow the live transcript on the websocket from the response.

Sec. 04FAQ

Common questions

01Do I need a phone number to place a call?

No. An outbound script or agent call only needs the destination number. Order a Pingram number when you want to answer inbound calls.

02What is the difference between a script and an agent?

A script speaks lines you wrote and then the call is done. An agent listens and responds, and can call your tools or transfer to a person.

03Can I change what a number does per call?

Yes. Save the usual behavior on the number, and return a different config from a VOICE_INBOUND webhook for one call.

Ready when you are

Launch today.

Free tier with 3,000 emails, plus 100 SMS and calls per month. No credit card required. Paid plans start at $20/month.