---
name: moltsets-rb2b-alternate-email
description: Use this skill when the user has RB2B-identified visitors and wants to find additional email addresses beyond what RB2B already provided.
---

# RB2B Visitor - Alternate Email

Find additional email addresses for RB2B-identified visitors using their LinkedIn URL.

## Triggers

"find alternate emails for my RB2B visitors", "RB2B gave me work emails but I want personal too", "get more email coverage for these visitors", "find backup emails for website visitors", or when a user wants to supplement RB2B-provided `WorkEmail` with personal email (or vice versa).

## CSV parsing

Read the uploaded or pasted CSV. Filter to `ProfileType = Person` rows only. Extract:
- `LinkedInUrl` - required for MoltSets enrichment
- `FirstName`, `LastName`, `CompanyName` - for display
- `WorkEmail` - RB2B-supplied email (may be empty)

Report: "Found X Person rows. X have a WorkEmail from RB2B, Y do not."

## Set Expectations

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

Facts to convey:
- 2 email lookups per visitor (business + personal), each a single call per URL fired in parallel
- Credits only charged when a new email is found
- RB2B's WorkEmail is preserved at no additional cost

## Risk scores - confirm before enriching

Every email MoltSets returns carries a deliverability risk score - a grade from A to F. Ask which grades to keep before running anything:

> "MoltSets grades email deliverability risk from A (best) to F (no data). Which grades should I keep? I'd recommend **A, B, C and F** - and dropping **D**, since D is a confirmed bounce, complaint or spam trap."

| Grade | Meaning | Best practice |
| --- | --- | --- |
| A | Strongest engagement signal available | Safe to send immediately |
| B | Solid | Fine in regular sends; on a new or warming domain, send a smaller batch before scaling |
| C | Deliverability can't be confirmed | Segment separately from A/B, warm at low volume, watch engagement, suppress non-responders after 1-2 attempts |
| D | Confirmed bounce, complaint or spam trap | Never send - fastest way to trip spam traps and damage sender reputation for the whole list |
| F | No data - unknown risk, not "safe" | Re-verify before sending, or treat like C |

Use whatever set the user confirms. Treat the grade as a filter, not a guarantee - it lowers risk, it doesn't remove it. Pair it with the user's own sending domain reputation and list hygiene.

## Step 1 - Credit check

Call `MoltSets:get_billing` (free). Estimate: X visitors × cost per tool × 2 tools.

## Step 2 - Batch by concurrency

Both email tools take a single `linkedin_url` per call - there is no batch array. Fire one call per URL in parallel, in batches sized to a sensible concurrency limit, until the whole list is processed.

## Step 3 - Run enrichment (parallel)

For each URL, call both in parallel:
- `MoltSets:linkedin_to_business_email` with `linkedin_url: "[URL]"`
- `MoltSets:linkedin_to_personal_email` with `linkedin_url: "[URL]"`

## Step 4 - Output

Merge MoltSets results with original RB2B `WorkEmail`:

| Name | Company | RB2B Email | Business Email | Risk | Personal Email | Risk |
|---|---|---|---|---|---|---|
| Jane Smith | Acme Corp | jane@acme.com | jane@acme.com | A | jane.smith@gmail.com | B |
| Sam Lee | Oldco | - | sam@oldco.com | D (held) | Not found | - |
| John Doe | Initech | - | Not found | - | john.d@gmail.com | C |

- `RB2B Email` = `WorkEmail` from CSV (show `-` if empty)
- `Business Email` = `linkedin_to_business_email` result
- `Personal Email` = `linkedin_to_personal_email` result
- `Risk` = the A-F deliverability grade MoltSets returned for the email in the column to its left
- Show `Not found` where lookup returned nothing

Show the risk score on every row that has an email, including grades outside the accepted set - flag those rather than dropping them silently, so the user can see what was filtered and why.

Summary:
```
Visitors processed:      X
RB2B emails on file:     X
Additional business emails found: X
Additional personal emails found: X

Email risk scores:
  A: X   B: X   C: X   D: X   F: X
  kept (accepted grades):  X
  filtered (excluded):     X
```

Do not fabricate data. Do not overwrite RB2B-supplied data - surface both side by side.
