Handoff management

For situations that your AI Agent can’t handle, you can configure procedures for handing customers off to live agents. In this topic, you’ll learn about how to configure different handoffs to suit different situations for your customers, and how to build your handoff content using modular blocks to ensure a smooth customer experience.

Just choosing the right handoff method?

Here’s a quick table to help you pick the right platform-specific handoff block based on the channel and whether the handoff should result in real-time or asynchronous agent follow-up. The table focuses on supported handoff blocks for Zendesk and Salesforce. For other platforms, the methods reflect common patterns that assume support for email-based interactions.

If you’re comfortable jumping in without the full walkthrough, use this table to choose your handoff.

To further refine your flow—such as routing based on variables, updating existing tickets, or triggering fallback logic—add supporting blocks like conditionals, HTTP requests, or custom routing logic as needed. For a complete list of all available handoff blocks, see this topic.

PlatformChannelHandoff blockEmail sharing (AI Agent + Human)?Considerations
SalesforceChatSalesforceN/AAsynchronous email follow-up; creates a new case.
ChatSalesforce ChatN/AReal-time chat handoff to agent; creates a separate Salesforce Case.
ChatSalesforce Messaging UtilsN/AAsynchronous conversations across web and in-app channels.
VoiceEmail follow-up → SalesforceNoAsynchronous post-call follow-up; creates a new case.
VoiceCall transfer → Transfer CallN/ASynchronous call transfer to a human agent.
EmailSalesforceNoAsynchronous email follow-up; creates a new case.
ZendeskChatZendesk ChatN/AReal-time chat experience; agent replies in widget with full transcript.
ChatZendesk MessagingN/AReal-time chat experience; incurs MAUs.
ChatZendesk Support (live chat, avoid MAUs)Yes (native)Used to avoid MAUs; requires separate flows for Email and Chat channels.
ChatZendesk Ticketing (non-live chat)Yes (with SMTP Connector)Asynchronous email follow-up; creates a new ticket in Zendesk.
VoiceEmail follow-up → Zendesk TicketingYes (with SMTP Connector)Post-call email escalation; creates a new ticket in a new thread.
VoiceCall transfer → Transfer CallN/ASynchronous call transfer to a human agent.
EmailZendesk SupportYes (native)Same thread and address; supports auto-CC handling.
EmailZendesk TicketingYes (with SMTP Connector)With SMTP Connector, replies continue in same thread; without it, creates a new ticket in a separate thread and human agents need a different email address. CCs handled manually.
OtherChatEmailNoAsynchronous email escalation; platform must support email ingestion.
ChatCustom integrationN/AN/A
VoiceEmail follow-up → EmailNoPost-call email handoff; same behavior as chat-to-email handoff.
VoiceCall transfer → Transfer CallN/ASynchronous call transfer to a human agent.
EmailEmailNoAsynchronous email handoff; receiving platform must support email-to-ticket intake.

Understand different handoff situations

Your AI Agent handles different situations that might require handoffs differently:

  • Handoffs to live agents

    On the Ada dashboard, when you go to Config > AI AGENT > Handoffs, on the Handoffs tab, you can view and modify handoffs to live agents. You can have up to five active handoffs at a time.

    When your AI Agent detects it needs to hand a customer off to a live agent, it chooses from these configured handoffs based on the name and description you provide (e.g., you might use one handoff for subscription renewals and another for returns).

  • Fallback handoffs

    Fallbacks are used when a handoff can’t proceed as expected. There are two main types:

    • Off-Hours: Used when an end user requests a synchronous handoff (like live chat or Messaging with Zendesk Chat or Salesforce Chat handoffs) but no human agents are online. This is configured in the handoff platform (e.g., Zendesk Chat operating hours). Off-hours typically don’t apply to asynchronous handoffs like ticket creation, and they aren’t relevant for Email. In channels with asynchronous handoffs — for example, Voice, or Chat with Zendesk Messaging handoffs — customers can simulate on-hours vs. off-hours behavior by combining the Scheduled block with conditionals.
    • Error Fallback: Used when an error occurs during a handoff attempt, such as when your AI Agent tries to transfer to a live agent or make an API request and something goes wrong. Error fallbacks apply across all channels, including Voice and Email.

    Depending on the features your organization has enabled, you may see more preconfigured handoff types in your dashboard. For more information, reach out to your Ada team.

Understand how variables work in handoffs

You can create variables to capture or set a piece of information, so you can use the value saved in the variable later. Variables are useful for:

  • Referring to basic pieces of information in a conversation (e.g., get the customer’s name so you can refer back to it later)
  • Passing metavariables through handoffs to provide human agents with information about the customer (e.g., their email address)
  • Dynamically collecting information with auto-capture variables (e.g., if you create an auto-capture variable for the customer’s account number, your AI Agent will check to see if it has that information, and if not, it will ask the customer autonomously)

You can use the same variable in other places where you can use blocks in your AI Agent, too - your AI Agent will know not to ask for the same piece of information twice, and if you do want it to ask twice, it’ll know to always use the newest value.

These variables only work within the structured content you create with blocks, and are separate from information that your AI Agent collects for Actions.

As a best practice, when you’re using a variable to repeat a piece of information in text (e.g., if you’re repeating the customer’s name), make sure you set fallback values so that if the variable isn’t set, your AI Agent can still have something to say.

