Account Engagement Agentforce actions deploy from the Account Engagement Settings page. There are six included actions for managing and nurturing an Account Engagement prospect:
Account Engagement: Get B2B Engagement Studio Programs
Account Engagement: Get B2B Marketing List Memberships
Account Engagement: Get B2B Marketing Lists
Account Engagement: Sign Up Prospect for B2B Marketing Lists
Account Engagement: Upsert B2B Prospect
Account Engagement: View B2B Prospect
Before you can deploy the Agentforce actions from Account Engagement, first create an External Client App and Named Credential.
Complete these steps before creating the External Client App and Named Credential:
To connect Account Engagement to Agentforce, authenticate your Salesforce Org and enable Account Engagement API access.
The External Client App provides the interface to authenticate into an org. Learn more about using External Client Apps in Salesforce here.
From Salesforce Setup, in the Quick Find box, enter External Client, select External Client Manager, and then click New External Client App.
Configure the External Client App as follows:
External Client App Name: Give it a suitable name for the integration
Contact Email: Email address of the admin that manages Agentforce
Enable OAuth Settings: checked
Callback URL: Enter a placeholder URL, such as https://login.salesforce.com
Selected OAuth Scopes:
* Perform requests at any time (refresh_token, offline_access)
* Manage Pardot services (pardot_api)
Require Secret for Web Server Flow: checked
Require Secret for Refresh Token Flow: checked
Keep all other default settings, and then click Create.
Note: *It can take 10–15 minutes for the External Client App to be ready for authentication.
*We recommend collecting your Consumer Key and Consumer Secret for the next step.
Copy the Consumer Key and Consumer Secret
From the External Client App you created, select Settings.
Expand OAuth Settings and click Consumer Key and Secret
Copy the Consumer Key and Consumer Secret.
To handle the authentication process, create and configure an Auth. Provider.
From Salesforce Setup, in the Quick Find box, enter Auth. Providers, and click New.
Configure the Auth. Provider as follows:
Provider Type: Salesforce
Name: MCAE API V5
URL Suffix: MCAE_API_V5
Consumer Key: Add your External Client App’s Consumer Key
Consumer Secret: Add your External Client App’s Consumer Secret
Default Scopes: pardot_api refresh_token offline_access
Click Save.
Copy the Callback URL under Salesforce Configuration.
From Salesforce Setup, in the Quick Find box, enter External Client, and then select External Client Manager.
Click Edit Settings from the dropdown next to your External Client App.
Expand OAuth Settings, replace the Callback URL with the Callback URL from the Auth. Provider, and then click Save.
Next, click the Policies tab, and click Edit.
Expand OAuth Policies, select “Refresh token is valid until revoked”, and then click Save.
The Named Credential establishes access via an Integration User to the Account Engagement API.
From Salesforce Setup, in the Quick Find box, enter Named Credentials, and select New Legacy under the Named Credentials tab (used the dropdown next to the New button).
* Be sure to select New Legacy and not New.
Configure the Named Credential:
Label: Select an applicable Label, such as Account Engagement API
Name: Select applicable Name (use an underscore in place of spaces)
Authentication Prototype: OAuth 2.0
Authentication Provider: Select Auth Provider from the dropdown and the Auth Provider you created
Scope: pardot_api refresh_token offline_access
Click Save.
Login using the integration users credentials
Allow Account Engagement Agentforce Access and confirm External Access.
In Agentforce, an Agent User is the designated user selected to run Agentforce agents. To access the deployed Agentforce actions from the Account Engagement package, create a new permission set and assign it to your Agent User in Salesforce Setup.
From Salesforce Setup, in the Quick Find box, enter Permission Sets, and then click New.
Configure the Permission Set as follows:
Label: Account Engagement Agentforce API Access
API Name: Account_Engagement_Agentforce_API_Access
Description: Allows Account Engagement access to Agentforce
License: None
3. Click Save.
4. Under the Apps section, select Apex Class Access, then click Edit.
5. Select these Apex Classes:
pi.CreateListMembership
pi.GetEngagementStudioPrograms
pi.GetListMembership
pi.GetLists
pi.UpsertB2BProspect
pi.ViewB2BProspect
6. Click Save, and assign the Permission Set to your Agent User.
In Account Engagement, Deploy the Account Engagement agent actions. The Account Engagement Agentforce Actions will be listed under the Actions Asset Library:
Account Engagement: Get B2B Engagement Studio Programs
Account Engagement: Get B2B Marketing List Memberships
Account Engagement: Get B2B Marketing Lists
Account Engagement: Sign Up Prospect for B2B Marketing Lists
Account Engagement: Upsert B2B Prospect
Account Engagement: View B2B Prospect
To validate that everything’s authenticated and working, run a test in Agentforce.
From Setup, in the Quick Find box, enter Agentforce, and then select Agentforce Agents under Agentforce Studio.
On the Agentforce (Default) Agent Name, click Open in Builder under the dropdown.
To edit an agent, first click Deactivate.
Under New, select New Topic.
Be sure to deploy the Account Engagement agent actions and add topic instructions to the custom Topic.
To see if the new Topic works, turn on the agent, refresh the page, and then test the agent with a prompt in the chat panel.
Test your new Topic using these example prompts, or create your own prompts based on your business needs.
Show the prospect record for <insert email>
Create a prospect record <insert fields and value to include on the new record>
Show me the available marketing subscriptions
Show me the available marketing lists
Show me the available Engagement Studio programs
Show me the CRM nurture campaigns.
Show me the list memberships for the prospect with ID <insert prospect ID>
Sign-up prospect with ID <insert prospect ID> for the list with ID <insert list ID>
|
Topic Information |
Inputs |
|
General Overview |
Use this topic to manage what marketing programs are available and sign up prospects for relevant programs. |
|
Name |
Account Engagement: B2B Marketing Program Management |
|
API Name |
Account_Engagement_B2B_Marketing_Program_Management |
|
Classification Description |
Assist marketing and sales users to understand what marketing options exist, what marketing option the prospect is a member of and sign up a prospect for the best marketing option(s). |
|
Scope |
View the marketing program that includes marketing lists, subscriptions, and nurture programs that are available to assign to a prospect. Subscriptions are lists tagged as “isPublicList is true”. CRM Nurture Programs are lists tagged as SalesforceVisible. Sign the prospect up for a specific list, which requires the Prospect ID. View list membership of a prospect. |
|
Instructions |
Always use the <insert_BU_ID> Business Unit ID if it's an input to an action. Always use the <insert_Named_Credential> Named Credential if it's an input to an action. |
|
Allow the user to ask you for marketing programs that meet their criteria. Remove programs that you think aren't relevant based on their criteria. | |
|
If any action fails three times, then inform the user that you’re unable to help at this time and end the topic. | |
|
A marketing program is a marketing list. It isn't an Engagement Studio Program. | |
|
If the user asks for multiple sign-ups, then just loop through those list IDs. | |
|
If the user asks for available marketing subscriptions, to restrict it to subscriptions, call the Account Engagement: Get B2B Marketing Lists action, and set the filter “isPublicList” to true. These lists are also known as Public Lists in Account Engagement. Don’t call Account Engagement: Get B2B Engagement Studio Programs action. | |
|
If the user asks for the available nurture programs, to restrict it to general nurture programs, call the Account Engagement: Get B2B Marketing Lists action, and set the filter “isSalesforceVisible” to true. Don’t call Account Engagement: Get B2B Engagement Studio Programs action. | |
|
If the user asks if a prospect is a member of any marketing program, which means to check list membership of that prospect, always ask the user for a prospect ID if it isn't provided. Call the action Account Engagement: Get B2B Marketing List Memberships, using the Prospect ID in the prospectId field. Display the results as a list of list names with the header being "Here are the Marketing List Memberships for <insertProspectEmail>, replacing it with the prospect's email. Don’t call Account Engagement: Get B2B Engagement Studio Programs action. | |
|
If the user asks to sign up a prospect for a marketing list, which means the same as marketing program, after confirming you have the Prospect ID and List ID to create a List Membership, then call the Account Engagement: Sign Up Prospect for a B2B Marketing List action using those IDs as the inputs, one time for each membership. Provide a confirmation to the user of which list the prospect is signed up for. Include the prospect’s email as a header, and then a bulleted list of the marketing lists followed by their description. | |
|
If the user asks for available Engagement Studio programs, which means the same as marketing journeys, then use the Account Engagement: Get B2B Engagement Studio Programs action. Display the results in a table with the columns: Name, Description, Recipient Lists, Suppression Lists, Status, Created Date, and Last Updated Date. Allow the marketer to ask to filter by a status, name, or description, and handle the filtering after getting the results. | |
|
If you don’t have list details for a listId, then use the Account Engagement: Get B2B Marketing List action, and add the List ID as a filter. | |
|
When displaying the marketing program results, always present the user with a table with the columns: Name, Title, Description, Campaign Name, Updated At, isPublicList, isDynamic, isSalesforceVisible. Use the same words as the user in how they reference marketing programs, such as “subscriptions” or “nurture programs”. | |
|
Actions |
|
|
Topic Information |
Inputs |
|
General Overview |
Use this topic to view, create, and update B2B prospect records. |
|
Name |
Account Engagement: B2B Prospect Management |
|
API Name |
Account Engagement: B2B Prospect Management |
|
Classification Description |
Help marketing and sales manage prospect records, create a prospect record, view a prospect record to review its status, and update a prospect record. |
|
Scope |
Add a new prospect record using the data from the conversation and prompt for any missing required information. |
|
Instructions |
Always use the <insert_BU_id> Business Unit ID if input to an action. |
|
Always confirm the record has a valid Email, Lead ID, Contact ID, or Prospect ID before calling the Account Engagement: View B2B Prospect action. If not available, then ask to confirm the Email of the prospect they want to access. | |
|
If the user asks to view a prospect, and has the Email, Prospect ID, Lead, or Contact ID, then call the View B2B Prospect action to retrieve the record. | |
|
If the user requests specific fields on a prospect record, filter to those fields on display, and make sure to always include at least a Name, Email, and Title. | |
|
If the prospect doesn't exist after calling the Account Engagement: View B2B Prospect, then ask the user if they want to create the prospect. Required input includes at least an Email value. | |
|
If the user wants to create a prospect, verify the profile information, then call the Account Engagement: Upsert B2B Prospect action. | |
|
If a user wants to update a prospect, then verify the fields and values they want to update before calling Account Engagement: Upsert B2B Prospect. Also, include the Email of the prospect to identify the record to update or create. | |
|
If an error occurs during prospect creation, then find out if getting more information from the user or trying the action again fixes the error. If you can fix it, then retry the action after fixing the error. | |
|
Actions |
|
005036913

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.