Lead enrichment and contact information
When Embers already has an email or phone for a lead, where those fields appear, and what the source and confidence values on them mean.
Some leads carry an email or a phone number. Embers does not guess them and does not attach them to every lead: contact information appears only after that lead has been enriched, and only on a paid plan.
When Embers has contact information
Two conditions have to hold at once:
- The account is on Solo or above.
- The lead has already been enriched, meaning a lookup ran against that person and stored a result.
Enrichment happens when you open a lead and Embers fetches their extended profile, and when you ask for contact information on the lead detail. Results are cached for 30 days. Inside that window the stored values are reused; after it, the next request runs a fresh lookup.
The fields
Every surface uses the same object, so the values line up wherever you read them.
| Field | What it is |
|---|---|
email | The stored email, or empty when there is none |
phone | The stored phone number, or empty |
enriched_at | When the contact lookup last ran |
last_verified_at | Same timestamp, kept for consumers that expect the name |
included | True only when an email or a phone is actually stored |
source | Which provider returned the result: harvest or apify |
confidence | The provider’s email status when it gave one: safe, verified, or risky |
status | ready, pending, failed, or unavailable |
source tells you which lookup path produced the record. confidence is passed through from the provider rather than computed by Embers, so treat risky as a reason to verify before you use the address, and treat a blank value as “the provider did not say”.
Where the fields appear
The contact card on the lead detail shows the email and the phone with a copy button on each, and prints the source underneath. While a lookup is running it shows a waiting state. When nothing came back it says so plainly instead of showing blanks.
The CSV export adds six columns at the end of each row: Email, Phone, Contact Enriched At, Contact Source, Contact Confidence, and Contact Included.
HubSpot contacts are created or updated with email and phone taken from the stored values, alongside first name, last name, job title, company, and the LinkedIn URL.
The Slack lead card carries a contact row, but only when a stored email or phone exists. Otherwise the row is left out.
Signed webhook payloads carry lead.contact with all eight fields above. Missing values are null and are never invented. On Free the contact key is absent rather than empty.
One exception worth knowing: the public branded client feed used by agency workspaces omits contact fields completely, whatever the plan.
Troubleshooting
- “No contact info found”. The lookup ran and the provider returned nothing for that profile. Not every person has a discoverable email.
- “Contact lookup isn’t available”. No contact provider is configured for the environment. Nothing you can change from the app.
- A lookup stays pending. Requests are locked while in flight so two clicks do not run two lookups. Give it a moment and reopen the lead.
- The CSV columns are empty for most rows. Expected. Only enriched leads have values, so a freshly exported list of new leads will be mostly blank.
Related
Frequently asked questions
- Does a webhook or a Slack message trigger a contact lookup?
- No. Deliveries copy values that are already stored on the lead. Only the lead detail screen starts a lookup.
- Why is the contact row missing from a Slack card?
- Nothing is stored for that lead yet. Embers leaves the row out rather than showing an empty placeholder.
Was this article helpful?
What went wrong?
Thank you. We read every answer.
Still stuck?
Send us the article you were following and what happened. We answer from the same inbox that writes these pages.