Edit your AI Agent’s handoff content

Every piece of handoff content contains default content. You can edit that content directly, or you can edit it by adding or removing blocks.

For any piece of handoff content, the process to edit it is the same:

  1. On the Ada dashboard, go to Config > AI AGENT > Handoffs.

  2. Choose the type of handoff you want to configure.

    • To create or edit a regular handoff, go to the Handoffs tab. Then, click New Handoff, or click an existing handoff type to edit it.

      1. Under Identify this Handoff, fill in information about the handoff under Name and Describe when to use this Handoff.

        Your AI Agent will use the information you enter here when it’s reasoning through when it’s appropriate to trigger this handoff.

      2. If required, you can restrict Actions to certain users, based on information your AI Agent collects about your users and saves in variables.
      3. You can only use variables your AI Agent can collect through your browser, or that you collect in a block and allow to be available outside of the structured content the block is in. You can’t use variables your AI Agent collects using Actions.

        • To make the handoff available to all users, select Everyone.

        • To restrict the handoff to certain users, select Based on the following rules. A section expands where you can enter the logic your AI Agent will use to decide whether to serve the handoff.

          1. Under Where, in the Choose a variable list, select a variable.
          2. In the next dropdown, select an operator so you can define a relationship between the variable and the value you want to target.
          3. Comparison operators are logic statements that tell your AI Agent to match customer information that’s captured in the variable you’re using. The available operators vary based on the variable type you’re using:

            OperatorVariable typesDescription
            Begins With icon Begins With

            - All text variables (including phone and email)

            Match information in the variable that begins with certain text (partial match).
            Ends With icon Ends With

            - All text variables (including phone and email)

            Match information in the variable that ends with certain text (partial match).
            Contains icon Contains

            - All text variables (including phone and email)

            - List variables

            Match information in the variable that contains certain text in any position (partial match).
            Is icon Is

            - All text variables (including phone and email)

            - Number variables

            Match information in the variable that equals specific text exactly (exact match).
            Is Not icon Is Not

            - All text variables (including phone and email)

            - Number variables

            Match information in the variable that does not equal specific text exactly (exact match).
            Is Not Set icon Is Not Set

            - All text variables (including phone and email)

            - Number variables

            - List variables

            Match if there is no information contained in the variable.
            Is Set icon Is Set

            - All text variables (including phone and email)

            - Number variables

            - List variables

            Match if there is any information contained in the variable.
            Greater Than icon Greater Than

            - Number variables

            Match if the information in the variable is greater than a specific value.
            Less Than icon Less Than

            - Number variables

            - List variables

            Match if the information in the variable is less than a specific value.
            Is True icon Is True

            - Yes/No variables

            Match if the information in a variable is Yes (or True).
            Is False icon Is False

            - Yes/No variables

            Match if the information in a variable is No (or False).
            Does Not Contain icon Does Not Contain

            - List variables

            Match if none of the selected items contains this value.
            Is Equal To icon Is Equal To

            - List variables

            Match if the customer selected a particular number of options in a List Option block.
            Is Greater Than icon Is Greater Than

            - List variables

            Match if the customer selected more than a particular number of options in a List Option block.
            Is Less Than icon Is Less Than

            - List variables

            Match if the customer selected fewer than a particular number of options in a List Option block.
          4. In the Value field, enter or select a value for the variable that you want to use to target users.
          5. If required, add additional conditions.
            • To add a new top-level condition, click Add .

              If you’re adding your first additional top-level condition, in the dropdown that appears, choose And or Or as the operator for all of your top-level conditions.

            • To create or add to a group of conditions, click the Add to group icon beside a condition you want to include in the group.

              If you’re creating a group, in the dropdown that appears, choose And or Or as the operator for all of the conditions in that group.

    • To edit an off-hours handoff, go to the Off hours tab. Then, click a handoff situation to edit it.

  3. Use blocks to build your handoff content. You can:

    • Drag blocks from the block drawer on the right side of your screen into your handoff content, then add content in them
    • Edit content in existing blocks directly
    • Click the Delete icon on a block to remove it

    Depending on the way your AI Agent is configured, the blocks available to you may vary. You can click one of the cards below to learn more about any one of the blocks:

    Integration-based handoffs

    You can also hand off customers using third-party integrations:

  4. At the bottom of the screen, click Save. Your AI Agent saves your changes.

View and manage previous versions of your handoff content

Your AI Agent saves a history of all edits you’ve made to your handoff content over the last 30 days. You can revert your changes to your handoff content back to any of these saved versions.

  1. On the Ada dashboard, go to Config > AI AGENT > Handoffs, then on the Handoff tab, open the handoff content you want to manage versions for.
  2. At the top of the page, you can see when the handoff content was last edited. Click that text to open a pane that contains a list of versions of the handoff content over the last 30 days. You can click a version to see the handoff content at that time.
  3. Optionally, for significant versions, you can add a name and description for future edits. To do this, hover over the version, click the More options button that appears, filling in the Version Title and Description fields as required, then clicking Save.
  4. To revert to a previous version of your handoff content, select the version you want to go back to. Then, at the top of the page, click Restore Version. Review your changes to ensure you’re not reverting anything you want to keep, then click Save to save your reverted changes.