chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 12:20:06 +08:00
commit f4548892ad
1138 changed files with 185224 additions and 0 deletions
@@ -0,0 +1,13 @@
{
"name": "apollo",
"version": "0.1.0",
"description": "3 pre-built skills that chain multiple Apollo APIs into complete sales workflows — no manual steps, no tab switching. Enrich any contact from a name, email, or LinkedIn URL. Prospect by describing your ICP in plain English and get ranked leads. Find, enrich, and load contacts into a sequence in one shot.",
"author": {
"name": "Apollo.io",
"url": "https://www.apollo.io/"
},
"repository": "https://github.com/apolloio/apollo-mcp-plugin",
"homepage": "https://www.apollo.io/",
"license": "MIT",
"keywords": ["apollo", "sales", "prospecting", "icp", "enrichment", "sequences", "mcp"]
}
+8
View File
@@ -0,0 +1,8 @@
{
"mcpServers": {
"apollo": {
"type": "http",
"url": "https://mcp.apollo.io/mcp"
}
}
}
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Apollo.io
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+99
View File
@@ -0,0 +1,99 @@
# Apollo Plugin for Claude Code and Cowork
Prospect, enrich leads, and load outreach sequences with [Apollo.io](https://www.apollo.io/) — powered by the Apollo MCP Server with **one-click integration**.
---
## 🔌 One-Click MCP Server Integration
This plugin **automatically configures the Apollo MCP Server** when installed. No manual server setup, no config files to edit - just install the plugin and authenticate with your Apollo Account.
---
## ✅ Powerful Skills
This plugin ships with high-value skills that chain multiple Apollo APIs into complete workflows:
| Skill | What it does |
|---|---|
| `/apollo:enrich-lead` | Drop a name, LinkedIn URL, or email — get a full contact card with email, phone, company intel, and next actions |
| `/apollo:prospect` | Describe your ICP in plain English — get a ranked table of enriched decision-maker leads |
| `/apollo:sequence-load` | Find leads, enrich them, and bulk-load into an outreach sequence — handles dedup and enrollment |
### `/apollo:enrich-lead`
Drop in a name, company, LinkedIn URL, or email — get back a complete contact card with email, phone, title, location, company details, and suggested next actions. Handles fuzzy lookups (e.g. "CEO of Figma") and falls back to search when exact match fails.
### `/apollo:prospect`
Describe your ICP in plain English. The pipeline searches for matching companies, bulk-enriches firmographic data, finds decision makers, reveals contact info via bulk enrichment, and returns a ranked lead table with ICP fit scores.
### `/apollo:sequence-load`
Find contacts matching your targeting criteria, enrich them, create them as contacts with deduplication, and bulk-add them to an existing Apollo sequence. Previews candidates before enrollment and shows a full summary after.
---
## 📦 Installation
### Cowork
Click the link below to install in one step:
[Install in Cowork](https://claude.ai/desktop/customize/plugins/new?marketplace=apolloio/apollo-mcp-plugin&plugin=apollo)
Then restart Cowork to ensure the MCP server starts correctly.
### Claude Code
#### 1. Add this plugin's marketplace
In Claude Code, run:
```
/plugin marketplace add apolloio/apollo-mcp-plugin
```
#### 2. Install the plugin
```
/plugin install apollo@apollo-plugin-marketplace
```
#### 3. Restart Claude Code
This ensures the MCP server starts correctly.
---
## 🔑 Authentication
The Apollo MCP Server supports **OAuth**:
1. After installation, run `/mcp` in Claude Code or Cowork
2. Select the **Apollo** server and click **Authenticate**
3. Complete the Apollo.io login in your browser
4. Done — all commands are now ready to use
---
## ⚠️ Apollo Credits
Some operations consume [Apollo credits](https://docs.apollo.io/):
- **People enrichment** (used by all three skills) costs 1 credit per person
- **Bulk enrichment** (`/apollo:prospect`, `/apollo:sequence-load`) consumes 1 credit per person in the batch
- The plugin will always warn you before consuming credits
---
## 🙌 Credits
- **MCP Server** by [Apollo.io](https://docs.apollo.io/)
- **Plugin Specification** by [Anthropic](https://docs.anthropic.com/)
---
## License
MIT — see [LICENSE](LICENSE) for details.
@@ -0,0 +1,80 @@
---
name: enrich-lead
description: "Instant lead enrichment. Drop a name, company, LinkedIn URL, or email and get the full contact card with email, phone, title, company intel, and next actions."
user-invocable: true
argument-hint: "[name, company, LinkedIn URL, or email]"
---
# Enrich Lead
Turn any identifier into a full contact dossier. The user provides identifying info via "$ARGUMENTS".
## Examples
- `/apollo:enrich-lead Tim Zheng at Apollo`
- `/apollo:enrich-lead https://www.linkedin.com/in/timzheng`
- `/apollo:enrich-lead sarah@stripe.com`
- `/apollo:enrich-lead Jane Smith, VP Engineering, Notion`
- `/apollo:enrich-lead CEO of Figma`
## Step 1 — Parse Input
From "$ARGUMENTS", extract every identifier available:
- First name, last name
- Company name or domain
- LinkedIn URL
- Email address
- Job title (use as a matching hint)
If the input is ambiguous (e.g. just "CEO of Figma"), first use `mcp__claude_ai_Apollo_MCP__apollo_mixed_people_api_search` with relevant title and domain filters to identify the person, then proceed to enrichment.
## Step 2 — Enrich the Person
> **Credit warning**: Tell the user enrichment consumes 1 Apollo credit before calling.
Use `mcp__claude_ai_Apollo_MCP__apollo_people_match` with all available identifiers:
- `first_name`, `last_name` if name is known
- `domain` or `organization_name` if company is known
- `linkedin_url` if LinkedIn is provided
- `email` if email is provided
- Set `reveal_personal_emails` to `true`
If the match fails, try `mcp__claude_ai_Apollo_MCP__apollo_mixed_people_api_search` with looser filters and present the top 3 candidates. Ask the user to pick one, then re-enrich.
## Step 3 — Enrich Their Company
Use `mcp__claude_ai_Apollo_MCP__apollo_organizations_enrich` with the person's company domain to pull firmographic context.
## Step 4 — Present the Contact Card
Format the output exactly like this:
---
**[Full Name]** | [Title]
[Company Name] · [Industry] · [Employee Count] employees
| Field | Detail |
|---|---|
| Email (work) | ... |
| Email (personal) | ... (if revealed) |
| Phone (direct) | ... |
| Phone (mobile) | ... |
| Phone (corporate) | ... |
| Location | City, State, Country |
| LinkedIn | URL |
| Company Domain | ... |
| Company Revenue | Range |
| Company Funding | Total raised |
| Company HQ | Location |
---
## Step 5 — Offer Next Actions
Ask the user which action to take:
1. **Save to Apollo** — Create this person as a contact via `mcp__claude_ai_Apollo_MCP__apollo_contacts_create` with `run_dedupe: true`
2. **Add to a sequence** — Ask which sequence, then run the sequence-load flow
3. **Find colleagues** — Search for more people at the same company using `mcp__claude_ai_Apollo_MCP__apollo_mixed_people_api_search` with `q_organization_domains_list` set to this company
4. **Find similar people** — Search for people with the same title/seniority at other companies
@@ -0,0 +1,90 @@
---
name: prospect
description: "Full ICP-to-leads pipeline. Describe your ideal customer in plain English and get a ranked table of enriched decision-maker leads with emails and phone numbers."
user-invocable: true
argument-hint: "[describe your ideal customer]"
---
# Prospect
Go from an ICP description to a ranked, enriched lead list in one shot. The user describes their ideal customer via "$ARGUMENTS".
## Examples
- `/apollo:prospect VP of Engineering at Series B+ SaaS companies in the US, 200-1000 employees`
- `/apollo:prospect heads of marketing at e-commerce companies in Europe`
- `/apollo:prospect CTOs at fintech startups, 50-500 employees, New York`
- `/apollo:prospect procurement managers at manufacturing companies with 1000+ employees`
- `/apollo:prospect SDR leaders at companies using Salesforce and Outreach`
## Step 1 — Parse the ICP
Extract structured filters from the natural language description in "$ARGUMENTS":
**Company filters:**
- Industry/vertical keywords → `q_organization_keyword_tags`
- Employee count ranges → `organization_num_employees_ranges`
- Company locations → `organization_locations`
- Specific domains → `q_organization_domains_list`
**Person filters:**
- Job titles → `person_titles`
- Seniority levels → `person_seniorities`
- Person locations → `person_locations`
If the ICP is vague, ask 1-2 clarifying questions before proceeding. At minimum, you need a title/role and an industry or company size.
## Step 2 — Search for Companies
Use `mcp__claude_ai_Apollo_MCP__apollo_mixed_companies_search` with the company filters:
- `q_organization_keyword_tags` for industry/vertical
- `organization_num_employees_ranges` for size
- `organization_locations` for geography
- Set `per_page` to 25
## Step 3 — Enrich Top Companies
Use `mcp__claude_ai_Apollo_MCP__apollo_organizations_bulk_enrich` with the domains from the top 10 results. This reveals revenue, funding, headcount, and firmographic data to help rank companies.
## Step 4 — Find Decision Makers
Use `mcp__claude_ai_Apollo_MCP__apollo_mixed_people_api_search` with:
- `person_titles` and `person_seniorities` from the ICP
- `q_organization_domains_list` scoped to the enriched company domains
- `per_page` set to 25
## Step 5 — Enrich Top Leads
> **Credit warning**: Tell the user exactly how many credits will be consumed before proceeding.
Use `mcp__claude_ai_Apollo_MCP__apollo_people_bulk_match` to enrich up to 10 leads per call with:
- `first_name`, `last_name`, `domain` for each person
- `reveal_personal_emails` set to `true`
If more than 10 leads, batch into multiple calls.
## Step 6 — Present the Lead Table
Show results in a ranked table:
### Leads matching: [ICP Summary]
| # | Name | Title | Company | Employees | Revenue | Email | Phone | ICP Fit |
|---|---|---|---|---|---|---|---|---|
**ICP Fit** scoring:
- **Strong** — title, seniority, company size, and industry all match
- **Good** — 3 of 4 criteria match
- **Partial** — 2 of 4 criteria match
**Summary**: Found X leads across Y companies. Z credits consumed.
## Step 7 — Offer Next Actions
Ask the user:
1. **Save all to Apollo** — Bulk-create contacts via `mcp__claude_ai_Apollo_MCP__apollo_contacts_create` with `run_dedupe: true` for each lead
2. **Load into a sequence** — Ask which sequence and run the sequence-load flow for these contacts
3. **Deep-dive a company** — Run `/apollo:company-intel` on any company from the list
4. **Refine the search** — Adjust filters and re-run
5. **Export** — Format leads as a CSV-style table for easy copy-paste
@@ -0,0 +1,120 @@
---
name: sequence-load
description: "Find leads matching criteria and bulk-add them to an Apollo outreach sequence. Handles enrichment, contact creation, deduplication, and enrollment in one flow."
user-invocable: true
argument-hint: "[targeting criteria + sequence name]"
---
# Sequence Load
Find, enrich, and load contacts into an outreach sequence — end to end. The user provides targeting criteria and a sequence name via "$ARGUMENTS".
## Examples
- `/apollo:sequence-load add 20 VP Sales at SaaS companies to my "Q1 Outbound" sequence`
- `/apollo:sequence-load SDR managers at fintech startups → Cold Outreach v2`
- `/apollo:sequence-load list sequences` (shows all available sequences)
- `/apollo:sequence-load directors of engineering, 500+ employees, US → Demo Follow-up`
- `/apollo:sequence-load reload 15 more leads into "Enterprise Pipeline"`
## Step 1 — Parse Input
From "$ARGUMENTS", extract:
**Targeting criteria:**
- Job titles → `person_titles`
- Seniority levels → `person_seniorities`
- Industry keywords → `q_organization_keyword_tags`
- Company size → `organization_num_employees_ranges`
- Locations → `person_locations` or `organization_locations`
**Sequence info:**
- Sequence name (text after "to", "into", or "→")
- Volume — how many contacts to add (default: 10 if not specified)
If the user just says "list sequences", skip to Step 2 and show all available sequences.
## Step 2 — Find the Sequence
Use `mcp__claude_ai_Apollo_MCP__apollo_emailer_campaigns_search` to find the target sequence:
- Set `q_name` to the sequence name from input
If no match or multiple matches:
- Show all available sequences in a table: | Name | ID | Status |
- Ask the user to pick one
## Step 3 — Get Email Account
Use `mcp__claude_ai_Apollo_MCP__apollo_email_accounts_index` to list linked email accounts.
- If one account → use automatically
- If multiple → show them and ask which to send from
## Step 4 — Find Matching People
Use `mcp__claude_ai_Apollo_MCP__apollo_mixed_people_api_search` with the targeting criteria.
- Set `per_page` to the requested volume (or 10 by default)
Present the candidates in a preview table:
| # | Name | Title | Company | Location |
|---|---|---|---|---|
Ask: **"Add these [N] contacts to [Sequence Name]? This will consume [N] Apollo credits for enrichment."**
Wait for confirmation before proceeding.
## Step 5 — Enrich and Create Contacts
For each approved lead:
1. **Enrich** — Use `mcp__claude_ai_Apollo_MCP__apollo_people_bulk_match` (batch up to 10 per call) with:
- `first_name`, `last_name`, `domain` for each person
- `reveal_personal_emails` set to `true`
2. **Create contacts** — For each enriched person, use `mcp__claude_ai_Apollo_MCP__apollo_contacts_create` with:
- `first_name`, `last_name`, `email`, `title`, `organization_name`
- `direct_phone` or `mobile_phone` if available
- `run_dedupe` set to `true`
Collect all created contact IDs.
## Step 6 — Add to Sequence
Use `mcp__claude_ai_Apollo_MCP__apollo_emailer_campaigns_add_contact_ids` with:
- `id`: the sequence ID
- `emailer_campaign_id`: same sequence ID
- `contact_ids`: array of created contact IDs
- `send_email_from_email_account_id`: the chosen email account ID
- `sequence_active_in_other_campaigns`: `false` (safe default)
## Step 7 — Confirm Enrollment
Show a summary:
---
**Sequence loaded successfully**
| Field | Value |
|---|---|
| Sequence | [Name] |
| Contacts added | [count] |
| Sending from | [email address] |
| Credits used | [count] |
**Contacts enrolled:**
| Name | Title | Company | Email |
|---|---|---|---|
---
## Step 8 — Offer Next Actions
Ask the user:
1. **Load more** — Find and add another batch of leads
2. **Review sequence** — Show sequence details and all enrolled contacts
3. **Remove a contact** — Use `mcp__claude_ai_Apollo_MCP__apollo_emailer_campaigns_remove_or_stop_contact_ids` to remove specific contacts
4. **Pause a contact** — Re-add with `status: "paused"` and an `auto_unpause_at` date