Skip to content

salesforce-misc/DataCloudAndAgentForceForAutomotive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Automotive

1. Pre-Deployment Instructions

4 step process

1. Salesforce Org Setup Requirements for Automotive App (5 min)

To support the Automotive app, you can either create a new Salesforce Org or use an existing one, provided it includes the following features and licenses:

Requirement Details
Licenses Required - Data Cloud
- Auto Cloud
- Sales Cloud
- Service Cloud
- Experience
- Commerce Cloud
- Marketing Cloud
- MuleSoft (Optional)
- Tableau Admin
Features Required - Service Agent
- Einstein Agent
- Copilot
- Prompt Builder
- Agent Force
- Real-time
- Code Builder (Optional)
- Tableau Next (Beta)

⚠️ Important Note: Existing Trailheads playgrounds cannot be used

2. Enable Features on the Org (10 min)

Step Action and Details Images
Enable Commerce Cloud - From Setup, enter ‘Commerce’ in the Quick Find box.
- Select ‘Settings’ under ‘Commerce’.
- Turn on ‘Enable Commerce’.
- Turn on Enable App under Enable the Refreshed Commerce App.
- Click on save
Enable commerce cloud1
Enable Automotive - From Setup, enter ‘Automotive’ in the Quick Find box.
- Select Automotive Settings.
- Turn on ‘Automotive’.
-Select 'Service Console for Automotive’.
-Turn on ‘Service Console for Automotive.’
-Note: When you create a scratch org for Automotive Cloud where the Service Console for Automotive setting is enabled, assign the Automotive Foundation User and the Industry Service Excellence permission sets to the scratch org user.
enable automotiveenable automotive2enable automotive3
Enable Vehicle and Asset Finance Settings - From Setup, in the Quick Find box, enter Vehicle and Asset, and then select Vehicle and Asset Finance Settings.
- Enable Vehicle and Asset Finance.
- Make sure you’ve enabled Automotive in your org before you enable this feature.
- Before enabling Vehicle and Asset Finance Additional Components, enable Timeline. Click on URL.
- Turn on the Timeline to enable.
-Navigate to Vehicle and Asset Finance and enable Vehicle and Asset Finance Additional Components
enable vehicle asset finance
Enabled System Permissions for automotive objects. -Go to setup.
-Search Permissions set and click on it.
-Find out "Data Cloud Salesforce Connector" permission and click on it.
-Click on system permission.
-Find the "Use Automotive Foundation" Permissions name and check checkbox Enabled it.
-Find the "Use Vehicle and Asset Finance Features" permission name and check checkbox enabled it.
-Click on Save.
Enable Partner Lead Management - Go to setup .
- Search Partner Lead Management and click on it.
- click on toggle enabled.
Enable Interest Tags - Go to setup .
- Search Interest tags .
-Enable the toggle.

3. Install Pre-Deployment Package (25 min)

Step Action and Details Images
Install package - Click on this Package Installation Link 
- Sign-in to the Org with your credentials.
- Choose Install for Admins Only option
- Choose “Rename conflicting components in package” and click the Install button.
- Wait until installation is completed, you will receive a confirmation on logged in user’s email
Install package1
Verify Package installation - Click Setup
- Search for package
- Search for 'AutomotiveConfigPackage' is installed
verify package install1
Step Action and Details Images
Site Name and URL -From Setup, enter ‘Digital Experiences’ and select ‘All Sites’ under ‘Digital Experiences’.
-Select D2C Commerce (LWR) Template
- After selecting the template, enter a Store name and URL.Name the Store ‘AutoFolio’ and ensure the URL ends with /AutoFolio.
-Click Create. Your site will be created in Preview status.
site name url
Activate Site -From Setup, enter ‘Digital Experiences’ and select ‘All Sites’ under ‘Digital Experiences’.
-Click Workspaces next to AutoFolio. Select Administration, then Emails.
-Under ‘Email Tabs,’ uncheck ‘Send welcome email’ and click Save.
-In Settings, click Activate and confirm by clicking OK.
-Your site will now be live and fully set up.
activate siteac
Enable Data Cloud Setup Home -Go to Setup → Quick box search Data Cloud Setup Home.
-Enable/Activate it. Note: After activation wait 10 min to complete the Automated Steps.
-Note: We need to perform this step only when the below step integration data cloud button is disabled.
Enable data cloud setup
Enable Data Cloud on Experience Site - Go to Setup → Digital Experiences → All Sites.
- Click Builder for ‘Autofolio’.
- Click Settings → Integrations.
- Click Add to Site for Data Cloud.
- Enable “Share site data with Data Cloud” and click Save.
- Once enabled, a green box will appear
- Click Publish in the top-right corner
enable data cloud on exp siteenable data cloud on exp site2
Verify Data Stream - Go to App Launcher → Data Cloud → Data Stream.
- Change List View to All Data Streams.
- Search for Experience_Cloud.
- 6 total Data Streams should appear
verify data stream
Create a Record on Custom Metadata - Go to Setup -> Search for Metadata type -> Click on ‘Install Package Settings Enabled’ -> Click on Manage Install Package Settings Enabled ->Click on ‘New’ -> Give Label as Package Settings Enabled and Check Checkbox of Installation Settings Enabled Field Create record on custom metadataCreate record on custom metadata2

4. Setup the Salesforce Org (30 min)

Step Action and Details Images
Assign data cloud Permissions for Standard and Custom Object - Click on App Launcher, search for Automotive and click on Automotive Setup App
- Click on the “Assign Permissions for Standard Objects” button (highlighted in the screenshot below) and wait for a confirmation message before proceeding further.
Assign data cloud permission for standard cusotm obj
Modify the Data Cloud Admin Permission Set - Open the Setup Menu and click Setup
- In the Quick Find, search for ‘Permission Sets’ and click ‘Permission Sets’
- Click the ‘Data Cloud Admin’ permission set
- In the Apps section, click ‘Data Cloud Data Space Management’
- In the Data Spaces panel, click Edit.
- Check the ‘Enabled’ checkbox for the default data space and click Save
- Click OK in the confirmation dialog
modify the data cloud admin PS
Create a connection for Mulesoft Ingestion API - Go to Setup -> In the Quick Find box, type static, then select Static Resources
-In the index across the top, click the letter R
- Click on ‘Real_Time_Telemetric_Data’
- Click on ‘View File’ hyperlink. The ‘Real_Time_Telemetric_Data.txt’ is downloaded to your computer.
- Change the file extension from .txt to .yaml
1- Go to Data Cloud Setup, click on Ingestion API → Click New
- Provide the Connector Name as ’Real_Time_Telemetric_data’
- Upload Real_Time_Telemetric_Data.yaml file which you have downloaded from above steps and Upload file to scheme and click on Save.
create connection to mulesoft ingestion api
Turn On Einstein Bots And Agent - Navigate to Setup
- Search and Select ‘Einstein Bots’
- Turn on Einstein Bots

-Navigate to Setup
-Search for Einstein
-Click on 'Einstein Setup'
-check the ‘Turn On einstein’ toggle
-Navigate to Setup
-Search for agent
-Click on Agentforce Agents
-Toggle the agentforce to Enabled
-Drag down on same page and Enable the Agentforce (Default) Agent
-Refresh the page
Deactivate Standard Einstein CoPilot Bots - Click on Setup
- Search 'Agent' and click ‘Agents’
-Enable the Agentforce (Default) Agent
- Click on 'Einstein Copilot'
- Click on 'Open Builder'
- Click on 'Deactivate'
- Click on ‘Ok’
Activate Salesforce CRM -Go to Setup.
-Click on Data Cloud Setup.
-In quick find search for Salesforce CRM.
-Click on Salesforce CRM.
-Go to the Standard Connection section and activate it.
activate salesforce crm

2. Salesforce Package Installation

1 steps process

1. Install Automotive Base Package (10 min)

Step Action and Details Images
Install Automotive Base Package - Click on this Package Installation Link 
- Sign-in to the Org with your credentials.
- Choose Install for Admins Only option
- Choose “Rename conflicting components in package” and click the Install button.
- Wait until installation is completed, you will receive a confirmation on logged in user’s email
Install AutoFolio Base Package1
Verify Package installation - Click Setup
- Search for package
- Search for 'SFAutomotiveDataKitsPackage' is installed
Verify the package is installed

3. Data Cloud Configuration

7 steps process

1. Install the Data Kit to add Data Cloud components to the Org (15 mins) $${ S3 \space Optional: \space Please \space note \space that \space some \space functionality \space in \space Experience \space Cloud \space and \space in \space the \space C360 \space will \space no\space longer \space function\space as \space expected \space if \space not \space installed. }$$

The Data Kit is installed as a part of the Package installation. Once the Data is available in the org, follow the steps below to create data streams.

Step Action and Details Images
Create Data Streams from Data Bundle - While logged into the environment where you installed the data kit
- Go to Data Cloud app and the Data Streams tab.
- Click New to create a Data Stream
- Select Salesforce CRM and click Next.
- Under Custom Data Bundles,select the SalesforceCRM01.
-Select your Salesforce Org and Click Next.
-Select the data space as ‘Default’, review the fields in your data stream, and click Next.
-Review details and click “Deploy”.
-Repeat the same step for second Data Bundles, select the SalesforceCRM02 .
Create Data Streams from Data Bundle 1Create Data Streams from Data Bundle  2Create Data Streams from Data Bundle  3
Create Website_Mobile_apps Data Stream from Data Kit - Click on Data Stream
- Click on New
- Select ‘Installed Data Kits Package’
- Select ‘SFAutomotiveDataKitsPackage’ Data Kits
- Select checkbox under ‘Websites_Mobile_Apps’ click on ‘Next’
-Select Connector type =‘website’ & connector name Experience_Cloud_Event_Connector’.
- Click on Deploy
Create Website_Mobile_apps Data Stream from Data Kit1Create Website_Mobile_apps Data Stream from Data Kit2Create Website_Mobile_apps Data Stream from Data Kit4 Create Website_Mobile_apps Data Stream from Data Kit5Create Website_Mobile_apps Data Stream from Data Kit6
Create a Connection to Amazon S3 NOTE: If you do not have an existing Amazon S3 instance, register for the free tier, and then follow instructions in How to Use the Amazon S3 Storage Connector in Data Cloud to create dedicated user with required permissions for this demo.

If you already have an S3 instance, no need to sign up for a new one.

Before proceeding further, make a note of your programmatic credentials (Access Key ID and Secret Access Key) that can be used to access the account

- Navigate to Data Cloud Setup
- In the menu, under EXTERNAL INTEGRATIONS, click on Other Connections
- Click New, choose DataKit click on next then click on SFAutomotiveDataKitPackage And Select Amazon_S3_Unstructure Then click on Next.
-Under Authentication details select Authentication option as Access key/Secret based. Add your AWS Access key And AWS Secret Access Key
-Click on test connection
-Click on save.
(After saving wait for 10 to 15min till the status is active)DO NOT CHANGE THE CONNECTION NAME
- Refer to this document for more details on how to setup the connection
create connection to amazon s3

1a. Create Data Stream for Snowflake (10 mins) $${ Snowflake \space Optional: \space Please \space note \space that \space some \space functionality \space in \space the \space C360 \space will \space no\space longer \space function\space as \space expected \space if \space not \space installed. }$$

