---
name: moltsets-email-to-full-identity
description: Use this skill when the user has a business email address and wants to resolve it to a complete identity - LinkedIn profile, job title, company, personal email, and mobile phone.
---

# Email to Full Identity

Resolve a business email to a complete identity: LinkedIn to job profile to personal contact data.

Primary one-call path: `MoltSets:reverse_email_lookup` resolves an email directly to a full business profile, firmographics, business + personal email, and additional emails on file - collapsing most of the chain into a single call. Use it first; fall back to the step-by-step chain below when you need enrichment it doesn't return or a specific field comes back empty. Mobile phone is only available via `linkedin_to_mobile_phone` in the chain (Steps 3–4).

## Triggers

"who is this email", "look up this email address", "resolve this email to a person", "find the LinkedIn for this email", "get everything for [email@company.com]", "enrich this email address". Chains HEM resolution with full profile and contact enrichment.

## Chain

Primary (one call):
```
business email
  to reverse_email_lookup          (email to full profile + firmographics + business/personal/additional emails)
```

Detailed / enrichment route (when reverse_email_lookup leaves gaps):
```
business email
  to email_to_linkedin             (email to LinkedIn URL)
  to reverse_linkedin_lookup       (LinkedIn to name, title, company, firmographics)
  to linkedin_to_personal_email         (LinkedIn to personal email)     ─┐ parallel
  to linkedin_to_mobile_phone                  (LinkedIn to mobile)             ─┘
```

## Set Expectations

Before firing any calls, give the user a brief, dry heads-up. Deadpan over enthusiastic - no filler, no corporate speak.

Facts to work with:
- Fastest path is one call (`reverse_email_lookup`); the detailed route is a 4-step chain when you need extra enrichment
- Single email: ~5 seconds for the one-call path, ~15–20 seconds for the full chain
- Batch: one call per email fired in parallel
- If the email isn't in the identity graph, there is nothing to show

## Step 1 - Credit check

Call `MoltSets:get_billing` (free). This chain costs up to 4 credits per email on full hits. Check balance before proceeding for batches.

## Step 2 - Resolve the email (one call)

Call `MoltSets:reverse_email_lookup` with `email: "[address]"`. This returns the full business profile, firmographics, business + personal email, and additional emails on file in a single call. Mobile phone is not returned here - fetch it via `linkedin_to_mobile_phone` in Steps 3–4.

**If nothing is returned:** stop and report - "This email was not found in the identity graph." Do not proceed further (nothing to look up).

If `reverse_email_lookup` covers everything the user asked for, you're done - skip to Step 5. Continue to Steps 3–4 when a needed field (e.g. personal email) came back empty, or whenever mobile is wanted (mobile always requires the chain).

## Step 3 - Get LinkedIn + full profile (detailed route)

Call `MoltSets:email_to_linkedin` with `email: "[address]"` to get the best-confidence LinkedIn URL, then `MoltSets:reverse_linkedin_lookup` with that URL for name, title, company, and firmographics.

## Step 4 - Enrich personal contact data (parallel)

- `MoltSets:linkedin_to_personal_email` with `linkedin_url`
- `MoltSets:linkedin_to_mobile_phone` with `linkedin_url`

Both use the LinkedIn URL resolved in Step 3.

## Step 5 - Output

```
Resolved: jane@acmecorp.com

Jane Smith - Head of Marketing, Acme Corp
LinkedIn:  https://www.linkedin.com/in/janesmith
Location:  San Francisco, US
Industry:  Information Technology · 201–500 employees

Personal email:  jane.smith@gmail.com (validated 2024-09-17)
Mobile:          +1 415 555 0192
```

Show `Not found` for any empty field.

## Batch mode

Every endpoint here takes a single input - there is no batch array (except `linkedin_to_mobile_phone`, which accepts a `linkedin_urls` array up to 100). For a list of emails:

1. **Preferred:** call `MoltSets:reverse_email_lookup` once per email, firing the calls in parallel. This returns the full identity for each in one call apiece - no further calls needed unless a field is missing.
2. If you need the detailed enrichment route, for each email run `MoltSets:email_to_linkedin` then `MoltSets:reverse_linkedin_lookup` (one call per email, in parallel), drop any email with no LinkedIn URL, then enrich the resolved LinkedIn URLs:
   - `MoltSets:linkedin_to_personal_email` - one call per `linkedin_url`, fired in parallel
   - `MoltSets:linkedin_to_mobile_phone` with `linkedin_urls` array (max 100)

Credit estimate (one-call path): `N emails × reverse_email_lookup`. Detailed route: `N × (email_to_linkedin + reverse_linkedin_lookup + linkedin_to_personal_email + linkedin_to_mobile_phone)`

## Edge cases

- Email not in graph to `reverse_email_lookup` returns nothing to report and stop, do not make further calls
- Personal email / phone misses are free - credits only charged on hits
- Business email domain ≠ guaranteed company domain (aliases, acquired domains, etc.) - rely on the profile data, not domain inference
