Skip to main content
Pre-launch · in testing — WorkSmartOS MaintenanceOS is not commercially generally available yet.

Help Centre

Integration Overview

Connect MaintenanceOS to your existing tools: property management software, accounting, CRM, and custom systems via API.

See the setup path

Integrationsapiintegrationswebhooksproperty-managementaccounting
•WorkSmartOS Team

Integration Overview

MaintenanceOS connects to your existing stack via REST API, webhooks, and pre-built integrations. All integrations are read/write where appropriate — you stay in control of your data.

Authentication

API Keys (Settings → Integrations → API Keys):

  • • Scoped permissions (read-only, read-write, admin)
  • • Rotatable, revocable
  • • Audit log of all API activity
  • • Rate limits: 100 req/min (standard), 1,000 req/min (Enterprise)

OAuth 2.0 (for user-facing integrations):

  • • Authorization Code flow with PKCE
  • • Scopes: `repairs:read`, `repairs:write`, `properties:read`, `compliance:read`
  • • Refresh tokens (90-day expiry)

Pre-Built Integrations

Property Management Software

PlatformSync DirectionData Synced

ReapitBi-directionalProperties, tenancies, contacts, repairs

AgentOSBi-directionalProperties, tenancies, repairs, compliance

QubeBi-directionalProperties, repairs, contractors

MRIBi-directionalProperties, tenancies, repairs, financials

Setup: Settings → Integrations → [Platform] → Connect → Authorise → Map fields → Test → Enable.

Accounting

YardiBi-directionalProperties, work orders, vendors

PlatformSyncDetails

XeroPush (invoices, bills, payments)Purchase orders → Bills, Invoices → Invoices

QuickBooksPushSame as Xero

SagePushPurchase orders, invoices

CRM

FreeAgentPushBills, invoices

PlatformSyncDetails

HubSpotBi-directionalContacts, companies, deals ↔ Tenants, properties, repairs

SalesforceBi-directionalCustom object mapping

Communication

PipedrivePush (repairs → activities)Repair updates as activities

PlatformUse Case

SlackRepair notifications, daily digests, @mentions

Microsoft TeamsSame as Slack

TwilioSMS notifications, inbound repair reports via phone

Webhooks

Real-time event notifications for custom integrations.

Events available:

  • • `repair.created`, `repair.updated`, `repair.completed`
  • • `property.created`, `property.updated`
  • • `contractor.assigned`, `contractor.compliance_changed`
  • • `safety_latch.triggered`, `safety_latch.cleared`
  • • `quote.submitted`, `quote.approved`, `quote.rejected`
  • • `compliance.expiring`, `compliance.expired`
  • • `tenant.portal_message`

Configuration: Settings → Integrations → Webhooks

  • • Target URL (HTTPS only)
  • • Events to receive
  • • Secret for signature verification
  • • Retry policy: 3 attempts with exponential backoff

Payload example:

```json

{

"event": "repair.completed",

"timestamp": "2025-01-15T14:32:00Z",

"workspace_id": "wks_abc123",

"data": { "repair_id": "rep_xyz789", ... }

}

```

Verification: `X-MaintenanceOS-Signature` = HMAC-SHA256(payload, secret)

API Reference

Base URL: `https://api.maintenanceos.co.uk/v1`

Key endpoints:

SendGrid / MailgunTransactional email delivery

ResourceEndpoints

Repairs`GET/POST /repairs`, `GET/PATCH /repairs/{id}`, `POST /repairs/{id}/assign`, `POST /repairs/{id}/quotes`

Properties`GET/POST /properties`, `GET/PATCH /properties/{id}`

Contractors`GET/POST /contractors`, `GET/PATCH /contractors/{id}`

Compliance`GET /compliance/gas`, `GET /compliance/epc`, `GET /compliance/fire`, `GET /compliance/hmo`

Tenants`GET/POST /tenants`, `GET/PATCH /tenants/{id}`

Pagination: Cursor-based (`?cursor=...&limit=100`)

Errors: Standard HTTP codes + RFC 7807 problem details.

Sandbox Environment

Sandbox workspace (Settings → Integrations → Sandbox):

  • • Isolated test data
  • • No real notifications sent
  • • Mock contractor/tenant responses
  • • API key separate from production
  • • Reset anytime

Rate Limits & Best Practices

  • • Cache reference data (properties, contractors) — refresh hourly
  • • Use webhooks for real-time updates, not polling
  • • Batch writes where possible
  • • Handle 429 (rate limited) with exponential backoff
  • • Monitor API usage at Settings → Integrations → API Usage

Next Steps

---

Pre-launch documentation. Features and workflows may change before general availability.

Reports`GET /reports/performance`, `GET /reports/contractors`, `GET /reports/compliance`