PPactDocs
Getting started

Make your first voice call

Call Pact's public demo line to experience the inbound voice AI, or run a simulated test call against a voice agent you build — no billing risk.

There are two ways to experience Pact's voice AI in your first few minutes: call the public demo line to hear the live inbound assistant, or run a simulated test call against a voice agent you build in your own workspace. Both work without spending money or wiring up a provider.

Option 1 — Call the demo line

The fastest path. Dial the public demo number and talk to the assistant:

Demo line

+1 424 722 8627 (424-PACT-MCP) — voice, SMS, and MMS enabled. No account required. Ask it about accounts, contacts, or pipeline and hear how it answers.

Under the hood, an inbound call hits POST /v1/voice-mcp/incoming, Pact renders a spoken response, and each conversational turn is handled by POST /v1/voice-mcp/turn. The demo line runs under a capped daily budget so a runaway test can't bleed cost.

Caller-ID recognition

If you've already added and verified your phone number, calling from that number lets Pact recognize you by caller ID for voice auth. Calling from an unrecognized number falls back to a PIN challenge (POST /v1/voice-mcp/pin).

Option 2 — Simulated test call on your own agent

Inside your workspace you can build a voice agent and iterate on it with a simulated test call — a deterministic, net-$0 scripted conversation that is persisted with a full transcript so it behaves like the real thing without dialing anyone.

  1. 1

    Build an agent

    Create a voice agent (name, greeting, provider, per-agent daily budget) in your workspace.

  2. 2

    Run a simulated test call

    Call POST /v1/voice/agents//test-call with mode: "simulated" (the default). Pact generates a scripted conversation, records it as a voice_agent_calls row (direction=test, is_simulated=true), and returns the transcript, sentiment, outcome, and action taken — all at $0.

  3. 3

    Iterate

    Adjust the agent's script and prompts and re-run. Because the simulation is deterministic, you can tell exactly what your change did.

Live outbound dialing is a gated seam

test-call with mode: "live" is intentionally honest about its gates. It returns 400 if the agent's voice provider BYOK key isn't configured, 402 if the agent's daily budget is exhausted, and 501 when the gates pass but real provider dialing isn't wired for your setup yet — so you're never told a simulated call was a real one. Use the simulated preview to build and refine your agent today, and the demo line to hear live inbound behavior.

Bringing your own inbound number

To answer real inbound calls on your own number rather than the demo line, bind a Twilio number you own by pointing its Voice webhook to:

code
POST https://api.pact.place/v1/voice-mcp/incoming

Numbers are bound to exactly one tenant, and Pact refuses to bind a number already provisioned to another tenant. Workspace-level number binding is an admin/staff-assisted step today — see the note in Add a phone number.