36 connectors, each one implemented in our API
Do we connect to it? Two seconds.
Type the name of the tool. Every entry in here is a connector that exists in our code, and every row names the file that implements it — so what comes back is an answer, not a roadmap.
Free for two seats, no card.
Pick a family to jump into the index. Or type one name and settle it.
The index
Everything we connect to, and the file that connects it.
A catalogue is only worth reading if it cannot be padded. Every row names the path in our API that implements it, a test resolves each one on every build, and the same test reads the provider directories back the other way — so a connector that ships without a row here breaks the build. Rows with no marker connect from Settings today.
Showing 36 of 36
HR & identity
9- WorkdaySync people, reporting lines and the org tree, so roles scope to your real hierarchy and nobody maintains a second directory.apps/api/src/hris/providers/workday.provider.ts
- ADPSync employees, teams and reporting lines from ADP.apps/api/src/hris/providers/adp.provider.ts
- SAP SuccessFactorsPeople and org structure from SuccessFactors, kept in step.apps/api/src/hris/providers/sap-successfactors.provider.ts
- Oracle HCMEmployee records and hierarchy from Oracle HCM Cloud.apps/api/src/hris/providers/oracle-hcm.provider.ts
- DeelContractors and international hires on the same directory as staff.apps/api/src/hris/providers/deel.provider.ts
- FinchOne connection to the long tail of payroll and HR systems.apps/api/src/hris/providers/finch.provider.ts
- OktaIdentity and directory sync from Okta Universal Directory.apps/api/src/hris/providers/okta.provider.ts
- Microsoft Entra IDUsers, groups and org structure from Entra ID.apps/api/src/hris/providers/microsoft-entra.provider.ts
- Google WorkspaceDirectory sync from Google Workspace, groups included.apps/api/src/hris/providers/google-workspace.provider.ts
Project management
4- JiraTie captured hours to the issue they belong to, and read budget burn per project.apps/api/src/pm-timetracking/connectors/jira.connector.ts
- AsanaTime attributed to Asana tasks as the work happens, not on Friday.apps/api/src/pm-timetracking/connectors/asana.connector.ts
- ClickUpHours mapped to ClickUp tasks, with budgets that burn down live.apps/api/src/pm-timetracking/connectors/clickup.connector.ts
- TrelloCard-level time tracking, connected through OAuth in a few clicks.apps/api/src/pm-timetracking/connectors/trello.connector.ts
Developer tools
4- GitHubCommits and pull requests become work edges in the Proof Ledger, the outcome half of a verified record, with no screenshot involved.apps/api/src/outcomes/connectors/github.connector.ts
- LinearIssue transitions become shipped-work evidence in the Proof Ledger.apps/api/src/outcomes/connectors/linear.connector.ts
- Jira outcomesThe outcome half of a verified record: what actually moved, not just hours.apps/api/src/outcomes/connectors/jira.connector.ts
- Asana outcomesCompleted Asana work as a second, independent witness to the hours.apps/api/src/outcomes/connectors/asana.connector.ts
Communication
4- SlackAlerts, weekly digests and scheduled saved reports arrive in the channel your team already reads, instead of a console nobody opens.apps/api/src/delivery/delivery.service.ts
- Microsoft TeamsNotifications and approvals as Teams cards, with signed inbound webhooks.apps/api/src/integrations/teams/teams-notify.service.ts
- ZoomMeeting time recognised as work rather than counted as idle.apps/api/src/integrations/zoom
- Email & webhooksScheduled reports and alerts by email, or to any endpoint you control.apps/api/src/delivery/delivery.service.ts
Accounting
2- QuickBooksBetaPost approved hours and costs to QuickBooks. Connector shipped; self-serve connect path still landing.apps/api/src/integrations/accounting-connector/accounting-connector.client.ts
- XeroBetaSend billable time into Xero. Connector shipped; self-serve connect path still landing.apps/api/src/integrations/accounting-connector/accounting-connector.client.ts
Payroll & payouts
4- GustoBetaApproved hours into a Gusto payroll run, priced by the shared rate engine. Connector shipped; connect path still landing.apps/api/src/integrations/payroll-connector/payroll-connector.client.ts
- ADP PayrollBetaExport an owner-gated, integer-cent pre-flighted run to ADP. Connector shipped; connect path still landing.apps/api/src/integrations/payroll-connector/payroll-connector.client.ts
- WiseBetaContractor payout rails. Computed and exported. WorkMonitor does not move the money.apps/api/src/payouts/providers/wise.provider.ts
- Deel PayoutsBetaContractor payments from approved hours. In beta, and WorkMonitor does not move the money itself.apps/api/src/payouts/providers/deel.provider.ts
Analytics & BI
4- SnowflakeBetaPush activity data to your own warehouse and check the scoring yourself. In beta: the adapter ships, the connect path is landing.apps/api/src/integrations/warehouse/adapters/snowflake.adapter.ts
- Google BigQueryBetaIncremental, cursor-tracked export into BigQuery. In beta: the adapter ships, the connect path is landing.apps/api/src/integrations/warehouse/adapters/bigquery.adapter.ts
- Amazon RedshiftBetaWarehouse export into Redshift for stacks that already live there. In beta: the adapter ships, the connect path is landing.apps/api/src/integrations/warehouse/adapters/redshift.adapter.ts
- Microsoft Power BIBetaFeed dashboards your analysts already maintain. In beta: the adapter ships, the connect path is landing.apps/api/src/integrations/warehouse/adapters/powerbi.adapter.ts
Migration
5- HubstaffBring your history across: a Hubstaff CSV export maps onto our columns automatically.apps/api/src/integrations/presets.ts
- Time DoctorImport a Time Doctor export, headers and duration formats translated for you.apps/api/src/integrations/presets.ts
- TogglToggl history imported onto the same ledger as everything captured since.apps/api/src/integrations/presets.ts
- ClockifyClockify exports mapped to canonical columns, decimal hours included.apps/api/src/integrations/presets.ts
- ActivTrakMove off ActivTrak without leaving the last two years behind.apps/api/src/integrations/presets.ts
Why connect anything at all
Nobody should be keeping a second copy of the org chart, the project list and the timesheet.
The systems you already pay for know who was hired, which projects are open and which tickets moved this morning. Let them fill it in and the hours stop being a spreadsheet somebody chases on a Friday.
Where it lands
A connector is only worth having if it changes a screen.
Every family in the index feeds a page a manager opens on a Monday morning. Pick one and that page opens beside it — the product’s own screen, not a picture of one.
The migration imports — Hubstaff, Time Doctor, Toggl, Clockify, ActivTrak — have no screen of their own. History from the tool you are leaving lands on the same records as everything captured since.
9 connectors. Team is the roster: who is tracked, which team they sit in, where consent stands. Connect an HR or identity system and it fills itself, reporting lines and all, so the roster is maintained where it is already maintained.
- Today
- Insights
- Activity board
- Live screens
- Team
- Agents
- Integrity
- App categories
- Reports & digests
- Capacity
- AKAria K.OnlineActive nowWorkingFigma92
- JMJon M.OnlineActive 2m agoWorkingTerminal78
- SDSara D.OnlineActive 4m agoWorkingSlack61
- LMLena M.OnlineActive 7m agoIn meetingTeams55
- RPRavi P.OnlineActive 11m agoIdleNotion34
- TVTomas V.OfflineActive 12m agoWas working—
Sample data. Nothing here is a real workspace.
Connecting one
Four steps, and then it looks after itself.
- 1
Pick it in Settings
Open Settings, then Integrations, and choose the connector. Live ones connect from there; beta ones are switched on with help from us.
- 2
Authorise the scope
Authorise it, and choose what it may read. The credential is scoped, and you can rotate or revoke it from Settings whenever you like.
- 3
Run the first sync
Run it once and review what came across before you rely on it. Syncs resume from the last cursor rather than replaying from the start.
- 4
Watch the history
Set the schedule. Every run is recorded with its outcome, so a sync that fails is visible instead of silent.
Straight answers
The questions we would ask in your position
Every answer here is the one you would get on a call. Open as many as you like; they stay open, so two can be held side by side.
It is about the connect path, not the code. A beta connector is implemented and covered by tests, and there is still no way for you to switch it on from Settings — today it is enabled with help from us. Shipped in the sense that matters to our codebase is not shipped in the sense that matters to you, so it is marked.
Not by putting a logo on this page. Every row here names the file in our API that implements it, and a test resolves those paths on each build, so the directory cannot grow ahead of the code. What you can do today is connect it yourself: the v1 REST API and outbound webhooks are documented, typed and available on the developers page.
A connection belongs to your organisation and nothing else. Tenant isolation is enforced by composite foreign keys in the database, so a cross-tenant read is an error rather than a code-review question, and every use of a connector credential lands on the same hash-chained audit trail as the rest of the account.
You see it. Syncs are incremental and cursor-tracked, so a run resumes from where the last one stopped rather than replaying from the beginning, and every run is recorded with its outcome. A failure shows up in the sync history instead of quietly leaving your data half-populated.
Yes. Access is held as a scoped credential you can rotate or revoke from Settings, and the revocation is itself an audited event. Nothing about a connection is permanent or invisible.
Yes, wherever there is an import preset — Hubstaff, Time Doctor, Toggl, Clockify and ActivTrak. The preset translates that tool’s headers and duration formats onto ours, so nobody hand-maps a column, and the imported history lands on the same records as everything captured since.
If it has an API, it can talk to WorkMonitor.
Create a free workspace, grant one scope, and make the call from your own code. A sandbox key belongs to a tenant of its own, so nothing you build against it can reach live data.