Apollo

Other

Search prospects, accounts, contacts, and outreach data in Apollo.io via the Apollo API. Use this skill when users want to find leads, enrich company and contact data, manage sales sequences, or update CRM records.

Install

openclaw skills install @hith3sh/apollo-sales

Apollo

Apollo

Work with Apollo from chat — search prospects, accounts, contacts, and outreach data via the Apollo API with API key authentication.

This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Apollo API access yourself.

Setup in 3 Steps

Step 1: InstallStep 2: Pair AccountStep 3: Connect Apollo
InstallPairApp-specific connection GIF coming soon
Run the install command in OpenClawSign in and approve the deviceOpen the dashboard and connect Apollo

How It Works

┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐
│   OpenClaw      │────▶│   ClawLink   │────▶│ Apollo API       │
│   (User Chat)   │     │   (API Key)  │     │ (Enrichment/CRM) │
└─────────────────┘     └──────────────┘     └──────────────────┘
         │                       │                       │
         │  1. Install Plugin    │                       │
         │  2. Pair Device       │                       │
         │  3. Connect Apollo    │                       │
         │                       │  4. Secure Key │
         │                       │  5. Proxy Requests    │
         │                       │                       │
         ▼                       ▼                       ▼
   ┌──────────┐           ┌──────────┐           ┌──────────┐
   │  SKILL   │           │ Dashboard│           │ Apollo  │
   │  File    │           │ Auth     │           │ Enrich │
   └──────────┘           └──────────┘           └──────────┘

Install

Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.

openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart

Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Apollo again."

Quick Start

# Search for contacts
clawlink_call_tool --tool "apollo_search_contacts" --params '{"query": "software engineer", "person_titles": ["engineer"]}'

# Enrich a person by email
clawlink_call_tool --tool "apollo_people_enrichment" --params '{"email": "john@example.com"}'

# Search for organizations
clawlink_call_tool --tool "apollo_organization_search" --params '{"query": "acme.com"}'

Authentication

All Apollo tool calls are authenticated automatically by ClawLink using the user's connected Apollo account.

No API key is required in chat. ClawLink stores the API key securely and injects it into every Apollo API request on the user's behalf.

Getting Connected

  1. Install the ClawLink plugin (see Install above).
  2. Pair the plugin with clawlink_begin_pairing if it is not configured yet.
  3. Open https://claw-link.dev/dashboard?add=apollo and connect Apollo.
  4. Call clawlink_list_integrations to verify the connection is active.

Connection Management

List Connections

clawlink_integrations

Response: Returns all connected integrations. Look for apollo in the list.

Verify Connection

clawlink_list_tools --integration apollo

Response: Returns the live tool catalog for Apollo.

Reconnect

If Apollo tools are missing or the connection shows an error:

  1. Direct the user to https://claw-link.dev/dashboard?add=apollo
  2. After they confirm, call clawlink_list_integrations to verify
  3. Then call clawlink_list_tools --integration apollo

Security & Permissions

  • Access is scoped to the connected Apollo account's data and credits.
  • All write operations require explicit user confirmation. Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.
  • Destructive actions (delete contact, remove from sequence) are marked as high-impact and must be confirmed.
  • Enrichment and search operations consume Apollo credits — confirm before large bulk operations.

Tool Reference

People & Contact Search

ToolDescriptionMode
apollo_people_searchSearch Apollo contacts by keywords, title, seniority, and other filtersRead
apollo_people_enrichmentEnrich a person profile by email, LinkedIn URL, or name+companyRead
apollo_bulk_people_enrichmentEnrich up to 10 people profiles simultaneouslyRead
apollo_get_contactGet detailed information about a specific contact by IDRead
apollo_search_contactsSearch contacts by keywords or stage IDsRead

Organization Search & Enrichment

ToolDescriptionMode
apollo_organization_searchSearch organizations by domain, name, or other filtersRead
apollo_organization_enrichmentEnrich organization data by domainRead
apollo_bulk_organization_enrichmentEnrich up to 10 organizations by domainRead
apollo_get_organizationGet detailed organization information by IDRead
apollo_get_organization_job_postingsGet job postings for an organizationRead

Accounts

ToolDescriptionMode
apollo_create_accountCreate a new account in ApolloWrite
apollo_create_bulk_accountsCreate up to 100 accounts in one callWrite
apollo_update_accountUpdate account attributesWrite
apollo_bulk_update_account_stageBulk update the stage for multiple accountsWrite
apollo_search_accountsSearch existing accounts in your Apollo databaseRead
apollo_get_accountGet account details by Apollo IDRead

Contacts (Create/Update)

ToolDescriptionMode
apollo_create_contactCreate a new contact (deduplication not automatic — search first)Write
apollo_create_bulk_contactsCreate up to 100 contacts in one callWrite
apollo_update_contactUpdate contact attributesWrite
apollo_update_contacts_bulkBulk update multiple contactsWrite
apollo_update_contact_ownershipChange contact ownerWrite
apollo_update_contact_stageUpdate contact stage in a sequenceWrite

Sequences & Email

ToolDescriptionMode
apollo_add_contacts_to_sequenceAdd contacts to an email sequenceWrite
apollo_update_contact_status_in_sequenceUpdate a contact's status within a sequenceWrite
apollo_search_sequencesSearch available email sequencesRead
apollo_search_outreach_emailsSearch emails sent through Apollo sequencesRead

