> ## Documentation Index
> Fetch the complete documentation index at: https://docs.instantcampaign.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Replies and exit on reply

> Capture the replies people send to your campaigns and automations, get each one forwarded to you, and stop an automation for anyone who has already answered.

When someone answers one of your emails, the reply normally lands in your inbox and InstantCampaign never knows. An automation keeps mailing a person who already wrote back. With **reply capture** on, every reply is also filed in InstantCampaign, sorted (a person, an out-of-office, a bounce notice, a request to stop) and forwarded to you, and automations can react to it.

> [!NOTE]
>
> Reply capture is on the **Essential** plan and above. Ending an automation on reply, the **Replies** condition and unsubscribe by reply are on **Pro** and above.

## Turn on reply capture

**1. Open Settings → Sender Information**

Scroll to the **Replies** card.

**2. Add the reply record for your sending domain**

Replies come back under **your own domain**, at `reply.<your domain>`. Add the MX record shown under **Settings → Domain Authentication** (see below) and press **Verify**. A workspace that has no sending domain of its own uses a private address at `reply.instantcampaign.ai` instead.

**3. Switch on Capture replies**

New campaign and automation emails go out with a private reply address on the domain they are sent from. Emails already sent keep the reply address they had.

**4. Choose where replies are forwarded**

Leave **Forward replies to** empty to use the workspace owner's address, or enter another one. Each forward is sent from your own sender address (the one your campaigns use) with **Reply-To** set to the person who wrote, so pressing Reply in your mail app answers them directly. It shows the reply itself; the quoted original is left out, and the full message, with any attachments, is attached.

## Replies under your own domain

Each sending domain gets its own reply host, `reply.<domain>`. Under **Settings → Domain Authentication**, open the domain: the **Replies — reply capture (MX)** row sits with its DKIM, SPF and DMARC records.

| Name | Type | Priority | Value |
| - | - | - | - |
| `reply.example.com` | MX | 10 | `inbound-smtp.<region>.amazonaws.com` (the page shows the exact value) |

The record only adds a subdomain: your main mailbox and its MX records are not touched. Press **Verify** after adding it; the row shows **Verified** once it is found. The record is checked again with your other DNS records, and if it disappears replies to that domain stop being captured (your mail still sends normally).

Which address a send carries:

* sent from a domain whose reply record is verified: `…@reply.<that domain>`;
* the workspace has no sending domain of its own: `…@reply.instantcampaign.ai`;
* sent from one of your domains whose reply record is **not** verified yet: no capture address at all, so replies go wherever they went before. The Replies card lists which of your domains capture and which do not.

> [!NOTE]
>
> For now replies can only be captured for domains verified on the Amazon SES path (the domain shows an **SES** badge). Other domains keep the row, marked unavailable.

> [!WARNING]
>
> A sender profile that has its own **Reply-to** address keeps it. Emails sent with that profile are **not** captured: their replies go straight to that address, as before. The Replies card lists those profiles. Clear the reply-to on a profile to capture its replies.

## How replies are sorted

Every reply is sorted by fixed rules, in this order:

| Kind | What it means |
| - | - |
| **Bounce notice** | A mail server could not deliver your email (sent by `mailer-daemon` or `postmaster`, or a delivery status report). Stored only: bounces are handled by your sending provider's events. |
| **Automatic reply** | An out-of-office or other autoresponder, recognised by its headers, an "Automatic reply" / "Out of office" subject in any of the eight interface languages, or typical out-of-office wording. |
| **Unsubscribe request** | A short reply whose subject or first line says unsubscribe, stop, remove me (in the eight interface languages). |
| **Person** | Anything else: someone wrote to you. |

Quoted text from your email and the sender's signature are removed before a reply is sorted and stored, so a reply that quotes "unsubscribe" from your footer is not mistaken for a request.

### Optional AI classification

When the rules cannot tell a person from an autoresponder, you can let the AI model decide. Turn on **AI classification** on the Replies card. It is off by default. The model receives only the reply text, with quotes and signature removed, and the subject. It never receives the sender's address or name, and it can only choose between **Person** and **Automatic reply**. Each call costs 1 AI credit; with no credits left, the rules' answer stands.

## See the replies

* **Campaign report** (Analytics → a campaign): the **Replies** section lists each reply with the contact, its kind, the text, when it arrived and whether it was forwarded.
* **Automation**: open the automation and click **Replies** in the toolbar.

You can filter by kind. The list is read-only: answer from your own mail app, using the forwarded copy.

A reply from someone who was not sent that email (for example a colleague the email was forwarded to) shows as **Someone else** and never changes anything for the original recipient.

## Exit an automation when the contact replies

Open the automation, click **Settings**, and switch on **Exit when the contact replies**. When the contact writes back to any email of that automation, their run ends straight away (it shows as **Exited** in the activity log). For a campaign with a follow-up automation, a reply to the first email also ends the follow-ups when the follow-up automation has the switch on.

An automatic reply (out of office) never ends a run.

Every reply from a person is also recorded as the event `email.replied`, so you can:

* branch on it in a **Condition** step: field **Replies**, then **Has replied to this journey** or **Has replied to any email in the last N days**;
* start another automation on the `email.replied` event;
* build a segment on the event.

## Unsubscribe by reply

When someone replies asking to stop, they are unsubscribed from every list, exactly as if they had clicked the unsubscribe link, and they get a short confirmation email in their language. The opt-out is recorded in the consent ledger as **email reply**.

> [!NOTE]
>
> Automations, the event and unsubscribe by reply act only on a reply that comes from the address the email was sent to and passes the sender checks (SPF or DKIM). Anything else is stored and forwarded, never acted on.

## How long replies are kept

The reply text is kept for **90 days**. After that it is shortened to its first 200 characters. The kind, the dates and what the reply did stay. Deleting a contact deletes their replies.

## For AI assistants (MCP)

The `get_replies` tool returns counts per kind for a campaign, an automation or the whole workspace, and the ids of the latest replies. It never returns the reply text, the subject or an address.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.