Set up a custom notification-email identity for a sub-account
System notification emails (balance alerts, rate sheets, digests, invites) sent on behalf of a subaccount leave from the platform sender by default. A custom notification-email identity replaces thatFrom line with your own name and address, for example Acme Corp Notifications <notifications@acme.com>, so the mail your child org’s users receive carries your brand instead of the platform’s.
This guide covers setting the identity in the dashboard and over the API, verifying the sending domain, and reading the fallback chain that decides which address an email actually leaves from.
Two settings are easy to confuse:
Why resellers set this up
If you operate Orbit as a white-label platform, your subaccounts’ users should never see the platform’s domain in their inbox. When Orbit sends a low-balance alert for the child org “Acme Retail”, the defaultFrom is the platform identity. With a verified custom identity, the same email arrives as From: Acme Corp Notifications <notifications@acme.com>.
The identity applies to system notification emails only. Campaign senders, per-message reply-to, and digest cadence are separate controls; see What this does not change.
Prerequisites
- A provisioned subaccount. If you have not created one yet, follow White-label subaccounts.
- The admin role on the parent organization, or admin/owner on the subaccount itself when you configure the subaccount’s own identity.
- A sending domain you control, with access to its DNS records.
- The domain added as a sender identity. Verification happens on the Email senders surface; Sender identity onboarding covers adding the domain and reading its DNS records.
Set the identity in the dashboard
- Open Settings > Sub-accounts and select the subaccount.
- In the Notification email sender panel, fill in:
- From name: the display name recipients see, for example
Acme Corp Notifications. Leave blank to inherit the parent or platform display name. - From address: the address emails leave from, for example
notifications@acme.com. Leave blank for “no override, inherit”.
- From name: the display name recipients see, for example
- Choose Save changes.
- Verified means the address’s domain has passed DKIM and SPF for this org. Notification emails now leave from this address.
- Pending verification means the address is saved but not active yet. Emails use the fallback sender until the domain verifies. The fallback is silent by design: Orbit never sends from a domain that has not passed DKIM and SPF, because such mail hard-fails at the gateway.
effective block described below.
Verify the domain (DKIM and SPF)
Verification is per sending domain and reuses the evidence the Email senders surface tracks. The notification-email panel saves your address and reports the outcome; the DNS records themselves come from Email senders.- Save the from-address in the notification-email panel. The badge shows Pending verification.
- Open Email senders and add the from-address’s domain if it is not listed yet. The surface shows the exact DKIM and SPF records to create.
- Add those records as TXT entries at your DNS provider.
- Re-check verification on Email senders. Propagation depends on your provider’s TTL; fresh records typically take minutes, occasionally hours.
- Reload the subaccount page. The badge flips to Verified, and
GET /subaccounts/{id}/notification-emailnow returns"verified": true.
The fallback chain
Resolution walks the org chain (the subaccount, then each parent, up to eight levels deep) and picks the first org whose configured from-address sits on a DNS-verified domain for that org. If no org in the chain qualifies, the platform default sends.
Two response fields make the outcome explicit:
effective.source: one ofsubaccount,ancestor,platform.effective.resolved_from_organization_id: the organization whose verified identity won;nullwhen the platform default sends.
source: "ancestor" means the subaccount’s own domain was not verified at send time, and resolved_from_organization_id names the org that supplied the sender.
API recipe
Both endpoints require the admin role: a parent-org admin for any child, or the subaccount’s own admin when{id} is the caller’s own organization.
Read the current configuration
effective names the real sender:
Set the identity
verified is false while effective still reports the fallback sender; once the domain verifies, effective.source moves to subaccount without another PUT.
Clear the override
from_address: null (or an empty string) clears the override, and the org inherits from its parent or the platform default. Clearing the address clears the from-name with it.
Validation rules
from_addressmust be a well-formedlocal@domainaddress of at most 254 characters; anything else returns 422.from_nameis at most 128 characters; blank ornullmeans “no display name”.- The request body accepts exactly
from_nameandfrom_address; unknown fields return 422. - Saving does not require verification. Verification gates activation, not storage, so you can configure the identity first and verify the domain afterwards.
Gotchas
- The platform domain is not a valid custom identity. You can save an address on
orbit.devotel.io, but the platform domain is never in an org’s verified-sender list, so it cannot verify and resolution falls back. Use a domain you own. - Unverified reads like unset at send time. Both states fall back to the chain. If a co-branded email showed the parent sender, check the badge or the
verifiedflag first. - Parent and subaccount on different verified domains. Each domain carries its own DKIM and SPF records, and recipient-side DMARC alignment is evaluated against the domain that actually sends. After a fallback, the aligned domain is the one in
effective.from_address, not the one you configured. - DKIM rotation. When you rotate the DNS records of a sending domain, re-run verification from Email senders. Until the domain re-verifies, subaccounts on it fall back to the chain.
- Verification is evaluated per org. Resolution checks each org’s configured address against that org’s own verified senders as it walks the chain.
What this does not change
The notification-email identity routes the sender only:- Who receives rate sheets and balance alerts per subaccount: Sub-account notification recipients.
- How often digests and notifications send: Digest and notification channels FAQ.
- Campaign sender identities, which are managed per campaign and are not affected by this setting.
- Per-message reply-to overrides, which this setting does not touch.
- Email content. The identity changes the
Fromline only; the panel does not expose template or body editing.
Confirm it worked
There is no send-test button for notification emails; the reliable check is the API plus the next real email:- Call
GET /subaccounts/{id}/notification-emailand confirmeffective.sourceissubaccountwith your address ineffective.from_address. This is the authoritative readout of what the next email will use. - Trigger a real notification: transfer credits out of the subaccount to trip the low-balance alert, or wait for the next scheduled digest (cadences are in the FAQ).
- In the inbox that receives it (per the recipients configuration for this subaccount), confirm the
Fromline shows your name and address.
effective block is the supported way to confirm which org’s identity a send used.