by_email when a B2B workflow starts with a person’s work email. Context.dev extracts the domain and resolves its company profile.
Send a work email
The PHP tab uses the SDK’s low-level request method because the
2.14.0 Brand helper requires conflicting lookup fields. See the PHP guide for details.Handle personal email addresses
Free and disposable email providers return422 because their domains do not identify the sender’s employer. Treat this as a validation outcome rather than a transient failure.
The TypeScript example below reuses the client above inside an async function that receives email:
TypeScript
Use it in onboarding
- Start enrichment only after the email passes client-side format validation.
- Never block signup because a company profile is missing.
- Fill blank form fields, but do not overwrite data the user already entered.
- Store the returned company domain separately from the user’s full email address.
- Prefetch after the work email stabilizes if the profile will be needed on the next step.
maxSpeed, force_language, maxAgeMs, timeoutMS, and tags are available on this lookup.
Next steps
Lead enrichment
Build an end-to-end company enrichment workflow.
Handle email errors
Respond to invalid, personal, and disposable email addresses.