Hub / Existing Solutions

Existing Solutions

The integrations TSANet has already built: four shipping connectors and one platform assessment. Start here if your platform is one of them, to find it and see how the connectors actually differ — or, if you are building your own, to read them as worked examples of the routes on Build a New Integration.

GA Salesforce · Dynamics · Zendesk Early access Fin / Intercom Not built ServiceNow

Routing

Find Your Platform

Salesforce
A managed package installs into your org. Architecture & setup →
Microsoft Dynamics
A managed Power Platform solution installs into your environment. Architecture & setup →
Zendesk
A ZAF app plus a ZIS integration, both in your own tenant. Architecture & setup →
Fin / Intercom
An adapter service outside Intercom, hosted by TSANet or in your own cloud; the choice is yours. Architecture & platform notes →
ServiceNow
No connector yet — development committed for 2026. Platform assessment →
Anything else
Build against the API directly. See below →

Comparison

How the Connectors Actually Differ

The differences that change how you design, operate and support an integration — not feature checkboxes.

Why the classes differ →
ServiceNow columns are empty because nothing is built. The assessment covers what the platform forces either way, and lists the questions that are still open.
  Salesforce Dynamics Zendesk Fin / Intercom ServiceNow
ClassIn-tenantIn-tenantPartialGatewayUndecided
StatusGAGAGAEarly accessNot built
Operated byYouYouYouTSANet, or you if self-hosted—
Agent surfaceLWC on the Case record pageHTML + JS web resources on the Case formZAF sidebar app + nav-bar screenCanvas Kit panel in the Help Desk—
Where state livesCustom objectsDataverse tablesTicket fields and tagsThe gateway's own durable store—
Inbound deliveryApex REST on My Domain, via an External Client AppScheduled poll by default; optional webhook to Power AutomateZIS generic inbound webhookTSANet push to the adapter—
ReconciliationScheduled job, 15 min defaultScheduled flow, 15 min defaultZAF background poller, 60 sReconciliation poller—
Extension pointClonable Flow libraryCase Mapping configuration tableZendesk triggers and ZIS flowsServer-side, by TSANet—
Auto-acceptAsset-match template; asks for information on no matchAuto-routing by case number, then customer nameBuilt-in setting, or a scoped triggerDeliberately manual—
DistributionManaged packageManaged solution / AppSourceApp upload + ZIS bundleA connected Intercom app plus a service, TSANet-hosted or self-hosted—
Shipping a fixMembers upgradeMembers upgradeMembers upgradeCentral when TSANet-hosted; you deploy each release when self-hosted—
Connector faultsIsolatedIsolatedIsolatedShared on a TSANet-hosted service; yours alone if self-hosted—
Platform outageAffects every member in every class — the Connect API is the shared floor

Two rows are worth pausing on. Reconciliation tells you what happens when a push is missed — and the Zendesk poller runs in a browser page, so it only catches up while an agent has a tab open. The two failure rows belong together: every class depends on the Connect API, so a platform outage reaches everyone regardless of where connector code runs. What the gateway changes is that connector faults become correlated rather than independent — a design input for the gateway (the reference deployment runs a single replica today, so its resilience is durability and recovery rather than replication), and the reason deployment discipline matters more there. On Dynamics, note, there may be no push at all: the scheduled poll is the default and the webhook is opt-in. The connector classes topic works the trade through.

Auto-accept is the row where the connectors disagree most sharply — from a Zendesk setting that accepts everything to a Salesforce template that accepts only what matches an asset, and a Fin/Intercom guardrail that keeps the commitment with a person. Accepting stops the SLA clock and tells a partner an engineer is engaged, so which posture you pick is a real decision: deciding what to accept automatically.

Common ground

What Every Connector Does the Same Way

However different they look, all of them converged on the same handful of behaviours — because the API's shape requires it. If you are building your own, these are the parts worth copying rather than rediscovering.

Pattern

The Fetch Is the Truth

Inbound events carry a token and little else, so every connector acknowledges fast and then fetches the case. None of them try to reconstruct state from the event body — which is also what makes redelivery harmless.

Pattern

The Token Is the Primary Key

All of them persist the token at creation, before anything else can fail, and key every local record on it. An integration that loses the token has orphaned a case the partner can still see.

Pattern

Push, with a Poll Behind It

Every one pairs event delivery with a scheduled sweep. Push is the fast path; the poll is what makes missed deliveries recoverable rather than permanent.

Pattern

Forms Are Fetched, Never Cached

The partner's process form is retrieved fresh for every submission, because partners change them and the required documentId comes with the fetch.

The behaviours above are described endpoint by endpoint in Working with the Connect API, and specified in TSANET-2026-001.

No connector for your platform

If Yours Is Not Listed

There are four routes, in order of effort: build on the Connect Gateway, use the SDK, build against the API directly, or tell us the platform. One question decides between them — whether the platform will run your code inside the member's own tenant — and the tools you will use are the same on every route.

Build a New Integration →