Step Action and Details Images
Create a connection to snowflake NOTE: If you do not have access to an existing Snowflake instance, please get access before proceeding further

- Follow instructions in this article to create a Warehouse and Integration User in Snowflake, generate a public and private key pair, and configure Salesforce Data Cloud to connect to Snowflake.
- Name the connection “SnowflakeDataFederatio”
-Enter your Snowflake account URL. Then enter the username of your integration user and the private key.
-Click Next And Save It.
create connection to snowflake
Create Data Stream for Snowflake from data kit - Click on Data Stream Click on New 
- Select Installed Data Kits & Package Click on Next
-Select Snowflake Bundle
- Select connection as ‘SnowflakeDataFederation’ .
- Select Snowflake Bundle and click Next.
- Under Data Streams choose "THIRD_PARTY_SURVEY".
- Review the Data Stream fields and click Next
- Click Deploy to create the Data Streams
Create Data Stream for Snowflake from data kit1

1b. Create Ingestion API for Mule Data Streams from Data Kit (5 mins) $${ Mulesoft \space Optional: \space Please \space note \space that \space some \space functionality \space in \space Experience \space Cloud \space will \space no\space longer \space function\space as \space expected \space if \space not \space installed. }$$

Step Action and Details Images
Real Time Telemetric - Click on Data Stream
- Click on New.
- Select Installed Data Kits & Package.
- Select ‘SFAutomotiveDataKitsPackage’ Data Kits.
- Select Name as RealTimeTelemetric.
- Click on Next.
-Select Connection as ‘Real_Time_Telemetric_Data
- Click Next
- Click Deploy
Create Ingestion API for Mule Data Streams from Data Kit   1 Create Ingestion API for Mule Data Streams from Data Kit   2 Create Ingestion API for Mule Data Streams from Data Kit   3 Create Ingestion API for Mule Data Streams from Data Kit   4 Create Ingestion API for Mule Data Streams from Data Kit   5

1c. Create Automotive_FAQ DLO Creation for Unstructured Data (5 min)

Step Action and Details Images
Create Automotive FAQ. Amazon Connection Should be Established - Click on Data Lake Object Click on New
-Click on Create from Data Kits, Click on Next
-Select Automotive_FAQ, select connection. Click on Next.
-Click on Deploy.
-Follow same steps for creating Automotive_Warranty_Info DLOs
Create Automotive FAQ1 Create Automotive FAQ2Create Automotive FAQ3

1d. Create Identity Resolution Ruleset from Data Kit (5 min)

Step Action and Details Images
-Go to Data Cloud app
- Click on the Identity Resolutions tab
- Click New
- Select Installed from Data Kit- Choose SFAutomotiveDataKitsPackage
-Choose "Guest Profile"
- Click on Next
- Click on Save
Create Identity Resolution Ruleset from Data Kit1Create Identity Resolution Ruleset from Data Kit2Create Identity Resolution Ruleset from Data Kit3

2. Create Calculated Insights (10 min)

Step Action and Details Images
Create Calculated Insights - Go to Data Cloud app
- Click on Calculated Insights tab
- Click New
- Select "Create from a Data Kit" and click Next
- Select ‘Customer Lifetime Value’
- Click on Next
- Click on ‘Check Syntex’
- Click on ‘Activate’
- Click Activate
- Select Schedule as "Scheduled for 24 hrs"
- Click on ‘Enable’
- Repeat the steps for the following metrics: ‘Customer Satisfaction Score’, 'Customer Interest from survey data’
Create Calculated Insights1Create Calculated Insights2

3. Create Data Graph (10 min)

Step Action and Details Images
Web Engagement RT - Click on Data Graph Tab
- Click on New
- Select Create from Data Kits
-Click on SFAutomotiveDataKitsPackage
- Select Web Engagement RT
-Select primary Data model object as “Unified Individual real”.
- Click on Individual and go to the right side where the error is showing and uncheck the check box.
- Now click on Save & Build.
Automotive Real Time -Click on Data Graph Tab
-Click on New
-Select Create from Data Kits
-Click on AutomotiveDatakitPackage
- Select Automotive Real Time
- Select primary Data model object as “Unified Individual real”.
- Click on Individual and go to the right side where the error is showing and uncheck the check box.
- Now click on Save & Build.

4. Create Data Cloud Copy Field Enrichment (10 min)

Step Action and Details Images
Create Data Cloud Copy Field Enrichment - Go to Object Manager.
- Search for Contact.
-Click on Contact
- Click on Data cloud Copy Field.
- Click on New.
- Select data space as ‘default’
- Select Data Cloud Object as ‘Customer_Lifetime_Value__cio’
- Click on Next
- Select Field As ‘amt’
Create Data Cloud Copy Field Enrichment  1Create Data Cloud Copy Field Enrichment  2Create Data Cloud Copy Field Enrichment  3Create Data Cloud Copy Field Enrichment  4
- Give Label as ‘Customer Lifetime Value’
- Click on ‘Next.
-On contact Select "Lifetime Value"
- Save and Start Sync.
Create Data Cloud Copy Field Enrichment  5Create Data Cloud Copy Field Enrichment  6Create Data Cloud Copy Field Enrichment  7
Data Cloud copy field For Customer satisfaction score - Go to Object Manager.
- Search for Contact.
Click on Contact
- Click on Data cloud Copy Field.
- Click on New.
- Select data space as ‘default’
- Select Data Cloud Object as ‘Customer_Satisfaction_Score__cio’
- Click on Next
- Select Field As ‘CSS’
Data Cloud copy field For Customer satisfaction score 1Data Cloud copy field For Customer satisfaction score 2
- Give Label as ‘Customer Satisfaction Score’
- Click on ‘Next.
On contact Select "Customer Satisfaction Score"
- Save and Start Sync.

5. Create activation targets (5 min)

Step Action and Details Images
Create Marketing Cloud Engagement And Connection -Go to data cloud setup
-Search for Marketing Cloud Engagement And Click On New
-Give the Name "AutoMarketingEngagement"
-Now front of Enter Credential Click on Manage
-Put the user name and passward.
-Now For Data Source Setup Click on Skip And Skip
-Finally, you need to check in Select Business Units to Activate option and click on Manage button.Check inside available business units and move those values to selected business unit.
-Click on Save.
Create Marketing Cloud Engagement1Create Marketing Cloud Engagement2Create Marketing Cloud Engagement3
Create Activation Targets -Go to Data Cloud app.
-Click on the Activation Targets tab
-Click on MCDO.
-Need to provide name as Marketing for activation target.
-And selecting data space as default.
-Click on Next.
Create Activation Targets1Create Activation Targets2

6. Create Segment From Data Kit (5 min)

Step Action and Details Images
Create Segment -Go to Data Cloud app and Click on the Segment tab.
-Click on New
-Select "Installed from Data Kit”
-Choose "SFAutomotiveDataKitsPackage"
-Click on Next
-Select Segment as Individual and provide Segment name as Drivers visited the dealership.
-Select Rapid Publish
-Select Publish Schedule to 4 hrs and select the start and end date.
-Click on Save
-Click on the Publish now button.
-Needs to select the following segment from data kit
-Drivers who drove into the dealers.
-High Purchase Probability Customers v8
-UpcomingWarrantyEnddate
-Note: After inserting the sample data or loading data from tool in the org. Go to Opportunity_Home data stream and click on Refresh Now button and wait for 15mins till you see Success message in Last run status. Then once again go to segment and publish it manually once.
Create Segment from Data Kit1Create Segment from Data Kit2Create Segment from Data Kit3Create Segment from Data Kit5

7. Create Activation (10 min)

Step Action and Details Images
Create Activation -Go to Data Cloud app
-Click on the Activations tab
-Click on new
-Select Segment and continue
-By default, space is default
-Need to select the High Purchase Probability Customer V8 segment and activation target as marketing
-click on continue
-Select Email and Click on continue
-Click on add attributes
-And from individual select the following attributes First Name and Last Name
-Click on Save and provide name as High Purchase Probability Activations.
Create Activations1Create Activations2Create Activations3Create Activations4Create Activations5
Create Activations for Recall Customer -Click on data cloud app
-Click on the Activations tab
-Click on new
-Select Segment and continue
-By default, space is default
-Need to select the Upcoming Warranty End Date segment and activation target as marketing
-click on continue
-select email and sms
-click on continue
-click on add attribute
-And from individual select the Following attributes First Name, Last Name, Country
-Click on Save and provide name as Upcoming Warranty End Date.
Create Activations for Recall Customer1

4. Commerce Cloud Configuration And Sample Data Creation

13 steps process

1. Verify Organization Wide Address (5 min)

Step Action and Details Images
Verify Organization-Wide Address Exists or not - Go to Setup -> Search for Organization-Wide Address -> Click on Organization-Wide Addresses
- Verify if there is an organization-wide address with name ‘Default Email’ is created and verified or not like below.
- If there is none, then please create an organization-wide address by following below steps
- Click on Add button -> On the Display Name Add ‘Default Email’. On the Email Address <Add your email address> Select ‘Default No-Reply Address’ on Purpose field -> click check box ‘allow all profiles to use this from address’
Verify Organization-Wide Address Exists or not1Verify Organization-Wide Address Exists or not2

2. Install Agent and Experience Site Package (1 hr 30 min)

Step Action and Details Images
Install Agent & Exp Site Package
- Install VSCode Download
- Setup CLI a. Install the Salesforce CLI https://developer.salesforce.com/tools/salesforcecli or check that your installed CLI version is greater than 2.56.7 by running sf -v in a terminal.
- If you need to update the Salesforce CLI, either run sf update or npm install --global @salesforce/cli depending on how you installed the CLI.
- Install Extension
- Open VSCode > Go To> Extensions->Salesforce Extension Pack>Install
- Open Terminal Clone git Repository by using below command
git clone https://github.com/salesforce-misc/DataCloudAndAgentForceForAutomotive.git
- Open the Project
- Authorize an Org
- Type Ctrl+Shift+P Select SFDX:Authorize an Org
- Select Project Default
- Enter the Org alias
- Authorize the Org
- Open terminal and run the command sf project deploy start --source-dir force-app

NOTE: $${\color{red}Skip \space below\space steps \space 4, \space 5, \space 6, \space and \space 7 \space if \space you \space wish \space to \space bring \space in \space your \space own \space Product \space data}$$
Install Agent   Exp Site Package1 Install Agent   Exp Site Package2Install Agent   Exp Site Package3Install Agent   Exp Site Package4Install Agent   Exp Site Package5Install Agent   Exp Site Package6Install Agent   Exp Site Package7

3. Create Sample Data (5 mins) $${ Optional: \space These \space steps \space are \space optional \space if \space you \space choose \space to \space use \space your \space own \space data. }$$

Step Action and Details Images
Create Sample Data - Click on App Launcher, search for Automotive Setup and click on Automotive Setup app
- Click on the Create Test Data button (highlighted in the screenshot below) and wait for a confirmation message before proceeding further.
-Note: If an error comes up after clicking on Create Test Data Button then follow the below steps, else skip it.
1. Go to Setup>> Enter Duplicate>> Click on Duplicate Rules
2. Click on "Standard Account Duplicate Rule">>once it get open>> click on Deactivate Button
3. again go back to Duplicate rules list view>> click on " Standard Contact Duplicate Rule"
4. once it gets open >> click on Deactivate button.
Create Sample Data1

