Overview
In order to have a better team collaboration and better understanding the customer full picture in real-time, task, touchpoints can be synced from and to Salesforce and campaign touches can by synced to Salesforce to support use cases where the organization wants to use Totango as the ultimate system of record for activity history or to reflect Totango activity history in Salesforce.
Every task, touchpoint or campaign touch which is created in Totango can be synced to Salesforce as account activity or a task event or a custom Salesforce object.
Whenever a Salesforce user changes any task or touchpoint information, it will be synced to Totango in the next integration job sync.
In addition, you can configure syncing touchpoints and tasks created in Salesforce to Totango.
This article has the following topics:
- What does this integration provide?
- Tasks & Touchpoints Bi-directional Sync
- Prerequisites
- Creating a tasks/touchpoints integration job
- Creating a Tasks/Touchpoints Inbound job
- Creating a Tasks/Touchpoints Outbound job
- Creating a Campaign Touch Outbound job
- Task, Touchpoint and campaign touch default field mapping
- Known Limitations
What does this integration provide?
- View opened activities, as well as customer success activity history directly from Salesforce account record.
- Ability to create Salesforce reports and dashboards based on Totango tasks, touchpoints and campaign touches
- Ability to see the full customer picture in Totango by syncing tasks and activity events created in Salesforce to Totango.
- Ability to use Totango’s SuccessPlays with Salesforce to create event-based triggered tasks in order to automate your best practices and assign accountability.
- For every task, touchpoint which has been synchronized to Salesforce, any information can be changed in Salesforce and the updated information will be sent back to Totango in order to have a single correct record of task work.
- Ability to use your own external id for Tasks and touchpoints
- Ability to filter for syncing only the needed data inbound & outbound
- Maximum flexibility for objects & fields mapping for advanced scenarios
Tasks & Touchpoints Bi-directional Sync
We understand that although Totango is the main platform for your CS team, other teams in your company use Salesforce for work, task management, and customer engagements.
Tasks Bi-directional Sync
A basic CS task management flow starts by creating a task in Totango and assign it to a user. This user can review the task assigned to him in Totango or Salesforce and act on it. Afterward, he can update the task information (like, completed the task, change its status, due date, assignee, or any task information) and this information will be synced to the other system (Totango or Salesforce) in order to present and log the most updated information about this task.
To enable bi-directional sync, two separate integration jobs should be created. one for tasks inbound and one for tasks outbound. The bi-directional sync relies on the same object mapping and account Id & externalId mapping of these two jobs
To sync a completion of task, an inbound data job should be created
In the edge case of an update conflict (the same task was updated both in Totango and Salesforce before the next sync job is executed), the last update wins.
Touchpoints Bi-directional Sync
Touchpoints created in Totango can be synced to Salesforce as an account activity event.
Afterward, a Salesforce user can change the touchpoint information which will be synced to Totango in the next sync schedule. The sync includes Totango touchpoint fields according to the defined mapping.
To enable bi-directional sync, two separate integration jobs should be created. one for touchpoints inbound and one for touchpoints outbound. The bi-directional sync relies on the same object mapping and account Id & externalId mapping of these two jobs
Prerequisites
- You must have a Salesforce Enterprise or Unlimited license to install the Totango SFDC Application.
- SFDC user with administrator privileges and API Enabled” permission.
- Totango user with administrator privileges.
- Setup the Salesforce data connection with the new salesforce connector to enable data sharing between the two platforms.
Creating a tasks/touchpoints/Campaign Touch integration job
- Setup the Salesforce data connection (if you did not do it previously)
- Import accounts information from Salesforce. This is a required step to have the accounts matching between Salesforce and Totango
- To create an integration job for tasks/touchpoints inbound/outbound, or campaign touch outbound, click the integrations tab and the '+' sign and select the option you need.
- Create other jobs for tasks/touchpoints inbound/outbound as needed
Creating a Tasks/Touchpoints Inbound Job
- Select Tasks/Touchpoints Inbound integration job (see above)
- The data source parameters and the mapping table is pre-loaded with the default mapping template (see below)
- If required, modify the object and object fields
- To select which tasks/touchpoints will be imported, add a query filter in SFDC query language. Only the objects filtered by this filter will be imported to Totango. If no filter is given, all tasks/touchpoints from SFDC will be imported
- Click 'Load Preview" and modify the mapping table if needed
- Click validate mapping and see the preview of the objects and fields that will be imported
- Complete the Setting and Scheduling and click 'Save and Sync'
- Notes:
- Parent Account of Tasks/touchpoints must exist in Totango before syncing data. This means that Accounts Inbound job is required before the tasks/touchpoints inbound job as we sync from SFDC only tasks/touchpoints that their account is already matched to Totango
- Creating new tasks/touchpoints in Totango is supported
- Changing Parent Account of tasks/touchpoints is not allowed via Totango's Customer Data Hub
- tasks/touchpoints ID mapping is done using External Id which enables customers to bring their own ID (like SFID for example). Note that External Id is always stored in Totango as lowercase.
- Using Totango DB ID will work as well (in case of an existing task/touchpoint or created from the UI/API)
Creating a Tasks/Touchpoints Outbound Job
- Select Tasks/Touchpoints Outbound integration job (see above)
- Filter the tasks/touchpounts you want to export to SFDC
- If required, modify the Destination Object and Parent Object
- Click 'Connect'
- The mapping page is pre-loaded with a default mapping template (see below)
- Modify the mapping table if needed
- Click 'Validate Mapping' and see the preview of the objects and fields that will be exported to SFDC
- Complete the Setting and Scheduling and click 'Save and Sync'
- Notes:
- In case there is no match for the parent account, we skip the record in the sync (it will not be counted in the overall statistics of the job).
- For improved performance, the filtering of skipped records is not done in online preview and validation, but only while processing the data
- Parent Account of task/touchpoint must exist in SFDC before exporting the data. This means that Accounts Inbound job is required before exporting tasks/touchpoints as we sync to SFDC only tasks/touchpoints that their account is already matched to Totango. Automatic creation of new parent account/object in SFDC is not supported.
- Creation of new tasks/touchpoints in SFDC is supported. This can be restricted to update only by disable the toggle of “Allow new Tasks objects creation”/"Allow new Touchpoints objects creation"
- Filtering outbound tasks/touchpoints is restricted to last updated in last 30 days. (Please contact Totango support filtering more than 30 days)
-
When creating new record of Task/Event in SFDC for Totango Task/Touchpoint, we will update the WhatId with the Account ID . When updating existing record of Task/Event in SFDC for Totango Tasks/Touchpoint, we will update AccountId field only if it is mapped and we will not update WhatId.
Creating a Campaign Touch Outbound job
- Select Campaign Touch Outbound integration job (see above)
- Filter the campaign touched you want to export to SFDC
- If required, modify the Destination Object and Parent Object
- Click 'Connect'
- The mapping page is pre-loaded with a default mapping template (see below)
- Modify the mapping table if needed
- Click 'Validate Mapping' and see the preview of the objects and fields that will be exported to SFDC
- Complete the Setting and Scheduling and click 'Save and Sync'
Notes:
-
- The subject of the created event in Salesforce will be:
"Ongoing/One time campaign \"Campaign Name\" was sent to N users. From: user@domain.com"
-
Mapping Totango 'Start Date' field to Salesforce ActivityDate field is mandatory
- Salesforce events created for campaign touch will be of type email (if type field exists in Salesforce event object)
- We recommend mapping Totango 'Campaign Touch ID' to a custom field in Salesforce event object to distinguish between regular events and campaign touches in salesforce
- We recommend using the default mapping template and not to change the mapping
- In case there is no match for the parent account, we skip the record in the sync (it will not be counted in the overall statistics of the job).
- For improved performance, the filtering of skipped records is not done in online preview and validation, but only while processing the data
- Parent Account of campaign touches must exist in SFDC before exporting the data. This means that Accounts Inbound job is required before exporting campaign touches as we sync to SFDC only campaign touches that their account is already matched to Totango. Automatic creation of new parent account/object in SFDC is not supported.
- Creation of new Campaign Touches in SFDC will be done
- Filtering outbound campaign touches is restricted to last updated in last 30 days. (Please contact Totango support filtering more than 30 days)
- The subject of the created event in Salesforce will be:
Tasks and Touchpoint default field mapping List
To allow maximum flexibility, users can create separate integration jobs for tasks/touchpoints and for inbound/outbound sync. There are 5 options here for integration jobs:
- Tasks inbound
- Tasks outbound
- Touchpoints inbound
- Touchpoints outbound
- Campaign Touch Outbound
Each job is independent and can have different scheduling and mapping.
To help users create these jobs easily, we are using mapping templates for each of these integrations that fills the mapping table automatically best on defaults and best practices. of course, users can change some of the mappings if different mapping or parameters are needed or if custom objects are used.
If custom objects are used in SFDC (instead of Tasks and Events), the mapping will need to be changed accordingly.
Here is the default mapping templates:
Integration Type | Source Object | Source Field | Source Field Type | Totango Attribute | Attribute Type |
Salesforce
Touchpoints Inbound |
Event
|
AccountId | text | Account Id | Key , text |
Id | text | Touchpoint External Id | Key , text | ||
Subject | text | Subject | text | ||
Description | text | Content | text | ||
ActivityDate | datetime | Touchpoint Date | Date | ||
CreatedBy.Email | reference field | Touchpoint Creator | text | ||
LastModifiedDate | datetime | Last Update Date | Date | ||
LastModifiedBy.Email | reference field | Last Updater | Text | ||
Salesforce
Touchpoints Outbound |
Event
|
AccountId | text | Account Id | Key , text |
Id | text | Touchpoint External Id | Key , text | ||
Subject | text | Subject | text | ||
Description | text | Content | text | ||
ActivityDate | datetime | Touchpoint Date | Date | ||
OwnerId | reference field | Touchpoint Creator | text | ||
Salesforce
Tasks Inbound |
Task
|
AccountId | text | Account Id | Key , text |
Id | text | Task External Id | Key , text | ||
Subject | text | Title | text | ||
Description | text | Description | text | ||
Priority | text | Priority | text | ||
Status | text | Status | text | ||
ActivityDate | Date | Due Date | Date | ||
Owner.Email | reference field | Assigned To | text | ||
CreatedBy.Email | reference field | Assigner | text | ||
CreatedDate | Date | Create Date | date | ||
LastModifiedDate | Date | Last Update Date | date | ||
Salesforce
Tasks Outbound |
Task
|
AccountId | text | Account Id | Key , text |
Id | text | Task External Id | Key , text | ||
Subject | text | Title | text | ||
Description | text | Description | text | ||
Priority | text | Priority | text | ||
Status | text | Status | text | ||
ActivityDate | Date | Due Date | Date | ||
OwnerId | reference field | Assigned To | text | ||
Salesforce
Campaign Touch Outbound |
Event
|
AccountId | text | Account Id | Key , text |
Campaign Touch ID | text | Touchpoint External Id | Key , text | ||
Subject | text | Subject | text | ||
Description | text | Description | text | ||
ActivityDate | datetime | Start Date | Date | ||
OwnerId | reference field | Created By | text | ||
Known limitations and best practices
- It is not possible to change the connected user name for SFDC Existing Connection
- It is not possible to map to reference fields.
- For importing touchpoints from SFDC to Totango, touchpoints must contain Subject or Content
- For importing tasks from SFDC to Totango, task must have title
- For outbound jobs , the “Created By” field in SFDC can not be updated (SFDC limitation).
- Importing tasks or touchpoints from Salesforce to Totango that are created before the account they belong to was synced to Totango, requires a full sync.
- We recommend using the default mapping template that Totango provides for tasks and touchpoints inbound and outbound. However, for touchpoints, it is possible to use different mapping if needed :
- For touchpoints outbound, you can map Totango Touchpoint Date to StartDateTime in SFDC. For that you need to use double mapping and map Touchpoint Date to both ActivityDate and to StartDateTime in SFDC
- If the above is used, for touchpoints inbound, you need to map StartDateTime to Totango Touchpoint Date.
- Participants are supported for Touchpoint inbound and outbound. The recommended mapping is to Event WhoID in Salesforce. Please enable Event WhoID in the Salesforce configuration for the Event object.
Limitation: In touchpoints inbound jobs from Salesforce to Totango, we create the participants in Totango but if after that the user changes the participants in Salesforce, we do not update it in Totango in the next inbound job run.
Read more on how to enable Event WhoID in salesforce (it is not the default out of the box) - If there is an outbound job for tasks/touchpoints and a task/touchpoint that is part of both this outbound jobs is deleted in Totango, we will also delete it from Salesforce as part of the outbound job in order to keep data consistency. Similarly, if such task/touchpoint is deleted in Salesforce, it will be deleted in Totango as well as part of the inbound job.
Comments
0 comments
Please sign in to leave a comment.