lead-enrichment
When To Use
Use when the user has a partial lead (name + company + domain, optionally a LinkedIn URL or known email) and wants complete contact data: a found-and-verified work email, lead-level enrichment, a phone number and contact details, and company details. Every step is a MPP on Tempo payment translated by the SELAT Router into an outbound payment on the merchant's rail — every step settles through the SELAT Router.
Workflow
- Install:
selat skill install lead-enrichment
- Run:
selat skill run lead-enrichment --firstName John --lastName Doe --company Stripe --domain stripe.com [--email john@stripe.com] [--linkedinUrl https://linkedin.com/in/johndoe]
- The CLI compiles each step into a
selat-pay call (each a MPP on Tempo payment via the SELAT Router), runs them in order, and prints a per-step status (status=200 / ✓ or ✗) summary.
Steps, in order:
- Step 1 — Hunter
POST /hunter/email-finder — find the work email from domain + name.
- Step 2 — Hunter
POST /hunter/email-verifier — verify the email is deliverable (pass --email, or the email from step 1).
- Step 3 — Apollo
POST /apollo/people-enrichment — lead-level enrichment (person record: email, title, social/company details).
- Step 4 — Clado
POST /clado/contacts — contact enrichment (including phone numbers) from the lead's LinkedIn URL.
- Step 5 — Hunter
POST /hunter/company-enrichment — enrich the company from its domain.
Inputs And Outputs
| Param |
Required |
Default |
Description |
firstName |
yes |
— |
Lead first name (Hunter email-finder, Apollo people-enrichment) |
lastName |
yes |
— |
Lead last name (Hunter email-finder, Apollo people-enrichment) |
company |
yes |
— |
Company name (sent to Apollo as organization_name) |
domain |
yes |
— |
Company domain (Hunter email-finder + company-enrichment) |
email |
no |
(from step 1) |
Work email to verify in step 2 |
linkedinUrl |
no |
empty |
LinkedIn URL for Apollo people-enrichment and the Clado contacts (phone) step |
Outputs: Hunter returns email/verification/company JSON; Apollo returns an enriched person record; Clado returns contact details including phone numbers.
Gotchas
- All five steps settle via MPP on Tempo. The whole run needs
SELAT_ROUTER_URL configured and the router reachable — there is no Circle-Gateway fallback.
- Per-step caps are ~10x each live price ($0.10–$0.50); live prices (probe-verified 2026-07-10) sum to about $0.089 per run. Clado contacts ($0.04515) dominates the cost.
- Step 2 needs an email. If you do not pass
--email, feed the address returned by step 1 before running the verifier.
- Step 4 (Clado contacts) keys entirely off
linkedinUrl — without a real LinkedIn URL the phone lookup cannot match. Step 3 (Apollo) also matches much better with it.
- Steps run independently (continue-across-steps): one merchant can succeed while another fails — check the per-step summary.
- The MPP paths are
/hunter/..., /apollo/..., /clado/... and POST-only — they are not the merchants' public API routes.
Validation
--chain base in the probe commands below is only the flag selat-pay requires today — a probe reads a free, chain-independent quote and never settles. A real paid run resolves the settlement chain from your funded Circle Gateway balance, not the manifest.
Run free 402 probes (no payment) before a paid run, per the repo convention:
selat-pay POST "https://hunter.mpp.paywithlocus.com/hunter/email-finder" --body '{"domain":"stripe.com","first_name":"John","last_name":"Doe"}' --chain base --probe-only
selat-pay POST "https://hunter.mpp.paywithlocus.com/hunter/email-verifier" --body '{"email":"john@stripe.com"}' --chain base --probe-only
selat-pay POST "https://apollo.mpp.paywithlocus.com/apollo/people-enrichment" --body '{"first_name":"John","last_name":"Doe","organization_name":"Stripe","linkedin_url":"https://linkedin.com/in/johndoe"}' --chain base --probe-only
selat-pay POST "https://clado.mpp.paywithlocus.com/clado/contacts" --body '{"linkedin_url":"https://linkedin.com/in/johndoe"}' --chain base --probe-only
selat-pay POST "https://hunter.mpp.paywithlocus.com/hunter/company-enrichment" --body '{"domain":"stripe.com"}' --chain base --probe-only
A successful run prints status=200 for each step and a ✓ summary.
References
1---2name: lead-enrichment3description: Use this skill when the user wants to enrich a sales lead or contact across multiple data sources — e.g. "enrich this lead", "find and verify their work email", "get a phone number for this prospect", "enrich the company", "complete contact data for John Doe at Stripe". Chains three MPP on Tempo merchants across five steps (Hunter for email find/verify and company enrichment, Apollo for lead enrichment, Clado for phone/contact discovery) in a single run, all paid through the SELAT Router (MPP on Tempo rail).4license: Apache-2.05---67# lead-enrichment89## When To Use1011Use when the user has a partial lead (name + company + domain, optionally a LinkedIn URL or known email) and wants complete contact data: a found-and-verified work email, lead-level enrichment, a phone number and contact details, and company details. Every step is a **MPP on Tempo** payment translated by the SELAT Router into an outbound payment on the merchant's rail — every step settles through the SELAT Router.1213## Workflow14151. Install: `selat skill install lead-enrichment`162. Run: `selat skill run lead-enrichment --firstName John --lastName Doe --company Stripe --domain stripe.com [--email john@stripe.com] [--linkedinUrl https://linkedin.com/in/johndoe]`173. The CLI compiles each step into a `selat-pay` call (each a MPP on Tempo payment via the SELAT Router), runs them in order, and prints a per-step status (status=200 / ✓ or ✗) summary.1819Steps, in order:2021- **Step 1 — Hunter** `POST /hunter/email-finder` — find the work email from domain + name.22- **Step 2 — Hunter** `POST /hunter/email-verifier` — verify the email is deliverable (pass `--email`, or the email from step 1).23- **Step 3 — Apollo** `POST /apollo/people-enrichment` — lead-level enrichment (person record: email, title, social/company details).24- **Step 4 — Clado** `POST /clado/contacts` — contact enrichment (including phone numbers) from the lead's LinkedIn URL.25- **Step 5 — Hunter** `POST /hunter/company-enrichment` — enrich the company from its domain.2627## Inputs And Outputs2829| Param | Required | Default | Description |30|---|---|---|---|31| `firstName` | yes | — | Lead first name (Hunter email-finder, Apollo people-enrichment) |32| `lastName` | yes | — | Lead last name (Hunter email-finder, Apollo people-enrichment) |33| `company` | yes | — | Company name (sent to Apollo as `organization_name`) |34| `domain` | yes | — | Company domain (Hunter email-finder + company-enrichment) |35| `email` | no | (from step 1) | Work email to verify in step 2 |36| `linkedinUrl` | no | empty | LinkedIn URL for Apollo people-enrichment and the Clado contacts (phone) step |3738Outputs: Hunter returns email/verification/company JSON; Apollo returns an enriched person record; Clado returns contact details including phone numbers.3940## Gotchas4142- **All five steps settle via MPP on Tempo.** The whole run needs `SELAT_ROUTER_URL` configured and the router reachable — there is no Circle-Gateway fallback.43- Per-step caps are **~10x each live price ($0.10–$0.50)**; live prices (probe-verified 2026-07-10) sum to about **$0.089** per run. Clado contacts ($0.04515) dominates the cost.44- Step 2 needs an email. If you do not pass `--email`, feed the address returned by step 1 before running the verifier.45- Step 4 (Clado contacts) keys entirely off `linkedinUrl` — without a real LinkedIn URL the phone lookup cannot match. Step 3 (Apollo) also matches much better with it.46- Steps run independently (continue-across-steps): one merchant can succeed while another fails — check the per-step summary.47- The MPP paths are `/hunter/...`, `/apollo/...`, `/clado/...` and POST-only — they are not the merchants' public API routes.4849## Validation5051> `--chain base` in the probe commands below is only the flag `selat-pay` requires today — a probe reads a free, chain-independent quote and never settles. A real paid run resolves the settlement chain from your funded Circle Gateway balance, not the manifest.5253Run free 402 probes (no payment) before a paid run, per the repo convention:5455- `selat-pay POST "https://hunter.mpp.paywithlocus.com/hunter/email-finder" --body '{"domain":"stripe.com","first_name":"John","last_name":"Doe"}' --chain base --probe-only`56- `selat-pay POST "https://hunter.mpp.paywithlocus.com/hunter/email-verifier" --body '{"email":"john@stripe.com"}' --chain base --probe-only`57- `selat-pay POST "https://apollo.mpp.paywithlocus.com/apollo/people-enrichment" --body '{"first_name":"John","last_name":"Doe","organization_name":"Stripe","linkedin_url":"https://linkedin.com/in/johndoe"}' --chain base --probe-only`58- `selat-pay POST "https://clado.mpp.paywithlocus.com/clado/contacts" --body '{"linkedin_url":"https://linkedin.com/in/johndoe"}' --chain base --probe-only`59- `selat-pay POST "https://hunter.mpp.paywithlocus.com/hunter/company-enrichment" --body '{"domain":"stripe.com"}' --chain base --probe-only`6061A successful run prints `status=200` for each step and a ✓ summary.6263## References6465- `manifest.json` — the machine-readable payment recipe this skill runs.66- [`references/endpoints.md`](references/endpoints.md) — the MPP endpoints, methods, and prices this skill calls.67- [`references/agent-skill-authoring-sop.md`](../../references/agent-skill-authoring-sop.md) — authoring standard.68- selat-pay — https://github.com/SELAT-AI/selat-pay