The same reads are available to agents as MCP tools:
list_calls, get_call, get_call_recording,
list_messages, list_emails, list_contacts and get_contact (see MCP server).
Recent activity
Leave out the person to get the whole account, newest first:direction and a sender:
Texts on the shared LumisReach lines that Quick Agent Actions send from are included, so replies to a Quick Text
show up as
inbound too.
Everyone you’ve been in touch with
contact_id is null for someone you reached who has no contact record yet.
A contact’s full record
data.contact.id. crm is set when the contact is synced with a CRM, and holds the provider and
its record id.
Your history with one person
Pass one ofcontact_id or their address: phone_number (E.164) for calls and texts, email for email. Email
always needs one.
source of inbox or quick (sent with Quick Email).
Call details: transcripts, tags and recordings
Each call fromGET /v1/calls (or one call from GET /v1/calls/{id}) carries:
Tags
Tags come from the AI’s review after the call ends, so a call that just finished may have none for
a few seconds.
Download the recording
recording_url needs the same API key as every other request:
audio/mpeg), never cached. It returns 404 when the call
has no recording, when recording was turned off for it by your compliance settings, or when the call
is not in your workspace. Every download is written to your compliance audit log, attributed to the
API key’s owner.
Pagination
Results come newest first. Passmeta.cursor from one response as cursor on the next request;
there are no more pages when meta.cursor is absent. limit defaults to 20 and caps at 100 (50 for
calls, since each one carries a full transcript).
Keeping up to date
To sync, pollGET /v1/calls or GET /v1/messages with created_after set to the newest created_at you have
seen. To hear about new activity the moment it happens instead, register an
inbound SMS webhook (or open the text stream) and a
call webhook, which sends each call’s full transcript as soon as it ends.