Who can use this feature?
- Global admins or users with advanced permissions
- Available on all plans
Totango's write-back capability allows you to ingest data from your CRM and write updated data from Totango back to the CRM. Write-back is often used when Totango is not your primary system of record.
Write-back is available for attributes and account assignment that are referenced in an integration for the following data connectors:
- Salesforce
- HubSpot
- MS Dynamics
- Zoho CRM
Writeback from SuccessPlays is supported only for Salesforce and Hubspot.
Enable write-back for an attribute
- Ensure the attribute you want to enable for write-back is mapped in an inbound integration for a supported CRM connector.
- From Settings, expand Data Management > Data Modeler.
- Click the name of the attribute you want to modify.
- Within the attribute properties under Source, set the Writeback option to Enabled.
You can write-back data to several data sources if used in multiple connectors.
- Click Save.
The next time the attribute is modified from an account profile, segment, or rapid insight form, its value will be automatically synced back to the source system.
Enable write-back for account assignment
- Ensure the account assignment attribute you want to enable for write-back is mapped in an inbound integration for a supported CRM connector.
- From Settings, expand User Management > Account Assignment.
- Click the name of the account assignment team role you want to modify.
- Within the attribute properties under Source, set the Writeback option to Enabled.
In the case where there are multiple account assignment fields mapped, activate write-back only to one of them as it can cause unexpected behavior regarding micro-sync updates.
- Choose the the reference object update type you want to use: Update or Edit the value (see below).
- Click Save.
The next time an account assignment is modified from an account profile, segment, or task completion window (post-completion information update), its value will be automatically synced back to the source system.
Salesforce write-back types for reference fields
Salesforce first level reference fields (like Owner.Email) are supported for write-back. Two options are available:
-
Update the reference object
This is the default type in which the referenced object will be replaced. Meaning that the connected object will point to a different object. This is usually used for object identifiers like Owner.Id or Owner.Email
-
Edit the value of the referenced object
There are cases where you want to update the value of the referenced object and not replace it. This is usually used for reference fields that are not identifiers, like Owner.Name.
Review async bulk write-back results for Salesforce
For Salesforce integrations, you can review async bulk write-back when multiple attributes are updated by the same action. Supported actions include:
- Multiple attribute changes from segments
- Multiple attribute changes from SuccessPlays
- Write back of NPS / CSAT updated via NPS/CSAT campaign
The same settings of the regular write-back apply to bulk write-back, so there is no need for any new setting to activate the async bulk write-back.
If async bulk write-back occurs, you'll see a system integration job in the Salesforce connector jobs list (Bulk Write-Back). The job holds all the history and information of all the bulk write-back jobs done for the Salesforce connection, including all attributes that were part of each job.
You can also enable notifications for bulk write-back (failure and partial success).
Bulk write-back for reference fields
- Salesforce reference fields are also supported for async bulk write-back.
- It is not possible to delete a reference field (relevant when using the "Update the Reference Object" option of write-back).
- If an attribute in Salesforce is read only, the write-back will fail.
- Async bulk write-back job takes up to two minutes to start once the attributes change is done in segment or SuccessPlay or attributes updated via campaign (NPS/CSAT).
Known limitations
- Write-back is not supported for user profile header attributes. Write-back for user attributes is supported only in the per account sections (except for the "Key Contact" user attribute).
- Hubspot multi-select list attributes will not write-back if there are multiple values set. It is suggested to turn off write-back for these attributes.
- Only Salesforce first level reference field (like Owner.Email) is supported for write-back. More complex references (like Owner.id.Name) is not supported. Since most of the account assignments are based on reference fields, the write-back option is not supported for account assignments.
- Micro-sync updates are not supported. Micro-sync update is a real-time update of one reference field based on the update of another reference field. For example, I have 2 user attributes that are based on reference fields: Owner.Email, Owner.Name. When I write-back the Owner.Email to the source system the Owner.Name is not updated in real-time, it will update in the next sync.
- These areas are NOT supported for write-back with legacy connectors:
- List and lifecycle attribute write-back
- Task completion modal
- Rapid insights forms
- Account assignment write-back from the account profile Account Assignment widget.
- Bulk write-back is not supported for legacy connectors.
FAQs
Question: I keep getting a JSON_PARSER_ERROR on a Salesforce checkbox type field. Why?
Answer: This error is due to incorrect Boolean values. If the attribute is not set up correctly when you try to update the value in Totango you will end up with an error stating "Cannot deserialize instance of boolean from VALUE_STRING value True"with the following error:
This error means is that it expects a Boolean value of "true" or "false" but the value it got was "True" (capital).
In Salesforce, checkbox fields expect the value coming in to be set as "true" or "false" with lowercase t and f (exactly). If you have set up your attribute in Totango to have uppercase T and F you will get an error. Keep in mind, that the attribute will update correctly in Totango but not in Salesforce.
To resolve this issue, create a list type attribute in Totango and make sure that you add the options "true" and "false", with lowercase t and lowercase f. You should then be able to edit that field in Totango and the value should sync up correctly in Salesforce.