Bolna
Give a Bolna voice agent the live web during a call. A custom function sends the caller's question to SpecStream, and in a few seconds the agent has the answer, the page it was read on, and the time it was read.
SpecStream for BolnaAgent frameworks & buildersWhat you need
- A Bolna agent you can edit in Agent Studio.
- A SpecStream account. New accounts get $10 of credit on sign-up, no card. Create one.
- 1
1. Get your SpecStream key
Copy your key from the Search API screen of your SpecStream workspace. Or create one under Agents & API, choose API keys, then Create API key, with a total spending limit above zero. Bolna sends it in the
Authorizationheader of each call. - 2
2. Add a custom function
Open your agent in Agent Studio and go to the Tools tab. Under Add a Custom Tool, click Write manually to open the JSON editor.
- 3
3. Paste the SpecStream function
Replace the default schema with the one below. Put your key after
Bearerinapi_token, then click Submit and save the agent. The nameqmust be the same inpropertiesand inparam.Bolna custom function - 4
4. Tell the agent how to say the answer
Add these lines to the agent's prompt:
In the agent prompt - 5
5. Test it
Call the agent and ask a question whose answer changes, such as today's opening hours of a shop in your city. The agent says the pre-call message, then answers from the page SpecStream read.
What comes back
Bolna hands the reply to the agent's model. It is JSON with one key, data. For a question with one answer, data.kind is fact, and data.answer holds the value as the page prints it, the page it was read from, and seen_at, the time it was read. data.sources lists the search results that were read.
When no page prints a value that answers the question, data.answer is null, and the agent says so in place of guessing.
When the caller asks for a list
For a request for many results, data.kind is list, and data.rows holds the first rows, each with its name, its page, and the facts the request asks for, every value with the page it was read from. The agent can read the first few to the caller.
The full list is a Deep Search run. data.handoff gives its estimated size and the call that starts it. A Deep Search run is quoted first and starts only after you approve its maximum, so it runs after the call, in your workspace or through the API. Every row arrives with the source URL and read time on each value.
Why a custom function
Bolna's built-in Web Search tool takes one provider from a fixed list and that provider's key, with no address to change. A custom function calls any endpoint, so SpecStream goes in this way. The search runs on the Search API, the most accurate web search API in the world on our published benchmarks.
Cost
Each call is one search at $5 per 1,000 searches of up to 10 results, taken from your balance with no quote and no approval. A search that returns no results costs nothing, and the reply's price_usd is what the call cost. Deep Search runs are charged per delivered row, never above the maximum you approved. See how quotes and billing work.
Disconnect
Delete the function's card in the agent's Tools tab, then revoke the key in Agents & API. Questions: [email protected].
More
SpecStream for Bolna covers what it does in Bolna on one page. Every other tool has its guide in Connect your tools. You see the most a request can cost before it starts, and the matches are paid from your balance. Billing has the details. For help, email [email protected].