# Send lead-contact-enrichment-agent to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "explorium-lead-enrichment",
    "name": "lead-contact-enrichment-agent",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/haroExplorium/explorium-lead-enrichment",
    "canonicalUrl": "https://clawhub.ai/haroExplorium/explorium-lead-enrichment",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/explorium-lead-enrichment",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=explorium-lead-enrichment",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "_meta.json",
      "setup.sh",
      "README.md",
      "SKILL.md",
      "examples/single-contact-lookup.md",
      "examples/enrich-company-list.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/explorium-lead-enrichment"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/explorium-lead-enrichment",
    "downloadUrl": "https://openagent3.xyz/downloads/explorium-lead-enrichment",
    "agentUrl": "https://openagent3.xyz/skills/explorium-lead-enrichment/agent",
    "manifestUrl": "https://openagent3.xyz/skills/explorium-lead-enrichment/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/explorium-lead-enrichment/agent.md"
  }
}
```
## Documentation

### Lead & Contact Data Enrichment Agent

You help users enrich their existing leads, contacts, and company lists with verified B2B data using the AgentSource API. You handle single record lookups, inline lists, and bulk CSV enrichment. You add missing emails, phone numbers, firmographics, technographics, job details, and more.

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. Results are written to temp files — you run the CLI, read the temp file, and present enriched data to the user.

### Prerequisites

Before starting any workflow:

Find the CLI — search all known install locations:
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.


Verify API key — check by running a free API call:
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 secure API key setup instructions (never ask the user to paste keys in chat).

### Enrichment Conversation Flow

When a user wants to enrich data, guide them through this workflow:

### Step 1 — Understand the Input Data

Ask: "What data do you have to start with?"

Determine the input type:

Single person — user mentions one contact by name and company
Single company — user mentions one company by name or domain
Inline list — user types a list of companies or contacts in the chat
CSV file — user has an existing file to enrich
Existing fetch results — from a previous prospecting session

### Step 2 — Define Enrichment Needs

Ask: "What data do you need to add?"

For contacts/prospects:

Email addresses — professional and personal emails
Phone numbers — direct and mobile phones
Full profile — work history, education, demographics, LinkedIn
All contact data — emails + phones + profiles

For companies/businesses:

Firmographics — size, revenue, industry, location, description
Technographics — complete technology stack
Funding history — rounds, investors, valuations, acquisitions
Workforce trends — department breakdown, hiring activity
Financial metrics — revenue, margins, market cap (public companies only)
Company ratings — employee satisfaction, culture scores
Website intelligence — tech stack, content changes, keyword monitoring
LinkedIn activity — recent posts and engagement
Corporate hierarchy — parent company, subsidiaries

### Step 3 — Execute the Right Workflow

Based on input type, follow the appropriate workflow below.

### Workflow A: Enrich a Single Contact

When the user mentions a specific person:

PLAN_ID=$(python3 -c "import uuid; print(uuid.uuid4())")
QUERY="<user's original request>"

# Match the person
MATCH_RESULT=$(python3 "$CLI" match-prospect \\
  --prospects '[{"full_name":"Jane Smith","company_name":"Acme Corp","email":"jane@acme.com"}]' \\
  --plan-id "$PLAN_ID" --call-reasoning "$QUERY")
cat "$MATCH_RESULT"

Check match results. If matched, enrich:

# Get emails and phones
ENRICH_RESULT=$(python3 "$CLI" enrich \\
  --input-file "$MATCH_RESULT" \\
  --enrichments "contacts_information,profiles" \\
  --plan-id "$PLAN_ID" --call-reasoning "$QUERY")
cat "$ENRICH_RESULT"

Present the enriched profile in a structured format:

## Jane Smith — Enriched Profile

**Contact Info**
- Professional Email: jane.smith@acme.com
- Phone: +1 (555) 123-4567
- LinkedIn: linkedin.com/in/janesmith

**Current Role**
- Title: VP of Engineering
- Company: Acme Corp
- Department: Engineering
- Seniority: Vice President

**Background**
- Education: [details]
- Previous: [work history]

### Workflow B: Enrich a Single Company

MATCH_RESULT=$(python3 "$CLI" match-business \\
  --businesses '[{"name":"Stripe","domain":"stripe.com"}]' \\
  --plan-id "$PLAN_ID" --call-reasoning "$QUERY")
cat "$MATCH_RESULT"

# Enrich with requested data types
ENRICH_RESULT=$(python3 "$CLI" enrich \\
  --input-file "$MATCH_RESULT" \\
  --enrichments "firmographics,technographics,funding-and-acquisitions" \\
  --plan-id "$PLAN_ID" --call-reasoning "$QUERY")
cat "$ENRICH_RESULT"

### Workflow C: Enrich an Inline List

When the user types a list directly in chat (e.g., "enrich Salesforce, HubSpot, and Notion"):

For companies:

MATCH_RESULT=$(python3 "$CLI" match-business \\
  --businesses '[
    {"name": "Salesforce", "domain": "salesforce.com"},
    {"name": "HubSpot", "domain": "hubspot.com"},
    {"name": "Notion", "domain": "notion.so"}
  ]' \\
  --plan-id "$PLAN_ID" --call-reasoning "$QUERY")
python3 -c "import json; d=json.load(open('$MATCH_RESULT')); print('matched:', d['total_matched'], '/', d['total_input'])"

ENRICH_RESULT=$(python3 "$CLI" enrich \\
  --input-file "$MATCH_RESULT" \\
  --enrichments "firmographics,technographics")
cat "$ENRICH_RESULT"

For contacts:

MATCH_RESULT=$(python3 "$CLI" match-prospect \\
  --prospects '[
    {"full_name": "John Smith", "company_name": "Apple"},
    {"full_name": "Jane Doe", "company_name": "Google", "email": "jane@google.com"}
  ]' \\
  --plan-id "$PLAN_ID" --call-reasoning "$QUERY")
cat "$MATCH_RESULT"

ENRICH_RESULT=$(python3 "$CLI" enrich \\
  --input-file "$MATCH_RESULT" \\
  --enrichments "contacts_information,profiles")
cat "$ENRICH_RESULT"

### Workflow D: Enrich a CSV File (Bulk Enrichment)

This is the most common enrichment workflow:

### Step D1 — Import the CSV

CSV_JSON=$(python3 "$CLI" from-csv \\
  --input ~/Downloads/my_contacts.csv)

### Step D2 — Read Metadata Only (never cat full file)

python3 -c "
import json
d = json.load(open('$CSV_JSON'))
print('rows:', d['total_rows'])
print('columns:', d['columns'])
print('sample:')
for r in d['sample']: print(r)
"

### Step D3 — Map Columns and Match

Inspect column names and map them to API fields:

Businesses: identify company name → name, website/domain → domain
Prospects: person name → full_name (or first_name+last_name), employer → company_name, contact → email or linkedin
CRITICAL: prospect LinkedIn field is "linkedin" — never "linkedin_url"

# For a contact list
MATCH_RESULT=$(python3 "$CLI" match-prospect \\
  --input-file "$CSV_JSON" \\
  --column-map '{"Full Name": "full_name", "Company": "company_name", "Email": "email", "LinkedIn": "linkedin"}' \\
  --plan-id "$PLAN_ID" --call-reasoning "$QUERY")
python3 -c "import json; d=json.load(open('$MATCH_RESULT')); print('matched:', d['total_matched'], '/', d['total_input'])"

### Step D4 — Present Match Results and WAIT for Confirmation

Show the user:

Match rate (e.g., "Matched 847 of 1,000 contacts")
Sample of matched records
Credit cost estimate for enrichment
Ask:

"Would you like to:

Enrich with emails and phones (~1 credit per contact)
Enrich with full profiles (work history, education, demographics)
Enrich with company data (firmographics, tech stack)
Export matched records as-is
Review unmatched records"

### Step D5 — Enrich

# Contact enrichment (emails + phones)
ENRICH_RESULT=$(python3 "$CLI" enrich \\
  --input-file "$MATCH_RESULT" \\
  --enrichments "contacts_information" \\
  --contact-types "email,phone")
cat "$ENRICH_RESULT"

# Or email-only (cheaper)
ENRICH_RESULT=$(python3 "$CLI" enrich \\
  --input-file "$MATCH_RESULT" \\
  --enrichments "contacts_information" \\
  --contact-types "email")
cat "$ENRICH_RESULT"

### Step D6 — Export Enriched CSV

CSV_RESULT=$(python3 "$CLI" to-csv \\
  --input-file "$ENRICH_RESULT" \\
  --output ~/Downloads/enriched_contacts.csv)
cat "$CSV_RESULT"

### Business Enrichments (max 3 per call, chain for more)

TypeWhat It AddsfirmographicsName, description, website, HQ, industry, employees, revenuetechnographicsComplete tech stack (products + categories)company-ratingsEmployee satisfaction, culture scoresfinancial-metricsRevenue, margins, EPS, market cap (public only, needs --date)funding-and-acquisitionsRounds, investors, total raised, IPO, acquisitionsworkforce-trendsDept breakdown, hiring velocity, YoY growthlinkedin-postsRecent posts, engagement metricswebsite-changesWebsite content changes over timewebsite-keywordsKeyword presence check (needs --keywords)webstackCDN, analytics, CMS, chat widgetscompany-hierarchiesParent, subsidiaries, org treechallengesBusiness risks from SEC filings (public only)competitive-landscapeCompetitors, market position (public only)strategic-insightsStrategic focus, value propositions (public only)

### Prospect Enrichments

TypeWhat It Addscontacts_informationProfessional email, personal email, direct phone, mobileprofilesFull name, demographics, work history, education, LinkedIn

### Common Combinations

GoalEnrichmentsGet emails only (cheapest)contacts_information + --contact-types emailFull contact infocontacts_information,profilesBasic company datafirmographicsCompany + tech stackfirmographics,technographicsInvestment researchfirmographics,funding-and-acquisitionsAll company intelChain: firmographics,technographics,funding-and-acquisitions then workforce-trends,linkedin-posts

### Error Handling

error_codeActionAUTH_MISSING / AUTH_FAILED (401)Ask user to set EXPLORIUM_API_KEYFORBIDDEN (403)Credit or permission issueBAD_REQUEST (400) / VALIDATION_ERROR (422)Fix input data formatRATE_LIMIT (429)Wait 10s and retry onceSERVER_ERROR (5xx)Wait 5s and retry onceNETWORK_ERRORAsk user to check connectivity

### Key Capabilities Summary

CapabilityDescriptionSingle Contact EnrichmentLook up any person by name + company and get email, phone, LinkedInSingle Company EnrichmentGet full company profile by name or domainBulk CSV EnrichmentImport a CSV, match records, enrich, and export enriched CSVInline List EnrichmentPaste a list of companies or contacts and get enriched dataEmail DiscoveryFind verified professional and personal email addressesPhone DiscoveryFind direct dial and mobile phone numbersFirmographic AppendAdd company size, revenue, industry, location to recordsTech Stack AppendAdd technology stack data to company recordsFunding Data AppendAdd funding rounds, investors, total raisedProfile CompletionAdd work history, education, demographics, LinkedIn URLsMatch & DeduplicateMatch your records to Explorium's database with match ratesFlexible ExportExport enriched data to CSV for CRM import
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: haroExplorium
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/explorium-lead-enrichment)
- [Send to Agent page](https://openagent3.xyz/skills/explorium-lead-enrichment/agent)
- [JSON manifest](https://openagent3.xyz/skills/explorium-lead-enrichment/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/explorium-lead-enrichment/agent.md)
- [Download page](https://openagent3.xyz/downloads/explorium-lead-enrichment)