list_call_targets
readsOne of the tools an AI assistant can call on an Avrosh account.
What it does
Who is on one campaign, and for each of them WHY they are or are not going to be rung. `skipReason` null means this number would be dialled right now; anything else names the obstacle - `suppressed` (do-not-call), `outside_window` (the campaign's calling hours in the business's own timezone), `max_attempts`, `waiting_retry`, `done`. Read the reason before answering 'why has nobody been called' - the answer is almost always here and is almost never 'the system is broken'. `onDnc` is shown separately because do-not-call belongs to the NUMBER and outranks every other reason.
This is the exact text the model reads before deciding to call.
Parameters
business_idstringrequired
The id returned by list_businesses.
list_idstringrequired
From list_call_lists.
statusstringoptional
Which targets to return. 'pending' not yet dialled, 'calling' on the phone now, 'done' reached and settled, 'failed' out of attempts, 'suppressed' held back because the number reached the do-not-call list after it was imported. Default 'all'.
one of: all · pending · calling · done · failed · suppressed
limitnumberoptional
1-500. Default 200.
Response
The result arrives as an MCP content block; the JSON in the panel is what the text field parses to.
Connecting
Point any MCP client at https://us.avrosh.com/mcp and log in — OAuth 2.1, no key to paste.
The panel here uses the other door: a bearer key made in the dashboard, for a script or a cron job with no browser to sign in with. Both reach the same endpoint. Full notes on the reference overview.
curl -X POST https://us.avrosh.com/mcp \
-H "Authorization: Bearer $AVROSH_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_call_targets",
"arguments": {
"business_id": "926135ac-487d-4367-8bad-25397d0d4b87",
"list_id": "cl_2…",
"status": "pending"
}
}
}'