Who can use this feature?
- Global admins or users with advanced permissions
- Available on all plans
A Community platform integration allows you to add community activity to your customer journey. The integration pulls data from your Community platform (via Salesforce) into Totango.
Any Community platform that integrates with Salesforce, such as Higher Logic Vanilla, may support the configuration in this article. Once these integration jobs are set up, we recommend setting up the Drive Community Engagement SuccessBLOC to view insights from your community engagement data and take action.
Overview of the recommended jobs
Totango recommends setting up the following integration jobs with Salesforce. Refer to the remaining steps in this article for step-by-step instructions.
The following assumes that you already have Salesforce integration jobs running for Accounts and Contacts (at least one job each).
Activity Type(s) | Data Interval | Noteworthy Totango Attributes |
---|---|---|
Salesforce Aggregation Jobs (Account): Count the number of new comments on discussions over 4 intervals. |
||
Commented on a Discussion | Last 7 days | Commented on a Discussion 7 days* |
Last 30 days | Commented on a Discussion 30 days* | |
Last 90 days | Commented on a Discussion 90 days* | |
Last 180 days | Commented on a Discussion 180 days* | |
Salesforce Job (Usage): Set Module and Activity values for specific community activities. |
||
Contact identifier | Last day | User ID |
Account identifier | Last day | Account ID |
Posted a Discussion | Last day | Module: Community Activity: [Set by Activity Type] |
Commented on a Discussion | Last day | |
Upvoted an Idea | Last day | |
Posted an Idea | Last day | |
Registered | Last day | |
RSVP'd to an Event | Last day | |
Salesforce Job (Collection): Collect details for every community activity. |
||
Account identifier | - | Account ID |
Community activity identifier | - | Collection ID* |
Description | - | Description__c* |
Email of member | - | Email__c* |
Type of community activity | - | Activity_Type__c* |
Activity date | - | Activity_Date__c* |
Name of activity | - | Activity_Name__c* |
URL to community activity | - | Url__c* |
*Indicates a new Totango attribute created in the integration; recommended names are provided, but you can change them. Underscore, underscore “c” (__c) is common syntax specific to Salesforce to indicate a custom field.
1. Configure the Community/Salesforce integration
You must create and set up an object and a trigger in your Salesforce account so that predetermined contact and account activities that occur in your Community platform are automatically synced to your Salesforce account. Refer to the following steps for an example via Vanilla: User Activity Sync.
2. Configure the aggregation integration jobs
The following steps assume you have a Salesforce Aggregation connection configured. If not, follow those steps and return here when ready.
Use these steps to create a total of 4 aggregation jobs, adjusting the LAST_N_DAYS value in the query filter for each new job (7, 30, 90, 180).
- From within Settings, expand Data Management > Customer Data Hub.
- From the list of active connectors (left), choose CRMs.
- From the list of available connectors, hover over the Salesforce Aggregation connection you want to use, and click View Integrations.
- Click +Create Integration.
- From the available import objects, choose Accounts.
A new integration page appears, based on the selected object (e.g., New Accounts Integration). - In the Select Data Source area, add the following ySOQL query (with a GROUP BY term). Ensure that you replace "Account__c" with the account identifier you use in Salesforce.
SELECT count(Activity_Type__c), Account__c
FROM Vanilla_Community_Activity__c
WHERE Activity_Date__c = LAST_N_DAYS:7 AND Activity_Type__c = 'Commented on a Discussion'
GROUP BY Account__c - Click Load Preview to see the results.
- Continue with mapping for the following:
- Salesforce identifier ➜ Totango Account ID
- Activity count ➜ Commented on a Discussion 7 days (New Attribute)
- Click Validate Mapping.
- In the Settings area, rename the job to easily identify it (e.g., Commented on Discussion 7).
- Select the option to allow new objects creation.
- From the Schedule area, schedule the job to run daily.
Refer to mapping, scheduling, and settings for more details.
- Save and Sync.
- Repeat these steps for the 3 remaining aggregation jobs. Adjust the LAST_N_DAYS value in the query filter for each new job (30, 90, 180).
Data will be immediately reflected in the UI once the processing is done for each job.
3. Configure the Salesforce integration job (Usage)
The following steps assume you have a Salesforce connection configured. If not, follow those steps and return here when ready.
- From within Settings, expand Data Management > Customer Data Hub.
- From the list of active connectors (left), choose CRMs.
- From the list of available connectors, hover over the Salesforce connection you want to use, and click View Integrations.
- Click +Create Integration.
- From the list of available import objects, choose Usage.
A new integration page appears, based on the selected object (e.g., New Usage Integration). - In the Select Data Source area, set the object to your Salesforce Community object.
- Add object fields by clicking into the box to see available fields from the selected object. You'll need fields for the Salesforce account identifier, community activity identifier, and the community member identifier.
Dot notation is supported for selecting fields that are related to the selected object (e.g., contact.email).
- Use the following Query Filter area to limit the data set for the selected object fields:
CreatedDate = LAST_N_DAYS:1
- Click Load Preview. The Preview Data area shows the first 10 rows that match.
- In the Map and Format Data Fields area, Totango attempts to map the columns in the data source (Salesforce) with attributes in Totango. Required attributes (keys) are mapped at the top of the list.
- Ensure that each source field (left) maps to the desired Totango attribute (right).
- Community member identifier ➜ User ID
- Account identifier ➜ Account ID
- [Constant function] ➜ Module
- Click inside the field to open the Function Editor
- Add the following function: constant("Community")
- [Logical function] ➜ Module
- Click inside the field to open the Function Editor
- Add the following function:
IFERROR(
if(FIND("Registered",___Activity_Type__c)>0,"Registered"),
IFERROR(
if(FIND("RSVP",___Activity_Type__c)>0,"RSVP"),___Activity_Type__c
))
- Click Validate Mapping. The validation must be successful in order to proceed.
- Preview the data in the file to ensure it looks correct.
- From the Settings area, add a name to help you identify the job later.
- From the Schedule area, schedule the job to run daily.
Refer to mapping, scheduling, and settings for more details.
- Click Save and Sync.
Data will be immediately reflected in the UI once the processing is done for the selected job.
4. Configure the Salesforce integration job (Collection)
The following steps assume you have a Salesforce connection configured. If not, follow those steps and return here when ready.
- From within Settings, expand Data Management > Customer Data Hub.
- From the list of active connectors (left), choose CRMs.
- From the list of available connectors, hover over the Salesforce connection you want to use, and click View Integrations.
- Click +Create Integration.
- From the list of available import objects, choose Collections.
A new integration page appears, based on the selected object (e.g., New Collections Integration). - In the Collection name box, start typing a new collection name (click the option to create new).
- In the Select Data Source area, set the object to your Salesforce Community object.
- Add object fields by clicking into the box to see available fields from the selected object. You'll need fields for the Salesforce account identifier, community activity identifier, and each activity property you want to display.
- Click Load Preview. The Preview Data area shows the first 10 rows that match.
- In the Map and Format Data Fields area, Totango attempts to map the columns in the data source (Salesforce) with attributes in Totango. Required attributes (keys) are mapped at the top of the list.
- Ensure that each source field (left) maps to the desired Totango attribute (right). Recommended names are provided, but you can change them.
- Account identifier ➜ Account ID
- Community record identifier ➜ Collection ID
- Description ➜ Description__c (New Attribute)
- Email ➜ Email__c (New Attribute)
- Activity Type ➜ Activity_Type__c (New Attribute)
- Activity Date ➜ Activity_Date__c (New Attribute)
- Activity Name ➜ Activity_Name__c (New Attribute)
- Url ➜ Url__c (New Attribute)
- Click Validate Mapping. The validation must be successful in order to proceed.
- Preview the data in the file to ensure it looks correct.
- From the Settings area, add a name to help you identify the job later.
- Ensure the options to allow new accounts creation and automatically resolve matching conflicts are turned OFF.
- Ensure the option to allow new collections creation is turned ON.
- From the Schedule area, schedule the job to run hourly.
Refer to mapping, scheduling, and settings for more details.
- Click Save and Sync.
Data will be immediately reflected in the UI once the processing is done for the selected job.
5. Install the Drive Community Engagement SuccessBLOC
This step is optional, but it's recommended to start with this BLOC to take advantage of built-in scorecards, segments, campaigns, SuccessPlays, and more.
- From within Totango, install the Drive Community Engagement SuccessBLOC from within the Journey Marketplace (left nav).
- Once installed, review some of the segments to spot-check your data:
- Collection: All Community Actions
- User: All Users (Commented on Discussion)
- User: All Users (Registered, 30 days)