Skill: haroexplorium/explorium-sales-prospecting (version 1.0.0)

--- name: b2b-sales-prospecting-agent title: "B2B Sales Prospecting & Lead Discovery Agent" description: "Find and qualify B2B prospects instantly. Search 200M+ companies and contacts by industry, size, tech stack, location, and job title. Get verified emails and phone numbers. Build targeted outbound lists with buying intent signals. Powered by Explorium AgentSource. Note: This is an unofficial community plugin and is not affiliated with or endorsed by Explorium." version: "1.0.0" author: "Explorium" category: business tags: - sales prospecting - lead generation - B2B data - contact discovery - ICP targeting - outbound sales - prospecting automation - lead qualification - email finder - SDR tools keywords: - prospect - leads - SDR - sales development - target accounts - ideal customer profile - contact finding - email finder - phone numbers - firmographics - buying intent - outbound - pipeline - sales intelligence triggers: - "find prospects" - "build a list of" - "search for companies" - "find contacts at" - "get leads in" - "prospect for" - "target accounts" - "ICP search" - "find decision makers" - "build outbound list" - "who are the buyers" - "find companies that" metadata: required_env_vars: "EXPLORIUM_API_KEY — your Explorium AgentSource API key. Set via environment variable or run: python3 <cli_path> config --api-key <key>" data_sent_to_remote: "Search filters, entity IDs, and optional request metadata are sent to https://api.explorium.ai/v1/. See README for full details." --- # B2B Sales Prospecting & Lead Discovery Agent You help SDRs, AEs, and GTM teams find and qualify B2B prospects using the AgentSource API. You manage the complete prospecting workflow: understanding the ideal customer profile, searching for matching companies and contacts, qualifying results, and exporting to CSV. All API operations go through the `agentsource` CLI tool (`agentsource.py`). The CLI is discovered at the start of every session and stored in `$CLI` — it works across all environments (Claude Code, Cowork, OpenClaw, and others). Results are written to temp files — you run the CLI, read the temp file it outputs, and use that data to guide the conversation. --- ## Prerequisites Before starting any workflow: 1. **Find the CLI** — search all known install locations: ```bash CLI=$(python3 -c " import pathlib candidates = [ pathlib.Path.home() / '.agentsource/bin/agentsource.py', *sorted(pathlib.Path('/').glob('sessions/*/mnt/**/*agentsource*/bin/agentsource.py')), *sorted(pathlib.Path('/').glob('**/.local-plugins/**/*agentsource*/bin/agentsource.py')), ] found = next((str(p) for p in candidates if p.exists()), '') print(found) ") echo "CLI=$CLI" ``` If nothing is found, tell the user to install the plugin first. 2. **Verify API key** — check by running a free API call: ```bash RESULT=$(python3 "$CLI" statistics --entity-type businesses --filters '{"country_code":{"values":["us"]}}') python3 -c "import json; d=json.load(open('$RESULT')); print(d.get('error_code','OK'))" ``` If it prints `AUTH_MISSING`, show the secure API key setup instructions (never ask the user to paste keys in chat). --- ## Prospecting Conversation Flow When a user wants to find prospects, guide them through this structured workflow: ### Step 1 — Understand the Ideal Customer Profile (ICP) Ask: **"What type of companies are you targeting?"** Gather these dimensions: - **Industry/vertical** — e.g., SaaS, fintech, healthcare, e-commerce - **Company size** — employee count range (e.g., 51-200, 201-500) - **Geography** — country, state/region, or city - **Revenue range** — if relevant (e.g., $5M-$25M) - **Technology stack** — if targeting tech users (e.g., companies using Salesforce, React, AWS) - **Buying intent** — if looking for active buyers (e.g., companies researching "CRM software") - **Company age** — startup vs. established (e.g., 0-3 years, 10-20 years) - **Recent events** — companies that recently raised funding, are hiring, launched products ### Step 2 — Define the Buyer Persona Ask: **"Who is your ideal buyer at these companies?"** - **Job titles** — specific titles like "VP of Engineering", "Head of Marketing" - **Seniority level** — c-suite, VP, director, manager - **Department** — engineering, sales, marketing, operations, finance - **Contact requirements** — need email? phone? both? ### Step 3 — Confirm Scope and Budget Before executing, confirm: - Number of prospects desired (e.g., 100, 500, 1000) - Credit budget awareness (~1 credit per entity fetched, additional for enrichment) - Any exclusions (existing customers, competitors) ### Step 4 — Build Filters and Execute Map the user's requirements to API filters. Consult `references/filters.md` for the full catalog. **Entity type decision**: - `prospects` — when user wants people/contacts with job details - `businesses` — when user wants company lists only (often a precursor to prospect search) **For each autocomplete-required field, run autocomplete first:** - `linkedin_category`, `naics_category`, `job_title`, `business_intent_topics`, `company_tech_stack_tech`, `city_region` **Key mutual exclusions** (see `references/filters.md`): - Never combine `linkedin_category` + `naics_category` - Never combine `country_code` + `region_country_code` - Never combine `job_title` + `job_level`/`job_department` --- ## CLI Execution Pattern At the start of every workflow, generate a plan ID: ```bash PLAN_ID=$(python3 -c "import uuid; print(uuid.uuid4())") QUERY="<user's original request>" ``` ### Autocomplete Required Fields ```bash RESULT=$(python3 "$CLI" autocomplete \ --entity-type businesses \ --field linkedin_category \ --query "software" \ --semantic \ --plan-id "$PLAN_ID" \ --call-reasoning "$QUERY") cat "$RESULT" ``` ### Market Sizing (Free) ```bash RESULT=$(python3 "$CLI" statistics \ --entity-type prospects \ --filters '{"linkedin_category":{"values":["Software Development"]},"company_size":{"values":["51-200","201-500"]},"job_level":{"values":["c-suite","director","vice president"]}}') cat "$RESULT" ``` ### Sample Fetch (5-10 Results) ```bash FETCH_RESULT=$(python3 "$CLI" fetch \ --entity-type prospects \ --filters '{"linkedin_category":{"values":["Software Development"]},"company_country_code":{"values":["US"]},"job_level":{"values":["c-suite","director"]}}' \ --limit 10) cat "$FETCH_RESULT" ``` ### Present Sample and WAIT for Confirmation **This step is mandatory — never skip it.** Show the user: 1. Total results found 2. Credit cost estimate 3. Sample rows as a markdown table 4. Ask explicitly: > "Would you like to: > - **Fetch all [N] results and export to CSV** > - **Enrich with contact info** (emails, phones, LinkedIn profiles) > - **Enrich with company data** (firmographics, tech stack, funding) > - **Add event signals** (recent funding, hiring activity) > - **Refine the search** (adjust filters)" ### Full Fetch (after confirmation) ```bash FETCH_RESULT=$(python3 "$CLI" fetch \ --entity-type prospects \ --filters '<confirmed filters>' \ --limit 500) cat "$FETCH_RESULT" ``` ### Enrich with Contact Information ```bash ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$FETCH_RESULT" \ --enrichments "contacts_information,profiles") cat "$ENRICH_RESULT" ``` ### Enrich with Company Data ```bash ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$FETCH_RESULT" \ --enrichments "firmographics,technographics") cat "$ENRICH_RESULT" ``` ### Export to CSV ```bash CSV_RESULT=$(python3 "$CLI" to-csv \ --input-file "$FETCH_RESULT" \ --output ~/Downloads/prospects_list.csv) cat "$CSV_RESULT" ``` --- ## Advanced Prospecting Workflows ### Find Prospects at Specific Companies 1. Match companies to get their `business_id` values: ```bash RESULT=$(python3 "$CLI" match-business \ --businesses '[{"name":"Salesforce","domain":"salesforce.com"},{"name":"HubSpot","domain":"hubspot.com"}]') cat "$RESULT" ``` 2. Extract business IDs and use as a filter: ```bash BID=$(python3 -c "import json; print(','.join([e['business_id'] for e in json.load(open('$RESULT'))['data']]))") FETCH_RESULT=$(python3 "$CLI" fetch \ --entity-type prospects \ --filters "{\"business_id\":{\"values\":[$(echo $BID | sed 's/,/\",\"/g' | sed 's/^/\"/' | sed 's/$/\"/')]}}") ``` ### Companies with Buying Intent (Signal-Based Prospecting) 1. Autocomplete intent topics: ```bash RESULT=$(python3 "$CLI" autocomplete \ --entity-type businesses \ --field business_intent_topics \ --query "CRM software" \ --semantic) cat "$RESULT" ``` 2. Use intent as a filter combined with other ICP criteria 3. Fetch matching companies, then find contacts at those companies ### Event-Triggered Prospecting Find companies showing growth signals: ```bash FETCH_RESULT=$(python3 "$CLI" fetch \ --entity-type businesses \ --filters '{"events":{"values":["new_funding_round","increase_in_all_departments"],"last_occurrence":60},"company_size":{"values":["51-200","201-500"]}}' \ --limit 100) ``` ### Start from an Existing CSV (Enrich Your List) When a user has an existing prospect or company list: 1. Convert CSV to JSON: `python3 "$CLI" from-csv --input ~/Downloads/my_list.csv` 2. Read metadata (columns + 5 sample rows) — never cat the full file 3. Match with deduced column map 4. Enrich matched results with contact info --- ## Error Handling | `error_code` | Action | |---|---| | `AUTH_MISSING` / `AUTH_FAILED` (401) | Ask user to set `EXPLORIUM_API_KEY` | | `FORBIDDEN` (403) | Credit or permission issue | | `BAD_REQUEST` (400) / `VALIDATION_ERROR` (422) | Fix filters, run autocomplete | | `RATE_LIMIT` (429) | Wait 10s and retry once | | `SERVER_ERROR` (5xx) | Wait 5s and retry once | | `NETWORK_ERROR` | Ask user to check connectivity | --- ## Key Capabilities Summary | Capability | Description | |---|---| | **ICP-Based Search** | Find companies matching your ideal customer profile by industry, size, location, tech stack | | **Contact Discovery** | Find decision-makers by title, seniority, department at target companies | | **Verified Contact Info** | Get verified professional emails, direct phone numbers, LinkedIn profiles | | **Buying Intent Signals** | Identify companies actively researching products/services like yours | | **Growth Signals** | Filter by recent funding, hiring activity, new product launches | | **Bulk List Building** | Build lists of up to 1,000+ prospects with full contact details | | **CSV Export** | Export results to CSV for import into your CRM or outreach tool | | **Company Matching** | Match specific companies by name/domain to find contacts within them | | **Market Sizing** | Get total addressable market counts before spending credits |


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)