readOnlyHint: true). Every MCP client sees the same set. An assistant can chain them, for example to find a contact, open their latest call, and list the follow-ups it created.
Tool names and parameter names are stable identifiers.
Workspace
get_workspace_info
Returns the connected workspace’s name, time zone, and the current time. Takes no parameters.
“What time zone is my workspace in?”
Calls
list_calls
Phone calls in a date range, newest first, with caller, outcome, sentiment, and a short summary. Covers calls handled by your team and by Arlo. Test calls are left out.
Each call includes
callId, startedAt, direction, status, missed, from, to, contactName, durationSeconds, handledByArlo, outcome, sentiment, and summary. Summaries are cut to 300 characters; use get_call for the full text. The result also includes nextCursor, which is null when there are no more pages.
“What calls did we miss yesterday?” “Which calls did Arlo handle this week, and how did they go?”
get_call
One call in full: the complete summary, a customer-experience rating with its reasoning, the booked appointment time (if any), and the follow-up tasks the call created.
“Open the call from (512) 555-0142 this morning. Did the caller book?”
Bookings
list_bookings
Appointments Arlo booked in a date range: Jobber jobs it scheduled and Square bookings it confirmed. Also returns Arlo calls where the caller asked for service but didn’t end up booked, which is your callback list.
“Which callers asked for service this week but didn’t book? Who should I call back first?” “How many jobs did Arlo book in Jobber last month?”
Contacts
search_contacts
Finds contacts by the start of any word in their name or company, or by the start of their email address or phone number. For example, smi finds “John Smith” and “Smithfield Plumbing”.
Each match includes
contactId, name, company, phoneNumber, email, lastContactAt, and url, a link that opens the contact in Audalis.
“Find the contact for Northside Dental.”
get_contact
One contact’s details and AI summary, their 10 most recent calls, and their open tasks.
Returns
name, company, phoneNumber, email, summary, firstContactAt, lastContactAt, totalInteractions, url, recentCalls, and openTasks.
“Catch me up on Maria Lopez before I call her back.”
Follow-ups
list_open_tasks
Open follow-up tasks (pending, in progress, or waiting on a supervisor), soonest due first. Tasks without a due date come last.
Each task includes
taskId, title, description, status, priority, dueDate, callId, contactName, and createdAt.
“What follow-ups are due before Friday?”
Dates and time zones
- Pass dates as ISO 8601 date-times with an offset, such as
2026-10-13T00:00:00-04:00or2026-10-13T04:00:00Z. A date without a time or offset is rejected. fromis inclusive andtois exclusive. To cover “yesterday,” pass midnight to midnight in the workspace’s time zone.- A date range can cover at most 92 days, and
frommust come beforeto. - Results use UTC timestamps. Assistants should convert them to the workspace’s time zone before showing them.
Paging
list_callsandlist_open_taskspage withnextCursor. Pass it back ascursorand keep every other argument the same. Treat it as opaque, and don’t edit or build one yourself.list_open_tasksstops paging after the first 1,000 tasks. Usedue_beforeto narrow it down.list_bookingsdoesn’t page. Whentruncatedistrue, use a narrower date range.
Limits
Over the limit, the server returns
429 with Retry-After: 60.
Errors
When a tool can’t run, it returnsisError: true with a plain-language message the assistant can act on, such as “The date range can be at most 92 days.” or “No call with that id.” Unexpected failures return “Audalis could not complete this request. Try again shortly.” with no internal details.