Skip to content

Exercise 1 - Unify Data with Data Streams

The goal of this exercise is to learn how to use Data Streams to ingest data from multiple sources into Data Cloud and how those sources map into the Customer 360 model.

Different systems will have different data models. For Coral Cloud Resorts, they have the Contact object in Service Cloud and a Guest table in Amazon S3. Each of these systems has different fields representing people. For instance, their S3 reservation system has a Surname, but the same information is labeled LastName in Service Cloud.

Data Cloud abstracts this complexity by mapping each source system to a canonical model. Data Cloud has the concept of an Individual. So, Guest data from S3 and contact data from Service Cloud are mapped to the individual object.

This canonical model is called the Customer 360 Data Model and has many out-of-the-box tables based on industry best practices to meet many use cases. This schema is also normalized. If you’re coming from a Salesforce background, you’ll notice that the party data model has separate tables for things like Phone Numbers, Addresses, and Emails.

In this workshop, we’ll ingest the Cases from Service Cloud. This will allow us to tie Service Cases to the Unified Individual.

Step 1: Review the Customer 360 Data Model

  1. From the Data Cloud Home Page, navigate to the Data Model tab. By default, this tab lists the Mapped Data Model Objects (DMOs). Image

  2. Let’s look at the “Big Picture” first. In the Upper Right, change from List view to Graph view. Image

  3. This shows a data model visualization, including relationships between objects. Image

Observe the distinct colors:

Choose Profile if your dataset aligns with:

  1. A list of consumers with identifiers like consumer IDs, email addresses, or phone numbers

  2. A list of businesses or accounts with account IDs

  3. A list of employees or any other population for segmentation or as a segment’s starting population Opt for the Engagement category if your dataset is time-series oriented, such as Web Engagement, Email Engagement, or Orders. If your dataset is related to Profile and Engagement but doesn’t fit those categories, like product, store, or vehicle info, go for the Other category.

  4. In the Upper Right, search for Individual. Image

  5. This will show two key objects in the data model: Individual and Unified Individual. Looking at the graph, the Individual is the core of the data model, with all Engagement data from all sources related to an Individual (or Guest in Coral Cloud’s case). Unified Individual represents a single Coral Cloud Resort Guest unified across all sources. Remember, this data model is meant as a jump start and is completely flexible and extensible. We’ll dive deeper into this in the remainder of the session.

  6. You may want to leave the Data Model graph open to refer back to throughout the workshop.

Step 2: Ingest Cases from Service Cloud

  1. Open the Data Streams tab in a new browser tab.

  2. Click New on the upper right. This New Data Stream wizard lists many different sources, AND this isn’t all of them…just a small number enabled in this workshop environment.

  3. Select Salesforce CRM as the source and click Next.

    Image

  4. In the next step, click on All Objects. Then, search for and then select Case. Image

  5. Click Next at the bottom.

  6. On the next screen leave the Case Fields selections as default and click Next.

  7. On the next screen, specify the Category as Engagement. With Engagement data, we need an Event Time field indicating the timing of the engagement. Select Created Date in this case, indicating when the Case was opened. Image

  8. Click Next.

  9. In the last dialog, leave the Data Space as default and click Deploy. A data space in Data Cloud organizes data for unification, insights, and marketing. Categorize by brand, region, or department so users see only relevant data. Once deployed, you’ll see an overview of your new Data Stream. Notice that no fields are mapped under Data Mapping. Let’s fix that!

Step 3: Map the Case Data Stream to the Customer 360 Data Model

  1. After clicking Deploy, your browser will load the Case_Home data stream overview page. Image

  2. Click the Start button in the Data Mapping box.

  3. The Source is on the left in a Data Stream mapping. In our case, this represents the fields in the Case object from Service Cloud.

  4. The Destination is on the right. We must select where in the Customer 360 Data Model to put this data. Click Select Objects.

  5. Search for and select the Case object. Image

  6. Notice the Einstein logo and note at the top under Select Objects. Click Done.

  7. You selected the Data Model Object, and Einstein created a preliminary mapping. Nice Teamwork! Image

  8. We need to add a couple of fields to our mapping. We need to tie the Case to the Individual and we need to set the Case Status. This will allow us to tie our service cases to our Guests and to check for open service cases. On the right side of the screen, under Data Model entities, type Individual in the Search. You won’t have to type it all before it will appear below under Unmapped.

    Image

  9. On the left side from the DLO, click Contact ID. Move back to the destination and click Individual. As a result, the Contact ID will be mapped to the Individual. Review the Mapping below. Image

  10. In the same manner, we need to map our Status field from the Case DLO on the left to the Case Status on the right side of the screen. You can search for Case Status under Data Model entities, as you did for Individual.

  11. Once your Case mappings match the below image, click Save & Close to complete the mapping exercise. Image

  12. From the Data Stream detail page, click Refresh Now to execute the stream and ingest the Case data into Data Cloud.

This completes Exercise 1.

Released under the MIT License.