pinecallDocs
Guides / Your first hour

Your first hour

From an empty folder to an agent answering a phone call: keys, an agent, a simulation, a number, your own phone, going live.

From an empty folder to an agent answering a real phone call. Each step names the command and the console screen that does the same thing, and says how to tell it worked. You need a Pinecall sign-in; if you run the runtime yourself, pinecall-runtime setup comes first, and you sign in to it instead.

1. Sign in and check what you may use#

Terminal
$ pinecall login https://cloud.pinecall.io
$ pinecall limits
sandbox
  minutes          0 of 30 · starts again 1 Nov
  …
  evals            0 of 500 · starts again 1 Nov
  simulations      0 of 10 · starts again 1 Nov
  …
  bought numbers   0 of 0
  keys             yours: none · lent by the runtime: deepgram, google/gemini-3.5-flash-lite, …

The last line is the one that matters: whose vendor keys your calls run on. Every call needs a model, speech recognition and a voice. If a vendor or a model is lent by the runtime (Pinecall's own keys), you add nothing. If it is in neither list, the call is refused until you bring a key for it. Console: Overview ▸ Limits shows the same meters, and Settings ▸ Providers marks each vendor Your key, The runtime's key, The runtime's key, some models or Add your key to use it.

The sandbox's 30 minutes are a month's: they start again on the 1st (UTC). Written conversations and simulations spend no minutes.

2. Make an agent#

Terminal
$ pinecall login
$ pinecall new acme --agent front-desk
$ cd acme

login signs this machine in, once. new writes the project — acme, the business — and --agent its first agent, front-desk, in agents/front-desk/, and its pinecall.json: the org it runs in. Your sign-in opens the sandbox; a server's keys are made on purpose, later, under API keys.

3. Talk to it in writing#

Terminal
$ pinecall chat

Free, instant, no phone. If the agent answers, your keys are in order. If it is refused naming a vendor, go back to step 1: that vendor has no key you can use.

4. Let a simulated caller try it#

Terminal
$ pinecall simulate --persona in-a-hurry --judge

A model plays a caller for a full conversation and the judges score it. Written, so it costs no minutes; it counts against your month's simulations. Console: Simulations, and the call's page for the score. Your first ten cases turns what it finds into tests.

5. Get a number#

A number belongs to your org and points at one agent. There are two ways, both under Numbers ▸ Add a number:

  • Buy one. Pick a country and an area code. It is bought on Pinecall's Twilio account and counts against your numbers limit (pinecall limits shows it). A bought number answers calls; it does not place them.
    Terminal
    $ pinecall numbers buy --country ES --area 91 --agent front-desk --prod
  • Bring your own. Connect your Twilio account once, then import a number you already own. With more than one account, --account names the one that owns it.
    Terminal
    $ pinecall carriers add twilio --account-sid AC… --user SK…
    $ pinecall numbers import +34910000000 --agent front-desk --prod

Numbers are production's: the sandbox tests on them with the phone line in the next step.

6. Call it from your own phone#

Terminal
$ pinecall line from +34600000000
$ pinecall start

Now call the number from that phone. You reach your own sandbox copy, running on your computer, with your changes and your terminal showing the conversation. Everyone else who calls reaches production as before. Stop pinecall start, or run pinecall line forget, and your calls go back to production. Console: Phone testing.

Watch the call as it happens in Calls; when it ends, its page has the transcript, the judges' score, the latency of each stage and the cost.

7. Go live#

Terminal
$ pinecall deploy --prod --note "first release"

Pinecall runs your project for you, so nothing of yours has to stay switched on. In Agents ▸ Apps you see the release, its logs, and can stop or start it. To run it on your own server instead, see Running on your own server.

Where each limit shows#

you see meaning
429 naming a limit, and credits.exhausted in the agent's log a limit ran out: minutes, simulations or numbers. Past the month's evals a call is not refused: its judges are skipped
a call refused naming a vendor no key for it: yours, or one Pinecall lends you
"starts again 1 Nov" the month's meters reset on the 1st, UTC

More: Limits and provider keys, Phone numbers, Sandbox and production.