The application depends on capabilities, never on a specific vendor. A connector
declares which of these it implements.
That indirection is why swapping an MDM is a configuration change rather than a
project. See how connectors work.
MDM, TICKETING, IDENTITY, SIS, LMS, EMAIL, SMS, REPAIR_VENDOR,
WARRANTY, STORAGE, DIRECTORY, SPREADSHEET, BILLING, CRM, SECURITY,
AI, PRINTING.
| Capability | Implemented by |
|---|
device.lookupBySerial | Jamf, Intune, Kandji, Mosyle, Chrome Enterprise, Mock |
device.get | Jamf, Intune, Kandji, Mosyle, Chrome Enterprise, Mock |
device.listForUser | Mosyle, Chrome Enterprise, Mock |
device.applyPolicy | Mock |
device.lock | |
device.wipe | |
device.sendCommand | Jamf, Mosyle, Chrome Enterprise, Mock |
device.searchSerial | Jamf, Mosyle, Chrome Enterprise, Mock |
device.listGroup | Jamf, Mock |
device.listGroup is what populates a loan group
from an MDM smart group. Today only Jamf implements it against a real system.
| Capability | Implemented by |
|---|
ticket.create | Zendesk, Web Help Desk |
ticket.update | |
ticket.get | Zendesk, Web Help Desk |
ticket.comment | Zendesk |
ticket.close | Zendesk, Web Help Desk |
ticket.syncStatus | |
| Capability | Implemented by |
|---|
identity.authenticate | LDAP |
identity.resetPassword | LDAP |
identity.lookupUser | LDAP |
identity.provision | |
| Capability | Implemented by |
|---|
sis.lookupStudent | Synergetic, Sentral, Compass |
sis.lookupStaff | Sentral, Compass |
sis.getRoster | Synergetic, Sentral, Compass |
sis.getTutorGroup | Synergetic, Sentral, Compass |
sis.termDates | Synergetic |
| Capability | Implemented by |
|---|
directory.lookup | |
directory.sync | |
directory.searchUsers | Active Directory |
directory.getUser | Active Directory |
directory.setLicense | Active Directory |
directory.setAccountEnabled | Active Directory |
directory.delegateInbox | Active Directory |
directory.resetPassword | Active Directory |
| Capability | Implemented by |
|---|
email.send | SMTP, Google Workspace, Console |
email.sendTemplated | |
sms.send | Twilio |
| Capability | Implemented by |
|---|
warranty.lookup | Apple GSX, Dell warranty |
repair.lodge | CompNow |
repair.getStatus | CompNow |
| Capability | Implemented by |
|---|
printer.status | SNMP printers, PaperCut |
printer.upsertCardUser | SNMP printers, PaperCut |
printer.userLookup | PaperCut |
printer.adjustBalance | PaperCut |
printer.userLookup and printer.adjustBalance are print-management operations
rather than printer operations. They mean nothing to a connector that only speaks
SNMP to the hardware, which is why the two connectors are separate.
| Capability | Implemented by |
|---|
security.listComputers | ThreatLocker |
security.getComputer | ThreatLocker |
security.isolate | ThreatLocker |
security.listRequests | ThreatLocker |
security.resolveRequest | ThreatLocker |
security.deviceHistory | ThreatLocker |
| Capability | Implemented by |
|---|
crm.account.lookup | Salesforce |
crm.contact.lookup | Salesforce |
crm.case.create | Salesforce |
crm.case.get | Salesforce |
| Capability | Category | Implemented by |
|---|
sheet.read, sheet.write | Spreadsheet | Google Sheets |
ai.chat | AI | Ollama |
billing.createCheckout, billing.getSubscription, billing.portal | Billing | Stripe |
storage.put, storage.get | Storage | |
lms.getCourses, lms.getEnrolments, lms.notify | LMS | |
Several capabilities are declared and not yet implemented by any shipped
connector. They are in the registry because the contract is versioned and adding
a capability later would be a breaking change for anything depending on the shape
of it.
If you need one, see getting a connector built.