4. Create Commerce Data (5 min)

Step Action and Details Images
Create Data - Click on App Launcher, search for Automotive and click on Automotive App
- Click on the “Create Commerce Data” button (highlighted in the screenshot below) and wait for a confirmation message before proceeding further.
Create commerce data1

5. Turn on Search Update (5 min)

Step Action and Details Images
Search Update - Click on App Launcher>> Select commerce application>>Click on Store
- Open Autofolio Store
- Scroll down to Setting>>Expand It>> Click on Search
- Turn on Automatic Update
Searchupdate1 Searchupdate2

6. Upload CMS Images into the Store And Verify Workspace Shared To Site (15 min)

Step Action and Details Images
Upload CMS Images -Download Images for CMS From download
-Click on App Launcher>> Select commerce application>> Click on Store
- Open Autofolio Store
- Scroll down to Content Manager
- Click on Add workspace
- Enter details such as Name "AutoFolio Store" and select Enhanced CMS Workspace and click on Next
- AutoFolio Site as Public and click Next
- Keep language as it is and click on Finish
- Click on Add and select Content >> select images>>Click on Create button>> click on upload button>>Select Image>>Image and Title populated>>Enter API name (can be the same as file name)>> Save it>> Click on Publish button>> Keep Details as is>> Click on Next>> Select Publish Now>>click on publish now button
- Please find the required images here - Download images
Upload CMS Images into Store and Verify Workspace shared to Site1 Upload CMS Images into Store and Verify Workspace shared to Site2Upload CMS Images into Store and Verify Workspace shared to Site3Upload CMS Images into Store and Verify Workspace shared to Site4 Upload CMS Images into Store and Verify Workspace shared to Site5Upload CMS Images into Store and Verify Workspace shared to Site6
Verify Workspace Shared to Site -Open Autofolio Store
-Scroll down to Content Manager>> Click on Autofolio Store workspace
-Click on Gear Icon>> Select Workspace Sharing 
-Select All Commerce -Enhanced, AutoFolio Managed Content Space CianuN4G. 
Upload CMS Images into Store and Verify Workspace shared to Site7Upload CMS Images into Store and Verify Workspace shared to Site8Upload CMS Images into Store and Verify Workspace shared to Site9Upload CMS Images into Store and Verify Workspace shared to Site10Upload CMS Images into Store and Verify Workspace shared to Site11Upload CMS Images into Store and Verify Workspace shared to Site12Upload CMS Images into Store and Verify Workspace shared to Site13

7. Add Image to a Product in CMS (10 min)

Step Action and Details Images
Add Image to a Product - Click on App Launcher>> Select commerce application>>Click on Store
- Open Autofolio Store
- Expand Merchandise>> Product>> open one by one product
- Click on eye icon (it removes Site window) after save button
- Scroll down >> click on Go to global product record
- Go to Media>> Click on Add image for Product details Image section >> Select appropriate image from Autofolio Store CMS Workspace>> click on Add button
- Repeat Step vi for product List Image repeat step iii. to vii for rest of the product
- Go to store>> select Autofolio >>Scroll down to Website Design>> select product category from dropdown >> click on Publish button
- Go back to AutoFolio Store>>Click on Home>> click on Preview the site and see product is getting displayed
Add CMS Product Image1Add CMS Product Image2Add CMS Product Image3Add CMS Product Image4Add CMS Product Image5Add CMS Product Image6Add CMS Product Image7Add CMS Product Image8Add CMS Product Image9Add CMS Product Image10Add CMS Product Image11

8. Enable as a Buyer Group (5 min)

Step Action and Details Images
Enable as a Buyer Group -Go to App launcher>>Enter Account and click on it>> Open TMZ Dealership account record
-Click on Enable as Buyer Button>> Click on Enable As Buyer.
Enable as a Buyer Group1

9. Enable Guest access (5 min)

Step Action and Details Images
Enable Guest access -Click on App Launcher>> Select commerce application>> Click on store
-Open AutoFolio Store
-Scroll down click on Settings>>Click on Store>> Click on Buyer Access
-Click on Enable button under Guest Access.
Enable Guest access1Enable Guest access2

10. Create Community User and Assign Buyer Account to Buyer Group (5 min)

Step Action and Details Images
Create Community User and Assign Buyer Account to Buyer Group -Click on App Launcher, search for Automotive and click on Automotive Setup App.
-Click on the Create Buyer Group Member Data button (highlighted in the screenshot below) and wait for a confirmation message before proceeding further.
Create Community User and Assign Buyer Account to Buyer Group1

11. Create Order and OrderItems Data (5 min)

Step Action and Details Images
Create Order and OrderItems Data -Click on App Launcher, search for Automotive Setup and click on Automotive Setup app
-Click on the Create Order and OrderItems button (highlighted in the screenshot below) and wait for a confirmation message before proceeding further.
Create Order and OrderItems Data1

12. Create Opportunity ML Data (5 min)

Step Action and Details Images
Create Opportunity ML Data -Click on App Launcher, search for Automotive Setup and click on Automotive Setup app
-Click on the Create Opportunity Data For ML button (highlighted in the screenshot below) and wait for a confirmation message before proceeding further.

13. Search Index and Retriever Configuration (15 min)

Step Action and Details Images
Search Index and Retriever Configuration -Go to App Launcher Search for Data Cloud, Go to Search Index Tab.
-Click on New, Select From a Data Kit , Select ‘SFAutomotiveDataKitsPackage’ , Select Product ,Click on Next
-For Search Type Select Hybrid Search, Click Next
-For Chunking, Keep the Same Changes and Click Next.
-For Vectorization, Make sure E5 Large V2 Embedding model is Selected, Click Next
-For Fields for Filtering, Keep Same, Click Next.
-For Ranking, no Change , Click Next
-Click Save
-After Save the ‘Search Index Last Run Status’ Will be In Progress, wait for 15-30 Minutes Till the Status changes to Ready.
-Create Retriever for Showing Product
-Create Retriver, Go to App Launcher Search for Data Cloud, Go to Einstein Studio Tab. On the Left Side below Models, click on Retriver, Clikc on New Retriver
-In Select Retriever Type Section, Select Data Source as Data Cloud, In which data space does the source data reside? As default, data model objec as Product, Data model object's search index configuration as Product, Click Next
-In Section Define Retriver Filters, Select All Document, Click Next
-In Section Confiure Retriver Results Number of Results as 20 and map Fields to Return as following
1- Field Label :Seat Capacity Field Name :Direct Attribute > Product >Seat Capacity
2- Field Label :Product Description Field Name :Direct Attribute > Product >Product Description
3- Field Label :Vehicle Name Field Name :Direct Attribute > Product >Product Name
-Click Next
-Click Save
-Click on Setup, in the Quick Find Box, enter Prompt Builder, and then select Prompt Builder
-Search for the Prompt Template named Vehicle Recommendation and click on the hyperlink
-Place the cursor after the text the ‘Vehicle Details:’, click on Resource then click on Einstein Search then click on ‘Product’ click on ‘Product retriever’
-On the right side click on default ‘Product retriever’ click on Search Parameter click on Free Text Click on Question
-Scroll down Select Chunk under Output Field and Enter 1 in Number of Result 
-Click on Save As New Version click Activate

5. Configure Amazon and Snowflake Connections

4 steps process

1. Assign Account Page Layout (10 min)

Step Action and Details Images
Assign Account Page Layout - Click on Setup
- Go to Object Manager.
-Click on account.
-Click on page Layout
-Click on ‘page layout assignment’
-Click on edit assignment.
-Select ‘SDO-Account’ Layout under Record type ‘Account’ for System Administration Profile
-From Page Layout to Use dropdown Select ‘Account layout’
-Click on save.
-Verify that, for ‘System Administrator profile’ for Record type ‘Account’ Page layout should be ‘Account Layout’.
Enable Account as Buyer Account1Enable Account as Buyer Account2Enable Account as Buyer Account3Enable Account as Buyer Account4

2. Setup Data in Amazon S3 (20 mins)

Note: If Amazon S3 is using exisiting connection and data is already present then skip this step, this is for new connection

Step Action and Details Images
Setup Data in Amazon S3 - Log into Management Console and proceed to S3 service and create a new bucket (give it an appropriate name).
NOTE**:** if you already have a bucket, you don’t need to create another bucket. Download the following files to your computer:
- Automotive FAQ PDF csv https://github.com/salesforce-misc/DataCloudAndAgentForceForAutomotive/tree/main/AWS%20Unstructure%20Data]
- Upload these files to the appropriate S3 bucket.

3. Setup Data in Snowflake (15 mins) $${ Snowflake \space Optional: \space Please \space note \space that \space some \space functionality \space in \space the \space C360 \space will \space no\space longer \space function\space as \space expected \space if \space not \space installed. }$$

Note: If Snowflake is using exisiting connection and data is already present then skip this step.

Step Action and Details Images
Setup Data in Snowflake - Login to the Snowflake database and schema created for the tables used in the demo and execute the before steps.
-Create Table for Third Party Survey and Load data into Table.
-Login to the Snowflake Database/Schema that is connected to Data Cloud and run the below DDL script to create THIRD_PARTY_SURVEY table.
create or replace TABLE <<database_name>>.<<schema_name>>.THIRD_PARTY_SURVEY ( 

  SURVEY_ID VARCHAR(30), 
  SURVEY_DATETIME TIMESTAMP_NTZ(9),  
  RESPONDENT_ID VARCHAR(30), 
  SURVEY_QUESTION VARCHAR(32768), 
  RATING_VALUE NUMBER(5,0), 
  QUESTION_WEIGHT NUMBER(5,0), 
  IS_INTERESTED_IN_OUTDOOR_ACTIVITIES VARCHAR(10), 
  IS_INTERESTED_IN_ROOF_RACK VARCHAR(10) 
);

