You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Welcome to Sunshine Trail Resorts, a sample hospitality application. Sunshine Trail Resorts is a fictional resort that uses Agentforce, the power of Data Cloud, and the Salesforce Platform to deliver highly personalized guest experiences. Explore ways to bring agents into business workflows, including new smart automation capabilities, Search Property, content generation.
Did you watch the demo? The following are a set of instructions to setup the end to end demo in your own environment. While the end to end demo supports multiple clouds, you have full flexibility to use only the portions relevant to what you want to try out in your own org, additionally once the packages are installed you have the ability to fully customize it based on your needs.
The Sunshine Trail app showcases how with Data Cloud we have a true Customer 360 that then drives the right and best experience with Agentforce Agents.
1. Pre-Deployment Instructions
4 step process
1. Salesforce Org Setup Requirements for Sunshine Resorts App
Option 1: To support the Sunshine Resorts app, you can either create a new Salesforce Org or use an existing one, provided it includes the following features and licenses:
- Service Agent - Einstein Agent - Copilot - Prompt Builder - Agent Force - Real-time(Additional SKU) - Code Builder (Optional)
Our package is designed to support all these clouds, but you have full flexibility to use only the portions relevant to your business. If you are not using a particular cloud (e.g., Loyalty
Cloud), you can simply skip its configuration—the package will still install successfully, but that feature will not be available until you configure it yourself. Additionally, you can customize
and enhance the existing package by adding your own features as needed.
⚠️Important Note: Existing Trailheads playgrounds cannot be used
Option 2: To ensure a seamless integration and unlock a 360-degree view of customer interactions, we recommend enabling Salesforce Foundations in your org. This free enhancement integrates Sales, Service, Marketing, Commerce, and Data Cloud functionalities, improving efficiency and AI-readiness.
How to Enable Salesforce Foundations:
Log in to your Salesforce instance.
Navigate to Setup → Search for Salesforce Foundations.
Click "Add to My Contract" (It's free).
Select the Foundations products and proceed with checkout.
Return to Setup and follow the on-screen instructions to complete the configuration.
🔗 More details: Salesforce Foundations
External Connections: The app showcases the use of structured and unstructured data ingested from AWS and the use of zero-copy with Snowflake. This section talks about the connectivtity you would need for those use cases.
Connection
Details
Amazon S3 Optional Used to bring in structured and unstructured data. Unstructured data powers Agent conversations in this setup.
NOTE: If you do not have an existing Amazon S3 instance, register for the free tier and follow this guide to create a dedicated user with required permissions.
Already have an S3 instance? No need to sign up again.
Snowflake Optional Used to showcase Data Cloud’s Zero Copy capabilities.
NOTE: If you do not have access to a Snowflake instance, follow this article to create a Warehouse, Integration User, and configure and note public/private keys that you will use with Salesforce Data Cloud.
2. Install Pre-Deployment Package (10 minutes)
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
Verify Package installation
- Click Setup - Search for package - Click on 'Installed PAckage' - Search for 'Sunshine Trails Pre-Deployment Package' is installed
3. Enable Features on the Org (20 minutes)
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’.
Enable Loyalty Management Features
- From Setup, enter ‘Loyalty Management’ in the Quick Find box. - Select ‘Loyalty Management Settings’. - Under ‘Consolidate Member Points for Expiration,’ turn on ‘Consolidate members’ fixed non-qualifying points in real time’.
Create a Basic Experience Builder Site
- From Setup, enter ‘Digital Experiences’ in the Quick Find box. - Select ‘All Sites’ under ‘Digital Experiences’. - Click New to open the Creation wizard with template options. - Select the ‘Commerce Store(LWR)’ template. - Click Get Started.
Site Name and URL
- After selecting the template, enter a site name and URL. - Name the site ‘Sunshine Resorts’ and ensure the URL ends with /SunshineResorts - Click Create. Your site will be created in Preview status.
Activate Site
- From Setup, enter ‘Digital Experiences’ and select ‘All Sites’ under ‘Digital Experiences’. - Click Workspaces next to Sunshine Resorts. - 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.
Step
Action and Details
Images
Setup Data Cloud
- Enter “Data Cloud” in Quick Find box. - Click on “Data Cloud Setup Home”. - Click on “Get Started” if the Data Cloud instance is not set up. - If already Data Cloud setup is done then you will not see Get Started option. - Once the process is complete, the Data cloud instance is ready to use.
Verify Experience Delivery is Disabled
- Go to Setup → Digital Experiences → All Sites. - Click Workspaces for ‘Sunshine Resorts’. - Click Administration. - Click on Settings. - Experience Delivery should be disabled. If it’s enabled, please raise a Salesforce Case with the Support team to disable this feature.
Enable Data Cloud on Experience Site
- Go to Setup → Digital Experiences → All Sites. - Click Builder for ‘Sunshine Resorts’. - 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
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
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. Click Save
4. Setup the Salesforce Org (20 minutes)
Step
Action and Details
Images
Assign Data Cloud Permissions to Standard Object
- Click on App Launcher, search for Sunshine Trails Hospitality and click on Sunshine Trails Hospitality 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 Permissions to Custom Objects & Custom Fields
- Click on App Launcher, search for Sunshine Trails Hospitality and click on Sunshine Trails Hospitality Setup App - Click on “Assign Permissions for Custom Object” button (highlighted in the screenshot below) and wait for a confirmation message before proceeding further
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
Install Standard Data Bundles
Click on Data Cloud Setup - Click on ‘Salesforce CRM’ - Under ‘Standard CRM Data Bundles’ - Click on ‘Arrow’ icon and click on ‘install’ of ‘Sales Cloud’ - it will open on new page -> click on Install
Turn On Einstein Setup
- Navigate to Setup - Search and Select ‘Einstein Setup’ - Turn on Einstein Setup
Turn On Agentforce
- Navigate to Setup - Search and Select ‘Agent’ - Turn on Agentforce
2. Salesforce Package Installation
1 step process
1. Install Sunshine Base Package (10 minutes)
Step
Action and Details
Images
Install Sunshine 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. - Click Done when installation is complete.
Verify Package installation
- Click Setup - Search for ‘Installed Package’ - Search for 'Sunshine Trails Base App' is installed
3. Data Cloud Configuration
7 step process
1. Setup Data Streams
The Data Kit is installed as a part of the Package installation. Follow the steps below to create data streams.
Setup Salesforce Data Streams (15 minutes)
Step
Action and Details
Images
Verify Salesforce CRM is Active or Not
In Data Cloud, select the Setup icon and then Data Cloud Setup. - Select Salesforce CRM. - If connection status is “Inactive” - then click on drop down to “Active” - Click on “Active”
Create Data Streams from Data Bundle
- 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 Salesforce_CRM_Bundle. - Select your Salesforce Org. - Click Next. - Select the data space as ‘Default’, review the fields in your data stream, and click Next. - Review details and click “Deploy.
Create Loyalty_CRM_Bundle Data Streams from Data Bundle
- Click on Data Stream Click on New - Select Salesforce CRM Click Next - Select Salesforce_CRM_Loyalty_Bundle Click on Next - Select the data space as ‘Default’, review the fields in your data stream, and click Next. - Review details and click “Deploy”
Create Website_Mobile_apps Data Stream from Data Kit
- Click on Data Stream - Click on New - Select ‘Installed Data Kits Package’ - Select ‘Sunshine Trails DK’ Data Kits - Select checkbox under ‘Websites_Mobile_Apps’ click on ‘Next’ -Select Connector type ="website" & connector name "Experience_Cloud_Event_Connector". - Click Next. - Click on Deploy
1a. Create Data Steam for Amazon S3 (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
Upload Structured & Unstructured data to the S3 Bucket
Before you continue, upload the below test files to your AWS instance, create a bucket called "hospplaygroundbucket" or the bucket you wish to use for this demo
Navigate to Data Cloud Setup In the menu, under EXTERNAL INTEGRATIONS, click on Other Connections - Click New, choose Data Kits as the source and click Next. Select Sunshine Trails DK -Select hospplaygroundbucket -Change the name & API name of the connection "hospitalityplayground". -Put the bucket name “hospplaygroundbucket” please feel free to change the bucket name based on your existing AWS bucket -Fill the credentials and save.
Create a Data Stream for Third Party Data
- Click on Data Stream, click on New - Select Installed Data Kits & Packages, click on Next - Under Data Kits, select "Sunshine Trails DK" - Under "Bundle_Amazon_S3", select Third Party Survey and click Next - In Connection dropdown, select "hospitalityplayground", click Next - Click Next and click Deploy.
1b. Create Data Stream for Snowflake (5 minutes) $${ 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 in Salesforce
Navigate to Data Cloud Setup -In the menu, search SnowFlake, - Click New, choose Data Kits as the source and click Next. Select Sunshine Trails DK -Select Infosys_Demo_Actual. -Please feel free to change the connection name based on your existing snowflake connection -Don’t change the API name Fill the Account URL, Username, and Private Key and click next and save.
Create Data Stream for Snowflake from data kit
- 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 - Under "Other Sources", select "Installed Data Kits & Packages" and click Next - Select "Sunshine Trails DK" Data Kit - Select Snowflake Bundle and click Next. - Under Data Streams choose "POS_Transaction" and "IOT_Transaction" and click Next. - Review the Data Stream fields and click Next - Click Deploy to create the Data Streams
1c. Create Ingestion API for Mule Data Streams from Data Kit(5 minutes) $${ 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 for Mule Data Streams from Data Kit
- Click on Data Stream - Click on New. - Select Installed Data Kits & Package. - Select ‘Sunshine Trails DK’ Data Kits. - Click on ‘Ingestion’ Bundle. - Click on Next. -Select Connection as ‘Mulesoft Ingestion API’ - Click Next - Click Deploy
1d. Create Hotel FAQ and Hotel Safety FAQ DLO Creation for Unstructured Data(10 minutes)
Complete this step only if you have setup a connection and the file notification process in AWS
Step
Action and Details
Images
Create Hotel FAQ & Hotel Safety FAQ DLO Creation
- Click on Data Lake Object Click on New - Click on Create from Data Kits, Click on Next - Select Hotel_FAQ_v3, select “hospitalityPlayground’ connection. Click on Next - Click on Deploy - Follow the same step from Step#1 for Hotel_Safety_FAQ_V2.
1e. Create Party Identification Collection Data Lake (5 minutes)
Step
Action and Details
Images
Create Party Identification Collection & Party Identification Collection IOT DLO Creation
- Click on Data Lake Objects Tab - Click on New - Click on “Create from Data Kits”, Click on Next and select “Sunshine Trails Base App” package - Select Party Identification Collection. - Click on Next - Click on Save - Repeat the above steps again but this time select - Party Identification Collection IOT DLO instead of Party Identification Collection - Click on Next - Click on Save.
2. Create Data Transforms from Data Kit (5 minutes)
Proceed with this step only if you have setup a connection to snowflake
Step
Action and Details
Images
Create IOT & POS Data Transform $${ Snowflake \space Optional}$$
-Click on Data Transforms Tab - Click on New - Click on Create from Data Kits, Click on Next - Select Extract Party Identifiers from IOT - Click on Next . Click on Save, Copy the Name , Remove the Name then Paste the same Name Again - Click on Save - Click on Data Transform Tab - Click on New. Click on ‘Create from a Data Kits’ Option - Select Extract Party Identifiers from POS - Click on Next . Click on Save, Copy the Name , Remove the Name then Paste the same Name Again - Click on Save
3. Cross Verify CRM Data (5 minutes)
Proceed with this step only if you have the Real-Time SKU enabled in your org
Step
Action and Details
Images
NOTE
- Before proceeding further, please ensure that the CRM data is available in the DMO. You can verify this by following these steps: - Navigate to Data Explore - Set Data Space to Default. - Select the Data Model Object (DMO). - From the dropdown, choose Account Contact. - You should see Salesforce_Home listed under the Data Source column. If you don't see the data then wait until the data is refreshed before proceeding to the next step.
4. Create Identity Resolution Ruleset from Data Kit (5 minutes)
Step
Action and Details
Images
Create Identity Resolutions
-Go to Data Cloud app - Click on the Identity Resolutions tab - Click New - Select Installed from Data Kit- Choose Sunshine Trails DK - Click on Next - Choose ‘Guest Profile’. Click on Next Click on Save.
5. Create Calculated Insights (5 minutes)
Step
Action and Details
Images
Create Calculated Insights
- Go to Data Cloud ap - Click on Calculated Insights tab - Click New - Select "Create from a Data Kit" and click Next - Select ‘Guest Stay Metrics’ - Click on Next - Click on ‘Check Syntex’ - Click on ‘Activate’ - Click Activate - Select Schedule as ‘Every 1 hour’ Select Start Date and Time As default. - Click on ‘Enable’ - Repeat the steps for the following metrics: ‘Guest Lifetime Value’, ‘Guest Classification’, ‘Guest Satisfaction Score’
6. Create Data Graph (5 minutes)
Step
Action and Details
Images
Create Data Graph
- Click on Data Graph Tab - Click on New - Select Create from Data Kits - Select Sunshine Trails DK - Select Hospitality Realtime Profile. - 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.
7. Create Data Cloud Related List Enrichment (10 minutes)
Step
Action and Details
Images
Create Booking Related List
- Click on Setup - Object Manager - Search for Contact - Click on Contact - Click on Data Cloud Related List Enrichment. - Click on New - Select default data space - Select Data Cloud object as ‘Booking__dlm’ - Click Next - Give Child Relationship Name as ‘IndividualBookings’ - Give Related List Label as ‘Individual Bookings’ Click Save.
Create Reservation Related List
- Click on Setup - Object Manager - Search for Contact - Click on Contact - Click on Data Cloud Related List Enrichment. - Click on New - Select default data space & Select Data Cloud object as ‘Reservation__dlm’ - Click Next - Give Child Relationship Name as‘IndividualReservations’ - Give Related List Label as ‘Individual Reservations’ Click Save.
Create Data Cloud Related List Enrichment for Third Party Survey $${ S3 \space Optional}$$
- Click on Setup - Click on Object Manager - Search for Contact - Click on Contact - Click on Data Cloud Related List Enrichment. - Click on New - Select default data space -> Select Data Cloud object as ‘Third Party Survey’ - Click Next - Give Child Relationship Name as 'Third_Party_Survey’ - Give Related List Label as ‘Third Party Survey’ Click Save
8. Create Data Cloud Copy Field Enrichment (15 minutes)
Step
Action and Details
Images
Create Data Cloud Copy Field Enrichment for ‘Customer Classification’
- 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 Guest Classification‘ whose API name will be this Guest_Classification__cio’ Click on Next
- Select data space as ‘default’ - Select field as ‘Customer Class’. Click Next - Give Label as ‘Guest Classification’ - Click ‘Next
- On contact -> Data Cloud Copy Field Enrichments -> Guest Classification - In Customer_Class under contact “click to Edit” - Select Customer Class - Save and Start Sync.
- Give Label as ‘Guest Classification’ - Click on ‘Next. On contact Select Customer Class - Save and Start Sync.
Create Data Cloud Field Enrichment of ‘Guest Lifetime Value’
- 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 ‘Guest_Lifetime_Value__cio’ - Click on Next - Select Field As ‘GLV’ - Give Label as ‘Guest Lifetime Value’ - Click on ‘Next - Select Field GLV - Give Label as ‘Guest Lifetime Value’ - Click on Next - On contact Select Lifetime_Value__c - Save and Start Sync.
Create Data Cloud Field Enrichment of ‘Guest Statisfection 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 ‘Guest_Satisfaction_Score__cio’ - Click on Next - Select Field As ‘GSS’ - Give Label as ‘Guest Satisfaction Score’ - Click on ‘Next - On contact Select Guest_Satisfaction_Score__c - Save and Start Sync.
Create Data Cloud Field Enrichment of ‘Guest Stay Matrics’
- 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 ‘Guest_Stay_Metrics__cio’ - Click on Next - Select Fields Total_Stays, Total_Room_Nights, Total_Spend, and Avg_Nights_per_Stay - Give Label as ‘Guest Stay Metrics’ -Click Next - Map Fields with below Contact Fields
Data Cloud:Guest stay Matrics->Contact Object
Total_Stays->Total Stays
Total_Stays__c->Total_Stays__c
Total_Room_Nights->Total Room Nights
Total_Room_Nights__c->Total_Room_Nights__c
Total_Spend->Total Spend
Total_Spend__c->Total_Spend__c
Avg_Nights_per_Stay->Avg_Nights_per_Stay
Avg_Nights_per_Stay__c->Avg_Nights_per_Stay__c
- Save and Start Sync
4. Commerce Cloud Configuration
8 step process
1. Verify Organization Wide Address (5 minutes)
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 the name ‘Default Email’ created and verified. - 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’
2. Install Agent and Experience Site Package (1 hour 30 minutes)
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/DataCloudAndAgentForceForHospitality.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 type sf project deploy start --source-dir force-app - If you have AWS S3 Connection Created and Installed AWS Related Data Stream from Step 3 under Data Cloud Configuration, then execute below SFDX command to deploy else do not execute. - Open terminal type sf project deploy start --source-dir st-aws-app
NOTE:$${\color{red} Skip \space the \space below \space steps \space if \space you \space wish \space to \space bring \space in \space your \space own \space Product \space data}$$$${\color{red} 3.\space Create Commerce Data}$$$${\color{red} 4.\space Search Update}$$$${\color{red} 5.\space Upload CMS Images into the Store and}$$$${\color{red} 6.\space Add CMS Product Images}$$
3. Create Commerce Data (5 minutes)
Step
Action and Details
Images
Create Data
- Click on App Launcher, search for Sunshine Trails Hospitality and click on Sunshine Trails Hospitality Setup App - Click on the “Create Commerce Data” button (highlighted in the screenshot to the right) and wait for a confirmation message before proceeding further.
4. Search Update (5 minutes)
Step
Action and Details
Images
Search Update
Enable Commerce App - Click Setup and search for Commerce - Click Settings under Feature Settings --> Commerce - Use the toggle to switch on the Enable the Refreshed Commerce App
Enable Search Index - Click on App Launcher, search for Commerce and select Commerce application - In the Store dropdown, choose Sunshine Resort Store - Scroll down to Setting and expand it - Click on Search - Use the toggle to turn on Automatic Updates
5. Upload CMS Images into the Store (15 minutes)
Step
Action and Details
Images
Upload CMS Images into Store
- Download Images from CMS Images - Click on App Launcher>> Select commerce application>> Click on Store - Open Sunshine Resort Store - Scroll down to Content Manager - Click on Add workspace - Enter details such as Name "Commerce Store Images" and select Enhanced CMS Workspace and click on Next - Add Sunshine Resorts Channel as Public and Sunshine Resorts site 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 repeat the above steps for all the images
6. Add CMS Product Images (15 minutes)
Step
Action and Details
Images
Add Image to a Product
- Click on App Launcher>> Select commerce application>>Click on Store - Open Sunshine Resort Store - Expand Merchandise>> Product>> open one by one product - Click on eye icon (it removes Site window) after save button - Confirm that "Products" is selected under categories - 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 Commerce Store image>> click on Add button - Click on Add image for Product list Image section >> Select appropriate image from Commerce Store image >> click on Add button - Repeat previous steps for each product - Go to store>> select Sunshine Resorts >>Scroll down to Website Design>> select product category from dropdown >> click on Publish button (this step maybe not be needed if you are commerce console) - Go back to Sunshine Resort Store>>Click on Home>> click on preview the site and see product is getting displayed
7. Enable Self Resgistration (5 minutes)
Step
Action and Details
Images
Enable Self Registration
- Click on App Launcher>> Select commerce application>>Click on Store - Open Sunshine Resort Store - Settings >> Store - Click on Buyer Access Tab - Scroll down to Self Registration (enable if it’s not enabled) - Select Account RecordType to “Business Account” - Select Default Buyers Group to “Sunshine Resorts Buyer Group" - Click Save
8. Share CMS with Site workspace (5 minutes)
Step
Action and Details
Images
Share CMS with Site workspace
- Click on App Launcher and search for CMS Workspaces - Select CMS Workspaces - Click on "Commerce Store Images" (the CMS created in previous step - Click the gear icon (at the top right) and select "Workspace Sharing" from the dropdown - Move "Sunshine Resorts Managed Content Space" to the right (under Shared) and click Next - Click Save
5. Connect and Create Sample Data
4 step process
1. Create Sample Data (5 minutes) $${ 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 Sunshine Trails Hospitality and click on Sunshine Trails Hospitality Setup App - Click on the “Create Test Data” button (highlighted in the screenshot below) and wait for a confirmation message before proceeding further.
2. Enable Test Account as Buyer Account (5 minutes) $${ 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
Enable Account as Buyer Account
- 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’ - Go Account Tab -> Search for Account Name "Sunshine Experience" (test Account created in previous steps). Make sure to remove any filter if it exists -> Click on that Record - On Record Page click on the "Enable as Buyer" Quick Action
3. Create Community User and Assign User to Buyer Group (5 minutes)
Step
Action and Details
Images
Create Community User and Assign Buyer Account to Buyer Group
- Click on App Launcher, search for Sunshine Trails Hospitality and click on Sunshine Trails Hospitality Setup App - Click on the "Create Buyer Group Member Data" button (highlighted in the screenshot on the right) and wait for a confirmation message before proceeding further. - Note: If the confirmation message does not appear after 5 minutes, refresh the page and if the "Create Buyer Group Member Data" button is disabled, proceed.
4. Setup Data in Snowflake (15 minutes) $${ 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 Table to hold POS data
- Login to the Snowflake Database/Schema that is connected to Data Cloud and run the below DDL script to create DEMO_HOSPITALITY_POS_DATA table.
create or replace TABLE <<database_name>>.<<schema_name>>.DEMO_HOSPITALITY_POS_DATA
(
TRANSACTIONID VARCHAR(30),
DATE DATE,
TIME VARCHAR(100),
CUSTOMERID VARCHAR(30),
ITEMID VARCHAR(30),
ITEMNAME VARCHAR(100),
QUANTITY NUMBER(38,0),
UNITPRICE NUMBER(38,2),
TOTALPRICE NUMBER(38,2),
PAYMENTMETHOD VARCHAR(30)
)
- While still logged in to Snowflake, execute the following statement
grant select on tables in <<database_name>>.<<schema>> to role sysadmin
6. Finish Configuration
6 step process
1. Configure AWS File Notification for files with unstructured data (30 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
Configure AWS File Notification
- Navigate to Setup and search for App Manager - Click in the down arrow for the "AWS Unstructured" app and select view. - Next to Consumer key and secret, click "Manage Consumer Details" and copy the values. - Share the values with the AWS team responsible to create the file notification function. - For more details about how to setup file notification visit: (https://developer.salesforce.com/docs/data/data-cloud-int/guide/c360-a-awss3-udlo.html)
2. Prepare Data Cloud
2a. Refresh Amazon S3 Data Streams (5 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
Refresh Amazon S3 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 refresh for the Third Party Survey data stream and subsequently choose the Refresh Only New Files option: - Once the data stream is refreshed validate that the Total Records counts for Third Party Survey stream, it should be 42
3. 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 the Data Cloud app and open the Data Streams tab. - Locate the IOT_Transaction data stream. - Click the dropdown menu on the right side of the data stream and select "Update Status". - Repeat the same steps for the POS_Transaction data stream. - Once both data streams are refreshed, verify that the Total Records count for each stream is no longer 0.
2c. Refresh Data Graph (5 minutes)
Step
Action and Details
Images
Refresh Data Graph
- Navigate to Data Cloud app and the Data Graph tab - Click on the dropdown of the data graph (Hospitality Realtime Profile) - Click Update Status - Once the job completes successfully, this status will be set as Active.
2d. Run Calculated Insights (5 minutes)
Step
Action and Details
Images
Run Calculated Insights
- Navigate to Data Cloud app and the Calculated Insights tab - Query for Guest Stay Metrics calculated insight - Using the drop down control on the right, click "Publish Now" to refresh the Guest Stay Metrics 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. - Guest Lifetime Value - Guest Satisfaction Score - Guest Classification
3. Prepare Experience Site
3a. Activate Messaging Setting (5 minutes)
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
3b. Configure Digital Experience (20 minutes)
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 ‘Sunshine Resort’ - Click on the ‘Banner’. Under Image Settings, click ‘Clear Image’ - Click on ‘Select Image from CMS’ -> Click on ‘Banner’ image and click save - Click on Page Structure Icon on Left Side of Page - Scroll Down and Click on ‘Embedded Messaging ‘and update as per screenshot below - Select Site End Point as - ESW_ESA_Web_Deployment_1733127495782 - Select enhanced Service URL from dropdown - it should be same as Site URL , refer Screenshot. - Click on 'Page Structure' Scroll Down and Click on 'Multilevel Navigation Menu'. In the right-hand panel under Default Menu select 'Default Navigation' - Click on 'Page Structure' Scroll Down to Footer Section under Column 1 , click on Link List then On the Right Hand Side on Default Menu Select 'Default Our Company Menu'. - Click on Link List inside Column 2 On the Right Hand Side on Default Menu Select 'Default get Help Menu'. - Click on Link List inside Column 3 On the Right Hand Side on Default Menu Select Default my Account Menu . - Click on Social Link List inside Column 4 On the Right Hand Side on Default Menu Select Default Social Media Menu
- Click on Setup - In the Quick Find box, type Digital Experiences, then select All Sites. - Click on Builder next to the site named ‘Sunshine Resort’. - At the top, use the search bar to find the Category Page, and open it. - On the Category Page, select the Result Grid component. - On the right-hand panel, change both the Column Spacing and Row Spacing to Large.
3c. Enable Login Access (5 minutes)
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 ‘Sunshine Resort’, 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 Sunshine Resort Profile - Assign Permission Set Group as "Hospitality Industries Permission Set Group" - Click Save
3d. Change the layout of the Login page (5 minutes)
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 ‘Sunshine Resort’, click on Builder - From the Pages dropdown, search for Login, and then select Login -Remove the site logo and add a Text Box component. Enter the text as "Sunshine Resorts", make it bold and center - Publish the changes
3e. Change the layout of the Register page (5 minutes)
Step
Action and Details
Images
Change the layout of the Register page
- Go to Setup, search for Digital Experiences, and select All Sites - Against the site 'Sunshine Resorts', click on Builder - From the Pages dropdown, search for Register, and select Register - Remove the site logo and add a Text Box component. Enter the text as "Sunshine Resorts", make it bold and center (perform this step only if the “Sunshine Resorts” text box doesn't exist) - Publish the changes
3f. Change the email Address (5 minutes)
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
3g. Create Trusted URLS (10 minutes)
Step
Action and Details
Images
Create Trusted URLS
- Navigate to Setup, in Quick Find search Trusted URLs and click on Trusted URLs (under Security) - Click on New. Key-in 'TrustedSite2' as the API Name - Use https://DOMAINNAME.my.site.co for URL - Replace DOMAINNAME with actual org Domain Name.
To find the Domain name please follow the following steps: - Navigate to Setup, in Quick find search Domain → Please add https://DOMAIN from the below path (please select domain which is related to the experience cloud Sites Domain) - Click on Save
Add Trusted URL to Agent Sites - Click on Setup - Click on Sites -> Check the check box if Domain is not enabled, Click on 'Register My Salesforce Site domain' button - Click on ‘ESW_ESA_Web_Deployment_1733127495782’ - Click on Add Domain - Add DOMAINNAME with actual org Domain Name.
To find the Domain name please follow the following steps: - Search for Domain in Quick find → Please copy the name which ends with .my.site.com (e.g epicorgfarm79.my.site.com) - Navigate to Setup, in Quick Find search All Sites - Click on All Sites (under Digital Experiences) - Click on Builder against Sunshine Resort - Click on Settings and then 'Security & Privacy' - Click on Add Trusted Sites button - Add Name as 'TrustedSite1' and add url as domain name, which you have copied on prev steps (e.g https://e.g epicorgfarm79.my.site.com) - Click Publish
3h. Create CORS (10 minutes)
Step
Action and Details
Images
Create CORS
- In the Quick Find>Type CORS - Click on New> Paste https://DOMAINNAME.my.site.com In Origin URL Pattern - Replace DOMAINNAME with actual org Domain Name. > Click Save
-Click on New . - Paste https://*.develop.vf.force.com to 'origin URL Pattern' - Click Save
- Click on New - Paste https://*.live-preview.salesforce-experience.com. to ‘origin URL Pattern’ - Click Save
- Click on New - Paste https://*.my.site.com to ‘origin URL Pattern’
To find the Domain name please follow the following steps:
> Search for Domain in Quick find → Please copy the name which ends with .my.site.com (e.g epicorgfarm79.my.site.com)
3i. Publish ESA (5 minutes)
Step
Action and Details
Images
Publish ESA
- Click on Setup - In Quick Find, search Embedded Service Deployments and click on 'Embedded Service Deployments' (under Feature Settings --> Service --> Embedded Service) - Click on ESA Web Deployment - Click on 'Publish' button - Wait for confirmation Message
4. Prepare Agentforce
4a. Add Agent User into Agentforce Service Agent and Activate (5 minutes)
Step
Action and Details
Images
Add Agent User into Agentforce Service Agent & Activate
- Click on setup, search for Agent - Click on Agentforce Agents (under Einstein --> Einstein Generative AI --> Agentforce Studio) - In the Agent list, click on 'Agentforce Service Agent' - In the Details tab, click on the pencil icon against "Agent User", select 'Agent User' - Check the check box 'Keep a record of conversations with Enhanced Event Logs to review agent behavior.' - Click on Save then click on Open Builder - Click Activate
5. Miscellaneous Configuration
5a. Update Einstein Search Retriever (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 AnswerHospitality Question and click on the hyperlink - Hover the cursor on text the next to 'Use this information to answer the question: ', click on Resource, click on Einstein Search, click on 'Hotel_FAQ_v3' and click on 'Hotel_FAQ_v3' Retriever - On the right side click on default Hotel_FAQ_v3_Retriever, in a Search text add value as "Input:Product.Name" - Hover over cursor on next text on 'Use this information to answer the question:', click on Resource, click on Einstein Search and click on Hotel_Safety_FAQ_V2 - On the right side click on default Hotel_Safety_FAQ_v2_Retriever in a Search text add value as "Input:Product.Name" - Click on Save As New Version click Activate
5b. Share Product Object to External User (5 minutes)
Step
Action and Details
Images
Provide Product2 Sharing
- Go to Setup, in the Quick Find Box, search for Sharing Setting - Click on Sharing Setting (under Security) - Click Edit - For Product Object, under Default External Access, select "Public Read Only" - Click Save
- Go to Setup - Search for App Manager - Click on App Manager - Click on Edit Related to "Sunshine Trails Hospitality" - Check the checkbox under "Org Theme Options" - Click Save
5d. Assign Contact Record Page as Org Default (5 minutes)
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 Page (API Name should be 'Contact_Record_Page') - Click on Edit -> Click on Activation -> Click on 'Assign Org Default' (Desktop and phone) -> Click on Save
5e. Create a New Version of Omni-Channel Flow (10 minutes)
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 ESA - Deactivate the flow and click on the Route To ESA at the end - Remove the Service channel and select some other option and then select “Live Message” again - In Route To Select "Agentforce Service Agent" - In Agentforce Service Agent Select "Agentforce Service Agent" - Go to the Fallback Queue ID 🡪 Remove the Messaging Queue and add it back (same queue) - Save as new version and activate the flow by clicking on the Activate button.
5f. Access email Deliverability to all email (5 minutes)
Step
Action and Details
Images
Access email Deliverability to all email
Click on Setup - Search for ‘Deliverability’ - Change Access Email from ‘System email Only’ to ‘All email’. - Click Save
5g. Prepare User (10 minutes) $${ Optional: \space These \space steps \space are optional \space if \space you \space choose \space to \space use \space your \space own \space data. }$$
Step
Action and Details
Images
Prepare Test User
Note: These steps apply to both existing and new contacts. Below is an example using Marje
To test Community functionality , please use : Marje Croley contact to login as experience user - Navigate to Setup - In the Quick Find box, search for Digital Experiences - Click the ‘Allow users standard external profiles for self-registration, user creation and login checkbox - Click Okay and click Save
Enable Community User
- Click the App Launcher - Select the Sunshine Trails Hospitality app - Navigate to the Contact of Marje Croley - Click the 'Enable as Customer' button (Goto classic page, if the button is not visible) - Update the User License to Customer Community Profile - Update the Profile to Sunshine Resort Profile - Update the Email field to your personal email - Click Save
Optional: Update Marje’s email address in her contact record if you want to receive notifications. Otherwise, this step is not necessary.
- Click the App Launcher - Select the Sunshine Trails Hospitality app - Navigate to the Contact of Marje Croley - Click the Edit button - Update the Email field to your personal email - Click Save
6. General Notes (30 minutes)
Step
Action and Details
Images
General Notes for new community User
To test Community functionality , please use : Marje Croley contact to login as experience user Note: If user self register from experience site sign up page, admin needs to add below permission set to that new community user - Buyer - Customer Community Plus Permissions
Please ensure that the Product Experience Prompt Builder is active.
To verify:
- Navigate to Setup - In the Quick Find box, search for Prompt - Click on Prompt Builder - Open Product Experience - Check if it is Active If not, please activate the Prompt Builder
Enable EPSessionIdHelper Visualforce Page
- Log into Salesforce, click the gear icon in the top-right corner, and select Setup - In the Quick Find box, search for Visualforce Pages and select it. - Locate EPSessionIdHelper in the list. - Click the Security link next to the Visualforce page label - In the Available Profiles list, select the following profiles: Einstein Agent User Sunshine Resort Profile System Administrator - Move them to the Enabled Profiles list using the arrow button - Click Save to apply the changes
Steps to Create a New Retriever in Einstein Studio
-Go to the App Launcher -Type "Einstein Studio" in the search bar and select it - Click on "Retriever", then click "New Retriever" -Select Retriever Type as "Data Cloud" -Set the following: a) DMO: Product b)Search Index: Product - Click Next -Choose "All Documents" when prompted - In the Fields to Return section, configure the following mappings: a) Description → Product > Product Description b) Product Id → Product > Product Id c) Pet Policy → Product > Pet Policy d) Product Family → Product > Product Family e) Name → Product > Product Name f) isActive → Product > Active Click Next, then click Save.
Steps to Add a Retriever to the "Searching Hotel" Prompt in Prompt Builder:
-Go to Setup -Search for and click on Prompt Builder -Open the "Searching Hotel" prompt -Locate the Hotel Details text section -To add a retriever: -Click Resource - Select Einstein Retriever -Choose product then select Product Retriever
Finalize and Activate the Prompt in Prompt Builder:
-Click on the Retriever you just added - On the right-hand panel, the Product Retriever settings will appear -In the Search Parameter text box, enter the following value: input:Question -Click Save As to save your changes -Finally, click Activate to activate the prompt in Prompt Builder
Steps to Add a Retriever to the "Searching Hotel For Pets" Prompt in Prompt Builder:
-Go to Setup -Search for and click on Prompt Builder -Open the "Searching Hotel For Pets" prompt Locate the Hotel Details text section -To add a retriever: -Click Resource -Select Einstein Retriever -Choose Product Then select Product Retriever
Finalize and Activate the Prompt in Prompt Builder:
-Click on the Retriever you just added -On the right-hand panel, the Product Retriever settings will appear -In the Search Parameter text box, enter the following value:input:Question Click Save As to save your changes Finally, click Activate to activate the prompt in Prompt Builder.
7. Mulesoft Configuration for Amadeus Prices
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, please ensure you register with Amadeus to obtain your Client ID and Client Secret.
Note: Skip Step 2, if you are using the provided configuration XML file (from Step 1) to create a Mule Project
1. Mulesoft Configuration (10 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. }$$
2. Mulesoft Configuration Steps (20 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
Create a new project in Anypoint Studio
Add and Configure the Listener
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 "/Amadeus_Price_API"
Add Set Variable in the Flow to Store the Access Token
Store Access Token step - Configure as shown in the image
Call the Amadeus API to get Hotel prices
Request To Get The Hotel Price step - API URL: https://test.api.amadeus.com/v3/shopping/hotel-offers - Method: GET - Pass the Header and Query Parameters (get the Hotel Id from Amadeus API and store in the query parameters to get prices for these Hotels) Hotel Id list: MCLONGHM,RTPAR001,BRLAXRRB,ALLON591,ICTYOICB,HLDXB100,ARMADALC,ARMADCAR
Add the Transform message in Mule to prepare the JSON this will comes up as Mule API response
Transform Message step - Prepare the JSON (format given below) that is going the used in Salesforce Connector to ingest data via ingestion API %dw 2.0 output application/json var hotelName = ["Palm Oasis Resort","Coral Bay Retreat","Emerald Bay Resort","Paradise Sands Resort","Azure Cove Villas","Golden Palms Retreat","Sea Breeze Villas","Lagoon Paradise Resort"] --- { data: payload.data map(item, index) -> { hotel_name: hotelName[index], cost: floor(item.offers[0].price.total as Number), created_date: now() as DateTime } }
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).
8. Configure Marketing Cloud Setup
Important Note: If you already have a Marketing Cloud org, perform the steps below. If not, create one first and then proceed with the steps.
1. Log In To Marketing Cloud
Step
Action and Details
Images
Login to Org
- Open the browser and enter the url as https://mc.exacttarget.com/ and enter the username and password and verify the org. -Land on Home page
2. Create Data Extension In Marketing Cloud
Step
Action and Details
Images
Create Data Extension
-Click on Audience Builder>>Click on Contact Builder>> Click on Data Extension - Click on Create button - Enter name as "Journey API DE" ,External Key as unique (eg:14A4BFAF-CB88),Check the checkbox of Is Sendable? and Is Testable and click on Next - Turn of Data Retention Setting and click on Next - Create Attribute as 1.Enter name as SubscriberKey, Length as 254, type as Text , Select Require checkbox 2.Enter name as EmailAddress, Length as 254, type as Email Address , Select Require checkbox 3. Enter Name as FullName , type as Text, length as 50 4. Enter Name as FirstName , type as Text, length as 50 5. Enter Name as LastName , type as Text, length as 50 5. Enter Name as LastName , type as Text, length as 50 6.Enter Name as Survey-URL , type as Text, length as 2500 7.Enter Name as Check-In-Date , type as Date 8.Enter Name as Check-Out-Date , type as Date 8.Enter Name as Room-Type , type as Text, length as 255 9.Select primary checkbox , enter Name as PhoneNumber , type as Phone, length as 50, Select Required checkbox 10.Enter Name as LOCALE , type as locale, length as 5, Select Required checkbox and also make sure Send Relationship selected as Email and relates to selected as SubscriberKey and click on complete button, PFA screenshot
3. Create Email Template In Marketing Cloud
Step
Action and Details
Images
Create a Email template
- Click on Content Builder>>Click on Content builder -Click on Create button, click on Email Template,Under this select from existing template and select blank page template Create below email template by referring screenshot 1. Welcome Sunshine Trails Hospitality Email (store under content location and "Sunshine trails Logo" image attached under image section so you can download and add into your email content)
4. Create SMS Message In Marketing Cloud
Step
Action and Details
Images
Create a SMS Message
- Click on Content Builder>>Click on Content builder -Click on Create button, click on SMS/MMS - Edit name as Sunshine Resort Welcome SMS To Guest - Turn on Add Media,Enter Message by referring screenshot -Click on save , PFA screenshot
5. Create a Journey Builder Using Journey Builder In Marketing Cloud
Step
Action and Details
Images
Create Journey Builder
-Click on Journey Builder >> Under this also click on Journey Builder -Click on Create Journey and select Multi Step Journey and click on create button and select email -Edit the name as Sunshine Guest Welcome Journey-11.12.24 and drag and drop API Event under start as entry source , and click on it -Once it get opened click on create event and activity name as Sunshine Guest Welcome Journey-11.12.24 and select data extension as Journey API DE,click on summary and click on Done button -Select SMS from Message and place next to API Event and click on it and Select Message and under this select Sunshine Resort Welcome SMS To Guest and click on Summary and click on edit for Message Configuration and select US code 64586 and click on Done -Select Email from Message and place next to SMS and click on it and Select Message and under this select Welcome Sunshine Trails Hospitality Email and click on Summary and refer screenshot for email configuration and at last click on Done -Select Wait by duration from flow control and place it after email, and click on it and select 1 minute and click on Done -PFA screenshot
6. Create Install Package In Marketing Cloud
Step
Action and Details
Images
Install Package
-Go to Setup>>Apps>> Install Packages>>Click on New button -Enter name and click on save -Once it gets open then click on Add Component and select API Integeration and click on Next -Select Server to Server and click on Next - Refer screenshot for providing access of read/write to component and click on save -Note down client secret key somewhere.
7. Update Custom Metadata Record Values In The Hospitality Org.
Step
Action and Details
Images
Update value in metarecord
-Login with retail org -click on setup>>enter custom metadata and search and click on Custom Metadata Types -Click on SFMC API Events and open it -click on Manage SFMC API Events>> click on SFMCEventDetails record and click on edit button -Enter below value -1.AccountId as MID of marketing cloud 2. AuthenticationBaseURI as Authentication Base URI , Clientid as client id , Clientsecret as client secret key you have copied to somewhere, restbaseUrl as REST base URI, from newly created install package in marketing cloud -eventKey as event defination key from journey builder recently you have created -Save the record
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.
There are two contacts populated with all the relevant information to drive these conversations - Marje Croley and John Smith. You can login to experience cloud as either of these contacts to have these full agent conversations.
$${ Using \space the \space Agent \space to \space search \space for \space a \space hotel \space and \space create \space a \space reservation }$$
Sl. No.
Utterance
Behind the Scene
Topic
Components
1.
Find a beach front family friendly hotel for next weekend?
Uses LLM to find dates for next weekend, reads unstructurd data via a custom retriever as the hotel description is from in-line unstructured data (i.e. column in a table), prompt builder, APEX class to orchestrate a call via Mulesoft to a travel consolidator to compare prices and looks at structured Reservation Data, Platform event to show the flyout experience
Hotel Inquiry For Family Friendly Hotel and Pets Allow Hotel
a. Prompt Action - Searching Hotel.
b. Flow - Get Product Details From Prompt Builder
c. Apex - DisplayProductList - to publish the platform event to display the Flyout - NextWeekendDateCalculation - display the nextweekend check in/check out date for each hotel
d. LWC - productListComponent - displayFriendlyHotel - childModal - defaultPrechatValuesComponent
e. Platform Event - Enable_Pet_Friendly_Comp__e - Enable_Hotel_Search_Comp__e
f. Ingestion API - Mulesoft_Ingestion_API
2.
Do you allow pets?
Keeps the original context and uses the custom retriever as the hotel description is from in-line unstructured data (i.e. column in a table), prompt builder, APEX class to orchestrate a call via Mulesoft to a travel consolidator to compare prices and looks at structured Reservation Data, Platform event to show the flyout experience
Hotel Inquiry For Family Friendly Hotel and Pets Allow Hotel
a. Prompt Action - Searching Hotel For Pets.
b. Flow - Get Product Details From Prompt Builder
c. Apex - DisplayProductList - to publish the platform event to display the Flyout - NextWeekendDateCalculation - display the nextweekend check in/check out date for each hotel
d. LWC - productListComponent - displayFriendlyHotel - childModal - defaultPrechatValuesComponent
e. Platform Event - Enable_Pet_Friendly_Comp__e - Enable_Hotel_Search_Comp__e
f. Ingestion API - Mulesoft_Ingestion_API
3.
What experiences are offered here?
This is where we use real-time browsing behavior and Real Time Data graphs to determine the property the user is looking at and return contextual responses
Real Time Experiences Offered
a. Flow - Get Product Details.
b. Flow triggers the Apex Action class - Get Real Time Selected Product Id and internally we invoke the - Data Graph API - Hospitality_Realtime_Profile.
c. Prompt Action - Product Experience
4.
Are there any special offers?
Looks at the Promotion DMO based on the Contact ID of the user using the agent
Hotel Offers
a. Flow - Get Promotion Details
5.
What activities are offered for my children?
Get all the product (wehre Product Family - Sunshine Resorts Family)from Flow and provide details to Prompt along with Contact and interested Hotel Name
Children Activities
a. Prompt Action - Activities for children
b. Flow - Get Products for Prompt Builder
6.
What is your cancellation policy?
Reads unstructured data from PDFs that has been ingested into Data Cloud where it is chunked, vectorized and indexed for easy retrieval
Hotel Policy
a. Prompt Action - AnswerHospitality Question
7.
I would like to book the room
Creates a record in the reservation DMO, based on the hotel and the dates
Real Time Experiences Offered
a. Flow - Create Reservation Record
$${ Using \space the \space Agent \space to \space check \space in }$$
You need to have a valid reservation record where the start date is within 24 hours to use the agent to check in.
Sl. No.
Utterance
Agent Response
Behind the Scene
Topic
Components
1.
I'd like to Check-in
Determines the guest checking in, and finds the upcoming reservation from the ReservationDMO, if there are no upcoming reservations the agent doesn't continue with the checkin process
Check In
a. Apex - GetReservationDetails
Would you like to proceed with checking in?
Reservation Update
a. Flow - Update Reservation Record
Would you like to further upgrade to an Ocean view room for $25/night?
Reservation Update
a. Flow - Update Reservation Record
How would you like your key—digital or pick up at the front desk?
Reservation Update
a. Flow - Update Reservation Record
2.
What type of activities available in the area?
Looks at the Booking and Experiences DMO based on the interests of the guest and recommends activities for the period that the customer is staying at the hotel
Experience Management
a. Prompt Action - Generate Personalized Schedule
3.
Would you like me to email these recommended experiences to you?
Sends an email with all the recommendations to the guest
Experience Management
a. Flow - Send Confirmation Email For Experiences
4.
Would you like to book any of these experiences?
Lists all available sessions based on the experience selected by the guest
Experience Management
a. Apex - GetSessionDetails
5.
Which Session would you prefer and how many people are in your party?
Creates a booking record based on the session selected
Experience Management
a. Flow - Create Booking
6.
What should I bring?
Based on the experience selected, provides a list of items to bring along with weather details for the day of the experience
Experience Management
a. Apex - CheckWeather
About
A E2E Sample App showcasing how Data Cloud powers Agentforce for the hospitality industry