---
schema_version: "1"
id: 912370c69b42cc99404efac9769f4dcc57033b764cd817d6b0e0f28a68b1f43f
title: Batch Test Agentforce Engagement Reply Emails with Modular Actions in the Testing Center
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/sales/264-0-0/sales_agent_sdr_batch_test_modular_reply_email.md
canonical_url: https://help.salesforce.com/s/articleView?id=sales.sales_agent_sdr_batch_test_modular_reply_email.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: fcaa8791d03f6d0403d4f6fa225ee95eadff95f95c1b20195d848734930adc53
description: To see how your Engagement agent generates reply emails to prospects at scale by using the prospect record details and the Draft Reply Email prompt template action, use Testing Center.
products:
  - Sales Cloud
  - Agentforce
release: "264"
---
# Batch Test Agentforce Engagement Reply Emails with Modular Actions in the Testing Center

To see how your Engagement agent generates reply emails to prospects at scale by using the prospect record details and the Draft Reply Email prompt template action, use Testing Center.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience in <strong>Enterprise</strong>, <strong>Performance</strong>, and <strong>Unlimited</strong> editions with Sales and Einstein for Sales.</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d11445e63">User Permissions
              Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d11445e63 ">To set up and test Agentforce Engagement:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d11445e63 ">Configure Engagement Agent</td>

          </tr>
        </tbody>
      </table>

Agents created after October 27, 2025 by using the guided configuration process in Setup use six modular subagents. Use these steps if your agent shows 6 modular sub agents in Agent Builder.

In the Testing Center, set test conditions, upload a CSV file, and view the resulting reply emails.

1. In Setup, enter Testing Center in the Quick Find box. Then click **Testing Center**.
2. Click **New Test**.
3. Give your test a name and select the Agentforce Sales Development Rep agent as the agent to test. Add a description for your test if you want. Click **Next**.
4. On the Test Conditions page, click **Include context variables**. Context variables define the conditions for your testing scenario, such as whether you’re testing leads, contacts, or person accounts, intro emails or replies, etc.
5. From the list of context variables, select the variables needed for your test. Then click **Next**.
    
    For testing reply emails, select these variables.
    
    - currentObjectApiName
    - Contact ID
    - emailBody
    - End User Id
    - End User Language
    - actionCadenceStepTrackerId
    - isFinalMessage
    - currentRecordId
