ServiceTitan
ServiceTitan is a cloud field service management platform built for residential and commercial trades like HVAC, plumbing, electrical, and roofing. It provides an end-to-end operations suite — job booking, scheduling and dispatching, technician management, CRM, estimates and invoicing, and reporting. Its V2 REST API integrates field service data with external systems across your stack.

Power end-to-end data operations for your ServiceTitan API with Nexla. Our bi-directional ServiceTitan connector is purpose-built for ServiceTitan, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to ServiceTitan or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your ServiceTitan workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
ServiceTitan uses the OAuth 2.0 Client Credentials Grant flow (two-legged, machine-to-machine authentication) for all API access. To connect Nexla to ServiceTitan, you need a Client ID, Client Secret, Application Key (App Key), and your Tenant ID. These are obtained through the ServiceTitan Developer Portal and your ServiceTitan account settings.
Access the ServiceTitan Developer Portal
The ServiceTitan Developer Portal is where you register your integration application and manage API credentials. You must have a ServiceTitan account to log in.
-
Navigate to https://developer.servicetitan.io/ and click Login to My Apps.
-
Sign in using the Production Environment option if you are connecting to your live ServiceTitan account, or the Integration Environment for testing and development purposes.
Create an Application and Obtain Your App Key
The App Key is a unique identifier tied to your integration application in the ServiceTitan Developer Portal. It is required as an HTTP request header (ST-App-Key) on every API call to identify which developer application is making the request.
-
After logging in to the Developer Portal, navigate to the My Apps tab.
-
Click Create App and provide a descriptive name and description for your integration application (for example, "Nexla Integration").
-
Add your ServiceTitan Tenant ID to the app and select the API scopes your integration requires. For use with Nexla, the relevant scopes include Job Planning, CRM, Dispatch, Pricebook, Sales, Equipment Systems, and Settings, corresponding to the endpoint categories available in the Nexla connector.
-
Save the application. Your Application Key (App Key) will be generated and displayed in the Keys > Application Key section of the app details page. Copy it and store it securely — you will enter this value in Nexla as the Application Key field.
Obtain Your Client ID and Client Secret
The Client ID and Client Secret are used together to request an OAuth 2.0 access token from the ServiceTitan authorization server at https://auth.servicetitan.io/connect/token.
-
Log in to your ServiceTitan account (not the Developer Portal) and navigate to Settings using the toolbar at the top of the screen.
-
In the settings side panel, search for Integrations and select API Application Access.
-
In the Manage API Application Access section, click Connect New App.
-
A pop-up will display the available applications registered to your account. Locate the application you created in the Developer Portal and click to select it.
-
Review the access request and the listed API scopes, then click Allow Access to authorize the integration.
-
Once access is granted, navigate to Application Details in the API Application Access section. Your Client ID is displayed there — copy it.
-
Copy your Client Secret from the same Application Details section. Store both credentials securely, as the Client Secret grants API access to your ServiceTitan data.
The Client ID and Client Secret are environment-specific. Credentials generated in the Production Environment cannot be used to authenticate against the Integration (sandbox) Environment. Ensure you generate credentials in the correct environment for your use case.
Find Your Tenant ID
The Tenant ID is a numeric identifier that uniquely identifies your ServiceTitan organization. It is included in every API endpoint URL as a path parameter.
-
Log in to the ServiceTitan Developer Portal and navigate to the My Apps tab.
-
Your Tenant ID is listed in your application details. It is also available in your ServiceTitan account settings. Contact your ServiceTitan administrator if you need assistance locating it.
Additional details about obtaining and managing ServiceTitan API credentials are available in the ServiceTitan Developer Portal FAQ: App Key, Client ID & Secret.
Authenticate
Credentials required
Server-to-server OAuth2 authentication for ServiceTitan API integration.
| Field | Required | Secret | Description |
|---|---|---|---|
| Client ID | Yes | No | OAuth2 Client ID from ServiceTitan developer portal |
| Client Secret | Yes | Yes | OAuth2 Client Secret from ServiceTitan developer portal |
| Access Token URL | Yes | No | OAuth2 token endpoint |
| Tenant ID | Yes | No | Your ServiceTitan organization Tenant ID |
| Application Key | Yes | Yes | ST-App-Key from ServiceTitan developer portal |
Create a credential in Nexla
-
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay, and enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
ServiceTitan uses the OAuth 2.0 Client Credentials Grant (two-legged) flow for machine-to-machine authentication. Nexla handles token retrieval and renewal automatically — access tokens expire after 15 minutes and Nexla will request a new one using the credentials below without interrupting your data flows.
-
Enter your OAuth 2.0 Client ID in the Client ID field. This value is obtained from the Application Details section of API Application Access in your ServiceTitan account settings, as described in Prerequisites.
-
Enter your OAuth 2.0 Client Secret in the Client Secret field. This is the corresponding secret associated with your Client ID. This value is treated as a password and will be stored securely by Nexla.
-
Enter the OAuth 2.0 token endpoint URL in the Access Token URL field. The default value is
https://auth.servicetitan.io/connect/token. This is the standard ServiceTitan authorization server endpoint and should not need to be changed. -
Enter your ServiceTitan organization's Tenant ID in the Tenant ID field. This numeric identifier is included in all ServiceTitan API endpoint URLs to route requests to the correct organization. See Find Your Tenant ID in Prerequisites for instructions on locating this value.
-
Enter your Application Key in the Application Key field. This is the
ST-App-Keyvalue generated in the ServiceTitan Developer Portal when you created your integration application. It is sent as an HTTP request header on every API call and identifies which developer application is making the request.The Application Key is distinct from the Client ID. The App Key identifies your integration application in the Developer Portal, while the Client ID and Client Secret authenticate your specific organization's authorized access to the API.
-
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
Use as a data source
The ServiceTitan connector enables you to ingest operational field service data — including jobs, appointments, customers, locations, technicians, estimates, pricebook items, and dispatch information — directly into Nexla. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the ServiceTitan connector tile, then select the credential that will be used to connect to the ServiceTitan instance, and click Next; or, create a new ServiceTitan credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common ServiceTitan API endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
ServiceTitan data sources can also be manually configured to ingest data from any valid ServiceTitan V2 API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
All ServiceTitan V2 API endpoints follow the pattern https://api.servicetitan.io/{'{namespace}'}/v2/tenant/{'{tenantId}'}/{'{resource}'}. Your Tenant ID is automatically provided by your saved ServiceTitan credential for template-based sources; substitute it manually when configuring a source by hand. Most list endpoints return records under $.data[*], with pagination metadata (such as page.totalCount and page.hasMore) available at $.page. ServiceTitan also requires the ST-App-Key header on every request — Nexla adds this automatically using the Application Key stored in your ServiceTitan credential.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new ServiceTitan data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Use as a destination
Click the + icon on the Nexset that will be sent to the ServiceTitan destination, and select the Send to Destination option from the menu. Select the ServiceTitan connector from the list of available destination connectors, then select the credential that will be used to connect to the ServiceTitan organization, and click Next; or, create a new ServiceTitan credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common ServiceTitan write endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Manual configuration
ServiceTitan destinations can also be manually configured to send data to any valid ServiceTitan V2 API endpoint, including PATCH/PUT update operations and endpoints not covered by the pre-built templates. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
ServiceTitan API endpoint URLs include your Tenant ID as a path component (for example, https://api.servicetitan.io/crm/v2/tenant/{'{tenantId}'}/customers). For update (PATCH) operations, include the numeric ID of the object to be updated at the end of the URL. ServiceTitan's V2 API accepts JSON for all write operations. The ST-App-Key and Authorization headers are added automatically by Nexla using your saved credential — you do not need to include them manually.
Save & activate
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to ServiceTitan, open the destination resource menu, and select Activate.
The Nexset data will not be sent to ServiceTitan until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.