By default, emails sent through Qflow use shared sending infrastructure. If you want recipients to see emails coming from your own domain (e.g.Documentation Index
Fetch the complete documentation index at: https://docs.qflowhub.io/llms.txt
Use this file to discover all available pages before exploring further.
mail.yourcompany.com), authenticate a domain at SendGrid via the API.
Why bother: improved deliverability (your DKIM signature, your reputation), recipient trust (no via sendgrid.net annotation in Gmail), full From / Reply-To control.
Lifecycle
Publish the CNAMEs at your registrar
Add the records exactly as returned. DNS changes can take minutes to hours to propagate.
Endpoints
| Method | Path | Purpose |
|---|---|---|
POST | /api/comms/domain | Create — body: {"domain": "mail.example.com"} |
GET | /api/comms/domain | Read current state (id, domain, verified, enabled, DNS records) |
POST | /api/comms/domain/verify | Validate DNS at SendGrid; auto-activates on success |
POST | /api/comms/domain/activate | Re-enable after a manual deactivate (no DNS recheck) |
POST | /api/comms/domain/deactivate | Disable without losing setup (sends fall back to default sender) |
POST | /api/comms/domain/delete | Remove entirely (clears your domain id, deletes from SendGrid) |
Create
Verify
Activate / Deactivate
/activate and /deactivate toggle the enabled flag without touching SendGrid records. Use /deactivate when you suspect DNS issues are hurting deliverability — your sends fall back to the default sender immediately, but the SendGrid record + DNS setup stay in place.
Re-/verify (which auto-activates on success) or /activate (no DNS recheck) when you’re ready to resume.
/activate returns 409 domain_not_verified if the domain has never passed verification. First activation must follow a successful /verify.Delete
POST /api/comms/domain/delete clears the domain id from your account and deletes the record at SendGrid. After delete, GET /api/comms/domain returns 404. You can recreate the same domain freshly afterwards.
One domain per account
You can have at most one custom domain per Qflow account at a time. If a domain is configured,POST /api/comms/domain returns 409 domain_already_configured — delete first if you want to switch.