Load data in the below csv file into Third_Party_Survey_Data table:
Third Party Survey Data- [https://github.com/salesforce-misc/DataCloudAndAgentForceForAutomotive/blob/main/Snowflake%20Data/SurveyResponse_Automotive.csv.csv]

4a. Create ML Model (20 min)

Note: Before Creating ML Model, Go to Data Cloud>> Data Stream>> Opportunity>> Click on Refresh Now Button and Wait till it get into success status Go to Data Explorer>>Under Object select Data Model Object >> Then Select Opportunity>>Verify your Data their You can modify columns as well by click on Edit Columns.

Step Action and Details Images
Create ML Model - Click on App launcher and search for Einstein Studio.
-Click on Add Predictive Model button
-Select create a model from scratch
-click on next
-Select data space as Default and select Opportunity DMO for data option
-Click on Next
-For training select Filter Set of Records option
-Specify the condition to filter the records and select field as Closed and select operator as IN and select values like true
-Click on Apply Changes
-For Set goal option select field name as Won and Select Maximize option Select true
-Click on next
-For Prepare Variable select disable Autopilot and select the follow fields like Total Amount, Test Drive Date, Close Date, Number of Past Interactions, Car Model, Recency of Interactions, After Completing a Test Drive Status
-Click on next
-For select Algorithm option Enable Automatic Selection.
-Click on next
-Review all the things and Click on Save and Train and specify ML Model name as Predicted Likelihood of Purchase
-Lets wait the model to train it successfully
-click on Activate button.

4b. Add ML Model into Flow (15 min)

Step Action and Details Images
Add ML Model into flow - Click on Setup >> Enter Flows in quick find box>> click on flows
-Search for Data Cloud Likelihood of purchase on opportunity and open the flow
-Connect path from Get Records to Decision(check Contact) and now change the layout from Free-Form to Auto Layout>> Pop up occurs then click on Lose Positions
-Below Get Records from Opportunity Contact there is plus sign>> click on plus sign
-Select Action >>Enter Predicted and select the action " Predicted Likelihood of Purchase"
-Enter label as "Predict Likelihood" , and map the fields :
1. click on Triggering ssot_Opportunity__dlm >>Select After Completing a Test Drive Status
2. click on Triggering ssot_Opportunity__dlm >>Select Car Model
-click on Triggering ssot_Opportunity__dlm >>Select Close Date
3. click on Triggering ssot_Opportunity__dlm >>Select Number of Past Interactions
4. click on Triggering ssot_Opportunity__dlm >>Select Recency of Interactions
5. click on Triggering ssot_Opportunity__dlm >>Select Test Drive Date
6. click on Triggering ssot_Opportunity__dlm >>Select Total Amount
-Then Go to Update record >> click on it >> for Likelihood_of_Purchas__c field value as select Outputs from Predict_Likeihood>> Select prediction
-Click on Save As New Version button>> click on save
-Click Activate button
-Go to applauncher>> enter opportunity>> click on it >> Open any 4 to 5 records >> click on edit button and do some change and save it(like description..)
-Go to John Smith contact>> See Likelihood purchase value.
-Still its value not populating>> then again refresh the data stream
Note: For Other contacts if Likelihood purchase not populating then Go to Contact’s associated opportunity and click on edit and do some change in amount and save it >> Then Refresh Opportunity_Home data stream.

6. Finish Configuration

10 steps process

1. Prepare Data Cloud

1a. Refresh Snowflake Data Streams (5 mins) $${ Snowflake \space Optional: \space Please \space note \space that \space some \space functionality \space in \space the \space C360 \space will \space no\space longer \space function\space as \space expected \space if \space not \space installed. }$$

Step Action and Details Images
Refresh Snowflake Data Streams - Navigate to Data Cloud app and the Data Streams tab
- Query for Third Party Survey data stream
- Using drop down control on the right against the data stream initiate update status for the Third Party Survey data stream
- Third Party Survey -8
Refresh Snowflake Data Streams1

1b. Run Identity Resolution Ruleset (5 mins)

Step Action and Details Images
Run Identity Resolution Ruleset - Navigate to Data Cloud app and the Identity Resolutions tab
- Query for Guest Profile ruleset
- Click on the Ruleset Name hyperlink to navigate to the ruleset’s record home page
- Click Run Ruleset
- The Last Job Status will turn to In Progress. Once the job completes successfully, this status will be set as Succeeded.
Run Identity Resolution Ruleset1Run Identity Resolution Ruleset2

1c. Run Calculated Insights (5 min)

Step Action and Details Images
Run Calculated Insights - Navigate to Data Cloud app and the Calculated Insights tab
- Query for Customer Lifetime Value calculated insight
- Using drops down control on the right against the data stream initiates refresh for the Customer LifeTime Value calculated insight.
- When the Calculated Insight is refreshed successfully, the Last Run Status will show as Success.
- Repeat steps b & c for the below Calculated Insights. Ensure all Insights are refreshed successfully.
- Customer Satisfaction Score 
- Customer Interest from Survey Data 
-
Run Calculated Insights1

2. Activate Messaging Setting (5 mins)

Step Action and Details Images
Activate Messaging Setting - Navigate to Setup go to messaging setting
- Click on ESA Channel -> Click on ‘Activate’
- Click on Checkbox then click on Accept.
- Go back Messaging setting >> there is ESA channel and scroll to right >> Click on downward arrow>> click on edit button.
- Scroll to downward direction>>check the “Let Customers download their conversation.
-Please refer the images for more understanding.
Activate Messaging Setting1Activate Messaging Setting2Activate Messaging Setting3Activate Messaging Setting4Activate Messaging Setting5

3. Update Einstein Search Retriever (10 mins) (perform only if Amazon S3 Connection has been created ) (10 minutes) $${ S3 \space Optional: \space Please \space note \space that \space some \space functionality \space in \space Experience \space Cloud \space and \space in \space the \space C360 \space will \space no\space longer \space function\space as \space expected \space if \space not \space installed. }$$

Step Action and Details Images
Update Einstein Search Retriever - Click on Setup, in the Quick Find Box, enter Prompt Builder, and then select Prompt Builder
- Search for the Prompt Template named Generate FAQ From Automotive Industry and click on the hyperlink
- Hover the cursor on text the next to ‘Question : ‘, click on Resource à click on Einstein Search à click on 'Automotive_FAQ’ à click on ‘‘Default_Automotive_FAQ’ Retriever
- On the right side click on default ‘Default_Automotive_FAQ Retriver click on Search Parameter click on Free Text Click on Question
- Hover over cursor on next text on ‘Use this information to answer the question:’, click on Resource à click on Einstein Search à click on Automotive_FAQ Retriver_V2
- Click on Save As New Version click Activate.
- Go back to Prompt Builder.
- Search for Prompt template names as Return Warranty Info and click on the hyperlink.
- Hover the cursor on text the next to ‘Input:VIN with the‘, click on Resource à click on Einstein Search à click on ‘Automotive_Warranty_Info’ click on ‘Default_Automotive_Warranty_Info Retriver.
- Below this line ‘You are a Warranty Expert in Autofolio, here are some documents about Warranty Information’ click on Resource à click on Einstein Search à click on ‘Automotive_Warranty_Info’ click on ‘Default_Automotive_Warranty_Info Retriver.
- On the right side click on default Automotive_Warranty_Info click on Search Parameter click on Free Text Click on VIN.
- Click on Save As New Version click Activate
Update Einstein Search Retriever1Update Einstein Search Retriever2Update Einstein Search Retriever3Update Einstein Search Retriever4

4. Prepare Experience Site

4a. Configure Digital Experience (5 mins)

Step Action and Details Images
Configure Digital Experience. - Click on Setup, in the Quick Find Box, enter Digital Experiences, and then select All Sites
- Click on builder against the Site ‘Autofolio’
- Click on ‘Banner’ in the right-hand panel, under Image Settings, click ‘Clear Image’
- Click on ‘Select Image from CMS’ -> Click on ‘BackgroundImnageCar’
- Click on ‘Embedded Messaging ‘and update as per screenshot
- Click on ‘Multilevel Navigation Menu ‘, in the right-hand panel under Default Menu select ‘Default Navigation’
Configure Digital Experience1Configure Digital Experience2Configure Digital Experience3Configure Digital Experience4 SiteImage6

4b. Enable Login Access (5 min)

Step Action and Details Images
Enable Login Access. - Go to Setup, in the Quick Find Box, enter Digital Experiences, and then select All Sites
- Against the site ‘AutoFolio’, click on Workspaces
- Under My Workspaces, click on Administration
- Click on Login & Registration menu item
- Under Login Page Setup, change Login Page Type to Experience Builder Page
- For URL, choose Login
- Under Password Pages, change Forgot Password to Experience Builder Page
- Choose Forgot Password
- Under Registration Page Configuration enable "Allow customers and partners to self-register"
- Choose Registration Page Type as Experience Builder Page
- Choose Register
- Assign users to a profile and account,choose AutoFolio Community User
- Assign Permission Set Group as "Commerse_Shopper"
Enable Login Access1Enable Login Access2

4c. Change the layout of the Login page (5 min)

Step Action and Details Images
Change the layout of the Login page. - Go to Setup, in the Quick Find Box, enter Digital Experiences, and then select All Sites
- Against the site ‘AutoFolio’’, click on Builder
- From the Page dropdown, search for Login, and then select Login
-Remove the site logo and add a Text Box component. Enter the text as "AutoFolio’", make it bold and center
- Publish the changes
Change the layout of the Login page1

4d. Change the layout of the Forget Password page. (5 min)

Step Action and Details Images
Change the layout of the Forget Password page. - Go to Setup, in the Quick Find Box, enter Digital Experiences, and then select All Sites
- Against the site ‘AutoFolio’, click on Builder
-From the Page dropdown, search for Login, and then select Forget Password
- Remove the site logo and add a Text Box component. Enter the text as "AUTOFOLIO", make it bold and center
-Publish the changes
Change the layout of the Forget Password page1

4e. Change the layout of the Register page (5 min)

Step Action and Details Images
Change the layout of the Register page. - Go to Setup, in the Quick Find Box, enter Digital Experiences, and then select All Sites
- Against the site ‘AutoFolio’’, click on Builder
- From the Page dropdown, search for Register, and then select Register
- Remove the site logo and add a Text Box component. Enter the text as "AutoFolio’", make it bold and center
- Publish the changes
Change the layout of the Register page1

4f. Change the email Address (5 min)

Step Action and Details Images
Change the email Address. - Go to Setup -> Open All Sites
- Click on Workspaces (the configured Sites) -> Click Administrator
- Click on Emails
- Change Sender email to system admin email
- Click on save
Change the email Address1

4g. Add site logo (5 min)

Step Action and Details Images
Add Site Logo -Go to Setup>> Enter All sites in quick find box click on builder of "AutoFolio" site Search for the logo of "alpine group' >> click on it Under setting>> click on Select Image from CMS> Select Content space>> select image "image name" click on Save.

4h. Create Trusted URLS (20 min)

Step Action and Details Images
Create Trusted URLS - In the Quick Find>Type Trusted URLs
- Click on New>In API Name >Type ‘‘Trusted’ 
- In URL> Type> https://.tile.openstreetmap.org
- Under CSP Directives>>check below checkbox for.
1. connect-src(scripts) 
2. frame-src (iframe content) 
3-img-src (images) 
- Save it
- Click on New.
- In API Name, type ‘TrustedSite2’.
- In URL, type: https://DOMAINNAME.my.site.com.
Replace DOMAINNAME.my.site.com with your actual org Domain Name.
- To find the Domain Name follow these steps:
-Search for Domain in Quick Find.
-Copy the domain name ending with .my.site.com (e.g., epicorgfarm79.my.site.com).
-Select the domain related to your Experience Cloud Sites.
-Click on Save.
Add Trusted URL to Agent Sites:
-Click on Setup.
-Search for Site, then click on Enable Site (if it’s not enabled already).
-Click on Register My Salesforce Site Domain.
-Search for Site, and click on ‘ESW_ESA_Web_Deployment_1736313145513’.
-Click on Add Domain.
-Add DOMAINNAME with your actual org Domain Name.
-Prefix with https://(e.g.,https://epicorgfarm79.my.site.com).
-To find the Domain Name, follow these steps:
-Search for Domain in Quick Find.
-Copy the name ending with .my.site.com (e.g., epicorgfarm79.my.site.com).
To Add Trusted Sites in Digital Experience:
-Click on All Sites under Digital Experience.
-Click on Builder for your site (e.g., Autofolio).
-Click on Security & Privacy.
-Click on the Add Trusted Sites button.
-Name it ‘TrustedSite1’.
-Add the copied Domain URL And Click on Publish.
Configure CORS Settings:
-In Quick Find, type CORS.
-Click on New
-In Origin URL Pattern, type: (https://DOMAINNAME.my.site.com.)
-Replace DOMAINNAME with your actual org Domain Name.
-Click save.
-Click on New.
- Paste this into Origin URL Pattern: (https://
.develop.vf.force.com)
Click Save
-Click on New And Paste this into Origin URL Pattern: (https://.live-preview.salesforce-experience.com.)
-Click Save.
-Click on New. Paste this into Origin URL Pattern: (https://
.my.site.com.) And Click Save.
Steps to Publish Embedded Service:
-Search for Domain in Quick Find. Copy the domain name ending with .my.site.com (e.g., epicorgfarm79.my.site.com).
-Click on Setup
-Search for Embedded Service.
-Click on Embedded Service Deployment.
-Click on ESA Web Deployment.
-Click on Publish and wait for the confirmation message.

After Successfully publishing the ESA EWS deployment
1- go to In Setup Search for Embedded Service Deployments Click on ESA_Web_Deployment
2-In the Card Code Snippet Click on Install Code Snippet and add Below Values mentioned in the Image in the LeadFlyoutConfig Custom metadata Open LeadFlyoutConfig Custom metadata
3- Click on Manage LeadFlyoutConfig
4- Click On New to Create new Custom Metadata record.

Fill in details as below when creating new custommetadata record LeadFlyoutConfig

-Add Label às Lead Flyout Configuration LeadFlyoutConfig Name Will auto Populate
-Bootstrap Link às Boostrap Link ; Refer Image
-ESA Deployment Link as ESA Deployment Link ;Refer Image
-Org Id as Organization Id ;Refer Image
-Srct Url as Scrt Id ;Refer Image
Create Trusted URLS1Create Trusted URLS2Create Trusted URLS3

4i. Create CORS (10 min)

Step Action and Details Images
Create CORS - In the Quick Find> Type CORS
- Click on New> In Origin URL Pattern> Type https://DOMAINNAME.my.site.com
- Replace DOMAINNAME with actual org Domain Name.

To find the Domain name please follow the following steps:

- search for Domain in Quick find → Please add https://DOMAIN from the below path
- Click on Save
Create CORS – Repeated the step1Create CORS – Repeated the step2

4j. Assign Contact, Vehicle and Opportunity Record Page as Org Default (15 min)

Step Action and Details Images
Assign Contact Record Page as Org Default. - Click on Setup
- Click on Object Manager
- Click on Contact
- Click on Lightning Record Page
- Click on Contact_Record_Page1
- Click on Edit -> Click on Activation -> Click on ‘Assign Org Default’ -> Click on Save.

-Repeat above steps for Vehicle_Record_Page1 on Vehicle object.
-Repeat above steps for Opportunity_Record_Page on opportunity object.
-Create a new workspace and name it Auto folio.
-Create New semantics for the 4 Dashboards.
Assign Contact, Vehicle and Opportunity Record Page as Org Default1Assign Contact, Vehicle and Opportunity Record Page as Org Default2Assign Contact, Vehicle and Opportunity Record Page as Org Default3Assign Contact, Vehicle and Opportunity Record Page as Org Default4Assign Contact, Vehicle and Opportunity Record Page as Org Default5

5. Prepare Agentforce

5a. Add Agent User into Agent force Service Agent and Activate (10 min)

Step Action and Details Images
Add Agent User into Agent force Service Agent & Activate - Click on setup, search for agent
- Click on ‘Agentforce Service Agent’
- Click on Open Builder
- Click on setting
-Click on company field and just give one space and remove space.
-Select Agent User to Service Agent User
- Activate
Add Agent User into Agent force Service Agent   Activate1Add Agent User into Agent force Service Agent   Activate2Add Agent User into Agent force Service Agent   Activate3

5b. Activate Einstein Copilot (5 min)

Step Action and Details Images
Activate Einstein Copilot - Click on setup, search for agent
- Click on ‘Einstein Copilot’
- Click on Open Builder click on Activate
Activate Einstein Copilot1Activate Einstein Copilot2

5c. Create a New Version of Omni-Channel Flow (10 min)

Step Action and Details Images
Create a New Version of Omni-Channel Flow - Click on Setup
- Search for flow on Quick Button
- Click on Flow
- Click on the Flow
- Click on Route To ASA
- Deactivate the flow and click on the Route To ESA at the end
- Remove the Service channel and add it back (Same component)
- Go to the Fallback Queue🡪 Remove the Messaging Queue and add it back (Same Queue)
- Save as new version and activate the flow by clicking on the Activate button.
-Click on setup, search for agent
-Click on ‘Agentforce Service Agent’
-Check under the connection tab “Route To ASA” is added or not. If not added repeat the above steps
Create a New Version of Omni-Channel Flow1Create a New Version of Omni-Channel Flow2Create a New Version of Omni-Channel Flow3Create a New Version of Omni-Channel Flow4

6. Connected App Configuration (20 min)

Step Action and Details Images
Connected App Configuration -In the Top Right, Click on the Profile Icon then Click on the Name of the profile(for e.g OrgFarm Epic), then click on User Details, after you land on User Detail Page, click Edit
-Change the Email Address Of Orgfram Epic User to your Email Id
-Wait for 5-10 minutes till your Email is Verified
-Go to Setup, search App Manager, Click on App Manager Then, search for ‘GuestUserCometD’ Connected App, scroll to the Right, click on drop-down arrow button, click on View, once you are on Connected App Page, click on ‘Manage Consumer Details’
-Copy the Consumer Key and Consumer Secret and Keep it in Notepad, we will be using them in the steps below.
-Perform the below script from anonymous window to get the Secret key and then store in Secret_Key__mdt -->Secret_Key__c Field ‘String secretKey = EncodingUtil.base64Encode(Crypto.generateAesKey(256)); System.debug('Generated Key: ' + secretKey);’ Metadata record name must be Label=HMAC_Secret, Client_Id__c = Consumer Key Client_Secret__c= Consumer Secret

-Search for the connected app again ‘GuestUserCometD’
-From Setup Go to the connected app again ‘GuestUserCometD’ Scroll to the Right, click on drop-down arrow button, click on View, once you are on Connected App Page, click on ‘Manage’, Scroll down to ‘Client Credentials Flow’ and Select Admin User for E.g( Org Farm Epic), and Save

-Go to Auth Provider Search for ‘GuestUserAuth’ Click on Edit and Paste the Consumer Secret and Consumer key that you have in your notepad, also If you are performing this in Sandbox change the Authorization Endpoint as "https://test.salesforce.com/services/oauth2/authorize" and Authorization Token "https://test.salesforce.com/services/oauth2/token", if Performing in Production add the Authorization Endpoint as "https://login.salesforce.com/services/oauth2/authorize" and Authorization Token "https://login.salesforce.com/services/oauth2/token".
-Save the Auth Provider, from the same Auth Provider Scroll down to Salesforce Configuration Section, Copy the Callback URL and Paste It in Notepad.
Go To Setup , Search App manager, Search for ‘GuestUserCometD’, Scroll to right Click on dropdown arrow and view, once you are in connected app, Click on Edit Paste the callback URL you copied inThe Callback URL Field and Save the App
-Go to Setup Search for Named Credentials
-Search for GuestCometD And Click on Edit
-Update the URL to current org domain URL (Go to setup>>search>>MyDomain )
-Save the Named Credentials and you will Get authenticated
-If you get an Error Wait for 10 minutes and Save the Named Credentials again.

-Connected App Configuration 2
-Go to Setup, search App Manager, Click on App Manager Then, search for ‘Data Cloud API’ Connected App Click on Manage Consumer Details
-Copy the Consumer Key, Consumer Secret and Keep it in Notepad, we will be using them in below steps.
-Go to Setup, search for Auth. Provider Auth Search for ‘Data_Cloud_Auth ‘Click on Edit and Paste the Consumer Secret and Consumer key that you have in your notepad, If you are performing this in Sandbox change the Authorization Endpoint as https://test.salesforce.com/services/oauth2/authorize and Authorization Token "https://test.salesforce.com/services/oauth2/token"
-if Performing in Production add the Authorization Endpoint as https://login.salesforce.com/services/oauth2/authorize and Authorization Token "https://login.salesforce.com/services/oauth2/token"
-Save the Auth Provider, from the same Auth Provider Scroll down to Salesforce Configuration Section, Copy the Callback URL and Paste It in Notepad.
-Go To Setup , Search App manager, Search for Data Cloud API, Scroll to right Click on dropdown arrow and view, once you are in connected app, Click on Edit Paste the callback URL you copied inThe Callback URL Field and Save the App.

7. Named Credentials (10 min)

Step Action and Details Images
Named Credentials -Search for Named Credentials
-In Named Credentials search for ‘DataCloudNew’
-click on edit
-Update the URL to current org domain URL (Go to setup>>search>>MyDomain )
-Save the Named Credentials and you will Get authenticated.
-If you get an Error Wait for 10 minutes and Save the Named Credentials again.
Named Credentials1Named Credentials2Named Credentials3

8. Enable Oauth and OpenID Connect Settings (5 min)

Step Action and Details Images
Save the Named Credentials and you will Get authenticated -Go to Setup
- Search for Enable OAuth and OpenId Connect Settings
-Enable Allow OAuth Username-Password Flows and Allow OAuth User-Agent Flows
Enable Oauth and OpenID Connect Settings1

9a. Assign AutoFolio Guest Buyer Profile. (5 min)

Step Action and Details Images
Assign AutoFolio Guest Buyer Profile -Click on App Launcher on the left side.
- Search Commerce and click on it.
-Select Store name as “AutoFolio” if not selected on the left side
-Click on settings on left side and expand it
-Click on “Buyer Access” tab on the menu.
-Scroll down under Enable Guest Access and Click on AutoFolio guest buyer profile And click on related tab.
-click on Assign buyer group and select AutoFolio buyer group.
Assign AutoFolio Buyer Group -Select Store name as “AutoFolio” if not selected on the left side
- Click on settings on left side and expand it .
-Click on “Buyer Access” tab on the menu.
-Click on settings on left side and expand it
-Under store access go to buyer group section and click on AutoFolio Buyer group.
-Go to related tab and click on assign on buyer group member.
-select TMZ Dealership and AutoFolio Guest Buyer Profile and save.
Enable Product tab on exp site After login(Excluding self registration user and apart from John Smith and Guest user) Follow below steps:
-Go to setup>>user>>open user>> click on permission set assignment>>click on edit permission >>select Buyer from Available permission set and click on Add>>click on save
-Go to Contact's associated account record and click on as enable as buyer button>> click on Enable
-Go to Commerce Store AutoFolio>>Click on settings on left side and expand it >>Click on “Buyer Access” tab on the menu.
-Under store access go to buyer group section and click on AutoFolio Buyer group.
-Go to related tab and click on assign from buyer group member and Select Contact's associated account and save.

9b.Assign Buyer Group For Self Registration (5 min)

Step Action and Details Images
Assign Buyer Group For Self Registration -Scroll down to self-registration section
-Select Profile as ‘Autofolio community user’
-Account record type as ‘Business Type’
-Permission group set ‘Commerce_shopper’
-Default buyer as ‘Autofolio Buyer Group’
-Click Save

10.Experience Site Product Price as Display 1 Price Configuration (15 min)

Step Action and Details Images
Experience Site Product Price as Display 1 Price Configuration -Go to App Launcher>>Enter All sites in quick find box>> click on it
-For Autofolio site click on builder
-click on preview>>click product>>Click on any of Electra product
-click on back to builder again>>There are some pricing details present click on it
-Under Setting scroll down >> Pricing type as Display 1 Price
-Click on Publish button.
Enable Email Deliverability -go to setup
-search for deliverability
Access to Send Email (All Email Services) -->Select All Email
Assign Permission to Agent User -Go to setup
-In the Top Search for 'Agent User'
-Click on agent user
-Go the Permission Set Assignment, click on Edit
-Select 'Automotive Service Agent' Permission set and add to the Right Side
-Click Save
Assign CSS For Header -Go to setup
-Search for All Site
-for 'Autofolio' Site Click on Builder
-Click on Settings Icon on Left Side
-Click on Advanced --> Click on Edit Head Markup
-Paste this CSS
.header { width:100%;
}
header{
background: black !important;
}
.slds-has-flexi-truncate ul li a {
color: #f0f0f0 !important; }
.slds-icon_small{ fill: white;}
Change logout URL -Go to setup
-Search for All Sites
-For Autofolio click on Workspaces And click on Administration
-Click on login and registration page
-go to Logout Page URL add the Domain URL as (https://Domain_Url/Autofolio/)
-Steps to get Domain URL- Go to setup search for domains click on Domains and copy the Site.com URL
Remove the Embedded Messaging from Content Section -Go to setup
-Search for All Sites
-For Autofolio Click on Builder
-Go to Product Page and Left Side Click on Page structure
-Under Content Section Remove the Embedded Messaging Component
Remove the Trusted Site -Go to setup
-Search for All Sites
-For Autofolio Click on Builder
-Go to Seatings-->Security and Privacy
-Under Trusted Sites for Scripts
-Delete the Trusted Cookie and Publish
Profile Menu Setting -Go to App Launcher>>Enter All sites in quick find box>> click on it
-For Autofolio site click on builder
-Click on Profile Menu(profile icon) >> Under Setting expand Authenticated User Menu>>For Default Menu , select Default User Profile Menu
-Publish the Site
Experience Site Product UI Configuration -Go to App Launcher>>Enter All Sites and click on it.
-For Autofolio site click on builder
-click on preview>>click product>>click on back to builder again
-search for product images then click on it( result grid)
-Under Grid layout there is Number of Columns on Desktop – Select More Column Spacing – Select None Row Spacing- Select None.
-Publish the Site

7. Mulesoft Configuration For Real Time Telemetric Data

5 steps process

Use Case: Integrate Salesforce with MuleSoft to ingest the Data (for Vehicle 360) in Data Cloud via Ingestion API

Note: Please check first 4 steps already performed in the org or not. if already present (ingestion API already present) then start with step 5, if not present then start with step 1 and use the attached schema file while creating Ingestion API.


Real_Time_Telemetric_Data: https://github.com/salesforce-misc/DataCloudAndAgentForceForAutomotive/blob/main/Mulesoft%20Yaml/Real_Time_Telemetric_Data.yaml

1. Create Ingestion API in Data Cloud. (10 min) $${ Mulesoft \space Optional: \space Please \space note \space that \space some \space functionality \space in \space Experience \space Cloud \space will \space no\space longer \space function\space as \space expected \space if \space not \space installed. }$$

Step Action and Details Images
Create Ingestion API in Data Cloud MuleSoft configuration For Real-Time Telematics Data1

2. Upload the schema file(used ‘Order’ in the yaml file format. (10 min)

Step Action and Details Images
Upload the schema file(used ‘Order’ in the yaml file format MuleSoft configuration For Real-Time Telematics Data2 MuleSoft configuration For Real-Time Telematics Data3

3. Create a Data Stream for Ingestion API with Selected Schema Object that going to use. (10 min)

Step Action and Details Images
Create a Data Stream for Ingestion API with Selected Schema Object that going to use MuleSoft configuration For Real-Time Telematics Data5

4. Configure the mapping with Primary key. (10 min)

Step Action and Details Images
Configure the mapping with Primary key MuleSoft configuration For Real-Time Telematics Data6MuleSoft configuration For Real-Time Telematics Data8MuleSoft configuration For Real-Time Telematics Data9

5. Flow to insert the data form Mule to Salesforce Data Cloud via Ingestion API. (30 min)

Step Action and Details Images
Flow to insert the data form Mule to Salesforce Data Cloud via Ingestion API. -The integration starts with Scheduler component configured to trigger the flow every 30,000 milliseconds.
-The first Transform message generates random values for all the telematics fields.
-Using second Transform message prepare the payload structure required by Salesforce Data Cloud Ingestion API.
-Create a New Connected App for securely integrating MuleSoft with Salesforce Data Cloud via APIs using OAuth2.0 below are the details for connected app:
-Go to Setup and Search App Manager and Select App Manager.
-Provide details of Connected App name, Contact Email and enable OAuth details as follows: Callback URL: https://login.salesforce.com (depend on org, if prod then its login.salesforce.com and if Sandbox then its test.salesforce.com) Require Secret for Web Server Flow: Enable Require Secret for Refresh Token Flow: Enable Enable Client Credentials Flow: Enable
-Please give the Profile level of access to connected App for System Administrative profile.
-Click on Manage Custom Details to get the client id and secret.
-Go to Setup and open OAuth and OpenID Connect Settings and enable the toggle for Allow OAuth Username-Password Flows
-Use the Salesforce Streaming Insert Object connector – below is the configuration details: Connection between Salesforce and Mule based on Username, Password, Client Id and Client Secret.
-Source API Name: Ingestion API Name
-Object: Selected Object name (Order).
MuleSoft configuration For Real-Time Telematics Data10MuleSoft configuration For Real-Time Telematics Data11 MuleSoft configuration For Real-Time Telematics Data13 MuleSoft configuration For Real-Time Telematics Data14)MuleSoft configuration For Real-Time Telematics Data15MuleSoft configuration For Real-Time Telematics Data16MuleSoft configuration For Real-Time Telematics Data17MuleSoft configuration For Real-Time Telematics Data18
Mulesoft Flow Diagram
a. First Transform Message and below is the script
-%dw 2.0
output application/json
varvinNumber["1A9416080TA288340","JF1SG65633H720182","1J8GA591X8L585418","1FMZK05125GA34650","4S4BP61C367326807","2B4GP44G31R110618","2C3LA53G68H187062","1C6RR6KT8FS501438","1G4GA5ER9CF217432","1G1AF5F56A7188155","3C8FY68814T224319","3TMJU4GN1BM116390","JN8AZ1MW0CW208397","5XYPGDA5XGG002192","3D7KU28D14G161500","1FAHP34N47W213682","3TMLU4EN2AM049034","1FTFW1EF4CFC35658","1N6AA06A64N571239","3B7KF23W9VM516994","KNAFU4A2XC5622597","2G1WG5EKXB1312050","3VWRK69M02M053790","1FDXE40S3XHA03474","5XYKU4A72FG653951","3GNDA63XX8S643669","2GKFLWE51C6247763","1GCFG15X861182048","JTJHF10UX10182895","5XYKT3A63EG529108","4V4WDBRH2VN737217","2G1WT58K369145853","2A4RR2D18AR406072","WDDHF8HB2BA295868","5J6RE38308L006040","JTDKN3DU5A0098811","3C4PDCBG4ET107805","1FTSW21P87EA29662","1N6AA0ECXCN305496","JTHBE1BL9E5039430"]
var status = ["Active", "Normal", "Critical", "Warning","Done"]
var airBagStatus = ["Active", "Critical"]
var latitudeData = ["37.787396", "37.777773", "37.791263", "37.797480", "37.785754", "37.786006"]
var longitudeData = ["-122.403324", "-122.426442", "-122.415680", "-122.408679", "-122.414068", "-122.411320"]
var randomSpeed = (min,max) ->(round(random()(max-min+1)+min))
var batteryLevel =(min,max) -> (floor(random()
(max-min+1)+min))
var randomInRange = (min, max) -> (random() * (max - min)) + min
var randomTirePressure = (min, max) -> randomInt(max - min) + min
var randomTemperature = (min, max) -> round(random() * (max - min) + min)
var randomVoltage = (min, max) -> round(random() * (max - min) + min)
var randomStatus = () ->status[randomInt(sizeOf(status))]
var randomStatusForAirBag = () -> airBagStatus[randomInt(sizeOf(airBagStatus))]
var randomlatitudeData = () -> latitudeData[randomInt(sizeOf(latitudeData))]
var randomlongitudeData = () -> longitudeData[randomInt(sizeOf(longitudeData))]
---
(1 to 199)map(index)->{
eventname:uuid(),
timestamp: now() as DateTime,
VIN: vinNumber[(index / 5) as Number],
latitude: randomlatitudeData()
longitude: randomlongitudeData(),
speed: randomSpeed(20,120),
rpm: randomTirePressure(2000,6000),
oilpressure:randomInRange(3.5,3.5),
engine_temperature: randomTemperature(70, 100),
coolant_temperature: randomTemperature(60, 90),
battery_voltage: randomVoltage(11.5, 14.5),
battery_soc_level: batteryLevel(10,100),
fuel_level: randomTemperature(60, 100),
tire_pressure_fl: randomTirePressure(30, 32)
tire_pressure_fr:randomTirePressure(30, 32),
tire_pressure_rl: randomTirePressure(30, 32),
tire_pressure_rr: randomTirePressure(30, 32),
brake_fluid_level:randomTemperature(78, 80),
esp_status:randomStatus(),
ABS_status:randomStatus(),
airbag_status: if(index <= 195) "Active" else "Critical",
odometer:randomTirePressure(10000,300000),
//odometer: if(payload.VIN__c == randomVIN)
brake_pad_wear_rr:randomTirePressure(45, 90),
brake_pad_wear_rl: randomTirePressure(12, 15),
brake_pad_wear_fr: randomTirePressure(12, 15),
brake_pad_wear_fl: randomTirePressure(12, 15)
}
Picture1
b. Second Transform Message and below is the script - %dw 2.0
output application/json---
{
"data":payload
}
c. Mule Streaming Insert Objects Connected - Click on plus sign and then select Connection as Oauth Username and Password and then
fill the required details then click on test connection and then user Source API Name as “Real_Time_Telemetric_data” and Object Name as “vehicle_telemetric” and Body as “payload”

Below is the configuration XML file so directly creating new project in Mule Anypoint and copy paste the configuration XML then update the credentials for Salesforce Data Cloud (Streaming Insert Object) connector. (Don’t forget to add the Data Cloud Insert Object Connector from Exchange)
XML File- https://github.com/salesforce-misc/DataCloudAndAgentForceForAutomotive/blob/main/TelemeticMuleConfigXML/TelemeticMuleConfigXML.txt

8. Mulesoft Configuration For Vehicle Issue

1 steps process

IMP NOTE: You may skip the MuleSoft section if it is not applicable to your use case or if you do not have Mulesoft licenses. However, if you plan to use MuleSoft.

Use Case: Get the Real Time Vehicle Complaint details using Mule API inside Agentforce Conversation.

Note: Skip the Mule Configuration Steps If you are using provided Configuration XML file directly in the Mule Project.


XML File: https://github.com/salesforce-misc/DataCloudAndAgentForceForAutomotive/blob/main/VehicleComplaintsMuleConfigurationXML/VehicleComplaintsMuleXML.txt

1. Mule Configuration (25 min) $${ Mulesoft \space Optional: \space Please \space note \space that \space some \space functionality \space in \space Experience \space Cloud \space will \space no\space longer \space function\space as \space expected \space if \space not \space installed. }$$

Step Action and Details Images
Create a new project in Anypoint Studio.
- Add the Listener in the Flow and Click on plus button icon to Configure the HTTP listener and then click on Test Connection button for listener connections and add the Path as “/Vehicle_Issue_API”.
Add HTTP Request connector to Call NHTSA Public API to get the complaints. ⦁ URL: /complaints/complaintsByVehicle?make=acura&model=rdx&modelYear=2012
⦁ Method: “GET”
⦁ Click on the plus icon button to configure the HTTP request and add Host and Protocol.
-Host: api.nhtsa.gov
-Protocol: HTTPS
Add Transform Message and below is the script that need to use. - %dw 2.0
output application/json
var requiredODINumbers = [11124195 ,11074082, 10818539, 10459314] // List of required ODI numbers
{
filteredResults: payload.results filter (item) -> requiredODINumbers contains item.odiNumber
}
⦁ Add another Transform Message and below is the script that needs to use.

%dw 2.0
output application/json
---
{
transformedResults: payload.filteredResults map (item) -> {
odi_number: (item.odiNumber) as String,
odinumber: (item.odiNumber) as String,
crash: item.crash as String,
fire: item.fire as String,
numberOfInjuries: item.numberOfInjuries as String,
numberOfDeaths: item.numberOfDeaths as String,
dateOfIncident: item.dateOfIncident as String,
dateComplaintFiled: item.dateComplaintFiled as String,
components: item.components as String,
summary: item.summary as String,
timestamp: now() as DateTime
}
}
Add the Final Transform message in Mule to prepare the JSON this will come up as Mule API response. -%dw 2.0
output application/json
---
{
"data": payload.transformedResults
}
⦁ Now deploy the project on cloud hub follow the steps below:
Right click on the Project –-> Anypoint Platform –-> Deploy to Cloud Hub
⦁ To get the Mule Public API End follow the steps below:
Go to Cloud Hub Runtime Manager Click on the deployed application Click on Setting button left side Click on Ingress tab in middle Copy the Public Endpoint (always use the URL like – Endpoint/ Listener Path).
⦁ Now store the URL in Salesforce Custom label use the same in apex class to call the Mule API and get the response and display the same inside agent conversation. Below is the sample response coming from Mule API.
Now deploy the project on cloud hub Follow the steps below
- Right click on the Project –-> Anypoint Platform –-> Deploy to Cloud Hub
Get the Mule Public API End Point Follow the steps below
- Go to Cloud Hub Runtime Manager Click on the deployed application Click on Setting button left side Click on Ingress tab in middle Copy the Public Endpoint (always use the URL like – Endpoint/ Listener Path).

9. Configure Salesforce Tableau Next

5 steps process

Note: To support the Automotive app, you can either create a new Salesforce Org or use an existing one, provided it includes the following features and licenses: Important Note: Existing Trailheads playgrounds cannot be used Enable/Execute below steps in the Org.

1. Enable Tableau Next Beta (5 min)

Step Action and Details Images
Enable Tableau Next Beta -From Setup, enter ‘Tableau Next’ in the Quick Find box.
-Enable Tableau Next Beta.

2. Create Workspace (5 min)

Step Action and Details Images
Create Workspace -Click on App Launcher And Search Tableau Next
-Click on New WorkSpace.
-Enter Name "AutoFolio" click on create.

3. Create Semantic Models (30 min)

Step Action and Details Images
Create Semantic Models : Asset Contact -Go to workspace Autofolio
-⦁ Click on Add > New Semantic Model and Name it Asset Contact
-Add the Data Objects: Asset Contact Participant.
Add Logical View In Asset Contact - Click on + aside Logical view tab
- Add Vehicle, Asset Contact Participant and Vehicle
-Telemetric DMOs and join them all using Common IDS.
Create Semantic Model: Lead Intelligence Model ⦁ Go to workspace Autofolio
⦁ Click on Add > New Semantic Model and Name it Lead Intelligence Model
⦁ Add the Data Objects: Lead Line Item
Create Logical Views in Lead Intelligence Model - Click on + aside Logical view tab
⦁ Add Lead, LeadLine Item and Product DMOs and join them all using Common ID.
Create Semantic Models : Vehicle Model -⦁ Go to workspace Autofolio
⦁ Click on Add > New Semantic Model and Name it Asset Contact
⦁ Add the Data Objects: Asset Contact Participant.
Add Logical View in Vehicle Model -⦁ Click on + aside Logical view tab.
Add Vehicle, Vehicle Definition and Vehicle Telemetric DMOs and join them all using Common IDS.
Similarly Make the remaining Semantic Models Work Order & Work Type, Logical View

4. Create Visualization (15 min)

Step Action and Details Images
Create Visualization -Go to autofolio
⦁ Click on Add > Visualization
⦁ Select the Semantic Models
⦁ Add the appropriate Fields in Rows and Columns.
Visualization VTD -⦁ Add below fields on Rows: Vehicle Name, Contact,Latitute, Longitute, Gear Box Type, Fuel Level, RPM, Tire size, Front Rim Size, Engine Temp, Brake Pad Wear, Oil Pressure, Brake Pad Wear, Air Bag, Battery SOC, Battery Voltage.
Add Viz: Vehicle Time Line Events -⦁ Add below fields on Rows: Odometer Reading, Timestamp,Fule Level, Airbag Status, ABS Status. !

5. Create Dashboard (15 min)

Step Action and Details Images
Create Dashboard -Go to autofolio
⦁ Click on Add > Dashboard> New Dashboard
Dashboard 1: Vehicle Portfolio Insights -⦁ Add below fields on Rows: Vehicle Name, Contact,Latitute, Longitute, Gear Box Type, Fuel Level, RPM, Tire size, Front Rim Size, Engine Temp, Brake Pad Wear, Oil Pressure, Brake Pad Wear, Air Bag, Battery SOC, Battery Voltage.
Add Viz: Vehicle Time Line Events ⦁ Add below fields on Rows: Odometer Reading, Timestamp,Fule Level, Airbag Status, ABS Status.

10. After Creating Self Registration User

$${ \space Below \space Steps \space from \space 6a \space to \space 6c \space only \space need \space to \space perform \space after \space Creating \space self- \space registration \space user }$$

1a. Add External Id into Contact as well snowflake after Self Registration contact creation (20 min)

Step Action and Details Images
Scenario 1: When Existing Ext Id value present in snowflake and user want to use it
Add External Id into Contact as well snowflake after Self Registration contact creation -Go to App launcher>> Search for Data Explorer >> Select object type as data model>> Select Survey Response
-Now Result will show under Submitter column>> copy any of any of the value(eg: 48291735)
-Go to contact tab>> open recently created record via self registration form paste the value in EXT Id field.
-click on save
-Wait for 10 to 15 min so that data stream will refresh then refresh the page then ask the question to copilot.
Scenario 2: When new Ext Id mentioned in contact , so new snowflake record need to create
-Go to contact tab>> open recently created record via self registration form And Enter new EXT Id field value And click on save
-Same Ext id need to present in snow flake : Download the below file, use the same format to create data entries, under Response_Submitter__c column you can mention the Ext Id field new value from Contact object. Snowflake data file
Go to Snowflake>> under table THIRD_PARTY_SURVEY ,upload the file Wait for 15 to 20 min to refresh the data stream named as Third Party Survey.
-Go to App launcher>> Search for Data Explorer >> Select object type as data model>> Select Survey Response>> Result will pop up , verify your new data entry
-At the end you will refresh the contact page and ask your copilot scenario.

Note: Before asking any questions to agentforce and copilot please wait 15 to 30 min for all data stream to be refresh so that you will see the data under contact 360, vehicle 360.
2. You can only create 26 self register users.

1b. Create warranty contract document for vehicle record created via Self Registration form and upload into S3 (10 min)

Step Action and Details Images
Create warranty contract document for vehicle record created via Self Registration form and upload into S3 -Go to Contact>> Open the recently created record via self registration form>>
-Go to Related tab>> go to asset>> Open the record>> click on Vehicle field value
-It will redirect to vehicle record>> Go to details>> Copy the VIN
-Download below file , you can replace the details as per your requirement such as VIN ,warranty start date, end date but make sure your VIN should be correct.Warranty Contract
- Create a PDF and upload into amazon S3.
Note: Before asking any questions to agentforce and copilot please wait 15 to 30 min for all data stream to be refresh so that you will see the data under contact 360, vehicle 360.
2. You can only create 26 self register users.

1c. To enable real time for the new contact on Self Registration (5 min)

Step Action and Details Images
To enable real time for the new contact on Self Registration -Go to App launcher>> Go to Data Cloud>> Go to Identity Resolution
-Click on Guest Profile>>click on Run Ruleset button((once Status Succeeded then process with next step )
-Go to App launcher>> Enter Data Graphs>>Click on it
-Scroll to right of Automotive Real Time data graph>> click on arrow >> click on update status and wait for Status Active
- Scroll to right of Web Engagement RT Profile data graph>> click on arrow >> click on update status and wait for Status Active
Go to Experience site>> login with newly created user from self registration form
Click on product tab>>select any product
-Go back to salesforce org and open Contact Record page to see the Real Time Product Details.
Publish Calculated Insights After Self Registration - Go to App launcher>> Go to Data cloud>> Go to Calculated Insights>> open Customer Satisfaction Score >> click on publish now.
-Go to Calculated Insights>> open Customer Lifetime Value >> click on publish now.
Publish Segment -Go to App launcher
Go to App launcher
-Go to Segments
-open Drivers who drove into the dealers
-Click on Downwards Arrow And click on publish now.
-Repeat the Same Step for the Segment Drivers visited the dealership

Miscellaneous

1.If Strikethrough price is not populating on UI for any of the products then perform below steps (10 min)

Step Action and Details Images
If Strikethrough price is not populating on UI for any of the products then perform below steps -Go to App launcher>> Enter Commerce and click on it>>Select AutoFolio >>
-click on the product where strikethrough price is not present on UI (eg: Electra Model 3.2 - 2025)>> Scroll down
-Click on Go to Global product Record>> Once you landed on Product record page then click on Related tab
-Search for Pricebook>> click on edit button of Standard Pricebook (do not change any values)>> click on save.
-Go back to Store again>> on the left hand side >> click on Website Design>>Select product from dropdown>> click on publish button
- Once its successfully published then>> Go back to Store again>> on the left hand side >> Scroll down >> Expand Setting
-click on search >>click on update button>> Select full update>> then click on Update button.
-Refresh the page after 10 to 15 min and see Automatic update status mark as completed or not , if not then wait to complete it.
-Go back to Site url>>hard refresh it >> click on product tab>>see the price is coming or not
-if price is still not coming then>> Go to setup>> enter all sites under quick find box>> click on All sites
- Click on Builder for AutoFolio Site, click on publish button>> wait for 10 to 15 min for successful publishing the site
- Go back to Site url>> hard refresh it >>click on product tab>> see the price is coming or not.

2. Testing Guideline

Step Action and Details Images
Testing Guideline -To proceed for testing kindly change below fields manually
-We are using John Smith contact for testing purpose whose email id ends with dataclouddemo.com And Address, Email
-phone number, please add phone extension as well don't add plus sign please see eg(eg: 19045737373, 1 is here as usa phone number extension),

3. Enable Product Tab On Experience site for new users

Step Action and Details Images
Enable Product tab on exp site After login(Excluding self registration user and apart from John Smith and Guest user) -Go to setup>>user>>open user>> click on permission set assignment>>click on edit permission >>select Buyer from Available permission set and click on Add>>click on save
-Go to Contact's associated account record and click on as enable as buyer button>> click on Enable
-Go to Commerce Store AutoFolio>>Click on settings on left side and expand it >>Click on “Buyer Access” tab on the menu.
-Under store access go to buyer group section and click on AutoFolio Buyer group.
-Go to related tab and click on assign from buyer group member and Select Contact's associated account and save.

Behind the Scenes - how is the agent powered?

Curious to see the all the possible utterances and how they are powered by the Agent. Here is a list of all the possible coversations, the corresponding topics and the components that power them.

$${ Using \space the \space Agent \space to \space find \space good \space car \space for \space the \space family \space and \space book \space appointment }$$

Sl. No. Utterance Behind the Scene Topic Components
1. What’s a good car for a family of 5? Uses LLM to find the Products That Best Suits Customer's Requirment, reads unstructurd data via a custom retriever as the Product description is from in-line unstructured data (i.e. column in a table), prompt builder. Vehicle Suggestions a. Prompt Action
- Vehicle Recommenadation.

b. Retriver
- Product Retriver
2. Are there any deals on this car ? This is where we use real-time browsing behavior and Real Time Data graphs to determine the Vehicle the user is looking at We also then Make use of Flows and Apex classes and return contextual responses Vehicle Pricing and Deals a). Flow Action
call RT DG for CURRENT product
Promotion - Get Promotion

b). Data Graph
Web_Engagement_RT_Profile
c). Apex Class
DSPGetRTDGData
parseJSON

d).Connected App
Data Cloud API
e).Named Credentials
DataCloudNew
3. What’s the price of this car ? This is where we use real-time browsing behavior and Real Time Data graphs to determine the Vehicle the user is looking at We also then Make use of Flows and Apex classes and return contextual responses Vehicle Pricing and Deals a). Flow Action
call RT DG for CURRENT product
Data Cloud - Vehicle Prices

b). Data Graph
Web_Engagement_RT_Profile
c). Apex Class
DSPGetRTDGData
parseJSON
ClsGetProductPrice

