# Set up email

> Connect a support mailbox — Gmail or Google Workspace with an app password, Microsoft 365 by sign-in, or any IMAP mailbox — and let an agent read and answer the mail in it.

Source: https://docs.amomic.in/channels/email

---

Connecting a mailbox puts one of your agents on a support address you already own. The agent reads new mail as it arrives, answers from its knowledge, and every thread lands in your inbox next to web, WhatsApp and voice conversations. Replies leave from your own address and sit in your own Sent folder.

Nothing is moved out of your mailbox, and nothing older than the day you connect is imported.

## What you get once it is connected

- **New mail answered or drafted.** Each incoming mail becomes a conversation. In **draft** mode the agent writes and your team sends; in **auto-reply** mode it answers on its own.
- **Threads, not just messages.** A customer's follow-ups land in the same conversation, with the quoted history cut away so the agent reads only what is new.
- **Noise left alone.** Newsletters, bounces, auto-replies, mailing lists and mail from your own domain are stored for the inbox but never answered.
- **Your team stays in charge.** The moment someone from your team replies in a thread from their own mail client, the agent goes quiet on that thread.

## Three ways to connect

| Your mailbox | How it connects | What you need |
|---|---|---|
| **Gmail** or **Google Workspace** | An app password. Servers are filled in for you. | 2-Step Verification on the Google account, then an app password. |
| **Microsoft 365** or **Outlook.com** | Microsoft sign-in. | The mailbox's own sign-in; IT approval if your organisation requires admin consent. |
| **Zoho Mail, Yahoo, iCloud, Rediffmail, a web host, your own server** | IMAP and SMTP with a password. | IMAP enabled on the account; an app password where the provider demands one. |

::: note Why Google uses an app password and not "Sign in with Google"
Reading mail through Google's API needs a Google security review of our app that is still in progress. Until it clears, a Google sign-in would stop working after seven days. An app password has no such limit, works for Gmail and Google Workspace alike, and is what most help-desk tools use for Gmail today. The agent gets exactly the same access either way.
:::

## Before you begin

- Admin access to the mailbox you want to connect
- An Amomic-AI agent, published, with the knowledge to answer — the agent is chosen after connecting, so this can wait a minute, but mail is only stored until one is assigned
- Your plan must include the email channel (Starter and above)

## Connect Gmail or Google Workspace

This takes about three minutes. Everything happens in the Google account that owns the mailbox; nothing is installed.

