isaWOW
    Back to Skills & MCP Library
    Claude Skill · Sales & CRM

    Apollo Automation

    Automate Apollo.io lead generation -- search organizations, discover contacts, enrich prospect data, manage contact stages, and build targeted outreach lists -- using natural language through the Composio MCP integration.

    Claude
    Claude Code
    OpenClaw
    Hermes
    View source

    Skill definition (SKILL.md)


    name: Apollo Automation description: "Automate Apollo.io lead generation -- search organizations, discover contacts, enrich prospect data, manage contact stages, and build targeted outreach lists -- using natural language through the Composio MCP integration." category: sales-intelligence requires: mcp: - rube

    Apollo Automation

    Supercharge your sales prospecting with Apollo.io -- search companies, discover decision-makers, enrich contact data with emails and phone numbers, and manage your sales pipeline stages -- all through natural language commands.

    Toolkit docs: composio.dev/toolkits/apollo


    Setup

    1. Add the Composio MCP server to your client configuration:
      https://rube.app/mcp
      
    2. Connect your Apollo.io account when prompted (API key authentication).
    3. Start issuing natural language commands to prospect and enrich leads.

    Core Workflows

    1. Search Organizations

    Find target companies using filters like name, location, employee count, and industry keywords.

    Tool: APOLLO_ORGANIZATION_SEARCH

    Example prompt:

    "Find SaaS companies in Texas with 50-500 employees on Apollo"

    Key parameters:

    • q_organization_name -- Partial name match (e.g., "Apollo" matches "Apollo Inc.")
    • organization_locations -- HQ locations to include (e.g., "texas", "tokyo")
    • organization_not_locations -- HQ locations to exclude
    • organization_num_employees_ranges -- Employee ranges in "min,max" format (e.g., "50,500")
    • q_organization_keyword_tags -- Industry keywords (e.g., "software", "healthcare")
    • page / per_page -- Pagination (max 100 per page, max 500 pages)

    2. Discover People at Companies

    Search Apollo's contact database for people matching title, seniority, location, and company criteria.

    Tool: APOLLO_PEOPLE_SEARCH

    Example prompt:

    "Find VPs of Sales at microsoft.com and apollo.io"

    Key parameters:

    • person_titles -- Job titles (e.g., "VP of Sales", "CTO")
    • person_seniorities -- Seniority levels (e.g., "director", "vp", "senior")
    • person_locations -- Geographic locations of people
    • q_organization_domains -- Company domains (e.g., "apollo.io" -- exclude "www.")
    • organization_ids -- Apollo company IDs from Organization Search
    • contact_email_status -- Filter by email status: "verified", "unverified", "likely to engage"
    • page / per_page -- Pagination (max 100 per page)

    3. Enrich Individual Contacts

    Get comprehensive data (email, phone, LinkedIn, company info) for a single person using their email, LinkedIn URL, or name + company.

    Tool: APOLLO_PEOPLE_ENRICHMENT

    Example prompt:

    "Enrich Tim Zheng at Apollo.io on Apollo"

    Key parameters (at least one identifier required):

    • email -- Person's email address
    • linkedin_url -- Full LinkedIn profile URL
    • first_name + last_name + (organization_name or domain) -- Name-based matching
    • domain -- Bare hostname without protocol (e.g., "apollo.io", not "https://apollo.io")
    • reveal_personal_emails -- Set true to get personal emails (may use extra credits)
    • reveal_phone_number -- Set true for phone numbers (requires webhook_url)

    4. Bulk Enrich Prospects

    Enrich up to 10 people simultaneously for efficient batch processing.

    Tool: APOLLO_BULK_PEOPLE_ENRICHMENT

    Example prompt:

    "Bulk enrich these 5 leads with their Apollo data: [list of names/emails]"

    Key parameters:

    • details (required) -- Array of 1-10 person objects, each with identifiers like email, linkedin_url, first_name, last_name, domain, company_name
    • reveal_personal_emails -- Include personal emails (extra credits)
    • reveal_phone_number -- Include phone numbers (requires webhook_url)

    5. Manage Contact Pipeline Stages

    List available stages and update contacts through your sales funnel.

    Tools: APOLLO_LIST_CONTACT_STAGES, APOLLO_UPDATE_CONTACT_STAGE

    Example prompt:

    "Move contacts X and Y to the 'Qualified' stage in Apollo"

    Key parameters for listing stages: None required.

    Key parameters for updating stage:

    • contact_ids (required) -- Array of contact IDs to update
    • contact_stage_id (required) -- Target stage ID (from List Contact Stages)

    6. Create and Search Saved Contacts

    Create new contact records and search your existing Apollo contact database.

    Tools: APOLLO_CREATE_CONTACT, APOLLO_SEARCH_CONTACTS

    Example prompt:

    "Search my Apollo contacts for anyone at Stripe"

    Key parameters for search:

    • Keyword search, stage ID filtering, sorting options
    • page / per_page -- Pagination

    Key parameters for create:

    • first_name, last_name, email, organization_name
    • account_id -- Link to an organization
    • contact_stage_id -- Initial sales stage

    Known Pitfalls

    • Organization domains can be empty: Some organizations from APOLLO_ORGANIZATION_SEARCH return missing or empty domain fields. Use APOLLO_ORGANIZATION_ENRICHMENT to validate domains before relying on them.
    • HTTP 403 means config issues: A 403 response indicates API key or plan access problems -- do not retry. Fix your credentials or plan first.
    • People search returns obfuscated data: APOLLO_PEOPLE_SEARCH may show has_email/has_direct_phone flags or obfuscated fields instead of full contact details. Use APOLLO_PEOPLE_ENRICHMENT to get complete information.
    • Pagination limits are strict: People search supports per_page up to 100 and max 500 pages. Stopping early can miss large portions of the result set.
    • Bulk enrichment has small batch limits: APOLLO_BULK_PEOPLE_ENRICHMENT accepts only 10 items per call. It can return status='success' with missing_records > 0 when identifiers are insufficient -- retry individual records with APOLLO_PEOPLE_ENRICHMENT.
    • No automatic deduplication: APOLLO_CREATE_CONTACT does not deduplicate. Check for existing contacts first with APOLLO_SEARCH_CONTACTS.
    • Domain format matters: Always use bare hostnames (e.g., "apollo.io") without protocol prefixes ("https://") or "www." prefix.

    Quick Reference

    ActionTool SlugRequired Params
    Search organizationsAPOLLO_ORGANIZATION_SEARCHNone (optional filters)
    Enrich organizationAPOLLO_ORGANIZATION_ENRICHMENTdomain
    Bulk enrich orgsAPOLLO_BULK_ORGANIZATION_ENRICHMENTdomains
    Search peopleAPOLLO_PEOPLE_SEARCHNone (optional filters)
    Enrich personAPOLLO_PEOPLE_ENRICHMENTOne of: email, linkedin_url, or name+company
    Bulk enrich peopleAPOLLO_BULK_PEOPLE_ENRICHMENTdetails (1-10 person objects)
    List contact stagesAPOLLO_LIST_CONTACT_STAGESNone
    Update contact stageAPOLLO_UPDATE_CONTACT_STAGEcontact_ids, contact_stage_id
    Create contactAPOLLO_CREATE_CONTACTName + identifiers
    Search contactsAPOLLO_SEARCH_CONTACTSNone (optional filters)

    Powered by Composio

    isaWOW · Custom Skill Development

    Want a custom Skill built for your team?

    We design private Claude, OpenClaw and Hermes Skills tailored to your workflows, SOPs and brand voice — production-ready in days.

    Get a custom Skill