Integrations
Apollo.io
An Apollo.io integration connects an Apollo API key to Mobius so agents can search and enrich people and organizations.
Use Apollo.io when an agent needs sales or account research before creating a ticket, updating a CRM, or drafting something for human review.
Capability map
| Capability | Value |
|---|---|
| Provider ID | apollo |
| Auth kind | api_key |
| Connect flow | Inline API key |
| Actions | Yes |
| Events | No |
| Webhook delivery | No |
| Event samples | No |
| Live status | No |
Connect Apollo.io
| Surface | Support |
|---|---|
| App | Open Library > Integrations, choose Apollo.io, and paste the API key. |
| CLI | The mobius CLI does not connect Apollo.io integrations yet. Use the app or API. |
| API | Call POST /v1/integrations/providers/apollo/connect with the Apollo credential body from the API reference. |
Use an organization-owned key when output depends on your Apollo plan, saved filters, or account quota.
Actions
Apollo holds two separate populations of records, and each action reads exactly one of them. People and organizations are Apollo's global prospecting database. You search it to find companies and people you do not yet know, and these calls spend Apollo credits. Accounts and contacts are the records already saved in your own Apollo workspace, and those calls are free.
Prospecting, against Apollo's database:
apollo.person.search
apollo.person.enrich
apollo.organization.search
apollo.organization.enrich
apollo.organization.bulk_enrich
apollo.job_posting.list
apollo.news_article.searchYour Apollo workspace:
apollo.account.search
apollo.account.get
apollo.account.create
apollo.account.update
apollo.account.update_owner
apollo.account_stage.list
apollo.contact.search
apollo.contact.create
apollo.contact.update
apollo.contact_stage.list
apollo.list.searchSearch before enrichment when the agent starts from partial account or contact data. Enrichment calls usually spend provider quota, so grant them only to agents that need them.
apollo.person.search identifies matches but withholds contact data: last names
come back partially masked and emails and phone numbers appear only as
availability flags. Pass a match to apollo.person.enrich to resolve the
contact details.
Use apollo.organization.bulk_enrich instead of repeated
apollo.organization.enrich calls when working through a list; it takes up to
ten domains per call.
apollo.job_posting.list and apollo.news_article.search are timing signals for
account research: open roles and funding or hiring news for a company you have
already identified. Both take an Apollo organization ID and spend a credit per
page.
Searching your own workspace first is usually cheaper than enriching. A turn that
calls apollo.contact.search before apollo.person.enrich skips paying for
people you already know.
Writing back to Apollo
apollo.account.create, apollo.contact.create, and the matching update actions
save agent research into the customer's Apollo workspace so it is visible to the
humans working there.
Apollo applies no deduplication when creating an account, so a repeated call
creates a second account. Search first, or update the existing record. Contact
creation is safer: set run_dedupe and Apollo updates a matching contact in
place instead.
The stage and list actions exist to resolve names into IDs. Apollo expects an
account_stage_id or contact_stage_id, not a stage name, so call
apollo.account_stage.list or apollo.contact_stage.list first and match on the
display name.
Events
Apollo.io does not register source events. Start the work another way, such as a message to the agent or a routine, then call Apollo actions from that turn.
Next
- Grant research actions to an agent from actions.
- Store result sets in tables.
- Keep provider credentials in integrations.