Call several businesses of a kind
call_aroundUse this when the user wants to compare several businesses of a kind or find one that can help: it finds them near a place and calls them with the same goal, from 1 to 100. Examples: "call 3 mechanics near Plano, TX for front brake prices", "ask every pharmacy near 75024 when they close", "call hair salons in Dallas until one has a Saturday 10am slot" (stop_after=1). The server paces it (concurrency at a time), waits for business hours, and stops early with stop_after or max_spend_usd. Returns a batch_id: follow it with get_batch. Places this account called in the last 14 days are skipped (exclude_called=false to include). To get MORE places for the same request, call again with batch_id (paging; never repeats a place). For more than 10 places it returns a preview first: show the user the list and cost, then repeat with confirm=true. dry_run=true always previews. Put everything a business might ask in details and if_asked so dozens of calls don't each need you mid-call.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"goal": "<goal>"
},
"name": "call_around"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | As in place_call; applies to every call in the batch | |
| near | No | City and state or province, neighborhood, or a zip or postal code | |
| count | No | How many places to call, 1-100, default 3 | |
| nears | No | Several areas (max 10), e.g. ["Plano, TX", "Frisco, TX"] | |
| query | No | Kind of business, e.g. "auto repair", "pharmacy", "hair salon", "public library" | |
| phones | No | Call these exact businesses instead of searching (query and near not needed): the user's own list (vendors, quote requests, a spreadsheet of leads), or a call place_call refused for the hour (the batch dials at 7am their time). | |
| call_at | No | As in place_call; applies to every call in the batch | |
| confirm | No | Required for more than 10 places, after the user saw the preview | |
| details | No | As in place_call; applies to every call in the batch | |
| dry_run | No | Only list who would be called and the estimated cost | |
| queries | No | Several phrasings to widen the search (max 5), e.g. ["tire shop", "brake repair"] | |
| batch_id | No | Add more places to this existing batch (paging) | |
| if_asked | No | As in place_call; applies to every call in the batch | |
| language | No | As in place_call; applies to every call in the batch | |
| questions | No | As in place_call; applies to every call in the batch | |
| min_rating | No | Skip places rated below this (e.g. 4.0) | |
| setup_code | No | From a needs_setup result, after the user finished the link | |
| stop_after | No | Stop once this many calls succeed (e.g. 1 = first place that can do it) | |
| after_hours | No | As in place_call; applies to every call in the batch | |
| concurrency | No | Calls at the same time, 1-10, default 5 | |
| constraints | No | As in place_call; applies to every call in the batch | |
| transfer_to | No | As in place_call; applies to every call in the batch | |
| max_cost_usd | No | As in place_call; applies to every call in the batch | |
| on_behalf_of | No | As in place_call; applies to every call in the batch | |
| max_spend_usd | No | Stop dialing once the batch has cost this much | |
| exclude_called | No | Skip places this account called in the last 14 days (default true) | |
| exclude_phones | No | Numbers to leave out | |
| include_closed | No | Also queue places that are closed now (they're called when they open, or reach voicemail) | |
| callback_number | No | As in place_call; applies to every call in the batch | |
| voicemail_message | No | As in place_call; applies to every call in the batch |