Routing Your Email Into KarmaFlow

KarmaFlow receives email at addresses on its own system domain, sys.karmaflow.ai. To capture mail sent to your own addresses — support@yourcompany.com, a teammate's mailbox, a shared alias — you point that address at a KarmaFlow ingest address using your mail provider's own tools. Nothing changes about your MX records, and external senders never see the KarmaFlow address.

This guide covers both destinations and both major providers.

flowchart LR
    A[Sender emails<br/>support@yourcompany.com] --> B[Your mail provider<br/>Google Workspace / Microsoft 365]
    B --> C{Group, list, or<br/>routing rule}
    C --> D[Tenant ingest address<br/>CRM timeline]
    C --> E[Group inbox address<br/>shared thread list]

Choose your destination first

The mechanism is the same; only the address you point at differs.

Destination Address shape What happens to the mail
CRM timeline <tenantId>@sys.karmaflow.ai Sender is matched to a contact (a contact — and a company, by domain — is created if new), and the message appears on that record's timeline
Group inbox <inboxId>.<tenantId>@sys.karmaflow.ai The message lands in that inbox's shared, threaded list
Helpdesk helpdesk.<tenantId>@sys.karmaflow.ai A ticket is opened; replies thread onto the existing ticket

You can use more than one, but see Sending the same address to two destinations before pointing a single address at two of them.

What you'll need

Step 1 — Copy your ingest address

For the CRM timeline

Go to Tenant Settings → Email Sending (/settings/email) and find the Inbound ingest address card. Copy the address shown.

The same address doubles as a BCC target: BCC it on outbound mail from your own mailbox and the conversation is logged against the recipient's contact. No prefix or special formatting needed.

For a group inbox

Go to CRM → Daily work → Group Inboxes, open the inbox you want (or click Create Inbox to make one). The address is in the header, under the inbox name, with a Registered badge beside it.

Registered means KarmaFlow has set up the mail route and the address is ready to receive. If it reads Not Registered — Register now, click it once and confirm the badge flips before continuing.

Each inbox has its own address, generated when the inbox is created — always copy it rather than composing it by hand.

Step 2 — Point your address at it

Pick the pattern that matches what you're routing.

Google Workspace

If the address is a shared one (support@, sales@) — use a Google Group. External senders only ever see your domain, and you can add people alongside KarmaFlow.

  1. In Google Admin → Apps → Google Workspace → Groups for Business, confirm groups are enabled.
  2. Go to Directory → Groups and click Create group. Give it the address external senders will use.
  3. Set Group type to Email list. Under Access settings → Who can post, choose Anyone on the web (or Anyone in the organization, depending on who should reach it).
  4. Open the group → Members → Add members and paste your ingest address. Add the humans who should see the thread too.
  5. Save.

If the address is an existing person's mailbox (cam@yourcompany.com) — use a routing rule instead. A Group can't take over an address that already belongs to a user, and you want the person to keep receiving their mail normally.

  1. Go to Apps → Google Workspace → Gmail → Routing and click Add Rule.
  2. Under Messages to affect, tick Inbound (add Internal – receiving if internal mail should be captured too).
  3. Under envelope filter, choose Only affect specific envelope recipients → Single recipient, and enter the address.
  4. Under Recipients, choose Add more recipients and add your ingest address.
  5. Save.

Use "Add more recipients", not "Change envelope recipient". The first delivers to both the person and KarmaFlow. The second redirects the mail away from their mailbox entirely.

Microsoft 365 (Outlook / Exchange Online)

If the address is a shared one — use a distribution list or Microsoft 365 group.

  1. In the Microsoft 365 admin center, go to Teams & groups → Active teams & groups → Distribution lists (or Microsoft 365 groups).
  2. Create a group with the address external senders will use.
  3. Add a member and paste your ingest address. Distribution lists accept external addresses, though you may need to allow external membership in the Exchange admin center first.
  4. Open Exchange admin center → Recipients → Groups → your group → Settings → Delivery management and select Senders inside and outside of my organization. Without this, external mail to the group is silently rejected.
  5. Save.

If the address is an existing person's mailbox — use a mail flow rule, which is the Exchange equivalent of Google's routing rule.

  1. Go to Exchange admin center → Mail flow → Rules and add a rule.
  2. Condition: The recipient is → the address you want captured.
  3. Action: Add recipients → to the Bcc box → your ingest address. (Bcc keeps the extra recipient invisible to everyone on the thread.)
  4. Save and make sure the rule is enabled.

Provider consoles change their menu wording from time to time. If a label here doesn't match what you see, look for the equivalent concept — a group/distribution list whose members include an external address, or a routing/mail-flow rule that adds a recipient.

Other providers

Most hosted mail platforms (cPanel, Fastmail, DirectAdmin, and similar) offer Aliases or Forwarders: set the source to your public address and the destination to the ingest address, adding a second destination if you also want a local copy. KarmaFlow's Tenant Settings → Email Sending page carries the same provider list with these steps built in.

Step 3 — Send a test

Send a message from an outside account to the address you just configured, then check the destination:

Rules can take a few minutes to apply after saving, so if nothing arrives immediately, wait and send a second test before troubleshooting.

Troubleshooting

Nothing arrives at all. Check the group-inbox address shows Registered. Then confirm your provider rule targets inbound mail and that the ingest address is spelled exactly as copied — both halves of a group inbox address are long identifiers and a single wrong character routes nowhere.

Mail arrives for internal senders but not external ones. On Microsoft 365 this is almost always Delivery management still set to internal senders only. On Google, check Who can post on the group.

The message arrives but looks like it came from your own domain. That's expected with forwarding and routing rules — your provider is the sending server for the copy. KarmaFlow reads the original sender from the message headers, so contact matching still works.

Replies aren't threading. Threading uses the message's own headers. A rule that rewrites the subject line or strips headers can break it; prefer adding a recipient over modifying the message.

Things worth knowing

Attachments. A group inbox stores attachments from inbound mail. The CRM timeline path does not currently capture attachment files — if attachments matter for a given address, route it to a group inbox.

Sending the same address to two destinations. If you point one address at both the CRM ingest address and a group inbox address, the same message is delivered twice and the two ingest paths can de-duplicate against each other, so a message may appear in only one of the two. If you want an address captured in both places, test it deliberately and check both destinations, or use a tagged variant (cam+inbox@yourcompany.com) for the second route so the two flows never share a message.

Nothing changes about your MX records. Your provider keeps handling mail for your domain exactly as before. sys.karmaflow.ai is a separate domain that KarmaFlow operates; your provider simply hands it a copy.

Next steps