The Email Sending page (Settings → Email Sending) is where you configure both outbound sending and inbound ingestion for your tenant. The page is split into two parts.
KarmaFlow sends outbound email from one or more verified sending domains (a subdomain you own, such as mg.yourcompany.com). Each domain card walks you through three checks:
A domain only shows Ready to Send when all three are green. Click Add a sending domain to start a new one; the page prompts you through each step.
Per-domain tracking covers opens, clicks, and unsubscribes. Tracking domains use a TLS certificate that the page can generate and renew for you. If a tracking option is off, those events won't be recorded for that domain.
Below the sending domains is the Inbound email section. KarmaFlow gives every tenant a unique address that you can route mail to — incoming messages are automatically attached to a contact (creating one if the sender is new) and become available for orchestration triggers.
The address shown in the Inbound ingest address card is unique to your tenant and looks like:
<your-tenant-id>@sys.karmaflow.ai
This address is what KarmaFlow listens on. Your external senders should never see it. Instead, you set up an alias, mailing list, or distribution group on your own domain that delivers to it — so people email support@yourcompany.com and it lands in KarmaFlow without sys.karmaflow.ai appearing in headers, replies, or directories.
support@yourcompany.com) and add the ingest address as a member or destination. External senders interact with your domain only; KarmaFlow receives a copy of every message.Expand the How to point your own address here accordion on the settings page and pick your provider. The goal in every case is the same: an address on your own domain whose delivery target is the ingest address.
support@yourcompany.com). Add the ingest address as a group member. Set the group's "Who can post" to allow external senders. Mail to support@yourcompany.com silently fans out to KarmaFlow (and any human members you add). Admin alternative: Apps → Google Workspace → Gmail → Routing → recipient-rewrite rule that adds the ingest address as an envelope recipient.support@yourcompany.com and destination is the ingest address. If you want a local copy retained too, list a second destination.mail.yourcompany.com) to land in KarmaFlow at the DNS level. Rarely needed; contact support if you think you do.For tenants who want every unrouted address at their domain (*@yourcompany.com) to flow into KarmaFlow, set up a catch-all alias / forwarder pointing at the ingest address. Great for typos and "anything goes" inboxes, but also catches bounce backscatter — pair with the pre-filter agent (described below) to drop spam.
After any setup, send a test from outside your domain. Within a minute it should appear under the matching contact's Communications view.
email_received entry appears on the contact's (and, if applicable, the company's) timeline.email.inbound_received is dispatched, so any orchestration with a matching trigger runs.Duplicate messages (same Message-ID) are detected and skipped, so a forwarding loop or re-delivery won't create duplicate timeline entries.
The Ingestion behavior card controls how inbound messages are handled before they're stored:
{"action":"allow"} to let the message through, or {"action":"drop"} to discard it (useful for spam, vendor noise, or bounce backscatter). Anything else — including a timeout, an error, or unparseable output — falls back to allow so legitimate mail is never silently lost. Pre-filter is off by default.The Mailgun route active badge above the form confirms that the routing infrastructure is provisioned for your tenant. It appears automatically the first time the settings page loads; no manual setup is needed.