---
schema_version: "1"
id: c31983f8c2b84d503ecfef6aa1f8ae97793161f31f11f100cbf3e97cdca968af
title: Set Up Transfer Credit Agent
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/sfdo/264-0-0/ec_set_up_transfer_credit_agent.md
canonical_url: https://help.salesforce.com/s/articleView?id=sfdo.ec_set_up_transfer_credit_agent.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: a31e818117614634fb453780af3bc7ca63386b23c8e59beac0d293e00e0bae40
description: Configure the Transfer Credit Agent to provide estimates of transferable credits for unauthenticated guest users.
products:
  - Education
release: "264"
---
# Set Up Transfer Credit Agent

Configure the Transfer Credit Agent to provide estimates of transferable credits for unauthenticated guest users.

### 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</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions with Education Cloud and the applicable Agentforce add-on license</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:left;vertical-align:top;" id="d38321e71">User Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d38321e71 ">To set up the Transfer Credit Agent:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d38321e71 ">
              <p>Education Cloud Full Access</p>
              <p>AND</p>
              <p>Manage Agentforce Service Agents</p>
              <p>AND</p>
              <p>Manage AI Agents</p>
              <p>AND </p>
              <p>Data Cloud Architect</p>
              <p>AND </p>
              <p style="margin-bottom:0;">Prompt Template Manager</p>
            </td>

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

## Prerequisites for Transfer Credit Agent Configuration

