Guides
Email channel: your support address and your own mailbox
Use your workspace's support address or connect your own mailbox, and let your mate answer, draft, summarize and forward email from the Inbox.
On this page
AI Assistant answers customers by email in two ways, and both end in the same Inbox thread. Every workspace already has a support address your mate answers from. You can also connect your own mailbox — the address customers already write to — so your mate reads what arrives there, answers in the same thread from that address, and works beside you as a mail copilot: it summarizes, drafts, translates, forwards and sends invites, and nothing leaves without your say-so.
1. Your support address (ready now)
Every workspace gets an inbox address in the shape <slug>@support.busymate.ai, shown at the top of Console → Email. There is nothing to register or verify: publish it wherever you point customers for support, and every message that arrives is read, answered from that same address, and kept in one thread with every reply.
2. Connect your own mailbox
Under Connected mailboxes, choose Connect a mailbox. You may type the address you want your mate to answer from, or leave it empty and pick it in the next step. The button opens a hosted sign-in page in the same tab:
- IMAP — your mail server, a user name and a password (an app password where your provider issues them). Server settings are found for you from the address; you can correct them.
- Gmail — sign in with Google and grant mailbox access. A Google Workspace mailbox works today; a personal Gmail account is best connected over IMAP with an app password until the Google review of the sign-in completes.
- Outlook / Microsoft 365 — sign in with your Microsoft account. Personal Outlook.com mailboxes are not available yet.
Nothing is pasted into the Console and no password is stored by AI Assistant: the sign-in happens on the hosted page, and the Console only learns that it succeeded. When you come back, the page verifies the mailbox, registers the delivery hook that brings new mail to your mate, and shows the summary: Connected as your address · Mailbox connected · Webhook registered.
If the sign-in did not finish, the row stays on Waiting for sign-in with a Reopen the sign-in button. If a provider later rejects the sign-in (a changed password, a revoked grant), the row shows Sign-in expired — re-authenticate, and Re-authenticate opens the same hosted page for the same mailbox. You can connect more than one mailbox; each answers its own address.
3. What happens to an incoming message
A new message in the connected inbox becomes a conversation in the Inbox, under the Email channel, in the same thread as any earlier mail with that customer. Your mate reads it, answers with the same knowledge and rules as every other channel, and the reply goes out from the connected mailbox, threaded — the customer sees an ordinary reply in their own mail program, and their next message lands in the same conversation. Automatic replies (out-of-office, bounces from mailing lists) are recorded but never answered, and a copy of a message your own mailbox sent is never treated as a customer message.
If a person has already taken over the thread, your mate stays quiet and the teammate answers; see Human hand-off.
4. How your mate uses the mailbox (settings)
Each connected mailbox has its own settings on the Email page.
Customer mail context decides how much of the customer's earlier mail your mate may read when it answers — on any channel, not only email — once the customer is identified (their sender address, a signed-in customer, or a contact your team saved):
- Off — only the current thread.
- Summaries — a short history of past mail with this customer.
- Full — the past mail itself.
Whatever the level, the mail stays inside your workspace: it is never used for another workspace, and every retrieval is logged under Insight so you can see when and for which conversation past mail was read.
Copilot actions are switches for what your mate may do in this mailbox: summarize threads, draft replies, translate, send replies, send new mail, forward, send calendar invites, archive and move, flag, delete. An action you leave off is refused everywhere — in the Console, in chat and through the API — and a draft is never sent without a confirmation.
Signature is added to every reply your mate or your team sends from this mailbox. Send-as name is the name on outgoing mail. Reply from chooses whether replies go out from this mailbox or from your support address.
The connector's rules have their own pages under Console › Connections › EmailEngine › Rules: Inbound (whose mail reaches your mate, what is filed away without an answer, and how big a message may be), Routing (which queue and which person each address reaches, your working hours, and what is always escalated), AI replies (whether your mate drafts an answer or sends it, and the limits on sending), Outbound and identity (who your mail is sent as, how it is delivered, the hourly limit, and the addresses never written to), Threading (how a message finds its conversation and when a reply starts a new one) and Notifications (which mail events tell a person, through which channels, and when they stay quiet).
5. The mail copilot in the Inbox
Open an email conversation in the Inbox and the thread shows every message in order — quoted copies of earlier messages are folded away, attachments are listed and downloadable, and each outgoing message carries its delivery state: Sending…, Sent, Could not deliver — reason, or Bounced — reason.
The composer gains a row of controls:
- AI draft — your mate drafts a reply into the composer, grounded in the conversation and your knowledge. Edit it, then send.
- Summarize — a short summary of the whole thread.
- Translate — the customer's message, or your draft, in another language.
- Forward — to an address you enter, attachments included.
- Invite — a title, a start time and a duration become a calendar invitation the customer can accept from their own calendar.
- Send — a reply goes through the same outbox as every operator reply, threaded from the mailbox the mail arrived on.
The same actions are available to your mate in Console chat and over the MCP tools listed below, under the same switches.
6. Delivery problems
When a reply cannot be delivered, the message in the thread shows why, and the Email page's summary reads Last delivery problem with the time and the reason. A bounce shows on the thread the same way. Nothing is retried silently: fix the address or the mailbox, then send again.
7. Disconnecting
Disconnect mailbox stops your mate reading and answering that mailbox and revokes the sign-in you granted; the conversations and their mail stay in the Inbox as history, and your support address keeps working.
8. Bring your own EmailEngine
A connected mailbox lives on an EmailEngine server: the software that holds the mailbox connection, picks up new mail and sends replies. By default that server is ours and there is nothing to run. On every plan you can move your workspace onto your own EmailEngine instead, so the mailboxes, their sign-ins and the mail itself stay on infrastructure you control, under your own rules. Everything in sections 3 to 7 works the same on either server. (We can also run a server for your workspace alone; contact us for that.)
The settings sit under Console › Connections › EmailEngine, one page per setting: Overview, then Setup (Server, Mailboxes, Folders), Rules (Inbound, Routing, AI replies, Outbound and identity, Threading, Notifications) and Data and safety (Data, Activity, Danger zone). If Server is not in your Console yet, EmailEngine has not been switched on for your workspace; the Overview says so, and you can contact us.
What to run
- EmailEngine 2.72 or newer (2.79.4 or newer recommended) with its Redis database, behind a reverse proxy that terminates TLS.
- A public
https://address on port 443 or 8443, with no user name or password in it, that resolves only to public IP addresses and answers directly: redirects are not followed. - A clock within five minutes of ours; beyond that, its signed webhooks cannot be trusted.
- Outbound HTTPS to the internet, so its webhooks reach us.
- Its Service URL (EmailEngine → Configuration → General) set to that same public address: the sign-in page for adding a mailbox is served from there. Mailboxes that sign in through their provider with OAuth2 need an OAuth2 app registered on your EmailEngine; IMAP mailboxes need nothing extra.
The token to give us
In your EmailEngine admin, open Integrations → Access Tokens and create a token with:
- API access only (the
apiscope), never full access (*). - No account binding. The connector creates mailboxes, opens their sign-in pages and reads your server's settings, so the token must be instance-level; one bound to a single mailbox is refused by the checks, which say so.
- No section limits. EmailEngine 2.80.1 and newer can limit a token to parts of its API; the checks read your settings and your token list, and a token without them is refused.
- An address lock, if your EmailEngine lets you set one on the token (its
restrictions.addresses): list exactly the addresses in the next step.
EmailEngine shows the token once. It is the narrowest token the connector can work with, and it is stored in our credential store: never shown back or logged, with only its last four characters on the page. If you give it an expiry, replace it before that date under Replace a secret → Access token.
Where we call your server from
Every call to your server (the checks, mailbox actions, replies and the health check) comes from 142.93.32.78. Allow that address, and nothing else of ours, on your firewall, on your reverse proxy and in the token's address lock. The Overview and the Server page show the current list under Where we call your server from, and it wins if it ever differs from this page. If it says we have not stated our addresses, leave your server open to us and contact us before narrowing it: a list we cannot vouch for would lock us out. If the list holds only IPv4 addresses, publish only an IPv4 (A) record for your EmailEngine's host name, so no call reaches it over IPv6 from an address you have not allowed.
Your licence
Your own EmailEngine runs on your own EmailEngine licence. Ours covers the servers we run, and EmailEngine's terms do not let a licence key be shared with another organisation, so your server needs your own subscription (a new instance starts with EmailEngine's trial). Without a valid licence EmailEngine stops syncing, sending and delivering webhooks. The Licence card on the Server page shows the state your server reports and warns in the month, the week and on the day it ends; one we could not read shows Unknown, never fine. If it lapses, your server stops moving mail, and we never route it through ours instead.
Webhooks
Connecting adds any of these that are missing to your server's webhook event list (webhookEvents) and reads the list back to prove it: messageNew, messageSent, messageDeliveryError, messageFailed, messageBounce, messageComplaint, messageUpdated, messageDeleted, messageMissing, authenticationError, connectError, accountAdded, accountInitialized and accountDeleted. It also turns on message text in webhooks and the headers our mail-loop protection reads (Auto-Submitted, Precedence, List-Id and a few more). These are additions only: nothing you already send is removed, and your own webhook address is left alone, because ours is set on each mailbox.
EmailEngine signs every webhook with its service secret (serviceSecret) and never reveals the one it generated. Set your own through its settings API (serviceSecret in POST /v1/settings), then paste the same value under Replace a secret → Webhook signing secret. Until it is stored, every webhook from your server is refused. A later replacement keeps the old secret working for ten minutes, so nothing already in flight is lost.
Connect it
- On Server, under Where your mail runs, choose Your own server. The change is refused while your mate is working a mailbox; pause it first.
- Enter the Server address, then paste the Access token. Eight checks run in order (the address, a public host, an answer, the version, what the server can do, its clock, the token, its licence) and What we checked shows each. A refusal stores nothing, not even the address, and names the fix; a check we could not complete is never counted as a pass. Check again runs them anew.
- Store the signing secret as above.
- On Mailboxes, adopt the addresses already on your server (nothing is renamed or signed in again) or add one through your server's own sign-in form. Adopting writes one thing on your server: it sets that address's own webhook to our address, so the address's events come to us rather than to your server's default webhook, and the result reads Delivery to us: registered. If that step fails, for example because your server did not answer, the address is listed on the Server page under Mail that does not reach your mate until Re-check gets through. An address whose own webhook already points somewhere else is not adopted; clear that webhook on your server first. Then switch on Let your mate use this mailbox.
- On Folders, choose what is watched for each mailbox.
Mailboxes connected before the move stay on our server and keep working until you adopt or add them on yours. Moving your live mail across on the Server page shows each step as it stands, and the way back. A health check runs every five minutes; three failures in a row mark the connection broken and tell you once.
What we store, and for how long
Your mailboxes, their passwords and OAuth grants, and the mail itself stay on your server. We hold your server's address, its token and signing secret, its health history (thirty days on Activity), and a copy of each message that arrives in a watched folder or is sent through us, so the Inbox, search and replies work: its text, its details (sender, date, subject), the webhook events about it and links to its attachments. The files stay on your server and stream through when opened.
That copy is kept forever by default. On Data you can set a number of days for each of those four parts; a daily job then removes what is older, counted from when we received it, and a part you leave empty is kept. The same page removes card numbers, bank account numbers, national ID numbers or your own patterns before a message is stored, exports your mail, and removes test traffic, one mailbox's mail or one person's mail, each showing exactly what it would remove first.
Detaching
Danger zone holds four actions. Each names what it touches before it runs; disconnecting every mailbox and forgetting the server also ask you to type the name they show:
- Disconnect every mailbox: mail stops arriving from every mailbox on your server; the server stays connected and the history stays.
- Detach the server, keep the mail: deletes your server's address and our credentials for it; the copied mail stays readable. Refused while a mailbox is connected.
- Forget the server and everything from it: first lists, table by table, what would go and what happens to each account on your server; then deletes everything copied from it, checks every table is empty, and only then detaches. There is no undo.
- Revoke our token: your server stops accepting our token, and we check that it refuses it before saying so.
An account that was on your server before we adopted it is never deleted there unless you switch on Also delete the accounts we adopted on your server. To return to our server instead, pause your mailboxes, choose Our shared server under Where your mail runs, and add them again there; your token and signing secret are deleted on our side.
MCP tools
Everything on this page is available as tools on your workspace's MCP endpoint, with the same permissions as the Console. Mailbox: connect_email_channel, get_email_channel_status, disconnect_email_channel, set_email_channel_settings, list_email_channel_events. Inbox: send_email_reply, list_email_threads, get_email_thread, search_email, get_email_attachment. Copilot drafts: summarize_email_thread, suggest_email_reply, translate_email. Copilot actions (each confirmed, each subject to the mailbox's switches): send_email, reply_email, forward_email, send_calendar_invite, mark_email_read, move_email, flag_email, delete_email.
Your own EmailEngine (section 8): get_email_connector_enablement, set_email_instance_mode, get_email_instance_migration_plan, get_email_instance, set_email_instance, test_email_instance, get_email_instance_health, rotate_email_instance_token, rotate_email_ingress_secret, list_email_instance_mailboxes, list_adoptable_email_accounts, adopt_email_account, set_email_mailbox_settings, list_email_folders, set_email_folder_settings. Mail data and activity: get_email_data_policy, set_email_data_policy, export_email_data, purge_email_traffic, list_email_deliveries, get_email_outbox, cancel_email_outbox_message, replay_email_webhook_event, run_email_diagnostics. Danger zone: detach_email_instance. Rules and delivery: get_email_inbound_rules, set_email_inbound_rules, get_email_routing, set_email_routing, get_email_ai_policy, set_email_ai_policy, test_email_rules, get_email_effective_rules, get_email_rules_history, restore_email_rules, get_email_outbound, set_email_outbound, list_email_identities, verify_email_identity, list_email_suppressions, remove_email_suppression, get_email_threading, set_email_threading, get_email_notifications, set_email_notifications. Mailbox upkeep: verify_email_channel, reconnect_email_channel, pause_email_channel.
Limits
- Threads are kept by the standard mail headers (
Message-ID,In-Reply-To,References). A customer whose mail program strips them starts a new conversation; you can merge the two from the Inbox. - Search covers the mail your workspace has received since the mailbox was connected; older mail in the mailbox is not read.
- A calendar invitation is sent as a standard attachment; the customer's acceptance arrives as an ordinary reply in the thread.
- A mailbox whose sign-in keeps failing for three days is paused by the provider until you re-authenticate.
- On your own EmailEngine, mail waits on your server while it is unreachable or its licence has lapsed; it is never routed through ours in the meantime.
Verify
- Send a test email to your workspace's support address from an account you do not otherwise use, and confirm a reply arrives from that address within a few minutes.
- Connect a mailbox and confirm the Email page reads Mailbox connected · Webhook registered.
- Send a test email to the connected mailbox and confirm the conversation appears in the Inbox under Email with the reply marked Sent, and that the reply arrives threaded in the sender's mailbox.
- Reply from that same thread and confirm your mate keeps the context of the first message.
- In the Inbox, use AI draft, edit the draft and send it; confirm it arrives threaded.
- Switch off Send replies for the mailbox and confirm a send is refused, then switch it back on.
- On your own EmailEngine: on Server, choose Check again and confirm all eight checks read Passed or Warning, and that Health shows a check from the last few minutes.
- Send a test email to a mailbox on your own server from an account you do not otherwise use, and confirm the reply is marked Sent and arrives threaded.
Questions
Do I need to set up a mail server or DNS record?
No. The support address is ready as soon as your workspace exists, and a connected mailbox uses the sign-in your provider already offers; nothing is configured on your side unless you choose to run your own EmailEngine.
Is my mailbox password stored?
No. You sign in on a hosted page and AI Assistant only learns that the sign-in succeeded. Disconnecting the mailbox revokes that sign-in.
Can your mate read my whole mailbox?
It reads new mail in the inbox as it arrives, and — only when you set a customer mail context above Off — the earlier mail with the customer it is answering. Every such read is logged under Insight.
Can more than one teammate reply to the same email thread?
Yes. Any teammate with Inbox access can reply, and every reply — theirs or the assistant's — stays in the same thread the customer sees.
What happens if the assistant should not have answered a message?
A teammate can take over the thread from the Inbox at any point, before or after the assistant has replied; while a person holds the thread, your mate does not answer.