Apollo logo

Integrate Apollo with your AI CRM

Apollo provides CRM and lead generation capabilities, helping businesses discover contacts, manage outreach, and track sales pipelines for consistent customer relationship development

Explore Triggers and Actions

Activate Sequence

Activate an inactive Apollo sequence and begin its scheduled outreach. Activation allows Apollo to send emails externally to enrolled contacts according to the sequence's configured steps and schedule. Reference: https://docs.apollo.io/reference/approve-sequence

ActionTry it

Add Contacts to Sequence

Adds contacts to a specified Apollo email sequence and returns the contact details. `sequence_id`, `emailer_campaign_id`, and `send_email_from_email_account_id` must be retrieved from Apollo listing/search endpoints before calling this tool — these IDs cannot be inferred from names.

ActionTry it

Apollo people search

Searches Apollo's contact database for people using various filters; results capped at 50,000 records and does not enrich contact data. Combining multiple strict filters (organization_ids, person_titles, person_seniorities) can return zero results — start broad and narrow iteratively. Result records may have null email, phone, or organization fields.

ActionTry it

Archive Sequence

Archive an Apollo sequence, making it inactive and finishing all enrolled contacts. This lifecycle change can end outreach for every contact currently in the sequence. The caller must own the sequence or have full-access sharing permission. Reference: https://docs.apollo.io/reference/archive-sequence

ActionTry it

Bulk create Apollo accounts

Creates multiple accounts in Apollo.io with a single API call (maximum 100 accounts per request). Use when creating multiple company records at once.

ActionTry it

Bulk create Apollo contacts

Tool to bulk create multiple contacts in Apollo with a single API call. Use when you need to create multiple contacts efficiently. Supports up to 100 contacts per request with optional deduplication.

ActionTry it

Bulk organization enrichment

Enriches data for up to 10 organizations simultaneously by providing a list of their base company domains (e.g., 'apollo.io', not 'www.apollo.io'). Each call consumes Apollo credits per domain enriched; monitor quota to avoid exhaustion errors.

ActionTry it

Bulk people enrichment

Use to enrich multiple person profiles simultaneously with comprehensive data from Apollo's database. Each call consumes Apollo credits; avoid re-enriching the same contacts. Responses may include null or missing fields (e.g., email, phone, organization); treat unmatched records as valid 'no match' outcomes, not errors. Heavy use may trigger HTTP 429; respect Retry-After headers.

ActionTry it

Bulk update account stage

Bulk updates the stage for specified existing Apollo.io accounts, moving them to a valid new account stage.

ActionTry it

Bulk update Apollo contacts

Tool to bulk update multiple Apollo contacts with a single API call. Use when updating multiple contacts simultaneously - either apply the same updates to all contacts using contact_ids, or apply different updates to each contact using contact_attributes. Automatically processes asynchronously for more than 100 contacts.

ActionTry it

Check Apollo API key status

Tool to check whether the provided Apollo API key is valid and accepted by Apollo (health/auth check).

ActionTry it

Complete Apollo Task

Permanently mark an Apollo task as completed and return its resulting state. Apollo provides no undo or reopen route, so confirm the task ID before calling.

ActionTry it

Create an Apollo account

Creates a new account in Apollo.io; a new record is created even if a similar account exists, and provided `owner_id` or `account_stage_id` must be valid existing IDs. The response includes the new account's ID, which can be used directly in subsequent calls.

ActionTry it

Create Apollo contact

Creates a new contact in Apollo.io; use `account_id` to link to an organization and `contact_stage_id` for sales stage. Apollo does not auto-deduplicate — duplicate records sharing the same email are silently created; always search via APOLLO_SEARCH_CONTACTS before calling this tool. Requires explicit user confirmation before execution.

ActionTry it

Create Apollo deal

Creates a new sales opportunity (deal) in Apollo.io; all provided IDs (`owner_id`, `account_id`, `opportunity_stage_id`) must be valid existing Apollo identifiers. This action has persistent side effects — obtain explicit user confirmation before invoking.

ActionTry it

Create Apollo Sequence

Create an Apollo outreach sequence, optionally including steps and email variants.

ActionTry it

Create Apollo Task

Tool to create a single task in Apollo.io. Use when you need to add a new task to your team's Apollo account for a specific contact. The task will be assigned to a user and includes details like type, status, priority, due date, and optional notes.

ActionTry it

Create call record in Apollo

Tool to log call records in Apollo from external systems. Use when recording calls made through outside systems like Orum or Nooks; requires a master API key and cannot dial prospects directly.

ActionTry it

Create custom field

Creates a new custom field in Apollo.io for contacts, accounts, or opportunities. Use when you need to define additional data fields beyond Apollo's standard attributes.

ActionTry it

Create Email Draft

Create an unsent Apollo outreach draft, or return the existing draft already linked to outreach_task_id.

ActionTry it

Deactivate Sequence

Deactivate an active Apollo sequence. Deactivation pauses all enrolled contacts and stops scheduled email sends. Reference: https://docs.apollo.io/reference/abort-sequence