::: steps
::: step Turn on 2-Step Verification
Open [myaccount.google.com/security](https://myaccount.google.com/security) signed in as the mailbox (for a shared address such as `support@`, sign in as that address). Under **How you sign in to Google**, open **2-Step Verification** and turn it on. If it is already on, skip to the next step.

Google only offers app passwords to accounts that have 2-Step Verification on.
:::
::: step Create an app password
Still on the Security page, open [myaccount.google.com/apppasswords](https://myaccount.google.com/apppasswords). Type a name such as `Amomic-AI` and choose **Create**. Google shows a 16-character code, in four groups of four. Copy it now: it is shown once.
:::
::: step Connect it in the console
Open **Channels → Email**, choose **Connect a mailbox**, then **Google Workspace / Gmail**. Enter the mailbox address and paste the code as the app password (spaces do not matter). Choose **Check & connect**.

We sign in to Google's incoming (IMAP) and outgoing (SMTP) servers once, right there, and tell you if either refuses. The password is stored encrypted and never shown again.
:::
::: step Pick the agent and the reply mode
The new mailbox opens on its **Automation** tab. Choose the agent, leave it on **Drafts for approval** for the first days, and save.
:::
:::

::: warning Google Workspace: three admin switches
On a Workspace domain an administrator may have to allow three things in the [Admin console](https://admin.google.com) before the steps above work: **2-Step Verification** for users (Security → Authentication → 2-step verification), **app passwords** (the same page, *Allow users to trust the device / app passwords*), and **IMAP** (Apps → Google Workspace → Gmail → End User Access → *Enable IMAP access for all users*). If the app passwords page says the setting is not available, this is why.
:::

**The IMAP and SMTP servers** are filled in: `imap.gmail.com` (port 993) and `smtp.gmail.com` (port 465). You only need **Server settings** in the dialog if your organisation routes Gmail through something else.

## Connect Microsoft 365 or Outlook

::: steps
::: step Start the sign-in
Open **Channels → Email**, choose **Connect a mailbox**, then **Microsoft 365 / Outlook**, and **Continue to Microsoft**. You leave for Microsoft's own sign-in page and come straight back.
:::
::: step Sign in as the mailbox and accept
Sign in with the mailbox you want the agent to answer from — a shared mailbox has to be signed in as itself. Microsoft lists what Amomic-AI is asking for: read and write mail, send mail as you. Accept.
:::
::: step Confirm in the console
Back in the console the mailbox appears with **Connected with: Sign-in**. Pick the agent on the **Automation** tab.
:::
:::

**If Microsoft shows "Need admin approval"**, your organisation requires an administrator to consent for everyone. The connect dialog has an **Admin approval** link for them; once they have approved, run the steps again.

Outlook.com, Hotmail and Live addresses use the same sign-in.

## Connect Zoho, Yahoo, iCloud or any other mailbox

Choose **Connect a mailbox**, then **Other mailbox (IMAP/SMTP)**. Enter the address and password. The servers are guessed from the address; correct them if your provider says otherwise.

| Provider | Password to use | Incoming (IMAP) | Outgoing (SMTP) | Before connecting |
|---|---|---|---|---|
| **Zoho Mail** | App-specific password (Zoho Accounts → Security → App Passwords) | `imap.zoho.in` or `imap.zoho.com` | `smtp.zoho.in` or `smtp.zoho.com` | Turn on IMAP in Zoho Mail → Settings → Mail Accounts → IMAP Access |
| **Yahoo Mail** | App password (Account Security → Generate app password) | `imap.mail.yahoo.com` | `smtp.mail.yahoo.com` | — |
| **iCloud Mail** | App-specific password (appleid.apple.com → Sign-In and Security) | `imap.mail.me.com` | `smtp.mail.me.com` | Two-factor authentication on the Apple ID |
| **Rediffmail** | Account password | `imap.rediffmail.com` | `smtp.rediffmail.com` | IMAP is available on paid plans |
| **GoDaddy, Hostinger, Titan, cPanel hosts** | Account password | From your host's email settings page, usually `imap.` or `mail.` + your domain | Usually `smtp.` or `mail.` + your domain | Port 993 for IMAP; 465 or 587 for SMTP |

Use `.in` servers for Zoho accounts created on zoho.in and `.com` for the rest; the console picks from the address. Proton Mail has no IMAP without its Bridge app and cannot be connected.

::: note Which ports
We speak IMAP over TLS on port 993 only. For SMTP, port 465 (TLS) or 587 (STARTTLS); the dialog defaults to 465. Plain, unencrypted ports are refused.
:::

## Pick the agent and how it replies

Each mailbox has its own agent and its own reply mode, on the mailbox's **Automation** tab. One agent can answer several mailboxes.

| Mode | The agent… | Use it when |
|---|---|---|
| **Drafts for approval** | writes a reply and waits. Your team reads it in the inbox and sends, edits, or discards it. | Starting out, or any mailbox where a wrong answer is expensive. New mailboxes start here. |
| **Auto-reply** | answers on its own, within the limits below. | You have watched the drafts for a while and trust them. |
| **Off** | never writes. Mail is still stored for the inbox. | You want the threads in the inbox but a person answers every one. |

**Approving a draft.** Every waiting draft is in the [Inbox](/console/inbox): under **Primary** with a **Draft waiting** chip, and on the **Drafts** tab as a table grouped by mailbox. Open the conversation and the draft sits above the transcript with **Approve & send**, **Edit**, **Rewrite** and **Discard**. A rewrite asks the same agent for another version, with a note from you if you like; an edit is sent as edited, or saved as a new revision; every revision is kept in a trail. Two people cannot act on the same draft at once, and a draft that changed since you opened it is not sent until someone reads the new version. The agent keeps the thread after you send unless you pause it. All of it is on [Reviewing email drafts as a team](/console/email-drafts).

**Who reviews.** Every admin is notified when a draft is waiting, unless the mailbox names **Reviewers** on its **Automation** tab — then they are notified instead. See [Reviewers per mailbox](/console/email-drafts#reviewers-per-mailbox).

**Replying yourself.** From the same panel, **Reply by email** writes a reply that leaves from the mailbox as you. Replying from your own mail client works too: the agent sees your message in the Sent folder and goes quiet on that thread for the **human quiet hours** set on the mailbox (24 hours unless changed). **Resume AI now** in the Inbox hands the thread back sooner.

### Limits on auto-reply

Auto-reply has guard rails you can set per mailbox, under **Automation**:

- **Max auto-replies per thread** (3 unless changed). After that the agent drafts instead of sending.
- **Max auto-replies per day** across the mailbox (200 unless changed).
- **Hours.** Reply only inside the days and hours you set, in the workspace's time zone; outside them the agent drafts.
- **Human quiet hours.** How long the agent stays silent on a thread after someone from your team replies.
- **Kill switch.** Stops every automatic send from the mailbox at once, leaving drafts in place. Use it when something looks wrong and you want to read before deciding.

Outside any of these the agent still writes — the reply waits for approval rather than being lost.

## What is never answered

The **Filters** tab decides what the agent ignores. These are always skipped:

- Newsletters and mailing lists (`List-Unsubscribe`, `Precedence: bulk`), when **Skip newsletters** is on
- Bounces, delivery reports and read receipts
- Auto-replies and out-of-office mail
- Mail from the mailbox itself or from another address on your own domain
- Mail from addresses or domains you list under **Never answer**

You can also turn it around with **Only answer these domains**, for a mailbox that should serve one client or partner and no one else.

Skipped mail is still stored in the inbox, under **All** with a chip naming the reason, so nothing silently disappears. It never reaches **Primary** and is not metered. See [What counts as noise](/console/inbox-primary#what-counts-as-noise).

## Signature and mark-as-read

- **Signature.** Text added under every agent reply, for example a name, hours and phone number. Leave it empty for none.
- **Mark as read.** When on, mail the agent has answered is marked read in the mailbox, so your team's mail client shows only what still needs a person.
- **Reply all.** When on, the agent keeps everyone who was copied on the customer's mail; off, it replies to the sender alone.

## What it costs

An email thread the agent answers is one conversation from your plan's monthly conversation pool, the same way a web chat or a WhatsApp conversation is: one customer, one channel, 24 hours. Mail that is stored but not answered — skipped, held for approval and never sent, or with the agent off — costs nothing. When the pool is spent, new mail is stored for the inbox and the agent waits until credits or the next month arrive. See [Credits and allowances](/operate/credits).

## Mailbox health

The **Overview** tab shows one line per mailbox and names its own fix.

| State | What it means |
|---|---|
| `Ready` | Mail is being read and the assigned agent answers. |
| `Agent required` | Connected, but no agent is chosen yet. Mail is stored until you pick one. |
| `Reconnect required` | The mailbox stopped accepting our sign-in: the password was changed, the app password revoked, or access removed at the provider. **Reconnect** on the Connection tab. |
| `Sync failing` | Three reads in a row failed. The message under it says why; **Re-check** runs a live sign-in. |
| `Paused` | The mailbox is paused and nothing is read. |

**Re-check** signs in to the mailbox while you watch. **Check now** reads new mail immediately instead of waiting for the next automatic read. **Send a test** sends one mail from the mailbox to you, which proves the outgoing half before a customer ever writes.

## Remove a mailbox

**Disconnect mailbox** on the Connection tab stops reading, drops the stored password or sign-in, and revokes our access at the provider. Conversations and transcripts stay in the inbox: they are your history, not the mailbox's. The app password itself keeps existing in the Google, Zoho or Yahoo account until you delete it there.

## Troubleshooting

::: details "The mail server didn't accept that email and password"
On Gmail, Google Workspace, Zoho, Yahoo and iCloud this almost always means the account's normal password was used. Create an app password (steps above) and paste that instead. On Google Workspace, also check the three admin switches. Spaces in a Google app password are fine.
:::

::: details "Couldn't find that mail server" or "Couldn't reach that mail server"
The incoming server name is wrong or not reachable from the internet. Check your provider's email settings page; the table above has the common ones. A server on a private network cannot be connected.
:::

::: details "The outgoing mail server didn't accept that email and password"
The incoming sign-in worked and the outgoing one did not. Open **Outgoing server (SMTP) settings** in the dialog and check the host and port — some hosts use `mail.yourdomain` for both, some use 587 rather than 465.
:::

::: details Mail arrives but the agent never replies
Check, in order:

1. The mailbox's health. **Agent required** means no agent is assigned.
2. Its reply mode. **Off** never writes; **Drafts for approval** writes and waits in the inbox.
3. The thread. If someone from your team replied, the agent is quiet for the human quiet hours — **Resume AI now** in the inbox hands it back.
4. The filters. Open the conversation; a skipped mail shows the reason.
5. The auto-reply limits. Past the thread or day cap, or outside hours, the reply waits as a draft.
6. Your plan. Past the conversation pool, new threads are stored but not answered. See [Credits and allowances](/operate/credits).
7. Billing. A workspace suspended for an unpaid invoice answers nothing until it is paid.
:::

::: details The mailbox flipped to Reconnect required
The stored sign-in no longer works. Common causes: the account password was changed (Google and Yahoo revoke app passwords when that happens), the app password was deleted, 2-Step Verification was turned off, or a Microsoft administrator removed consent. Use **Reconnect** and go through the steps for your provider again.
:::

::: details Replies land in the customer's spam
Replies are sent through your own provider from your own address, so deliverability is your domain's: make sure SPF, DKIM and DMARC are set up for it with your provider. Amomic-AI adds nothing to the sending path.
:::

## Go-live checklist

- The mailbox shows `Ready` and **Send a test** arrived
- The agent's knowledge covers what the mailbox actually receives
- Reply mode is **Drafts for approval**, and someone is watching the inbox
- Filters cover the senders you never want answered
- Signature set, hours set if the business keeps them
- The business's own people know the agent is on the address, so they reply from the inbox or expect it to go quiet when they reply from their mail client

## Next

- [Inbox](/console/inbox) — reading threads, approving drafts, replying as the mailbox
- [Credits and allowances](/operate/credits) — what a conversation is and what happens when the pool is spent
- [Channels hub](/channels/overview) — every channel and the agent on each
