Format
Matches `/^[^\s@]+@[^\s@]+\.[^\s@]+$/`. Anything with a non-empty local part, an `@`, a non-empty domain, a `.`, and a non-empty TLD passes.
Examples
- alice@example.com
- a+b@sub.example.co.uk
- invalid: alice@@example.com (double @ caught)
Matches `/^[^\s@]+@[^\s@]+\.[^\s@]+$/`. Anything with a non-empty local part, an `@`, a non-empty domain, a `.`, and a non-empty TLD passes.
Faithful summary of lib/validators.ts. Validators are pure functions and run identically in the worker, the Workbench, and the MCP server.
function validEmail(value) {
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)
? OK
: fail('email_invalid', 'not a valid email')
}Validators attach to a field on a custom template. The cascade runs them after mapping but before commit; failures surface in the per-row validation report.
fields:
- column: email
type: email
validators:
- type: emailusers_v1User directory: identity, contact, role, and onboarding metadata.
Fields: email
patient_demographics_v1Patient identity. Emits FHIR Patient.
Fields: email
leads_v1Sales leads: contact, source, status, and creation metadata.
Fields: email
contacts_v1People at named accounts: identity, contact details, role, decision-maker flag.
Fields: email
opportunities_v1Deals in pipeline: amount, stage, probability, close date, owner.
Fields: owner_email
customers_v1Repeat e-commerce buyers: identity, contact, default shipping, lifetime stats.
Fields: email
Pricing
Schema-only mode (headers + ≤3 sample rows) is free and unlimited; full-data commits are metered. See plans →