After activating email in your AI Agent, setting up Handoffs, and testing your email setup to ensure it’s working properly, you can implement email so your AI Agent can start addressing your customer inquiries.
A single AI Agent can be configured with multiple email addresses, each represented as a separate email channel. Any address you configure on your AI Agent should be different from the support email addresses used by your human agent team, to avoid forwarding in-flight human-team conversations back to the AI Agent.
Implementation methods support different email automation scenarios.
Email implementation supports two main methods that can be used independently or together.
Get started with email implementation in a few steps. For detailed instructions, see Implementation & usage.
Configure your Bring Your Own Domain email address.
Set up email forwarding to your AI Agent’s Ada email address.
Configure your email implementation using one or both methods below.
With this method of implementation, customers will send inquiries to your support email, inquiries will be forwarded to your AI Agent, and your AI Agent will respond from your support email address.
The Email API allows you to send support inquiries from sources like ticket backlogs, or contact form submissions to Ada for automation. Upon receiving these inquiries, your AI Agent will reply to end users directly in their inbox to continue the conversation and drive resolution autonomously.
Review the benefits and Considerations of the Email API below to determine if this is the right method of email implementation for you.
Zendesk web form email verification: Zendesk requires email verification for anonymous help center requests. If you use Zendesk web forms with the Email API, end users will see a prompt — “Request not yet submitted. Please check your email to verify and submit your request.” — and must verify their email before the ticket reaches the active queue. Your AI Agent will not receive the submission until verification is complete. See Zendesk’s announcement for details.
The Email API is an implementation of Ada’s Conversations API for the native Email channel. To use it, you’ll need either a form provider (such as Zendesk) or your own system that can make a POST API call when an email inquiry should be sent to Ada for automation. This call sends the form submission or email content to your AI Agent through the dedicated Email endpoint.
Make sure you have an Email API key in the Ada Dashboard.
Choose the email address you want the AI Agent to use when replying to end users for this implementation.
Set up your API call with the required fields:
{bothandle} with your AI Agent’s handle.
https://{bothandle}.ada.support/api/v2/conversations/email
For details, review this section.
Set up the required automations to route inquiries to Ada (e.g., Webhook, Triggers in Zendesk).
Test your flow.
When you’re ready to route live inquiries to Ada via Email API, set up forwarding for your Bring your own domain email address. This ensures end-user replies to the AI Agent are correctly routed to the AI Agent for conversation continuity.
You may receive the following responses after your call is sent. To troubleshoot errors, first review the returned response.
That’s all you need to know to get started. Next, explore these sample workflows. Each one outlines the key steps for its respective integration. Use these examples as a guide to assist with your setup.
You can configure a Zendesk ticket form, and create a webhook and trigger to automatically forward content your customers submit to your AI Agent.
Create a webhook
Follow Zendesk’s instructions on creating a webhook, so you can use Zendesk to point to Ada’s API.
https://{bothandle}.ada.support/api/v2/conversations/email, replacing {bothandle} with your own AI Agent handle.When the webhook is configured, it should look like this:
Create a trigger
Follow Zendesk’s instructions on creating ticket triggers, so Zendesk can automatically call your webhook as soon as it receives a response to your form.
If your Ticket > Form condition uses the Default Form, and this form is also shared with other channels (e.g., calls or chats), create a new basic form and set it as the new default. This will ensure you have a dedicated form for Webform Submissions. Otherwise, inquiries from other channels may be routed to Ada via the Email API.
Call your webhook
Choose Add action > Notify by > Active webhook.
Select the webhook you created.
For the JSON body, use the following. Make sure to replace the reply_as address with either your AI Agent’s Ada-provided email address (help@{bothandle}.email.ada.support) or the address you’ve set up in your Bring your own domain settings.
Optional: Add CC recipients
If you’d like to copy specific email addresses on every outbound message, you can add a cc field to the JSON body.
For example:"cc": ["team@example.com"]
Close your ticket
With the two above actions, your configuration should look like this:
You can create a Salesforce case form, and create an automated process to automatically forward content your customers submit to your AI Agent. You, or someone with Salesforce Admin permissions, can
help@{bothandle}.email.ada.support) as the value.Add your API credentials to Salesforce so it can use Ada’s API to send over email data. Follow Salesforce’s instructions to Create or Edit a Basic Authentication External Credential, and enter the following information:
Ada Email API External CredentialAdaEmailAPIExternalCredentialNo AuthenticationAdditionally, follow the instructions in the above link to create a principal, to act as a user for the credentials you just made. Use the following information:
User1Named PrincipalInstead of putting your authentication in the credentials, add a custom header. Follow Salesforce’s instructions to Create and Edit Custom Headers, and enter the following information:
1Create a permission set, so you can share the credentials you just made with other admins. Follow Salesforce’s instructions to Create Permission Sets, and do the following:
Ada Email Http CalloutAda Email API External Credential you createdCreate a named credential. Follow Salesforce’s instructions to Create or Edit a Named Credential, and enter the following information:
Ada Email API Named CredentialAdaEmailAPINamedCredentialhttps://{bothandle}.ada.support/api/v2/conversations/email, replacing {bothandle} with your AI Agent’s handleAda Email API External Credential you created earlierCaseA record is created or updatedAll Conditions are Met (AND)Origin Equals Ada EmailStatus Does Not Equal ClosedEvery time a record is updated and meets the condition requirementsFast Field UpdatesUpdate StatusUpdate_StatusUse the case record that triggered the flowNone - Always Update RecordStatusClosedCASE: Update Ada Email Status to Closed.Create a new flow to automatically send cases to Ada. Follow Salesforce’s instructions to Build a Flow, and do the following:
CaseA record is created or updatedAll Conditions are Met (AND)Origin Equals Ada EmailStatus Does Not Equal ClosedSent_to_ada__c Equals FalseOnly when a record is updated to meet the condition requirementsActions and Related RecordsAdd a scheduled path to the flow. Follow Salesforce’s instructions to create Scheduled Paths, and add the following information:
API to AdaAPI_to_AdaCase: Last Modified Date1Minutes After1Add an HTTP callout to the flow. Follow Salesforce’s instructions to Configure an HTTP Callout Action, and add the following information:
HTTP CalloutAda Email API Named CredentialAda Email Invocable ActionPOSTThis creates an Apex class variable that you can use in step e, so you can specify individual dynamic fields to send.
Now that you’ve configured the action, add it to your flow, so you can use the API callout to send cases to Ada. Use the following information:
Send to AdaSendtoAdaApex-Defined VariableAdaEmailBodyIn your flow, add an assignment element before the action element you just added. You can see an example at Salesforce’s Flow Element: Assignment topic. Enter the following information:
Set Body VariablesSet_Body_VariablesThen, add each of the following variables by choosing the Apex-defined variable you created above, then the corresponding fields in your Salesforce case:
AdaEmailBody > name Equals $Record > NameAdaEmailBody > replyx5fas Equals help@company.comAdaEmailBody > replyx5fto Equals $Record > Email AddressAdaEmailBody > subject Equals $Record > SubjectAdaEmailBody > text Equals $Record > DescriptionAdaEmailBody > metadata > ticket Equals $Record > Case IDEnsure that all of the above values are on your case creation form, with the exception of your reply-as email.
Add an Update Triggering Record element to the flow. In the New Update Records window, enter the following information:
Update Sent to Ada checkbox on CaseUpdate_Sent_to_Ada_checkbox_on_CaseUse the case record that triggered the flowNone - Always Update RecordSent_to_Ada__cTrueSave and activate your flow, giving it a name like CASE: Send to Ada Email.
Case Origin of Ada Email, and use a valid email address to test. You should be able to see the conversation appear in Ada, and get a reply at the email address you provided.You can use both direct email and Email API implementation methods to automate inquiries on all fronts, expanding your AI Agent’s scope of responsibility.
If you use any alternate methods to create tickets in your agent platform (outside of contact forms or direct emails), you can use the Email API to route tickets from your Agent platform to your AI Agent.
Explore additional Email configuration and deployment options.