d).Connected App
Data Cloud API
e).Named Credentials
DataCloudNew
4. Any issues with this car? This is where we use real-time browsing behavior and Real Time Data graphs to determine the Vehicle the user is looking at We also then Make use of Flows and Apex classes and return contextual responses Vehicle Issues a). Flow Action
call RT DG for CURRENT product
Data Cloud- Vehicle Complaints

b). Data Graph
Web_Engagement_RT_Profile
c). Apex Class
DSPGetRTDGData
parseJSON
Vehicle Complaints
d) Ingestion Api
CustomLabel:-VehicleIssueMuleApi
Remote Site Settings:-MuleSoftVehicleIssue

e).Connected App
Data Cloud API
f).Named Credentials
DataCloudNew
5. I want to test drive This is where we use real-time browsing behavior and Real Time Data graphs to determine the Vehicle the user is looking at, we then Fire Platform event That is caught in Experience site to show the LWC Flyout and return contextual responses Test Drives Management a). Flow Action
call RT DG for CURRENT product
Data Cloud- Invoke Appointment Flyout(Guest)

b). Data Graph
Web_Engagement_RT_Profile

c). Apex Class
DSPGetRTDGData
parseJSON
DisplayLeadForm
appointment/br>EmailHandler

d).AppointmentforGuest__e

