Reference
Apollo.io
Set up Apollo.io OAuth for sales intelligence and engagement
Overview
Section titled “Overview”Connect your users to Apollo.io for sales intelligence, lead enrichment, and engagement sequences.
| Property | Value |
|---|---|
| Provider ID | apollo |
| Category | CRM |
| PKCE | Not supported |
| Token refresh | Automatic |
| Redirect URI | Shown in Developer Portal |
Step 1: Register an OAuth App in Apollo
Section titled “Step 1: Register an OAuth App in Apollo”Go to Apollo Integrations
In Apollo, go to Settings > Integrations at app.apollo.io/#/settings/integrations.
Connect the API integration
Find the API option and click Connect, then choose OAuth registration.
Configure the application
Fill in:
- App Name: A name shown to users when they authorize
- App Logo: Optional logo
- OAuth Redirect URL: Copy the Redirect URI from the Developer Portal. Must use HTTPS. You can register up to 4 URLs (comma-separated).
- Scopes: Select the scopes the application needs.
read_user_profileandapp_scopesare added by default.
Get credentials
Submit the form, then copy the Client ID and Client Secret. The secret is only displayed once.
Step 2: Add to Alter Vault
Section titled “Step 2: Add to Alter Vault”Open the Developer Portal
Go to portal.alterauth.com and navigate to the application.
Add Apollo.io provider
Go to OAuth Providers > Add Provider > Apollo.io.
Enter credentials
- Client ID: Paste your Apollo.io Client ID
- Client Secret: Paste your Apollo.io Client Secret
Select scopes
Choose the scopes the application needs.
Save
Click Save. The provider is now active.
Available Scopes
Section titled “Available Scopes”| Scope | Description |
|---|---|
read_user_profile | Read the authenticated user’s basic profile (Apollo auto-includes this; required to identify the token owner) |
contacts_search | Search contacts in Apollo |
person_read | Read person records and people-enrichment data |
opportunity_write | Create and update opportunities (deals) |
- Apollo.io adds
read_user_profile(basic user info) andapp_scopesby default; select additional scopes such ascontacts_search,person_read, oropportunity_writefor the endpoints the application needs. - See the Apollo OAuth 2.0 (Partners) guide for the official authorization flow documentation.
- Apollo access tokens expire after 30 days; Alter Vault refreshes them automatically using the refresh token.
Policy-cataloged operations
Section titled “Policy-cataloged operations”Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.
| Operation ID | Families | Method | Provider path |
|---|---|---|---|
check-email-send-status | send | POST | /emailer_messages/email_send_status |
create-an-email-draft | send | POST | /emailer_messages |
send-email-now | send | POST | /emailer_messages/{id}/send_now |
archive-sequence | delete, write | POST | /emailer_campaigns/{sequence_id}/archive |
update-contact-status-sequence | delete, write | POST | /emailer_campaigns/remove_or_stop_contact_ids |
abort-sequence | write | POST | /emailer_campaigns/{sequence_id}/abort |
add-contacts-to-sequence | write | POST | /emailer_campaigns/{sequence_id}/add_contact_ids |
approve-sequence | write | POST | /emailer_campaigns/{sequence_id}/approve |
bulk-create-accounts | write | POST | /accounts/bulk_create |
bulk-create-contacts | write | POST | /contacts/bulk_create |
bulk-create-tasks | write | POST | /tasks/bulk_create |
bulk-organization-enrichment | write | POST | /organizations/bulk_enrich |
bulk-people-enrichment | write | POST | /people/bulk_match |
bulk-update-accounts | write | POST | /accounts/bulk_update |
bulk-update-contacts | write | POST | /contacts/bulk_update |
create-a-contact | write | POST | /contacts |
create-a-custom-field | write | POST | /fields |
create-a-task | write | POST | /tasks |
create-an-account | write | POST | /accounts |
create-deal | write | POST | /opportunities |
create-sequence | write | POST | /sequences |
export-conversations | write | POST | /conversations/export |
phonecalls_create | write | POST | /phone_calls |
put_phone_callsupdate | write | PUT | /phone_calls/{id} |
search-for-contacts | write | POST | /contacts/search |
search-for-sequences | write | POST | /emailer_campaigns/search |
search-tasks | write | POST | /tasks/search |
update-a-contact | write | PATCH | /contacts/{contact_id} |
update-an-account | write | PATCH | /accounts/{account_id} |
update-contact-ownership | write | POST | /contacts/update_owners |
update-contact-stage | write | POST | /contacts/update_stages |
update-deal | write | PATCH | /opportunities/{opportunity_id} |
update-sequence | write | PUT | /sequences/{id} |
view-associated-deals | write | POST | /contacts/{contact_id}/opportunities |
emailer_messages/search | read | GET | /emailer_messages/search |
get-a-list-of-email-accounts | read | GET | /email_accounts |
get-current-user-profile | read | GET | /users/api_profile |
get_emailstats | read | GET | /emailer_messages/{id}/activities |
list-contact-stages | read | GET | /contact_stages |
view-a-contact | read | GET | /contacts/{contact_id} |