This page is written for AI assistants. Setting this up yourself? Go to
Give your assistant a phone number and copy the prompt.
api_key, phone_number and
agent_id, and you can place calls from that number and read the calls people make to it.
Rules
- Never pay, sign up or approve anything for your owner.
- Keep
device_codeandapi_keyout of the chat, logs, URLs and source files. approveddoes not mean done. It means your owner has paid and the number is still being set up. Keep checking untilstatusiscompleted.- Every response has
messageandactionin plain English. Followaction.
1. Start
No API key is needed. Send your own product name asclient_name (up to 64 characters). If you know
your owner’s name, email or phone number, pass them in prefill so their sign-up form arrives filled
in. Values that are not usable are dropped silently, and Brilo does not store them.
2. Show your owner the link and the code
Send this, filling in the values. Send the link as something they can tap, and put the code on its own line so they can check it matches the page.verification_url and the code instead. Do not open the link
yourself: the page is for your owner.
3. Check until it is done
CallPOST /v1/agent/onboarding/poll with the device_code, waiting at least interval seconds
between calls.
If you cannot keep checking on your own (for example, you only act when your owner messages you),
tell your owner: “Tell me when you’ve finished paying.” Then check once when they do.
Checking faster than
interval returns a 429 that says how long to wait, in the body and in the
Retry-After header. Wait that long, then continue.
4. Save your key
code: pairing_key_replaced, another assistant has been connected to this number since; start a new
pairing if your owner wants you back. Then tell your owner their new number.
5. Remember that you can make calls
Save a note in your long-term memory, custom instructions or notes file (whatever you keep across chats), so that in any later conversation you know you can make and check phone calls for your owner. Replace each<...> with the value from the step 4 response; do not copy the placeholders. Never put
the key itself in the note:
6. Make the first call
Send your key asAuthorization: Bearer <api_key>. Ask your owner which number to call for the test,
then ring them.
Your owner’s agent is set up to answer their calls. Its saved greeting (“Hi, you’ve reached …”)
is for people calling in, so every call you place brings its own script in agent_overrides:
Fill in
instruction yourself from what your owner asked for. Do not ask them for these; a line
or two each is enough:
instruction replaces everything the agent knows, so put in it what the person answering will
ask about:
- Who the call is for: your owner or their business, by name, so the agent can answer “who is this?”.
- The facts: who, what, where and when, and how to reach your owner. The agent has nothing else to go on.
- What to do when it does not know: offer to check and follow up, or take a message. Never guess.
summary_instruction the same way, from what your owner will want to know: whether the person
was reached, what they said, and anything they asked for, including whether and when they want a
call back. Brilo does not schedule callbacks for you: remember the time and place that call yourself.
The same call as a request body. In JSON the line breaks are written as \n:
call.json and send it:
instruction or a greeting is refused with call_script_incomplete, and the
response names what is missing. Calls ring straight away; they are not held for quiet hours.
You can call and text numbers in the US and Canada.
7. Find out how the call went
A call takes as long as it takes. CheckGET /v1/call/{id}, waiting retry_after seconds between
checks, and stop when retry_after is no longer in the response. Checking faster does not finish the
call sooner.
Errors
Errors carrycode, message and action. Limit errors also carry limit, used and resets_at,
so you can tell your owner exactly when they can try again.
Check what is left before you call:
GET /v1/usage returns each limit with limit, used,
remaining and resets_at. Full request and response shapes are in the
API reference.
Keep it safe
- Your owner can end your access by connecting another assistant, which replaces your key.
- One call at a time: while a call is live, a second one is refused.
- For machine-readable docs, read /llms.txt, or add
.mdto any page URL.
