Mapping Master
The Mapping Master at /settings/integrations/mappings is where every external system's linkage state lives: Autotask, QuickBooks, Microsoft 365, and every integration that comes later. One page; one place to check what's connected, what isn't, and what needs your attention.
Before sync data flows between concorbit and an external system, the platform needs to know which record on each side corresponds to which record on the other. The Mapping Master is that answer, with an admin UI around it.
Opening it
/settings/integrations/mappings. Linked from the Integrations hub's "Mapping Master" action, or directly from each integration row's "Mappings" shortcut. Needs the settings.tenant permission.
The five tabs
The page is built as five top-level tabs. Each tab handles one kind of linkage.
Companies
Your concorbit companies, with chips showing every external system they're linked to. You'll see something like:
Acme Ltd
AUTOTASK #123QUICKBOOKS #456
Each chip can be clicked to unlink (×). Next to the row: buttons for every connectable provider (+ autotask, + qbo) that open a picker listing unlinked external records, so you can only link to external records that aren't already claimed by another concorbit company.
The Auto-suggest chips at the top of the page run name-matching across all companies at once. Click "Match by name — Autotask" and any concorbit company whose name matches an unlinked Autotask company exactly (after normalising corporate suffixes like Ltd / Inc / Corp / LLC) gets linked automatically. Ambiguous matches (more than one candidate) are skipped rather than guessed.
Contacts
Same layout as Companies but match-by-email is the primary signal. A contact with email bob@acme.test will be auto-linked to any external contact with the same email hash. This is a strong signal and rarely produces false positives.
Invoices
QuickBooks only for now (Autotask doesn't sync invoices; Xero arrives later). Shows concorbit invoices with their QB links. Unlinked invoices are either (a) not yet pushed to QB or (b) synced from QB with a customer that was later linked.
Staff users
Maps staff concorbit users to external identities: Autotask Resources today, M365 users later. The Autotask Resources sync populates this automatically via email match (the one auto-linker that runs silently during sync, low risk of being wrong because emails are unique per user). Manual linking handles the edge cases where email doesn't match.
Code lists
The code-list tab is where you tell concorbit "when Autotask says priority 3, that means high in concorbit terms". Sub-tabs per provider (Autotask / QuickBooks) and per mapping type (Statuses / Priorities / Queues / Sources / Issue types / Sub-issue types / Work types / Resources / Note types / Contract targets for AT; Invoice status / Tax rate for QB).
Auto-provisioned reference data: Queues, Work types, Issue types, and Sub-issue types are auto-provisioned on every picklist sync. If Autotask has a value concorbit doesn't, concorbit creates it and writes the mapping automatically, so you don't need to pre-seed dropdowns before your first ticket sync. Sub-issue types are linked to their Autotask parent issue type via Autotask's parentValue; if the parent hasn't been provisioned yet, the sub-issue is deferred and picked up on the next run.
Retry blocked tickets
When Autotask ticket sync hits a value it can't resolve (a status, queue, or source with no mapping; a company that hasn't been linked yet), the ticket is recorded as blocked and the sync carries on with the rest. Once you map the missing value, concorbit queues a background retry for that tenant automatically. Historical blocked tickets get a second chance to land without you having to run a full sync.
If you want to do it immediately, use the More AT operations → link in the Code Lists tab header to open the Autotask console's operations section, then click Retry blocked tickets there. The operation is safe to run repeatedly: tickets that have since synced successfully are filtered out, so only the still-blocked set is re-pulled.
Unmapped Autotask resources (the assignedResourceID on a ticket) no longer block the ticket. If a resource has no mapping, concorbit provisions a placeholder user (inactive, passwordless, name copied from the AT resource label). The ticket lands assigned to the placeholder so it shows up in the engineer's queue; an admin can then invite the user properly via the Mapping Master's Users tab. This is the same behaviour as selecting resources on the Users tab and clicking the Create n user(s) button, except it fires inline during the ticket pull rather than requiring a separate click.
Each mapping shows the external value on the left, a concorbit dropdown on the right, and an explicit Skip option ("don't sync this value at all"). Changes apply to future syncs only. Already-synced records keep their current mapping unless you re-pull them. The banner at the top of the tab is honest about this.
The Refresh from {provider} button pulls the latest code-list values from the external system so dropdowns stay fresh. For Autotask this also refreshes the Resources picker so new staff members show up.
Auto-suggest vs auto-link
Auto-suggest runs the matcher for Companies or Contacts and links every confident match in one click (the "Match by name/email" chips on those tabs). Only unambiguous matches are linked; ambiguous candidates are skipped rather than guessed.
Auto-link is the silent variant: it runs during sync for Autotask Resources (email-match) because the signal is strong enough that linking without review is safe. For companies and contacts the matcher is conservative on purpose, because wrong invoice attribution or wrong CRM linkage is a worse failure mode than a missing one.
What happens behind the scenes
Every link you create writes a row to the generic external_links table (tenant_id, provider, record_type, record_id, external_id). Syncs read those rows to resolve "who owns this?" questions: the QB invoice pull, for example, looks up each invoice's CustomerRef in external_links(provider='qbo', record_type=Company) and skips + logs if no link exists. Code-list mappings live in integration_code_mappings. External picklist caches (the dropdown contents) live in integration_picklist_values.
You never touch those tables directly. The Mapping Master is the only UI for them.
Legacy /settings/autotask/mappings
The old provider-specific page at /settings/autotask/mappings now redirects here with the Autotask Code lists tab pre-selected. Existing bookmarks + links still land on the right view; the tabs just give you everything else besides Autotask too.