6. On the Test Data tab, **Upload Test Cases (.csv)** is selected by default. Use this option to create and upload a CSV file. Click **Template** to download a CSV file containing the columns you need for your test. You fill in only the columns needed for testing reply emails.
7. Open the template CSV file in a spreadsheet editor like Microsoft Excel or Google Sheets. Delete the placeholder data beginning on row two. Then populate the rows with the lead, contact, or person account records and the associated context values that define your reply email testing scenario.
    
    For reply emails, the CSV file includes these columns.
    
    - Utterance: the request sent to the LLM to initiate drafting the reply email.
    - Expected Subagent: the subagent used to draft the email.
    - Expected Actions: the agent action used to draft the email.
    - Expected Response: the type of response requested from the agent.
    - Context Variable OrchestrationStage: the email testing scenario. In this case, the scenario is Reply.
    - Context Variable currentObjectApiName: the name of the object you’re testing. Valid values are Lead and Contact. To test with person accounts, use Contact.
    - Context Variable currentRecordId: This is a 15-digit record ID of a lead, contact, or person account you want to test with. Use the first 15 digits of the ID found in the record’s URL.
    - Context Variable $Context.ContactId: This is a 15-digit record ID of the lead, contact, or person account you want to test with. Use the same value as the currentRecordId.
    - Context Variable emailBody: The body of the previous email sent by the agent to the prospect. This can be an actual agent-generated email, or other email content you want to test with.
    - Context Variable isFinalMessage: indicates whether a nudge email should be considered the last email to be sent to the prospect. Use only for testing nudge emails.
    - Context Variable EndUserId: the 18-digit ID of the agent’s user record.
    - Context Variable actionCadenceStepTrackerId: Your agent uses Sales Engagement Cadences to orchestrate its outreach. This is the ID of the email cadence step tracker associated with the lead, contact, or person account record. In Testing Center, use the dummy ID 8HF000000000000.
    
    Fill the rows of your CSV file according to these guidelines.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
            <colgroup>
              <col style="width:25%">
              <col style="width:25%">
              <col style="width:25%">
              <col style="width:25%">
            </colgroup>
            <thead class="slds-text-title_caps ">
              <tr class="">
                <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d11445e264">Column NAME</th>
                <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d11445e267">Different Values Per Row?</th>
                <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d11445e270">Input Value</th>
                <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d11445e273">Details</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Utterance</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">No</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 ">Respond to this email.</td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">&nbsp;</td>

              </tr>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Expected Subagent</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">Yes</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 "><a name="sales_agent_sdr_batch_test_modular_reply_email__ul_bzq_tfx_zjc"><!-- --></a>
                  <ul id="sales_agent_sdr_batch_test_modular_reply_email__ul_bzq_tfx_zjc">
                    <li>sales_sdr_agent_MeetingResponse</li>

                    <li>sales_sdr_agent_ManageOptOut</li>

                    <li>sales_sdr_agent_ProductQnA</li>

                  </ul>
                </td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">&nbsp;</td>

              </tr>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Expected Actions</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">Yes</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 "><a name="sales_agent_sdr_batch_test_modular_reply_email__ul_c1y_bgx_zjc"><!-- --></a>
                  <ul id="sales_agent_sdr_batch_test_modular_reply_email__ul_c1y_bgx_zjc">
                    <li>For Meeting Response: ['GetRecordDetails', 'ReturnCalendarLink']</li>

                    <li>For Manage Opt-out: ['OptOutLead']</li>

                    <li>For Product QnA: ['GetRecordDetails', 'ReturnCalendarLink',
                      'AnswerQuestionsWithKnowledge']</li>

                  </ul>
                </td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">
                  <p style="margin-bottom:0;" dir="ltr">This value changes based on the context variable emailBody.</p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Expected Response</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">Yes</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 ">A reply email is successfully drafted.</td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">&nbsp;</td>

              </tr>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Context Variable OrchestrationStage (Email Scenario)</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">No</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 ">Reply</td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">&nbsp;</td>

              </tr>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Context Variable currentObjectApiName</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">No</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 ">Lead or Contact</td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">To test person accounts, use Contact.</td>

              </tr>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Context Variable currentRecordId</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">Yes</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 ">A valid 15-digit record ID.</td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">For reply email testing, this column contains different values per row. The
                  record ID appears in the URL of the record detail page. Use only the first 15
                  digits.</td>

              </tr>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Context Variable $Context.ContactId</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">Yes</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 ">The ID of the prospect record.</td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">Use the same value as the currentRecordId.</td>

              </tr>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Context Variable emailBody</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">Yes</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 ">What products do you offer?</td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">There are three types of SDR Email Body utterances for replies, product
                  inquiry, meeting request, and off-topic question.</td>

              </tr>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Context Variable isFinalMessage</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">No</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 ">False</td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">Can be True or False</td>

              </tr>
              <tr class="">
                <td data-label="Column NAME" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e264 ">Context Variable actionCadenceStepTrackerId</td>

                <td data-label="Different Values Per Row?" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e267 ">No</td>

                <td data-label="Input Value" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e270 ">8HF000000000000</td>

                <td data-label="Details" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d11445e273 ">This is a dummy value used for testing.</td>

              </tr>
            </tbody>
          </table>Here’s an example of a valid CSV file for testing reply emails to leads.![An example CSV file for batch testing SDR reply emails.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-sales_agents-264-0-0-production-enus/3bcb4a4b-868d-4b4f-b735-d76004124785/sales_agents/images/sales_agents_sdr_reply_email_csv2.png)
8. On the Test Data page, click **Upload Files**. Select the CSV file that you created and click **Open**. When the upload is complete, click **Done**.
9. On the Evaluations page, a list of the available output quality evaluations appears. Select the evaluations that you want to see for the generated output. Then click **Save & Run**.
    
    Your new test appears in the Tests list in the Testing Center.
10. To run your test, click the test name in the Tests list.

The agent generates a reply email to each of the prospects by using the parameters in your CSV file. The generated output and evaluations appear in the Test Results list. Because you aren’t actually sending the generated email during testing, email scheduling errors can appear in the results. You can ignore these errors.

Check the results to see if the generated emails meet your business requirements.