> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ada.cx/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ada.cx/_mcp/server.

# Email handoffs

## Overview

Email [Handoffs](/docs/handoffs) allow your AI Agent to escalate email conversations to your human support team on your preferred agent platform. The handoff block you choose determines how tickets are created, how email threads are handled, and whether human agents can reply using the same email address as the AI Agent.

## Use cases

Email [Handoffs](/docs/handoffs) support a variety of escalation scenarios depending on your platform and end-user experience requirements.

* **Seamless thread continuation**: End users receive human agent replies in the same email thread, from the same support address as the AI Agent. Ideal for maintaining conversation continuity and a consistent brand experience. Supported by [Zendesk Support](#zendesk-support) and [Zendesk Ticketing](#zendesk-ticketing) (with SMTP Connector).

* **Attachment handling during escalation**: End user attachments—such as screenshots, receipts, or documents—are passed to human agents automatically. Supported by all handoff methods.

* **Customizable ticket routing and categorization**: Control how tickets are created in your agent platform, including subject lines, tags, priority, and custom fields. Supported by [Zendesk Support](#zendesk-support), [Zendesk Ticketing](#zendesk-ticketing), and [Salesforce](#salesforce).

* **Platform-agnostic escalation**: Route email escalations to any third-party platform using the Email block or HTTP Request block, even without a direct integration.

## Capabilities & configuration

Several handoff methods are compatible with the Email channel. The following table compares key functionality across supported platforms.

<table>
  <thead>
    <tr>
      <th>
        Functionality
      </th>

      <th>
        Zendesk Support
      </th>

      <th>
        Zendesk Ticketing
      </th>

      <th>
        Salesforce Case
      </th>

      <th>
        Email System
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Human agents can reply from the same support email address the end user originally wrote to. When an AI Agent has multiple email channels, this rule applies per channel.
      </td>

      <td>
        ✔
      </td>

      <td>
        ✔ (with 

        [SMTP Connector](/docs/handoffs/zendesk/zendesk-smtp-connector)

        )
      </td>

      <td>
        ✘
      </td>

      <td>
        ✘
      </td>
    </tr>

    <tr>
      <td>
        Escalated conversations continue in the same email thread.
      </td>

      <td>
        ✔
      </td>

      <td>
        ✔ (with 

        [SMTP Connector](/docs/handoffs/zendesk/zendesk-smtp-connector)

        )
      </td>

      <td>
        ✘
      </td>

      <td>
        ✘
      </td>
    </tr>

    <tr>
      <td>
        End user attachments can be passed into the handoff.
      </td>

      <td>
        ✔
      </td>

      <td>
        ✔
      </td>

      <td>
        ✔
      </td>

      <td>
        ✔
      </td>
    </tr>

    <tr>
      <td>
        Customize how tickets are created in your agent platform from the Ada dashboard.
      </td>

      <td>
        ✔
      </td>

      <td>
        ✔
      </td>

      <td>
        ✔
      </td>

      <td>
        ✘
      </td>
    </tr>

    <tr>
      <td>
        Integration with agent platform required.
      </td>

      <td>
        ✔
      </td>

      <td>
        ✔
      </td>

      <td>
        ✔
      </td>

      <td>
        ✘
      </td>
    </tr>
  </tbody>
</table>

### Compatible handoff blocks

The following [Handoff](/docs/handoffs) blocks are compatible with the Email channel.

| **Platform**   | **Handoff block**                                                      | **Purpose**                                                                  | **Considerations**                                                                                                                                                                                                                                                                                               |
| -------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Zendesk**    | [Zendesk Support](#zendesk-support)                                    | One-time API call that creates a new ticket in Zendesk.                      | Human agents can reply from the same address the end user originally contacted, and replies stay in the same thread. Works for all email channels configured on the AI Agent.                                                                                                                                    |
|                | [Zendesk Ticketing](#zendesk-ticketing) *(recommended)*                | One-time API call that creates a new ticket in Zendesk.                      | With the [Zendesk SMTP Connector](/docs/handoffs/zendesk/zendesk-smtp-connector) configured, human agents can reply from the same address the end user wrote to, in the same email thread (per email channel). Without the connector, agents must use a different email address, and replies start a new thread. |
| **Salesforce** | [Salesforce](#salesforce)                                              | One-time API call to create or update a Salesforce Case.                     | Human agents must reply from an email address that is not configured as a channel on this AI Agent, to avoid routing replies back to Ada.                                                                                                                                                                        |
| **Other**      | [Email](#email)                                                        | Sends an email to a specified address.                                       | The recipient address must not be configured as a channel on this AI Agent, to avoid routing back to Ada. Email-to-ticket automation may be needed depending on platform behavior.                                                                                                                               |
|                | [HTTP Request](/docs/handoffs/handoff-management/blocks/request-block) | One-time API call to create a ticket in an unsupported third-party platform. | Human agents must reply from an email address that is not configured as a channel on this AI Agent.                                                                                                                                                                                                              |

## Quick start

Set up email [Handoffs](/docs/handoffs) in a few steps. For detailed instructions for each handoff method, see [Implementation & usage](#implementation--usage).

Configure your chosen handoff integration in your AI Agent.

In your handoff flow, set an [availability rule](/docs/handoffs/handoff-management#availability-rule) to apply only when the channel is Email.

Add your chosen handoff block to your handoff flow.

Configure the handoff block with required fields.

Set your handoff toggle to **Active** and click **Save**.

## Implementation & usage

Configure your preferred [Handoff](/docs/handoffs) block to enable email escalations to human agents.

### Zendesk Support

Creates a new ticket in Zendesk. Human agent replies are delivered to the end user in the same thread—and from the same address—as the Email AI Agent.

#### Configuration

1. Follow the [linked steps](/docs/handoffs/zendesk/zendesk-support) to integrate and configure Zendesk Support with your AI Agent.

2. Ensure your handoff has an availability rule set to apply only when the channel is Email.

   ![](/_fern-img/8cb574b92842c8a8c26a94da91813f707ea1774d68a76d4459a5591f98c398e4.webp)

3. In your handoff flow, drag the **Zendesk Support** block into your handoff.

   ![](/_fern-img/c6a387487866de819b7a4536f126e64af8873b5eb5d145f5ea29dc8b60bac255.webp)

4. In the Zendesk Support block, configure the fields that are required to complete your handoff:
   * **Standby Message**: An automated response that informs users when to expect a reply.
     * If you do not set one, a default standby message will be sent: *"An agent will be with you as soon as they can. You'll be notified here when the agent responds"*
   * **Group**: A collection of agents organized by role or expertise to optimize ticket routing and management.
   * **Subject**: The subject assigned to the ticket upon creation.
     * If you do not set one, a default ticket subject will apply: *"Conversation with chatter\_ID"*
   * **Zendesk Fields**: Ticket fields that streamline workflow and routing, including subject, description, tags, priority, groups, and custom fields.
   * **Tags**: Keywords applied to tickets based on detected topics or intent, helping with categorization, routing, and automation. You can use both variables and plain text for tags.
   * **Error Fallback**: An automated response triggered if an error occurs while attempting to trigger the handoff, acknowledging the issue and guiding users on next steps.

#### Limitations

* If you're using this block to preserve threading with a shared email address, that same address **cannot** be used by human agents for:
  * Zendesk ticketing block handoffs
  * Messaging handoffs
  * Any Zendesk tickets created outside Ada
* [SMTP Connector](/docs/handoffs/zendesk/zendesk-smtp-connector) is optional for email handoffs using this block. Configure it only if you also need Zendesk Messaging conversations that continue over Email (Messaging to Email) or Zendesk Ticketing workflows to share the same support address.

### Zendesk Ticketing

Creates a new Zendesk ticket via API. With the [SMTP Connector](/docs/handoffs/zendesk/zendesk-smtp-connector) configured, human agent replies can continue in the same email thread as the original end-user conversation, using the same BYOD address as the AI Agent. Without the SMTP Connector, human agents must use a different email address, and replies are sent in a new email thread.

#### Configuration

1. If you haven't already, configure [Zendesk Ticketing](/docs/handoffs/zendesk/zendesk-ticketing) in your AI Agent.

2. Ensure your handoff has an availability rule set to apply only when the channel is Email.

   ![](/_fern-img/8cb574b92842c8a8c26a94da91813f707ea1774d68a76d4459a5591f98c398e4.webp)

3. In your handoff flow, in the block drawer on the right side of your screen, under **Action Apps**, click and drag the **Fetch Chat Metadata** block into your handoff. This block allows you to save the entire chat transcript as a variable, which you can then pass along to the live agent for additional context during the handoff.

   ![](/_fern-img/85871bdcb2abc1394651dff1fad44d84b66edc8496b4f2295568977b699cd439.webp)

   1. Under **Select Variables for Inputs**, beside **Chatter Token**, click inside the field and add the red **chatter\_token** metavariable.
   2. Under **Save Response as Variables**, click the **Select Optional Variables** drop-down menu, then select any optional variables you'd like to capture:
   * **Transcript and Summary**: Select this option to save the conversation transcript and summary to a variable.

   * **Transcript Only**: Select this option to save just the conversation transcript to a variable.

   * **Summary Only**: Select this option to save just the conversation summary to a variable.

   * **Chatter Info**: Select this option to save the customer's metadata to a variable. This is the same information available about the customer's meta variables when you're viewing a chat transcript.
   4. For each optional variable you selected, click the **Choose a Variable** drop-down menu, then select an existing variable, or create a new one, to capture the information.
   5. Under **Fallback Answer**, you can click to edit the AI Agent's response if an error occurs.

4. In the block drawer, under Action Apps, click and drag the **Zendesk Ticketing** block into your handoff, below the **Fetch Chat Metadata** block.

   ![](/_fern-img/540d2a70b8de11f333a55750a8f6b0435783e571ad42189bd68eecb6ecbcfe0a.webp)

   1. Follow the instructions in [Use the Zendesk Ticketing app block](/docs/handoffs/zendesk/zendesk-ticketing#use-the-zendesk-ticketing-app), ensuring that you add any fields and variables you want to include in your tickets.
   2. Add the **File Data Token** field, and in that field, add the **email\_attachments** variable to ensure that your AI Agent can pass any attachments to Zendesk.
   3. (*Optional*) Add the **Email CCs** field and configure it with the `email_latest_cc_list` variable to pass CC'd recipients from [multiple participant conversations](/docs/channels/email/email-configuration/multiple-participant-conversations) directly into the Zendesk ticket. All CC'd participants will automatically receive replies from human agents after handoff.
   4. (*Optional*) Add the **Ticket Recipient** field from the **Optional Inputs** dropdown to specify the email address that human agents should reply from when responding to escalated tickets.
      > **Warning**
      >
      > If [SMTP](/docs/handoffs/zendesk/zendesk-smtp-connector) is not enabled, the reply-from address must be different from the AI Agent's BYOD address to prevent AI Agent interjections at handoffs. Ensure the human agent address you are using is appropriately set up in Zendesk.
   5. Enable the **Count as Handoff** toggle to ensure your reporting is accurate.

5. Add any other custom messaging you want customers to receive during your handoff, and click **Save**. At the top of your screen, ensure your handoff toggle is set to **Active** so your AI Agent can start handing customers off as needed.

#### Limitations

* **With the [SMTP Connector](/docs/handoffs/zendesk/zendesk-smtp-connector) configured**: Human agents can reply from the same BYOD address as the AI Agent, and replies continue in the same email thread.
* **Without the SMTP Connector**: Human agents must reply from a different address than the AI Agent, and replies start a new thread.
* **Using the Ticket Recipient field with a different email address**: If the Ticket Recipient field is set to a different email address than the BYOD address used by the AI Agent, and you expect human agents to reply from that address in the same thread, you must configure SMTP for both addresses. Both addresses must be on the same domain (for example, `taxes@example.com` and `legal@example.com`). Addresses on different domains (for example, `help@foo.com` and `help@bar.com`) are not supported for same-thread behavior. If the addresses are on different domains, configure the Zendesk SMTP Connector separately for each inbox's domain.
* **Multi-domain SMTP Connector**: When an AI Agent has inboxes on different BYOD domains, configure the Zendesk SMTP Connector per domain. Inboxes that share a domain share the same SMTP configuration. See [Zendesk SMTP Connector](/docs/handoffs/zendesk/zendesk-smtp-connector#configure-smtp-for-additional-byod-domains).

### Salesforce

Creates a new case in Salesforce if the **Create Case** option is selected, or updates an existing case if the **Update Case** option is selected. Human agent replies to the case are sent to the end user in a new email thread from a different email address.

#### Configuration

1. If you haven't already, configure [Salesforce actions](/docs/handoffs/salesforce/salesforce-chat/salesforce-action-block#configure-the-salesforce-action-block) in your AI Agent.

2. Ensure your handoff has an availability rule set to apply only when the channel is Email.

   ![](/_fern-img/8cb574b92842c8a8c26a94da91813f707ea1774d68a76d4459a5591f98c398e4.webp)

3. In your handoff flow, in the block drawer on the right side of your screen, under **Action Apps**, click and drag the **Fetch Chat Metadata** block into your handoff. This block allows you to save the entire chat transcript as a variable, which you can then pass along to the live agent for additional context during the handoff.

   ![](/_fern-img/85871bdcb2abc1394651dff1fad44d84b66edc8496b4f2295568977b699cd439.webp)

   1. Under **Select Variables for Inputs**, beside **Chatter Token**, click inside the field and add the red **chatter\_token** metavariable.
   2. Under **Save Response as Variables**, click the **Select Optional Variables** drop-down menu, then select any optional variables you'd like to capture:
   * **Transcript and Summary**: Select this option to save the conversation transcript and summary to a variable.
   * **Transcript Only**: Select this option to save just the conversation transcript to a variable.
   * **Summary Only**: Select this option to save just the conversation summary to a variable.
   * **Chatter Info**: Select this option to save the customer's metadata to a variable. This is the same information available about the customer's meta variables when you're viewing a chat transcript.
   4. For each optional variable you selected, click the **Choose a Variable** drop-down menu, then select an existing variable, or create a new one, to capture the information.
   5. Under **Fallback Answer**, you can click to edit the AI Agent's response if an error occurs.

4. In the block drawer, under Action Apps, click and drag the **Salesforce** block into your handoff, below the Fetch Chat Metadata block.

   ![](/_fern-img/38ee556567343804c829530e47c9d16e3fcf103c44f9ed7401deb9572d53cb5a.webp)

   1. In the **Select Action** list, click **Create Case**.
   2. Beside **Case Reason**, add your transcript variable.
   3. Beside **Name** and **Email Address**, add the variables that contain that information.
   4. Add the **File Data Token** field, and in that field, add the **email\_attachments** variable to ensure that your AI Agent can pass any attachments to Salesforce.
   5. Add any additional fields and variables you want to include in your cases.
   6. Enable the **Count as Handoff** toggle to ensure your reporting is accurate.

5. Add any other custom messaging you want customers to receive during your handoff, and click **Save**. At the top of your screen, ensure your handoff toggle is set to **Active** so your AI Agent can start handing customers off as needed.

#### Limitations

* Agents must reply from an email address that is **not configured as an email channel** on this AI Agent.
* This requirement also applies to outbound cases initiated in Salesforce outside of Ada.

### Email

Sends a formatted email to the recipient address specified in the block's "Recipient Email" field. Ada also sets the Reply-To and CC headers using system variables (e.g., `@email_from_address`, `@email_latest_CC_list`).

#### Configuration

1. Ensure your handoff has an availability rule set to apply only when the channel is Email.

   ![](/_fern-img/8cb574b92842c8a8c26a94da91813f707ea1774d68a76d4459a5591f98c398e4.webp)

2. In your handoff flow, in the block drawer on the right side of your screen, under **Action Apps**, click and drag the **Fetch Chat Metadata** block into your handoff. This block allows you to save the entire chat transcript as a variable, which you can then pass along to the live agent for additional context during the handoff.

   ![](/_fern-img/85871bdcb2abc1394651dff1fad44d84b66edc8496b4f2295568977b699cd439.webp)

   1. Under **Select Variables for Inputs**, beside **Chatter Token**, click inside the field and add the red **chatter\_token** metavariable.
   2. Under **Save Response as Variables**, click the **Select Optional Variables** drop-down menu, then select any optional variables you'd like to capture:
   * **Transcript and Summary**: Select this option to save the conversation transcript and summary to a variable.
   * **Transcript Only**: Select this option to save just the conversation transcript to a variable.
   * **Summary Only**: Select this option to save just the conversation summary to a variable.
   * **Chatter Info**: Select this option to save the customer's metadata to a variable. This is the same information available about the customer's meta variables when you're viewing a chat transcript.
   4. For each optional variable you selected, click the **Choose a Variable** drop-down menu, then select an existing variable, or create a new one, to capture the information.
   5. Under **Fallback Answer**, you can click to edit the AI Agent's response if an error occurs.

3. In the block drawer, under Action Apps, click and drag the **Email** block into your handoff, below the **Fetch Chat Metadata** block.

   ![](/_fern-img/5ac18b35f6136d38cfff0e2c873118a36222ed7f1b9335c8c1b7f22bd79045cf.webp)

   1. In the **Select Variables for Inputs** section,
      complete the mandatory variable fields:
   * **Recipient Email(s)**: Add the primary recipient email
     address. You can add the email variable, or manually enter the
     recipient's email address. Separate multiple email addresses with a
     comma.

   * **Reply-To Email**: Enter the Reply-to email
     address you wish to assign to receive replies to your email.

   * **Email Subject**: Enter the email subject.

   * **Email Content**: Enter the body text of the
     email, including the **email\_transcript** variable.
   3. Click the **Select Optional Inputs** drop-down menu,
      then select any optional variable fields you'd like to add:
   * **File Data Token**: Add the **email\_attachments** variable to pass it on to the agent.

   * **BCC Email(s)**: Add blind carbon copy recipient email addresses. BCC addresses are not visible to other recipients.

   * **CC Email(s)**: Add secondary recipient email addresses. These addresses are visible to other recipients.

   * **Content Type**: Enter the [MIME type](https://www.w3docs.com/learn-html/mime-types.html) you want to use in your email:

     * If you just want to enter plain text, or if you're not sure what to use, enter `text/plain`.
     * If you want to use HTML tags, enter `text/html`.

   * **Reply-To Name**: Enter the name of the Reply-to recipient.

   * **Sender Name**: Enter the name of the email sender. This appears in the From field.
   5. Under **Fallback Answer**, you can click to edit the AI Agent's response if an error occurs.
   6. Enable the **Count as Handoff** toggle to ensure your reporting is accurate.

4. Add any other custom messaging you want customers to receive during your handoff, and click **Save**. At the top of your screen, ensure your handoff toggle is set to **Active** so your AI Agent can start handing customers off as needed.

#### Limitations

* If ticket creation isn't handled automatically, customers must configure **email-to-ticket automation** in their platform.
* Human agents must respond from an email address that is **not configured as an email channel** on this AI Agent; otherwise, replies may be routed back to Ada.

---

Have any questions? Contact your Ada team, or email us at [](mailto:help@ada.cx?subject=Help%20Docs%20inquiry).