External IDs introduction

A key workflow in integrations is marrying up records between two or more systems. This may take many forms, including use cases like:

  • Pushing an invoice for training into an external financial system like QuickBooks.
  • Copying contact details from an external CRM like Microsoft Dynamics.
  • Saving a unique serial number to a Training Token for tracking its lifecycle in a revenue recognition system.

How do External IDs differ from Custom Fields?

External IDs are intended for use with machine to machine integrations, whereas Custom Fields are intended to be user facing.

This means that:

  • External IDs are simple string values.
  • External IDs must be totally unique for a given type and storage location.
  • External IDs are indexed for quick lookups, and have alternative querying strategies for the record they are stored on.
  • External IDs are supported on many types in our GraphQL model, including some relational records which aren't visible to users in the TMS.

How are External IDs and Custom Fields Alike?

  • Both can be added as Output Fields in the Reporting Engine.
  • Both are have support for read and write operations via our GraphQL API.