1. [Set up your org for Transfer Credits](https://help.salesforce.com/s/articleView?id=sfdo.ec_set_up_org_for_transfer_credits.htm&release=264.0.0&type=5 "Configure Education Cloud so learners can submit transfer credit requests and transcripts, and staff can review and process them.").
2. [Prepare the data for Transfer Credits](https://help.salesforce.com/s/articleView?id=sfdo.ec_prepare_data_for_transfer_credits.htm&release=264.0.0&type=5 "Set up learning records and equivalencies to evaluate applicants’ prior learning for transfer credit. Map source achievements to the achievements your institution grants, then publish and activate the equivalency. These rules serve as the source of truth for your articulation and admissions staff.").
3. [Configure the Transfer Credit Agent flows](https://help.salesforce.com/s/articleView?id=sfdo.ec_configure_transfer_credit_agent_flows.htm&release=264.0.0&type=5 "To give unauthenticated guest users access to the Transfer Credit Agent, clone and modify the EDU Admissions: Process Person Account and EDU Admissions: Create Prior Learning Evaluation flows.").
4. [Set up Data 360 for Education Cloud](https://help.salesforce.com/s/articleView?id=sfdo.ec_set_up_data_cloud_for_education_cloud.htm&type=5&language=en_US).
5. [Set up Agentforce for Education Cloud](https://help.salesforce.com/s/articleView?id=sfdo.ec_set_up_agentforce_for_education_cloud.htm&language=en_US&type=5).

## Configure Data 360 Resources for the Transfer Credit Agent

1. [Create a data stream](https://help.salesforce.com/s/articleView?id=data.c360_a_create_crm_data_stream.htm&language=en_US&type=5) for each of the Account, External Learning, and Learning Program objects to ingest Salesforce CRM data into Data 360.
    
    For the Account data stream, include the Is Person Account field. For the External Learning data stream, include the Provider and Active fields.
2. [Create a formula field](https://help.salesforce.com/s/articleView?id=data.c360_a_formula_expression_library.htm&type=5&language=en_US) in the External Learning data stream.
    
    This formula field turns the Active text field into a boolean field. When providing the details,
    
    1. Give the field a distinct label. For example, Active Formula.
    2. For Formula Return Type, select **Boolean**.
    3. From the Attributes tab, select **Active**.
    4. For Transformation Formula, update the formula to make the Active text field a boolean field.
3. Map the formula field that you created to the Is Active field on the External Learning data model object.
    1. From the Data Streams tab, find and select the External Learning data stream that you created.
    2. Click **Start Data Mapping**.
    3. On the Data Model entities canvas, click **Select Objects**.
    4. Add **External Learning** and click **Done**.
    5. On the External Learning data stream canvas, select the formula field that you created.
    6. Click the Is Active field on the Data Model entities canvas to establish the mapping connection.
        
        A confirmation appears with an arrow connecting the fields.
    7. Save your changes.
    8. On the External Learning data stream page, click **Refresh Now** to ingest the data into the data model object.
4. Map the Is Person Account field in the Account data stream to a custom Is Person Account field on the Account data model object.
    1. From the Data Streams tab, find and select the Account data stream that you created.
    2. Click **Start Data Mapping**.
    3. On the Data Model entities canvas, click **Select Objects**.
    4. Add **Account** and click **Done**.
    5. On the Data Model entities canvas, expand **Unmapped**, and then click **Add New Field**.
    6. Enter Is Person Account as the field label and API name, and then select **Text** as the data type.
    7. Save your changes.
    8. Map Is Person Account in the Account data stream to Is Person Account on the Account data model object.
    9. Refresh the Account data stream to ingest the data into the data model object.
5. [Create a hybrid search index](https://help.salesforce.com/s/articleView?id=data.c360_a_hybridsearch_index_create.htm&type=5&language=en_US) for each of the Account, External Learning, and Learning Program objects.
    1. For Chunking, add these fields to Account and External Learning.
        
        - Account: Is Person Account
        - External Learning: Provider, Name, Status, and Field of Study
        
        If needed, add more fields that you want to use for searching and filtering.
    2. For Fields for Filtering, add these fields to Account and External Learning.
        
        - Account: Is Person Account
        - External Learning: Provider and Is Active
        
        If needed, add more fields that you want to use for filtering.
6. [Create an individual data retriever](https://help.salesforce.com/s/articleView?id=data.c360_a_ai_retriever_create.htm&language=en_US&type=5) for each of the Account, External Learning, and Learning Program objects.
    1. For Define Retriever Results, define a filter to narrow the search results for Account and External Learning.
        
        - For Account, add this condition.
            
            | Dynamic | Field | Operator | Value |
            | --- | --- | --- | --- |
            | Unselected | Is Person Account | Equal To | False |
        - For External Learning, add these conditions.
            
            | Dynamic | Field | Operator | Value |
            | --- | --- | --- | --- |
            | Unselected | Is Active | Equal To | True |
            | Selected | Provider | Equal To | {$Provider} |
    2. For Configure Retriever Results, specify these fields to return for Account and External Learning.
        
        - For Account, Account Id.
        - For External Learning, specify Name, External Learning Id, Learning, Status, Provider, and Is Active.
        
        To present more information to the users, add more fields to return.

## Update Prompt Templates for the Transfer Credit Agent

1. Use the data retriever to update the Get External Learning Data prompt template.
    1. From Setup, find and select **Prompt Builder**.
    2. Under Prompt Templates, select **Get External Learning Data**.
    3. Click **Save As** and click **Save as a New Version**.
    4. Scroll to the end of the prompt, find PLACEHOLDER\_FOR\_DATA\_RETRIEVER, and then delete the placeholder text.
    5. Click **Insert Resource**, and under Actions, select **Search**.
    6. Click **Configure Search**, and then select the retriever that you created for External Learning.
    7. In Search Text, enter Input:externalLearningNames.
    8. For Output Fields, select the fields that you specified to return in the External Learning data retriever.
    9. For pre-filter, select **input:institutionID**.
    10. Apply and insert the resource.
    11. Save and activate the prompt template.
2. Similarly, update the Get Institution Data and Get Learning Programs prompt templates.
    1. For Get Institution Data, only update the Search Text field. Enter Input:institutionName.
    2. For Get Learning Programs, only update the Search Text field. Enter Input:learningProgramName.

## Create the Transfer Credit Agent

1. Turn on the Transfer Credit Agent.
    1. From Setup, find and select **Set Up Education Cloud**.
    2. Under Set Up Agentforce for Education Cloud, turn on **Student Recruitment and Transfer Credit Agent**.
2. [Create an Agentforce Service agent](https://help.salesforce.com/s/articleView?id=ai.service_agent_setup.htm&language=en_US&type=5) for guest users.
    
    As part of the setup process, add the Transfer Credit Equivalency subagent and customize the subagent instructions. Customization makes sure that the agent provides accurate information about your institution that matches your academic policies and terminology.
3. [Remove any unnecessary subagents](https://help.salesforce.com/s/articleView?id=ai.agent_topics_remove.htm&type=5&language=en_US).
4. [Update the email address for the Einstein Agent User](https://help.salesforce.com/s/articleView?id=000387986&type=1&language=en_US).
    
    Replace the default email address with an email address that you can access.
5. Verify the email address for the Einstein Agent User. See [Requirements to Send Email from Salesforce](https://help.salesforce.com/s/articleView?id=xcloud.security_email_verification_requirements.htm&language=en_US&type=5).
    
    ![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-education_cloud-264-0-0-production-enus/89403874-2a89-4126-b574-9db175c14f28/images/icon_important.png)
    
    Important To send and receive email verification codes to guest users, the Transfer Credit Agent requires domain-level and user-level email verification. Email delivery fails if either the Einstein Agent User's email address or the email-sending domain is unverified.
6. Clone, customize, and assign the Education Cloud AI Agent Access permission set to the Einstein Agent User.
    1. Set these object and field permissions in your permission set.
        
        <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
                  <thead class="slds-text-title_caps ">
                    <tr><th class="slds-cell-wrap" scope="col" id="d38321e939">Object</th>
                    <th class="slds-cell-wrap" scope="col" id="d38321e942">Object permissions</th>
                    <th class="slds-cell-wrap" scope="col" id="d38321e945">Field permissions</th>
                  </tr></thead>
                  <tbody><tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Account</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read, Create, Edit</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Account Name</li>

                        <li>Account Owner</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Contact</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Name</li>

                        <li>Email</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Course Credit Transfer Application</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read, Create, Edit</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read and Edit for these fields:<ul>
                        <li>Learning Name</li>

                        <li>Learning Identifier</li>

                        <li>Requested Learning</li>

                        <li>Provider</li>

                        <li>Learning Letter Grade</li>

                        <li>Learning Numeric Grade</li>

                        <li>Type</li>

                        <li>Learning Academic Season</li>

                        <li>Learning Academic Year</li>

                        <li>Learning Duration</li>

                        <li>Prior Learning Evaluation</li>

                        <li>Owner Name</li>

                        <li>For Estimate</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">External Learning</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Name</li>

                        <li>Learning</li>

                        <li>Provider</li>

                        <li>Active</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Learning</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Name</li>

                        <li>Type</li>

                        <li>Previous Learning Version</li>

                        <li>Revised Learning Version</li>

                        <li>Learning System ID</li>

                        <li>Version</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Learning Achievement</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Name</li>

                        <li>Record Type</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Learning Course</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Name</li>

                        <li>Learning</li>

                        <li>Provider</li>

                        <li>Active From Date</li>

                        <li>Active To Date</li>

                        <li>CIP Code</li>

                        <li>Academic Level</li>

                        <li>Active</li>

                        <li>Description</li>

                        <li>Linked Only</li>

                        <li>Course Type</li>

                        <li>Previous Learning Version</li>

                        <li>Revised Learning Version</li>

                        <li>Learning System ID</li>

                        <li>Version</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Learning Equivalency</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Name</li>

                        <li>Active</li>

                        <li>Published</li>

                        <li>Start Date</li>

                        <li>End Date</li>

                        <li>Type</li>

                        <li>Category</li>

                        <li>Status</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Learning Equivalency Learning</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Learning</li>

                        <li>Learning Equivalency</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Learning Equivalency Achievement Mapping</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Learning Equivalency</li>

                        <li>Source</li>

                        <li>Target</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Learning Outcome Item</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Name</li>

                        <li>Learning</li>

                        <li>Learning Achievement</li>

                        <li>Duration</li>

                        <li>Duration Unit</li>

                        <li>Category</li>

                        <li>Minimum Numeric Grade</li>

                        <li>Minimum Letter Grade</li>

                        <li>Primary</li>

                        <li>Created Date</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Learning Program</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read for these fields:<ul>
                        <li>Name</li>

                        <li>Academic Level</li>

                        <li>Active</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Prior Learning Evaluation</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read, Create, Edit</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Read and Edit for these fields:<ul>
                        <li>Name</li>

                        <li>Account</li>

                        <li>Contact</li>

                        <li>Owner Name</li>

                        <li>Parent Prior Learning Evaluation</li>

                        <li>Request</li>

                        <li>Result</li>

                      </ul>
                    </td>
                  </tr>
                  <tr class="">
                    <td class="slds-cell-wrap" data-label="Object" headers="d38321e939">Product</td>
                    <td class="slds-cell-wrap" data-label="Object permissions" headers="d38321e942">Read</td>
                    <td class="slds-cell-wrap" data-label="Field permissions" headers="d38321e945">Use default selections.</td>
                  </tr>
                </tbody></table>
    2. Assign these record types to the Account object.
        
        - Business
        - College
        - Military
        - Person Account
        - Secondary School
    3. Select these system permissions.
        
        - Access Education Cloud Components
        - Access Education Cloud Objects
        - Permission to access the Action Plans feature
    4. For internal sharing, update your org-wide sharing settings to give Public Read Only access to these objects.
        
        - Learning
        - Learning Equivalency

## Configure the Transfer Credit Agent

Modify these agent actions to verify a guest user's identity before creating any data about them. These configurations make sure that the agent generates data and shares it with a guest user securely.

1. In the Agent Builder, create a filter and add it to the Create Prior Learning Evaluation action. See [Features in Actions Available for Reasoning in Building Agents in Canvas View](https://help.salesforce.com/s/articleView?id=ai.agent_canvas.htm&type=5&language=en_US).
    
    The filter checks the value of the `isVerified` variable. Your agent only calls the Create Prior Learning Evaluation action when the filter condition is met. Name the filter isVerified, and then set the filter condition.
    
    | Resources | Operator | Value |
    | --- | --- | --- |
    | isVerified | Equal | True |
2. [Create variables](https://help.salesforce.com/s/articleView?id=ai.agent_builder_variables_create.htm&type=5&language=en_US) to store and reuse the verification email address, account ID, contact ID, and verified email address of a guest user.
    
    Give each variable an easily identifiable name. For example:
    
    | Name | API Name | Data Type | Allow value to be set by API | Allow LLM to use value |
    | --- | --- | --- | --- | --- |
    | Verification Email Address | verificationEmailAddress | Text | Selected | Unselected |
    | Verified Account ID | verifiedAccountId | Text | Selected | Unselected |
    | Verified Contact ID | verifiedContactId | Text | Selected | Unselected |
    | Verified Email Address | verifiedEmailAddress | Text | Selected | Unselected |
3. Map the `authenticationKey` variable and the `verificationEmailAddress` variable that you created to the outputs of the EDU Cloud: Send Email Verification action. See [Create Variables in Agentforce Builder](https://help.salesforce.com/s/articleView?id=ai.agent_builder_variables_create.htm&type=5&language=en_US).
    
    These mappings pass two values that are used to validate the user's identity to the EDU Cloud: Verify Email Code action: the authentication key and verification code combination, and the user-provided email address.
4. Map these variables to the inputs of the EDU Cloud: Verify Email Code action.
    
    These mappings make sure that the EDU Cloud: Verify Email Code action captures the authentication key and verification code combination, and also the verification email address.
    
    | Variable | Input |
    | --- | --- |
    | authenticationKey | Authentication Key |
    | verificationEmailAddress | Verification Email Address |
5. Map these variables to the outputs of the EDU Cloud: Verify Email Code action.
    
    | Variable | Output |
    | --- | --- |
    | isVerified | Is Verified |
    | verifiedEmailAddress | Verified Email Address |
    | verifiedContactId | Verified Contact ID |
    | verifiedAccountId | Verified Account ID |

## Set Up the Transfer Credit Agent for Experience Cloud Users

1. [Add the agent to your portal on the Experience Cloud site](https://help.salesforce.com/s/articleView?id=ai.service_agent_messaging.htm&language=en_US&type=5).
2. The Transfer Credit Agent shows users the JSON output from actions in addition to prior learning equivalencies. Customize your Experience Cloud site to improve the user experience and control what the agent shows.
    1. [Add markup to the page `<head>`](https://help.salesforce.com/s/articleView?id=experience.community_builder_page_head.htm&type=5&language=en_US) by entering this script.
        
        ```
        
        <script type='text/javascript'>
           window.addEventListener("onEmbeddedMessagingReady", () => {
                // Embedded Messaging app ready
                embeddedservice_bootstrap.settings.disableStreamingResponses = true;
            });
        </script>
        ```
    2. In Security & Privacy, [select a security level](https://help.salesforce.com/s/articleView?id=experience.networks_security_csp_scriptlevel.htm&type=5&language=en_US).
        
        For Security Level, select **Relaxed CSP: Permit Access to Inline Scripts and Allowed Hosts**.
    3. Add your Experience Cloud site as a trusted site for scripts. See [Where to Allow Hosts of Script Resources](https://help.salesforce.com/s/articleView?id=experience.networks_security_csp_allow.htm&type=5&language=en_US).
        
        To locate the URL of your site, from Setup, find and select **Digital Experiences**, and then click **All Sites**. Find the URL of your site in the All Sites list view.
    4. Publish your site.