Integrations

Integrations

Six connectors that work, a published contract so you can write your own, and an honest list of what we do not connect to.

What connects today

CategorySupportedWhat it does
PSAConnectWise Manage, AutotaskTwo-way tickets, companies, agreements, time
EDRHuntress, Bitdefender GravityZoneDetection state, isolation status, coverage reconciliation
DistributorPax8Subscription counts for the three-way billing diff
BackupThe common vendorsNormalised into verified / reported / silent
TelephonyInbound webhookScreen-pop: caller, client, open tickets
Microsoft 365Native, not a connectorBuilt into the data model
READS FROM Microsoft 365Entra IDActive DirectorySNMP devices Hyper-VVMwarewarranty APIs Dream-Genie WRITES TO your accountingyour PSA (migration)ticketing (shadow) NEVER no data brokerno marketing platformno analytics serviceno third party Every integrations page in this market lists what it connects to. This one lists what it refuses to. Nothing here is a connector we have not built.

Why six and not sixty

A directory of hundreds is a marketing asset, not an operational one. Rewst — a company whose entire product is connecting things — carries 88. ConnectWise's certified marketplace is 83.

You do not need parity with a directory. You need the ones that gate your evaluation. If yours is not here, the next section matters more than this one.

Write your own in an afternoon

The connector contract is published with a working reference implementation in the repository — not a snippet, one that runs and is exercised by our own build.

Anyone who can write Python can add a connector. It runs on the same credential vault, the same per-tenant rate budget, the same freshness contract and the same untrusted-content boundary as ours.

A community connector gets no special standing for being ours. That is the point — you are not waiting on our roadmap.

Everything arrives in three states

StateMeaning
FreshRead successfully, at a known time
StaleLast read succeeded, longer ago than declared
UnreachableThe read failed

A vendor returning 200 with an empty array is fresh and empty. A vendor timing out is unreachable. A dashboard showing both as zero is the defect this whole product exists to eliminate — so every consumer of a connector receives the state, not just the data.

What we do not connect to, and why

  • Anything without a usable API. Listed as unsupported rather than faked or partially implemented behind an optimistic label.
  • Public retail pricing. We fetch partner pricing through authenticated APIs where you have credentials. We do not scrape, and retail is not comparable.
  • Anything by screen-scraping a vendor portal. It breaks silently on their next redesign and you find out from a wrong number.

And rot is visible

Every connector shows when it was last verified against its vendor's API and by whom. One unverified beyond a threshold becomes a finding with a named owner — not a grey icon nobody looks at.

That is what killed every incumbent's script library. Not that nobody contributed. That nothing made rot legible.

See the full support matrix

Operating systems, devices, browsers — kept true rather than aspirational.

See it against your own stack

Thirty days read-only, connected to what you already run.