ActionTry it

Enrich organization data

Fetches comprehensive organization enrichment data from Apollo.io for a given company domain; results are most meaningful if the company exists in Apollo's database. Each call consumes Apollo credits and may be unavailable on free plans. Returns HTTP 429 under burst usage; use exponential backoff on retries.

ActionTry it

Enrich person with Apollo

Enriches and retrieves information for a person from Apollo.io. Requires one of: `id`, `email`, `hashed_email`, `linkedin_url`, or (`first_name` and `last_name` with `organization_name` or `domain`) for matching. `webhook_url` must be provided if `reveal_phone_number` is true. Name-only inputs without `organization_name` or `domain` frequently return no matches.

ActionTry it

Export Conversations

Start an asynchronous gzipped JSON conversation export and email a team member when it is ready. Apollo charges 1 conversation credit for each exported conversation that has AI insights and 0 for each conversation without AI insights. Free plans allow one export request per minute and 20 per hour.

ActionTry it

Get Account by ID

Tool to retrieve detailed information about a specific account by its Apollo ID. Use when you need to fetch complete account data including company details, contact information, and CRM integration fields.

ActionTry it

Get Apollo Contact

Retrieves detailed information about a specific contact by its ID. Use this to view contact details including name, email, phone numbers, organization, and custom fields.

ActionTry it

Get Apollo deal

Retrieves information about a specific deal by its ID. Use this when you need to view details of a single deal.

ActionTry it

Get Apollo Task

Retrieves the full details of one Apollo task by ID, including associated records and type-specific data when present.

ActionTry it

Get Conversation

Retrieve full Apollo conversation details, including transcript, participants, recordings, and opportunities. Apollo charges one conversation credit when AI insights are present and zero otherwise.

ActionTry it

Get Conversation Export

Retrieve the download redirect URL for a previously started Apollo conversation export.

ActionTry it

Get Email Activities

Retrieves content, open and click activity, and recipient details for one Apollo sequence email. Requires a master API key; OAuth is unsupported.

ActionTry it

Get Email Content

Retrieve content for up to 10 sent team outreach emails.

ActionTry it

Get Labels

Retrieves all labels from Apollo.io, used for organizing contacts and accounts. Call this before APOLLO_CREATE_CONTACT or APOLLO_UPDATE_ACCOUNT to validate label values against the returned list; mismatched labels cause 400/422 errors.

ActionTry it

Get opportunity stages

Retrieves all configured opportunity (deal) stages from the Apollo.io account.

ActionTry it

Get Organization by ID

Retrieves complete information about a specific organization by its Apollo ID. Use when you need detailed company data including funding, technologies, employee counts, and more.

ActionTry it

Get Organization Job Postings

Retrieves paginated job postings for a specified organization by its ID, optionally filtering by domain; ensure `organization_id` is a valid identifier.

ActionTry it

Get typed custom fields

Retrieves all typed custom field definitions available in the Apollo.io instance, detailing their types and configurations. Call before constructing payloads for APOLLO_UPDATE_CONTACT or APOLLO_UPDATE_ACCOUNT — mismatched types or invalid enum options cause 400 errors.

ActionTry it

List Apollo account stages

Retrieves the IDs for all available account stages in your team's Apollo account.

ActionTry it

List apollo contact stages

Retrieves all available contact stages from an Apollo account, including their unique IDs and names.

ActionTry it

List Apollo deals

Retrieves a list of deals from Apollo, using Apollo's default sort order if 'sort_by_field' is omitted.

ActionTry it

List Apollo Notes

List notes associated with Apollo records. Supply at least one contact, account, opportunity, calendar-event, or conversation ID field.

ActionTry it

List Apollo Users

Retrieves a list of all users (teammates) associated with the Apollo account, supporting pagination via `page` and `per_page` parameters. Use this to obtain numeric user IDs required by operations like APOLLO_UPDATE_CONTACT_OWNERSHIP — names or email addresses are not accepted in place of these IDs.

ActionTry it

List email accounts

Retrieves all email accounts and their details for the authenticated user; takes no parameters.

ActionTry it

List Fields

Retrieves all field definitions from Apollo.io, including system fields and custom fields. Use the optional 'source' parameter to filter by field type (system, custom, or crm_synced).

ActionTry it

Query Analytics Report

Query Apollo analytics metrics, dimensions, filters, and date ranges. This endpoint costs zero credits. Apollo rate limits depend on the connected team's plan; use the returned rate_limit metadata as the source of truth. Metric and dimension descriptions include common Apollo identifiers; team-defined custom metrics use custom_metric_{id}.

ActionTry it

Search Apollo Accounts

Searches for accounts within your existing Apollo.io database using various criteria; requires a paid plan and is limited to 50,000 records.

ActionTry it

Search Apollo contacts

Searches Apollo contacts using keywords, stage IDs (from 'List Contact Stages' action), or sorting (max 50,000 records; `sort_ascending` requires `sort_by_field`). Search before creating contacts to avoid duplicates.

