Email Sending

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.

Sending domains

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.

Tracking

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.

Inbound email

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.

Your inbound ingest address

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.

Two ways to use it

  1. As a routing destination. Configure an alias / Google Group / Microsoft 365 distribution list at the address you want public-facing (e.g. 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.
  2. As a BCC target. When you reply from your own mailbox, BCC the same address. KarmaFlow logs the outbound message against the recipient's contact so the timeline shows both sides of the conversation. No alias setup needed for this use.

How to point your own address at the ingest address

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.

Catch-all routing

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.

What happens when an email arrives

  1. Sender matched. If the sender's email already belongs to a contact, the email is attached to that contact.
  2. Sender unknown, company recognized. If the sender's domain matches an existing company, a new contact is created and linked to that company.
  3. Sender fully unknown. A new contact is created. For corporate domains the company is created at the same time. Public mailbox domains (Gmail, Outlook, iCloud, Yahoo, etc.) only create the contact — no company is created from a Gmail address.
  4. Activity logged. An email_received entry appears on the contact's (and, if applicable, the company's) timeline.
  5. Orchestrations fire. The event 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.

Ingestion behavior

The Ingestion behavior card controls how inbound messages are handled before they're stored:

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.

Related