Give Your AI Agent a Phone Number in 60 Seconds
If your agent can reason but cannot pick up the phone, there is still a hard boundary between software and the real world. This is the fastest way to cross it with the current Spix CLI.
Step 1: Install the CLI
Spix installs as a single binary. There is no package manager dance and no runtime you need to assemble first.
curl -sf https://spix.sh/install | sh
spix --versionStep 2: Authenticate and confirm the session
Use magic-link login, click the approval link in the browser, then verify the CLI session before you touch numbers or calls.
spix auth login --email [email protected]
spix --json auth whoamiStep 3: Create a call playbook
A call playbook defines what the voice agent is trying to do and how it should sound while doing it. Create it once, then reuse it across outbound sessions.
spix --json playbook create \
--type call \
--name "Appointment confirmation" \
--goal "Confirm the appointment and collect a preferred backup time" \
--persona "Calm, efficient scheduling assistant"Step 4: Search inventory, then rent and bind the number
The sample draft had this wrong. Searching available inventory and actually renting a specific number are two separate steps in the current CLI.
Search first. Once you pick the number you want, rent that exact number and bind it to the playbook in the same command.
spix --json phone rent --area-code 415
spix --json phone rent --number +14155550199 --bind-channel call --bind-playbook plb_call_abc123 --confirmStep 5: Make the call
Once the playbook and sender are in place, the outbound call is a single command.
spix --json call create +19175550123 --playbook plb_call_abc123 --sender +14155550199Inspect what happened after the call
Spix persists transcripts, summaries, and recordings. The important detail is that the call resource is keyed by session ID, not by the `call_abc123` style placeholders from the draft sample.
spix call transcript 66fef9ec-bae2-4c94-a57a-19a041512af2
spix --json call summary 66fef9ec-bae2-4c94-a57a-19a041512af2
spix call recording download 66fef9ec-bae2-4c94-a57a-19a041512af2Validate safely with dry-run
Dry-run is a global flag, so it needs to sit before the command group. That is another place where the sample draft drifted away from the actual CLI.
spix --dry-run call create +19175550123 --playbook plb_call_abc123 --sender +14155550199