ActionTry it

Search Apollo Conversations

Search Apollo video meetings and dialer calls using record, participant, date, scorecard, sorting, and visibility filters.

ActionTry it

Search for Calls

Searches for call records in Apollo.io using filters like date range, duration, direction (inbound/outgoing), users, contacts, purposes, outcomes, and keywords. Supports pagination for efficient data retrieval.

ActionTry it

Search news articles

Tool to search for news articles about companies in Apollo's database. Use when you need to find recent news, announcements, or updates about specific organizations using their Apollo IDs.

ActionTry it

Search organizations in Apollo

Searches Apollo's database for organizations using various filters; consumes credits on every call (unavailable on free plans) — avoid re-running identical queries and surface quota errors rather than retrying. Retrieves a maximum of 50,000 records; uses `page` (1-500) and `per_page` (1-100) for pagination — check `total_pages` in the response to iterate. Overly strict filter combinations can return zero results; start broad and narrow iteratively. Empty results and `org_not_found` are valid outcomes, not errors.

ActionTry it

Search outreach emails

Tool to search for outreach emails sent through Apollo sequences. Use when you need to find emails created and sent by your team as part of Apollo email campaigns. This endpoint requires a master API key and has a display limit of 50,000 records (100 records per page, up to 500 pages).

ActionTry it

Search sequences

Searches for sequences (e.g., automated email campaigns) in Apollo.io.

ActionTry it

Search tasks

Searches for tasks in Apollo.io using filters like keywords, date ranges (due, created, updated), priorities, types, assigned users, associated contacts/accounts, supporting sorting and pagination.

ActionTry it

Send Email Now

Queue an Apollo email for external sending; success means queued, not delivered. This action causes Apollo to send an email outside Composio. Apollo processes the send asynchronously, so callers must check send status separately for delivery. Reference: https://docs.apollo.io/reference/send-email-now

ActionTry it

Update account ownership

Updates the ownership of multiple Apollo accounts to a specified user. Use when bulk assigning account ownership to a team member.

ActionTry it

Update an Apollo account

Updates specified attributes of an existing account in Apollo.io.

ActionTry it

Update Apollo call record

Tool to update an existing call record in Apollo.io. Use when you need to modify details of a previously logged phone call such as duration, status, notes, or associated contact/account information.

ActionTry it

Update Apollo contact details

Tool to update an existing contact's information in Apollo. Use when you need to modify contact details such as name, email, phone, title, organization, or custom fields. At least one field beyond contact_id must be provided.

ActionTry it

Update Apollo deal

Updates specified fields of an existing Apollo.io deal (opportunity), requiring a valid `opportunity_id`.

ActionTry it

Update Apollo Task

Update editable details of an existing Apollo task. Supply at least one update field in addition to task_id.

ActionTry it

Update contact ownership

Updates the ownership of specified Apollo contacts to a given Apollo user, who must be part of the same team.

ActionTry it

Update contact stage

Updates the stage for one or more existing contacts in Apollo.io to a new valid contact stage, useful for managing sales funnel progression.

ActionTry it

Update contact status in sequence

Updates a contact's status within a designated Apollo sequence, but cannot set the status to 'active'.

ActionTry it

Update Sequence

Update an Apollo sequence's settings, ownership, sharing, steps, and touches. Supplying emailer_steps replaces the ordered step set and can create, update, reorder, or remove steps and their touches based on the IDs supplied. Apollo can require the current complete step list even for a settings-only update. Reference: https://docs.apollo.io/reference/update-sequence

ActionTry it

View API Usage Stats

Fetches Apollo API usage statistics and rate limits for the connected team. Use before large enrichment/search runs to understand current API usage and plan/budget constraints.

ActionTry it

View Credit Usage Stats

Read team balances by credit type for Apollo's current billing cycle. Balance values represent credits except for the ``dialer`` key, which Apollo reports in minutes. This endpoint itself consumes zero credits.

ActionTry it

How the Apollo integration works

The Apollo integration connects your Dench AI CRM directly to Apollo, so agents can read and act on your Apollo data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

67 actions are available for agents to invoke on your behalf. Every call runs through Apollo's own authorization, scoped to the account you connect.

Set up Apollo in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find Apollo and click Connect — you'll authorize access through Apollo's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use Apollo in chat, or call it from an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the Apollo integration work with Dench?

The Dench Apollo integration connects your AI CRM to Apollo, so AI agents can work with your Apollo data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with Apollo via Dench?

The Apollo integration currently exposes 67 actions, including Activate Sequence, Add Contacts to Sequence, Apollo people search, Archive Sequence, Bulk create Apollo accounts, and Bulk create Apollo contacts. Agents invoke them on your behalf from chat or from automations.

Do I need to write code to connect Apollo to Dench?

No. You connect Apollo from your Dench workspace using Apollo's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the Apollo integration secure?

Connections are authorized through Apollo's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Apollo connection from your workspace settings at any time.

Apollo | Dench AI CRM