Foreign key attributes (Canonical ID) allows you to store multiple foreign keys in Totango to synchronize data from multiple systems using their own Account IDs. In other words, the external app's Account ID becomes the foreign key in Totango. Foreign keys are often used when the external system does not have the ability to store the Totango ID (e.g., not a customizable data model).
Each account in Totango can have multiple foreign keys for different systems. For example, if you want to integrate with Zuora and Jira with Totango, the Account IDs from each of those systems can be passed into Totango foreign key attributes: "Zuora Account ID" and "Jira Account ID."
Create a foreign key attribute
You can create a foreign key attribute from within Data Modeler or during an integration.
- From Settings, expand Data Management > Data Modeler.
- On the Account Information tab, click +Add Account Attribute.
- Choose Foreign Key.
- Configure properties for the attribute:
- Display name: The name of the attribute.
- Description: Appears on hover over, but this value is not required.
- Dimension: Choose the dimension for categorization purposes.
- Editability: If you do not plan to update this value in Totango, clear the Editability check box. This will likely be the case for setting the foreign key value from another system.
- Visibility and Default Values: Choose options for privileged access, hidden, or default values if updating via integration.
- Click Create Attribute.
Depending on the editability option chosen, you can set foreign key values individually on an account profile, using a rapid insight form, using a SuccessPlay, editing a segment in bulk, or by data integration (see below).
Set foreign key values via integration
You can create the foreign key in advance, or you can create it during the integration job. During the field mapping within the job, use the foreign key attribute (Totango column) instead of the Account ID.
The data imported from the other system will be updated in Totango accounts based on the match with the foreign key.
Notes regarding integration
- Foreign Key is not supported in SDRs and APIs.
- The foreign key values for a specific source system must be unique across all the accounts.
- Foreign keys are stored in Totango in lowercase (case insensitive).
- Accounts modeled in hierarchy in Totango also support foreign key attributes. If there is no account with the key value for the parent Id, we return an error and don’t create the account.
- By default, the option “Allow new object creation” is set to true. This means that if there is no account with the Foreign Key value, a new account will be created in Totango with the Foreign Key as the Account ID and also as the Foreign Key value of this account.
- "Allow new object creation" is relevant only for accounts.
- If "Allow new object creation" is not checked and there is no account with the foreign key value, it will be an error.
- If a job is using foreign key for mapping Account ID, the Parent ID should also be mapped to an attribute with a foreign key value