The problem
Standing up new sending domains was manual, error-prone, and slow: register, configure mailboxes in Microsoft 365, write DNS records in Cloudflare, verify SPF/DKIM/DMARC, then track which domains were actually ready. One missed record meant silent deliverability failure.
What we built
A database-driven automation where Supabase is the source of truth and orchestrates every downstream system:
- Microsoft 365: programmatic mailbox and tenant configuration.
- Cloudflare DNS: automated creation of SPF, DKIM, DMARC, and routing records.
- Verification flows: each record and mailbox checked automatically before a domain is marked usable.
- Status tracking: a clear state machine (
pending → provisioning → verifying → ready / failed) visible at a glance.
Human-in-the-loop
Provisioning is automated, but failures surface for review instead of disappearing. A human can intervene exactly where judgment is needed, and the automation handles the repetitive 95%.
Outcome
Domain provisioning went from a careful manual checklist to a repeatable, verifiable pipeline: fewer silent failures, faster ramp, and a clear audit trail of what’s ready and what isn’t.