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.
Step 1: InstallStep 2: Pair AccountStep 3: Connect Apollo
_App-specific connection GIF coming soon_Run the install command in OpenClawSign in and approve the deviceOpen the dashboard and connect Apollo
text
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ 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 the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
bash
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."
bash
# 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"}'
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.
clawlink_begin_pairing if it is not configured yet.clawlink_list_integrations to verify the connection is active.bash
clawlink_integrations
Response: Returns all connected integrations. Look for apollo in the list.
bash
clawlink_list_tools --integration apollo
Response: Returns the live tool catalog for Apollo.
If Apollo tools are missing or the connection shows an error:
clawlink_list_integrations to verifyclawlink_list_tools --integration apolloToolDescriptionModeapollo_people_searchSearch Apollo contacts by keywords, title, seniority, and other filtersReadapollo_people_enrichmentEnrich a person profile by email, LinkedIn URL, or name+companyReadapollo_bulk_people_enrichmentEnrich up to 10 people profiles simultaneouslyReadapollo_get_contactGet detailed information about a specific contact by IDReadapollo_search_contactsSearch contacts by keywords or stage IDsRead
ToolDescriptionModeapollo_organization_searchSearch organizations by domain, name, or other filtersReadapollo_organization_enrichmentEnrich organization data by domainReadapollo_bulk_organization_enrichmentEnrich up to 10 organizations by domainReadapollo_get_organizationGet detailed organization information by IDReadapollo_get_organization_job_postingsGet job postings for an organizationRead
ToolDescriptionModeapollo_create_accountCreate a new account in ApolloWriteapollo_create_bulk_accountsCreate up to 100 accounts in one callWriteapollo_update_accountUpdate account attributesWriteapollo_bulk_update_account_stageBulk update the stage for multiple accountsWriteapollo_search_accountsSearch existing accounts in your Apollo databaseReadapollo_get_accountGet account details by Apollo IDRead
ToolDescriptionModeapollo_create_contactCreate a new contact (deduplication not automatic — search first)Writeapollo_create_bulk_contactsCreate up to 100 contacts in one callWriteapollo_update_contactUpdate contact attributesWriteapollo_update_contacts_bulkBulk update multiple contactsWriteapollo_update_contact_ownershipChange contact ownerWriteapollo_update_contact_stageUpdate contact stage in a sequenceWrite
ToolDescriptionModeapollo_add_contacts_to_sequenceAdd contacts to an email sequenceWriteapollo_update_contact_status_in_sequenceUpdate a contact's status within a sequenceWriteapollo_search_sequencesSearch available email sequencesReadapollo_search_outreach_emailsSearch emails sent through Apollo sequencesRead
ToolDescriptionModeapollo_create_taskCreate a task for a contactWriteapollo_search_tasksSearch tasks by keywords, date, priority, or assigneeReadapollo_create_call_recordLog a call record from an external systemWriteapollo_update_call_recordUpdate a call recordWriteapollo_search_callsSearch logged call recordsRead
ToolDescriptionModeapollo_create_dealCreate a new sales opportunity/dealWriteapollo_update_dealsUpdate deal fieldsWriteapollo_list_dealsList deals from ApolloReadapollo_get_dealGet deal details by IDRead
ToolDescriptionModeapollo_list_usersList team members (needed for owner IDs)Readapollo_list_account_stagesGet available account stage IDsReadapollo_list_contact_stagesGet available contact stage IDsReadapollo_get_opportunity_stagesGet deal stage IDsReadapollo_get_labelsGet available labels for contacts/accountsReadapollo_list_fieldsGet all field definitionsReadapollo_get_typed_custom_fieldsGet typed custom field definitionsReadapollo_view_api_usage_statsCheck API usage and credit quotaRead
bash
clawlink_call_tool --tool "apollo_search_contacts" \
--params '{
"query": "product manager",
"person_titles": ["product manager"],
"per_page": 10
}'
bash
clawlink_call_tool --tool "apollo_people_enrichment" \
--params '{
"email": "sarah.chen@techcorp.io"
}'
bash
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"
}'
bash
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"
}'
clawlink_list_integrations to confirm Apollo is connected.clawlink_list_tools --integration apollo to see the live catalog.clawlink_search_tools with a short query and integration apollo.text
┌─────────────────────────────────────────────────────────────┐
│ 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 │
└─────────────────────────────────────────────────────────────┘
clawlink_describe_tool first.whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.clawlink_preview_tool first.clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.apollo_search_contacts before creating a new contact to avoid duplicates.org_not_found and null email/phone fields in enrichment results are valid outcomes, not errors.apollo_get_labels before use on contacts or accounts.apollo_get_typed_custom_fields or updates will fail.Status / ErrorMeaningTool 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.
Check that the ClawLink plugin is installed: bash
openclaw plugins list
If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
If a fresh chat does not help, run: bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
After restart, tell the user to send /new again and retry.
apollo.clawlink_describe_tool to verify parameter names and types before calling.clawlink_preview_tool first.Powered by ClawLink — an integration hub for OpenClaw