Tasks & Calls

ToolDescriptionMode
apollo_create_taskCreate a task for a contactWrite
apollo_search_tasksSearch tasks by keywords, date, priority, or assigneeRead
apollo_create_call_recordLog a call record from an external systemWrite
apollo_update_call_recordUpdate a call recordWrite
apollo_search_callsSearch logged call recordsRead

Deals

ToolDescriptionMode
apollo_create_dealCreate a new sales opportunity/dealWrite
apollo_update_dealsUpdate deal fieldsWrite
apollo_list_dealsList deals from ApolloRead
apollo_get_dealGet deal details by IDRead

Reference Data

ToolDescriptionMode
apollo_list_usersList team members (needed for owner IDs)Read
apollo_list_account_stagesGet available account stage IDsRead
apollo_list_contact_stagesGet available contact stage IDsRead
apollo_get_opportunity_stagesGet deal stage IDsRead
apollo_get_labelsGet available labels for contacts/accountsRead
apollo_list_fieldsGet all field definitionsRead
apollo_get_typed_custom_fieldsGet typed custom field definitionsRead
apollo_view_api_usage_statsCheck API usage and credit quotaRead

Code Examples

Search for contacts by title

clawlink_call_tool --tool "apollo_search_contacts" \
  --params '{
    "query": "product manager",
    "person_titles": ["product manager"],
    "per_page": 10
  }'

Enrich a person by email

clawlink_call_tool --tool "apollo_people_enrichment" \
  --params '{
    "email": "sarah.chen@techcorp.io"
  }'

Create a new contact

clawlink_call_tool --tool "apollo_create_contact" \
  --params '{
    "first_name": "John",
    "last_name": "Smith",
    "email": "john.smith@company.com",
    "organization_name": "Acme Corp",
    "title": "VP Engineering"
  }'

Add contacts to a sequence

clawlink_call_tool --tool "apollo_add_contacts_to_sequence" \
  --params '{
    "contact_ids": ["CONTACT_ID_1", "CONTACT_ID_2"],
    "sequence_id": "SEQUENCE_ID",
    "emailer_campaign_id": "CAMPAIGN_ID",
    "send_email_from_email_account_id": "EMAIL_ACCOUNT_ID"
  }'

Discovery Workflow

  1. Call clawlink_list_integrations to confirm Apollo is connected.
  2. Call clawlink_list_tools --integration apollo to see the live catalog.
  3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.
  4. If the user describes a capability but the exact tool is unclear, call clawlink_search_tools with a short query and integration apollo.
  5. If no Apollo tools appear, direct the user to https://claw-link.dev/dashboard?add=apollo.

Execution Workflow

┌─────────────────────────────────────────────────────────────┐
│  READ OPERATIONS (Safe, but may consume credits)           │
│  search → enrich → get → list → call                        │
│                                                             │
│  Example: Search contacts → Enrich → Show results          │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│  WRITE OPERATIONS (Require Confirmation)                   │
│  search → describe → preview → confirm → call              │
│                                                             │
│  Example: Search first → Preview create → User approves     │
│           → Execute create                                 │
└─────────────────────────────────────────────────────────────┘
  1. For unfamiliar tools, ambiguous requests, or any write action, call clawlink_describe_tool first.
  2. Use the returned guidance, schema, whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.
  3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.
  4. For writes or anything marked as requiring confirmation, call clawlink_preview_tool first.
  5. Execute with clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.
  6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.

Notes

  • Apollo does not auto-deduplicate contacts — always search via apollo_search_contacts before creating a new contact to avoid duplicates.
  • Enrichment operations consume credits per person or organization enriched.
  • Bulk enrichment may trigger HTTP 429 under burst usage — respect Retry-After headers.
  • org_not_found and null email/phone fields in enrichment results are valid outcomes, not errors.
  • Labels must be validated against apollo_get_labels before use on contacts or accounts.
  • Custom field types must match the schema from apollo_get_typed_custom_fields or updates will fail.
  • Sequence IDs and email campaign IDs must be retrieved from listing/search endpoints — they cannot be inferred from names.

Error Handling

Status / ErrorMeaning
Tool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration apollo.
Missing connectionApollo is not connected. Direct the user to https://claw-link.dev/dashboard?add=apollo.
org_not_foundOrganization not found in Apollo database. Try a broader search.
HTTP 429Rate limit hit. Wait and retry with exponential backoff.
HTTP 422Invalid request — often missing required IDs or mismatched label/field values.
InvalidArgumentInvalid parameter or missing required field. Review the tool schema with clawlink_describe_tool.
Write rejectedUser did not confirm a write action. Always confirm before executing writes.

Troubleshooting: Tools Not Visible

  1. Check that the ClawLink plugin is installed:
    openclaw plugins list
    
  2. If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
  3. If a fresh chat does not help, run:
    openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
    openclaw gateway restart
    
  4. After restart, tell the user to send /new again and retry.

Troubleshooting: Invalid Tool Call

  1. Ensure the integration slug is exactly apollo.
  2. Use clawlink_describe_tool to verify parameter names and types before calling.
  3. For write operations, always call clawlink_preview_tool first.

Resources

Related Skills

  • HubSpot — For HubSpot CRM operations
  • Salesforce — For Salesforce CRM operations
  • LinkedIn — For LinkedIn outreach operations

Powered by ClawLink — an integration hub for OpenClaw

ClawLink Logo