Quick Tip Video - Data Source Integrations

Want to learn more?

Register for a self-paced course and earn a badge!

Transcript

In this video, we’ll set up a scheduled integration with a data source. Major topics include: Data Source, Mappings, and Scheduling.

Within Customer Data Hub, Totango supports integrations with various data sources. In our scenario, we’re going to use Salesforce as our connector type, but the concepts we show in this video apply to many other types. We’ve already set up a connection with Salesforce–just like you would do for other applications–and now we’re ready to specify the data that we want to bring in to Totango on an automatic schedule.

The available objects vary, depending on the connector. We’re going to use Accounts to start because it’s most applicable to all connector types–AND, it’s the main object in Totango. Everything in Totango must be tied to an account. But we’ll also show you important tips for Users or Contacts.

Within the Data Source section, we’re going to specify the fields from the selected object WHERE the following criteria (or query filter) exists. Query filters vary by object type; in this case, we use SOQL, which is Salesforce’s version of SQL. As an example, let’s say this is my Salesforce instance. I have a Type attribute that tells me whether this account is Retail or Services. In Totango, let’s say I only want to bring in accounts that are Retail. So, within my Query Filter, I’ll specify Type = ‘Retail’.

I may also want to bring in other attributes into Totango, such as Contract Start Date, End Date, ARR, and Owner. Note that when I select object fields from other system, the API name is always displayed in parentheses. Underscore, underscore “c” is syntax specific to Salesforce to indicate a custom field. Now, when I click Load Preview, I can see the first 10 rows of what Salesforce would send to Totango. Everything looks good except for the Owner column. I see an internal ID, which is actually a hyperlink in Salesforce to another object, which doesn’t do much for me if I were to display the actual value in Totango. Instead, within the Object Fields, I can use a custom field mapping–also known as a relationship query or .DOT notation.

Using Owner-Dot, I can specify the fields from the owner object: Owner.Name and Owner.Email. Now when I click Load Preview again, I see the data I expect. When importing Users (or contacts) into Totango, you’ll find this relationship query notation helpful when setting up the same query filter that you use with Accounts–in this case, Account.Type.

Back to my account job. Now that I’ve isolated the data I want to bring in from my data source, I have to correlate it with attributes in Totango. For this field, my account type in Salesforce is Retail or Services, but it’s not actually the same thing as what I want to use for Totango’s system attribute of “Account Type.” Totango “Account Type” is determined by the hierarchy structure you have in place. The classification for this data is more like a sub-type, so I’m going to add a new attribute and call it something that differentiates from my reserved name of Account Type.

For this field, Totango has suggested we create a new attribute. It’s tempting to add a space here, but I am going to leave the suggested name to match the API name exactly–this will make it easier to troubleshoot because my new attribute will always have a reference to the original field, even if I change the display name later.

For existing attributes, we can find the corresponding Totango attribute by clicking the drop-down. Note how the data types are already set for me.

I’m going to remove OwnerID from the mapping because I don’t need to bring this into Totango, now that I have Success Manager and Success Manager tid Back to Account Type.

If I want to set this value in Totango during the import but don’t have a related Salesforce field to bring in, I can add a constant function to the mapping. The Function Editor allows you to enrich the data that’s coming through the integration. As an example, I can search for the constant function –CONSTANT and add my simple account type of (“Company”). Now I can map that to my Totango “Account Type” attribute and see that I’ve appended “Company” to each row. Another important account-related field in Totango is Status, so we can add a constant for that attribute as well.

The constant function is also handy when setting up jobs with the User object. In Totango, to specify that a user is also a contact, we need to set the “Contact” attribute equal to “yes” which will put them in the Contact widget on the account profile. Another quick tip for importing contacts is that it’s common practice in Totango to use a person’s email address as the User ID, so be sure to choose that field from your source integration instead of perhaps a different ID mechanism from your CRM. Keep in mind, if you set the email address as primary key, you may see some cautions during the mapping validation if you have any duplicates in your CRM or a contact without an email address. This is common, and signifies the need for a minor clean-up project in your CRM. To get started, you can click Download Preview to see all of the rows that need adjustment in your CRM.

Moving on to Settings, name the job something meaningful. As a best practice, we suggest adding your filter criteria into the Description field. For scheduling, we want to choose how frequently this job should run. Additionally, we can specify how often Totango should go into the Salesforce environment and grab all the data regardless of whether it’s changed or not. If you’re doing an hourly job, we recommend running a full sync once a day.

When you’re done with all settings, click Save and run. The job will begin processing, and you can view the Sync Status as it updates. Once the job runs over time, you can also expand for more options. Exiting Settings, I can search for one of the accounts that I brought in through the integration. I can also view the All tab and see specific attributes that I updated through my data source.