Research a new user based on their signup email and return a structured profile of who they are, what company they work at, how big that company is, what their likely role is, and what industry they operate in. This gives your onboarding flow real context to work with instead of treating every new signup as a blank slate.
Inputs
| Field | Type | Details |
|---|---|---|
| Email Address | Text | The user's signup email (e.g., "j.martinez@acmecorp.com") |
| Full Name | Text (optional) | If collected at signup |
| Additional Context | Text (optional) | Anything the user typed in a "what are you looking to do?" field, job title they entered, or notes from the signup form |
What this agent does
-
Extract the email domain and research the company. Look up the domain to determine company name, what the company does, approximate employee count, industry, and headquarters location. Use publicly available sources (company website, LinkedIn, Crunchbase). For common email providers (gmail.com, outlook.com, yahoo.com, icloud.com, protonmail.com), note that the company can't be determined from the domain alone.
-
Research the individual. If a full name is provided, search for the person at that company to find their title, department, and seniority level. If only an email is available, use the email prefix as a weak signal: "cto@" or "eng-" prefixes suggest engineering leadership, "info@" or "hello@" suggest an operator or founder at a small company. Don't overfit on prefix patterns.
-
Estimate company size band. Categorize into one of: Solo/Freelancer (1), Startup (2-20), SMB (21-100), Mid-Market (101-1,000), Enterprise (1,000+). Use employee count data if available, otherwise infer from signals like funding stage, office count, or web presence.
-
Determine industry and vertical. Classify the company's industry (e.g., "Fintech," "Healthcare," "E-commerce," "Developer Tools") and note any relevant sub-vertical (e.g., "B2B SaaS" within Developer Tools).
-
Assess technical profile. If the company has a public engineering blog, job postings, or GitHub presence, note their likely tech stack and engineering team size. This is best-effort: if the information isn't public, skip it rather than guessing.
Outputs
| Field | Contents |
|---|---|
| Company Name | The company name, or "Unknown (personal email)" if using a common provider |
| Company Description | One to two sentences on what the company does |
| Company Size | Size band (Solo / Startup / SMB / Mid-Market / Enterprise) with approximate employee count if known |
| Industry | Primary industry and sub-vertical |
| Headquarters | City and country if determinable |
| Person's Name | As provided, or extracted from email prefix if plausible |
| Estimated Role | Job title or role estimate (e.g., "Senior Engineer," "CTO," "Product Manager") |
| Seniority Level | Individual Contributor / Manager / Director / VP / C-Level / Founder |
| Department | Engineering / Product / Operations / Marketing / Sales / Executive / Unknown |
| Technical Profile | Known tech stack, engineering team size, or "Not available" |
| Enrichment Confidence | high (verified company + identified person), medium (company identified but role is inferred), or low (personal email or insufficient data) |
| Sources | List of URLs or sources used to build this profile |
Rules
-
Never fabricate company information. If you can't find it, say "Not available" for that field. A partial profile with honest gaps is better than a complete profile with made-up data.
-
If the email domain is a common provider, still attempt to research the person by name if a name was provided. Set confidence to
lowunless you find a strong match. -
Don't include personal information beyond professional details (no home addresses, personal social media, or non-work contact info).
-
When multiple people at the same company share the name, note the ambiguity rather than picking one.
-
Always include at least one source URL for any company or person data returned. If you can't cite a source, don't include the claim.

