# Hubspot Lead Enrichment

> Enrich HubSpot contacts and companies with missing fields (title, industry, employee count, LinkedIn URL). Use when the user wants to clean up a HubSpot list, fill gaps in CRM data, or prep a segment for campaign targeting. Trigger on "enrich my HubSpot contacts" or "fill in missing CRM fields".

- Skill: `composio-community/hubspot-lead-enrichment` (Agent Skill)
- Install (CLI): `npx skillmds@latest add composio-community/hubspot-lead-enrichment`
- Raw SKILL.md: https://api.skillmd.com/api/skills/composio-community/hubspot-lead-enrichment/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: composio-community (https://skillmd.com/u/composio-community)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/composio-community/hubspot-lead-enrichment

---


# HubSpot Lead Enrichment

Fill gaps in HubSpot contact/company records using Composio.

## Workflow

1. **Scope the job.** Ask: which list/segment, which fields to fill, and the source of truth (Apollo, Clearbit-like tool, web search).
2. **Connect HubSpot:**
   ```bash
   composio link hubspot
   ```
3. **Pull the target contacts:**
   ```bash
   composio execute HUBSPOT_GET_ALL_CONTACTS -d '{ "limit": 100 }'
   # Or search by filter:
   composio search "list hubspot contacts with filter" --toolkits hubspot
   ```
4. **For each contact with missing fields**, look up enrichment data. Prefer a dedicated enrichment toolkit (Apollo/Clearbit) if connected; else web search + LinkedIn.
5. **Patch the record:**
   ```bash
   composio execute HUBSPOT_UPDATE_A_CONTACT -d '{
     "contact_id": "12345",
     "properties": { "jobtitle": "VP Eng", "industry": "SaaS" }
   }'
   ```
6. **Log results** to `./enrichment-run-<date>.csv` with columns: contact_id, fields_filled, source, confidence.

## Batch tips

- Use `--parallel` for up to 5 concurrent updates:
  ```bash
  composio execute --parallel HUBSPOT_UPDATE_A_CONTACT -d '{...}' HUBSPOT_UPDATE_A_CONTACT -d '{...}'
  ```
- Dry-run one update first to confirm property names exactly match the portal's schema.

## Guardrails

- Never overwrite a non-empty field without asking.
- Flag low-confidence enrichments (e.g., inferred industry from domain) so the user can review.
- Respect HubSpot rate limits: 100 req/10s for most portals — throttle at ~8 req/s.

