Profile Event Routing

Profile Events described in a Web Connector Schema are mapped to individual Data Streams when deployed. To route profile data collected in Salesforce Interactions SDK to the proper Data Stream, add the eventType field to any user.attributes data captured.

Match the value of eventType to developerName of a profile event specified in the Web Connector Schema. Any schema required fields listed for that profile event must be captured.

Example

When given this schema with contactPointEmail event:
1{
2  "records": [
3    {
4      "developerName": "contactPointEmail",
5      "masterLabel": "Contact Point Email",
6      "category": "Profile",
7      "externalDataTranFields": [
8        {
9          "masterLabel": "eventId",
10          "dataType": "Text",
11          "developerName": "eventId",
12          "isDataRequired": true
13        },
14        {
15          "masterLabel": "category",
16          "dataType": "Text",
17          "developerName": "category",
18          "isDataRequired": true
19        },
20        {
21          "masterLabel": "dateTime",
22          "dataType": "DateTime",
23          "developerName": "dateTime",
24          "isDataRequired": true
25        },
26        {
27          "masterLabel": "deviceId",
28          "dataType": "Text",
29          "developerName": "deviceId",
30          "isDataRequired": true,
31          "primaryIndexOrder": 1
32        },
33        {
34          "masterLabel": "email",
35          "dataType": "Text",
36          "developerName": "email",
37          "isDataRequired": true
38        },
39        {
40          "masterLabel": "eventType",
41          "dataType": "Text",
42          "developerName": "eventType",
43          "isDataRequired": true
44        },
45        {
46          "masterLabel": "interactionName",
47          "dataType": "Text",
48          "developerName": "interactionName",
49          "isDataRequired": true
50        },
51        {
52          "masterLabel": "pageView",
53          "dataType": "Text",
54          "developerName": "pageView",
55          "isDataRequired": false
56        },
57        {
58          "masterLabel": "sessionId",
59          "dataType": "Text",
60          "developerName": "sessionId",
61          "isDataRequired": true
62        },
63        {
64          "masterLabel": "sourceChannel",
65          "dataType": "Text",
66          "developerName": "sourceChannel",
67          "isDataRequired": false
68        },
69        {
70          "masterLabel": "sourceLocale",
71          "dataType": "Text",
72          "developerName": "sourceLocale",
73          "isDataRequired": false
74        },
75        {
76          "masterLabel": "sourcePageType",
77          "dataType": "Text",
78          "developerName": "sourcePageType",
79          "isDataRequired": false
80        },
81        {
82          "masterLabel": "sourceUrl",
83          "dataType": "Text",
84          "developerName": "sourceUrl",
85          "isDataRequired": false
86        },
87        {
88          "masterLabel": "sourceUrlReferrer",
89          "dataType": "Text",
90          "developerName": "sourceUrlReferrer",
91          "isDataRequired": false
92        }
93      ]
94    }
95  ]
96}

You would instrument the capture of the contactPointEmail profile event in Salesforce Interactions SDK:

1SalesforceInteractions.sendEvent({
2  user: {
3    attributes: {
4      eventType: 'contactPointEmail',
5      email: 'user@domain.com'
6    }
7  }
8})

The Salesforce CDP Module automatically populates the required fields for Salesforce CDP and Salesforce Interactions SDK.