import_call_targets
API reference — one of the tools an AI assistant can call on an Avrosh account.
What it does
Add numbers to a DRAFT or paused campaign. Numbers are normalised HERE against `dial_code`, so pass them as they came from the customer's own records rather than reformatting them yourself - and pass the dial code of the country those records belong to, never a guess. Anything already on the do-not-call list is silently left out and returned in `suppressed`: that is correct, do not retry it and do not tell the operator it failed. Rows that could not be read at all come back in `rejected` with a reason. Adding numbers still does not make the campaign runnable - only a human attesting to consent does that.
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.
dial_codestringrequired
e.g. '+62'. Used for local-format numbers.
rowsarrayrequired
Up to 1000 per call. Page larger files.
Request
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":"import_call_targets","arguments":{"business_id":"926135ac-487d-4367-8bad-25397d0d4b87","list_id":"cl_2…","dial_code":"+62","rows":[{"phone":"0812-3456-7890","name":"Sari","external_id":"crm-4471"}]}}}'Response
The result arrives as an MCP content block; the JSON below is what the text field parses to.
{
"added": 1,
"duplicate": 0,
"suppressed": [],
"rejectedTotal": 0
}Connecting
Paste the URL into your assistant and log in. Avrosh implements OAuth 2.1, so an MCP client discovers the authorisation server, registers itself, and opens a browser asking you to sign in here. That is the whole setup: nothing to copy, no key to keep, and nothing to rotate later.
https://us.avrosh.com/mcpFor something with no browser to log in with — a cron job, a script, an automation platform — there is a second door: a bearer key made in the dashboard under Docs, shown once because only its hash is stored, and revocable at any time.
curl https://us.avrosh.com/mcp \
-H "Authorization: Bearer $AVROSH_KEY"Either way the boundary is the same one: an assistant reaches every business on the account it signed in to, and no others. There are no scopes to configure and nothing to switch on — what bounds it is whose account it is, enforced in the database rather than by a permission anybody sets.
All tools
list_businesses · get_business · list_calls · get_transcript · create_business · update_business · list_knowledge · add_knowledge_chapter · update_knowledge_chapter · delete_knowledge_chapter · restore_knowledge_chapter · list_menu_items · create_menu_item · update_menu_item · set_menu_item_availability · delete_menu_item · restore_menu_item · remove_menu_item_photo · set_menu_item_thumbnail · list_bookable_types · create_bookable_type · update_bookable_type · set_bookable_type_schedule · delete_bookable_type · restore_bookable_type · list_bookings · get_booking · confirm_booking · cancel_booking · list_open_slots · check_in_booking · mark_no_show · finish_booking · set_appointment_end · list_phone_numbers · connect_phone_number · release_phone_number · get_call_stats · list_voice_options · list_callbacks · schedule_callback · cancel_callback · list_do_not_call · add_do_not_call · list_call_lists · create_call_list · list_call_targets · import_call_targets · delete_call_targets · restore_call_targets · update_call_list · delete_call_list · get_voice_settings · update_voice_settings · set_callback_window · list_work_queue · accept_order · finish_order · accept_request · finish_request · assign_request · list_customers · get_customer · export_customer_data · erase_customer