e) LWC
embeddedMessaging

f).Connected App
GuestUserCometD
Data Cloud API

g).Named Credentials
GuestCometD
DataCloudNew
6. Can I test drive at home? Reads unstructured data from PDFs that has been ingested into Data Cloud where it is chunked, vectorized and indexed for easy retrieval Test Drives Management a). Prompt Action
- Generate FAQ From Automotive Industry
7. What is the wait time for delivery? Reads unstructured data from PDFs that has been ingested into Data Cloud where it is chunked, vectorized and indexed for easy retrieval Vehicle Delivery Wait Time a). Prompt Action
- Generate FAQ From Automotive Industry

$${ For \space logged \space In \space User }$$ There is one contact populated with all the relevant information to drive these conversations - John Smith. You can login to experience cloud as this contact to have these agent conversations.

Sl. No. Utterance Behind the Scene Topic Components
1. How long will it take me to go home? Based on User's Current Location Determined by telemetric Data and the Users Mailing Address, we Determing the Time it will Take to travel also Show Map with the Geocodes Mapped Travel Time & Charging Station Assistance a). Flow Action
- Data Cloud - Calculate Time

b). Apex Class
clsMapController
clsCalculateTime
c).Platform Event
HomeMapFlyOut__e
d) LWC
lwcMapFlyout
e)Named Credentials
Calculate Distance
2. Find the nearest charging station? Based on User's Current Location Determined by telemetric Data and the Charging Station Geocode, and Retrun the Charging Station Details also Show Map with the Geocodes Mapped Travel Time & Charging Station Assistance a). Flow Action
- Get Charging Station

