Apollo.io Calls, Conversations & Notes
After a sales call, log it in Apollo with its outcome, duration and note, even when it was dialed from Orum or Nooks. Search the team's calls by rep, contact, disposition or length, pull recorded meeting conversations with AI insights, export them in bulk, and read the notes left on a contact, account or deal.
Connect this API to an AI agent Browse all specs
What you can do with Apollo.io Calls, Conversations & Notes via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /users/search |
listUsers | List Apollo users in the team (for caller ids) |
| GET | /phone_calls/search |
searchCalls | Search the team's calls by date, rep, contact, outcome or duration |
| POST | /phone_calls |
logCall | Log a call made outside Apollo, with outcome, duration and note |
| PUT | /phone_calls/{id} |
updateCall | Update a call record's outcome, purpose, times or note |
| POST | /conversations/search |
searchConversations | Search recorded meeting conversations by account, contact, tag or date |
| GET | /conversations/{id} |
getConversation | Get a conversation with its transcript and AI insights |
| POST | /conversations/export |
exportConversations | Start an export of conversations in a time range |
| GET | /conversations/export/{id} |
getConversationsExport | Check a conversation export and get its results |
| GET | /notes |
listNotes | List notes on a contact, account, deal or conversation |
Authentication
apiKey
API key — sent as the x-api-key header
Apollo API key sent in the x-api-key header. Call record endpoints need a master API key.
How to get a credential
- In Apollo, open Settings > Integrations > API (https://app.apollo.io/#/settings/integrations/api).
- Click Create new key, name it (e.g. VX Agents calls).
- Turn on Set as master key (or select the conversation and notes endpoints below), then create and copy the key.
Permissions used
| Key access (OAuth scope) | Operations |
|---|---|
Master key (phone_call_search, phone_call_write, phone_call_update) |
searchCalls, logCall, updateCall |
api/v1/conversations/search, show, export, find_export or master key |
searchConversations, getConversation, exportConversations, getConversationsExport |
meetings/api/v1/notes/index or master key (notes_list) |
listNotes |
| Master key | listUsers |
Common errors
| Status | Meaning | Fix |
|---|---|---|
| 401 | Key missing or invalid | Copy the key again from Settings > Integrations > API. |
| 403 | Key is not a master key or lacks the endpoint, or the plan has no API access | Create a master key or add the endpoint to the key. |
| 422 | Invalid ids or missing field | Use ids from listUsers, searchCalls or searchConversations. |
| 429 | Rate limit | Wait and retry; limits depend on the plan (per minute, hour and day). |
Store the key as a VX Agents API key credential (header x-api-key).
Usage guide
Setup
- Credential: an Apollo API key in the
x-api-keyheader. Call record endpoints need a master key; conversations and notes accept a key with those endpoints enabled. - Worth pinning as presets: your own Apollo user id (from
listUsers) and the call outcome (disposition) and purpose ids your team uses. These ids are unique to each Apollo account; you can see them in the URL when filtering calls by Disposition or Purpose in Apollo.
Log and review calls
listUsersonce to get user ids for callers.- After a call made outside Apollo's dialer:
logCallwithlogged=true,user_id[],contact_id(andaccount_id),to_number,status(completed,no_answer,busy, ...),start_time/end_time(ISO 8601, GMT),durationin seconds,phone_call_outcome_idand anote. - Fix a record later with
updateCall(same fields, plus the callid). - Review activity:
searchCallswithdate_range[min]/date_range[max](YYYY-MM-DD),user_ids[],inbound(incomingoroutgoing),duration[min]in seconds,phone_call_outcome_ids[]orq_keywords; page withpageandper_page.
Recorded meetings and notes
searchConversationswithconversation_type(video_conferenceorphone_call),account_id,contact_ids,date_range: {start, end}(ISO 8601),page,num_fetch_result. Results have a summary but no transcript.getConversationwith the id for the transcript, participants, recording links and AI insights.- Bulk:
exportConversationswithstart_time,end_timeand theemailof a team member to notify, then pollgetConversationsExportwith the export id. listNoteswithcontact_id,account_id,opportunity_idorconversation_id;limitup to 100,skipto page,sort_by_fieldcreated_atorupdated_at.
Good to know
- Confirm with the user before
logCallorupdateCall: they change the team's activity history and reports. getConversationandexportConversationscost 1 Apollo credit per conversation that has AI insights; tell the user before fetching many.- All times are GMT; add an offset (e.g.
+05:00) if the call happened in another time zone. logCallonly records a call; it does not dial anyone.- Rate limits depend on the plan (per minute, hour and day).
Source: Apollo.io API reference (https://docs.apollo.io/reference/search-for-calls), checked 2026-10-24.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “Apollo.io Calls, Conversations & Notes” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.