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: Install | Step 2: Pair Account | Step 3: Connect Apollo |
|---|---|---|
| :---: | :---: | :---: |
| !Install | !Pair | App-specific connection GIF coming soon |
| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Apollo |
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ 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.
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."
# 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.clawlink_integrations
Response: Returns all connected integrations. Look for apollo in the list.
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 apollo| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
apollo_people_search | Search Apollo contacts by keywords, title, seniority, and other filters | Read |
apollo_people_enrichment | Enrich a person profile by email, LinkedIn URL, or name+company | Read |
apollo_bulk_people_enrichment | Enrich up to 10 people profiles simultaneously | Read |
apollo_get_contact | Get detailed information about a specific contact by ID | Read |
apollo_search_contacts | Search contacts by keywords or stage IDs | Read |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
apollo_organization_search | Search organizations by domain, name, or other filters | Read |
apollo_organization_enrichment | Enrich organization data by domain | Read |
apollo_bulk_organization_enrichment | Enrich up to 10 organizations by domain | Read |
apollo_get_organization | Get detailed organization information by ID | Read |
apollo_get_organization_job_postings | Get job postings for an organization | Read |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
apollo_create_account | Create a new account in Apollo | Write |
apollo_create_bulk_accounts | Create up to 100 accounts in one call | Write |
apollo_update_account | Update account attributes | Write |
apollo_bulk_update_account_stage | Bulk update the stage for multiple accounts | Write |
apollo_search_accounts | Search existing accounts in your Apollo database | Read |
apollo_get_account | Get account details by Apollo ID | Read |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
apollo_create_contact | Create a new contact (deduplication not automatic — search first) | Write |
apollo_create_bulk_contacts | Create up to 100 contacts in one call | Write |
apollo_update_contact | Update contact attributes | Write |
apollo_update_contacts_bulk | Bulk update multiple contacts | Write |
apollo_update_contact_ownership | Change contact owner | Write |
apollo_update_contact_stage | Update contact stage in a sequence | Write |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
apollo_add_contacts_to_sequence | Add contacts to an email sequence | Write |
apollo_update_contact_status_in_sequence | Update a contact's status within a sequence | Write |
apollo_search_sequences | Search available email sequences | Read |
apollo_search_outreach_emails | Search emails sent through Apollo sequences | Read |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
apollo_create_task | Create a task for a contact | Write |
apollo_search_tasks | Search tasks by keywords, date, priority, or assignee | Read |
apollo_create_call_record | Log a call record from an external system | Write |
apollo_update_call_record | Update a call record | Write |
apollo_search_calls | Search logged call records | Read |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
apollo_create_deal | Create a new sales opportunity/deal | Write |
apollo_update_deals | Update deal fields | Write |
apollo_list_deals | List deals from Apollo | Read |
apollo_get_deal | Get deal details by ID | Read |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
apollo_list_users | List team members (needed for owner IDs) | Read |
apollo_list_account_stages | Get available account stage IDs | Read |
apollo_list_contact_stages | Get available contact stage IDs | Read |
apollo_get_opportunity_stages | Get deal stage IDs | Read |
apollo_get_labels | Get available labels for contacts/accounts | Read |
apollo_list_fields | Get all field definitions | Read |
apollo_get_typed_custom_fields | Get typed custom field definitions | Read |
apollo_view_api_usage_stats | Check API usage and credit quota | Read |
clawlink_call_tool --tool "apollo_search_contacts" \
--params '{
"query": "product manager",
"person_titles": ["product manager"],
"per_page": 10
}'
clawlink_call_tool --tool "apollo_people_enrichment" \
--params '{
"email": "sarah.chen@techcorp.io"
}'
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"
}'
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.┌─────────────────────────────────────────────────────────────┐
│ 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 / Error | Meaning |
|---|---|
| ---------------- | --------- |
| Tool not found | The tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration apollo. |
| Missing connection | Apollo is not connected. Direct the user to https://claw-link.dev/dashboard?add=apollo. |
org_not_found | Organization not found in Apollo database. Try a broader search. |
HTTP 429 | Rate limit hit. Wait and retry with exponential backoff. |
HTTP 422 | Invalid request — often missing required IDs or mismatched label/field values. |
InvalidArgument | Invalid parameter or missing required field. Review the tool schema with clawlink_describe_tool. |
| Write rejected | User did not confirm a write action. Always confirm before executing writes. |
```bash
openclaw plugins list
```
/new as a standalone message to reload the catalog.```bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
```
/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
共 3 个版本