Overview
Enrich a company profile by fetching its website and extracting key business information. The result is returned as structured JSON and saved locally for auditing.
Step 1 — Normalize the target URL
Take the target input and produce a clean https:// URL:
- If it already starts with
http://orhttps://, use it as-is. - If it looks like a bare domain (e.g.,
acme.com), prependhttps://. - Strip any trailing paths — use only the root URL (e.g.,
https://acme.com).
Also extract the bare domain (e.g., acme.com) — you'll need it for the output filename.
Step 2 — Fetch the company website
Use WebFetch to retrieve the homepage. Look for:
- Page
<title>and<meta name="description">content <h1>/<h2>headings and hero/tagline text- Any "About", "What we do", or "Our mission" sections
If the homepage returns insufficient content (e.g., a login wall, placeholder, or very sparse text),
also try fetching [root-url]/about as a fallback.
Step 3 — Supplement with web search if needed
If the website alone doesn't clearly reveal the company's industry or what it does, run a WebSearch for:
"[company name]" company what does it do
Use the top 2–3 results to fill in gaps — especially for industry and description.
Step 4 — Extract structured data
From the gathered content, produce the following fields:
| Field | Type | Notes |
|---|---|---|
name |
string | Official company name (not the domain) |
industry |
string | Primary industry, e.g. "FinTech", "SaaS", "Healthcare IT", "Climate Tech" |
tags |
array of strings | 3–6 short topic tags, e.g. ["payments", "B2B", "API", "embedded finance"] |
description |
string | 1–2 sentence plain-English summary of what the company does |
website |
string | Canonical root URL, e.g. https://acme.com |
Use specific, meaningful tags — avoid generic ones like "technology" or "software" on their own.
Step 5 — Save the enrichment record
Write the JSON to a local audit file:
mkdir -p ~/.carta-crm/enriched-companies
cat > ~/.carta-crm/enriched-companies/[domain].json << 'ENDJSON'
{
"name": "...",
"industry": "...",
"tags": [...],
"description": "...",
"website": "..."
}
ENDJSON
Replace [domain] with the bare domain (e.g., acme.com).
Confirm the file was written with echo $? (should be 0).
Step 6 — Return the result
Return the enrichment record as a JSON block, followed by the save path:
{
"name": "...",
"industry": "...",
"tags": [...],
"description": "...",
"website": "..."
}
State: Saved to ~/.carta-crm/enriched-companies/[domain].json
Handling multiple companies
If the user provides multiple targets, repeat Steps 1–5 for each one, then return all
results together and summarize: Enriched N companies — saved to ~/.carta-crm/enriched-companies/