b). Apex Class
clsMapController
c).Platform Event
HomeMapFlyOut__e
d) LWC
lwcMapFlyout
3. Lock Doors, Unlock Doors, Start the Car, Stop the Car Based on user's Command We Simulate the Action/command and Update the Primary Vehicle of the User in Vehicle 360 Vehicle Command Management a). Flow Action
- GetSimulatorResult
b). Apex Class
GetSimulatorResult
4. I’m experiencing brake squeaks, please check my brake pads Based on the Telemetric Data We Prompt the User about their Break Pads Information and Show Flyout Experience Vehicle Maintenance & Service a). Flow Action
- Data Cloud - Maintenance Appointment
Data Cloud - Appoinment Creation>b). Apex Class
clsAppoinmentController
appointment
EmailHandler
c).Platform Event
TestDriveAppoinmentFlyout__e
d) LWC
appointmentFlyout
5. Why is the check engine light blue? Reads unstructured data from PDFs that has been ingested into Data Cloud where it is chunked, vectorized and indexed for easy retrieval Vehicle Maintenance & Service a). Flow Action
Data Cloud - Appoinment Creation>b). Apex Class
clsAppoinmentController
appointment
EmailHandler
c).Platform Event
TestDriveAppoinmentFlyout__e
d) LWC
appointmentFlyout
e). Prompt Action
Generate FAQ From Automotive Industry
6. Why is my battery showing 30%? Reads unstructured data from PDFs that has been ingested into Data Cloud where it is chunked, vectorized and indexed for easy retrieval Vehicle Maintenance & Service a). Flow Action
Data Cloud - Appoinment Creation>b). Apex Class
clsAppoinmentController
appointment
EmailHandler
c).Platform Event
TestDriveAppoinmentFlyout__e
d) LWC
appointmentFlyout
e). Prompt Action
Generate FAQ From Automotive Industry
7. Can you help with roadside assistance? Show Conceptual Responses based on telemetric data Free Service Eligibility & Roadside Assistance a). Flow Action
Data Cloud - RoadSideAssistance
8. Can I get a free service? Reads User's Warranty Contracts Document unstructured data from PDFs that has been ingested into Data Cloud where it is chunked, vectorized and indexed for easy retrieval, Use Prompt Builder to Read the Unstructured data and return the relevant response Free Service Eligibility & Roadside Assistance a). Flow Action
Data Cloud-Free Service Eligiblity

