.png)
ServiceTitan Integration Guide
Connect ServiceTitan operational, dispatch, customer, and financial data with enterprise systems through REST APIs, selected webhook events, and OAuth 2.0.
ServiceTitan integration options at a glance
ServiceTitan provides versioned REST APIs over HTTPS with JSON responses across CRM, dispatch, accounting, marketing, inventory, settings, and payroll domains. OAuth 2.0 application authentication is used with access tokens, tenant identification, application identification, and appropriate permissions. ServiceTitan also provides webhook-style notifications for selected business events, although event coverage and delivery behavior must be verified for each tenant and API version. Martini can consume these APIs, receive supported notifications through an API or workflow trigger, process paginated responses, apply mappings and business rules, and write results to enterprise applications, databases, or analytics platforms.
Common ServiceTitan integration patterns
Common ServiceTitan data objects used in integrations
Authentication and security considerations
OAuth 2.0 application security
ServiceTitan integrations use an application registered in the developer portal, OAuth client credentials, access tokens, a tenant identifier, application identification, and appropriate permissions or scopes. Exact headers and credentials can vary by API environment and version.
Credential management
- Store OAuth credentials, tenant identifiers, application keys, and secrets in Martini secrets or environment configuration.
- Keep production and integration environment credentials separate.
- Do not place credentials in mappings, source code, static payloads, or operational logs.
- Restrict API permissions to the ServiceTitan domains and operations required by the workflow.
Operational considerations for ServiceTitan integrations
Rate limits and retries
Confirm ServiceTitan rate limits for each API domain and tenant. Use bounded concurrency, throttling, and retry with backoff for transient failures and retryable HTTP 429 responses.
Pagination and checkpoints
Process list responses page by page and persist the last successful page, cursor, or synchronization watermark. Do not assume a fixed page size, and test behavior when records change during a long-running synchronization.
Events and idempotency
Webhook deliveries may be duplicated, and a notification may arrive before the referenced object is fully available. Deduplicate events, use stable ServiceTitan identifiers for upserts, and retry object retrieval with bounded backoff.
Schema and reconciliation
Keep ServiceTitan API versions explicit, validate required fields, tolerate additive fields where practical, and test mappings when enumerations or nested structures change. Use periodic reconciliation and an exception process to detect missed events or failed incremental requests.
Why use Martini instead of scripts or point-to-point integrations?
Orchestration beyond point-to-point code
Martini provides a maintainable workflow layer for authenticating to ServiceTitan, consuming paginated REST APIs, receiving selected webhook events, applying business rules, and coordinating writes across multiple target systems.
Reusable integration logic
Shared authentication, API invocation, validation, mapping, retry, and exception-handling logic can be reused across ServiceTitan workflows instead of being duplicated in scripts.
Operational control
- Separate webhook receipt from asynchronous business processing when workloads are slow or bursty.
- Persist checkpoints, deduplication keys, and reconciliation state.
- Centralize transformations between ServiceTitan objects and canonical or target models.
- Support monitoring, troubleshooting, and controlled deployment of integration changes.