b). Apex Class
clsWarrantyDocumentController

c). Prompt Action
Return_Warranty_Info
9. When is my battery health check due ? Reads User Data and Determine when they have battery health check due and prompt the response and show the Flyout experience Vehicle Maintenance & Service a). Flow Action
Data Cloud - Oil Maintainance
Data Cloud - Appoinment Creation

b). Apex Class
clsAppoinmentController
appointment
EmailHandler

c). Platform Event
TestDriveAppoinmentFlyout__e
d) LWC
appointmentFlyout

$${ For \space Copilot }$$ There is one contact populated with all relevant information to drive these conversations – John Smith, You can go to the contact record page of this contact to have all the copilot conversations.

Sl. No. Utterance Behind the Scene Topic Components
1. What is the meaning of the P0300 diagnostic trouble code? Reads unstructured data from PDF that has been ingested into Data Cloud where it is chunked, vectorized and indexed for easy retrieval. P0300 Diagnostic Troublecode a. Prompt Action
- Generate FAQ From Automotive Industry
2. Are there any active recalls? Uses telemetric data. It looks at Asset Contact Participant DMO, Vehicle DMO, Vehicle Telemetric DMO based on current Contact Id or Vehicle Id and checks airbag information to return a response. Vehicle Active Recalls a. Flow Action
- Data Cloud Vehicle Recall Availability
3. Is the car still covered by warranty? Reads User's Warranty Contracts Document unstructured data from PDFs that has been ingested into Data Cloud where it is chunked, vectorized and indexed for easy retrieval, Use Prompt Builder to Read the Unstructured data and return the warranty response Vehicle Warranty a. Flow Action
- Data Cloud Warranty Details

b. Apex Class
- clsWarrantyDocumentController

c. Prompt Action
- Return_Warranty_Info
4. Are there any perks available for oil change? Based on Current Contact Id or Vehicle Id, it looks the Asset Contact Participant DMO , Vehicle DMO,Asset DMO, Asset Warranty DMO and Asset Milestone DMO and it check free service for oil check based on that copilot return response Oil Perks Availability a. Flow Action
- Data Cloud Warranty Coverage
5. Lock Doors, Unlock Doors, Start the Car, Stop the Car Based on user's command, simulates the action and updates the Primary Vehicle of the user in Vehicle 360. Vehicle Commands a. Flow Action
- DataCloud-SimulationResult

b. Apex Class
- GetSimulatorResult
6. Send a status update to the user regarding the delay and include a perk, such as a voucher? Based on Current Contact Id or Vehicle Id, it looks the Asset Contact Participant DMO , Vehicle DMO,Asset DMO, Service Appoinment and it check it has any dealy then send an email /sms to user Vehicle Delay Status a. Flow Action
- Data Cloud Vehicle Delay Status

b. Apex Class
- SFMCCallOutService
7. Tell me more about this customer and what upsell opportunities are there? Based on Current Contact Id or Vehicle Id, it looks the Asset Contact Participant DMO , Vehicle DMO,Asset DMO, Product Related Materials DMO and verify any product related materials presents and return response to user. Also invoke another flow where Survey Response DMO is having records verify customer is intrested in roof rack and outdoor activities and return response to user Upsell Opportunities a. Flow Action
- Data Cloud Upsell Opportunities

b. Flow
- Data Cloud Survey Response

About

A E2E Sample App showcasing how Data Cloud powers Agentforce for the automotive industry

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •