ServiceTitan connector
Your Silux Chat bot verifies customers against ServiceTitan, then answers questions about their invoices and support tickets and cases from your live data.
Good to know: ServiceTitan's customer list has no email filter (email needs a two-step contact-method lookup), so customers are found by phone.
What your bot can do with ServiceTitan
Recognise and verify customers
Finds the customer in ServiceTitan by the email address or mobile number they give, checks their name and one more detail, then sends a one-time code to the contact details ServiceTitan holds. Nothing personal is shared until the code is entered.
Customers ask: “I want to check my account — it’s Jane Smith, jane@example.com”
Invoices
Reads a verified customer’s invoices from ServiceTitan — number, date, amount and whether it is paid.
Customers ask: “Is my latest invoice paid?” · “How much was my last bill?”
Support tickets and cases
Reads the verified customer’s tickets, cases or tasks in ServiceTitan — subject, status and when each was last updated.
Customers ask: “Is there any update on my case?” · “Has my request been closed?”
Set it up
Most businesses finish in under ten minutes. You need to be able to sign in to ServiceTitan as an administrator to create the key.
Step 1 — in ServiceTitan
- 1ServiceTitan
- 2Settings
- 3Integrations
- 4API Application Access
- 5connect the Silux Chat app (CRM, Accounting, Jobs read)
- 6copy the client ID, secret and tenant ID.
Least access: grant only the read permissions named above (customers, orders, invoices, bookings or tickets — whichever this connector uses). Never use an owner or full-admin key where ServiceTitan lets you create a restricted one.
Step 2 — in Silux Chat
- 1Open Dashboard → Integrations → Connectors and search for “ServiceTitan”.
- 2Fill in:
Field Example Stored Tenant ID 1234567890 Setting Client ID •••••••• Encrypted Client secret •••••••• Encrypted App key (ST-App-Key) •••••••• Encrypted - 3Press Connect & test. The platform makes a real, read-only call to ServiceTitan with a made-up customer and shows a tick or a cross for each capability, with ServiceTitan’s exact error if something is refused.
- 4If this is your first way of verifying customers it is switched on automatically; otherwise press Use to verify customers. The platform then runs its chained test (verify → code → account → orders → invoices) with the built-in test customer — no real person is contacted.
You create an API client in ServiceTitan and paste its client ID and secret. The platform exchanges them for short-lived access tokens automatically, so nothing needs renewing by hand.
How customer verification works
- STEP 1
Customer asks
They ask about their own account. The bot asks for their full name and their email or mobile, plus one more detail such as their postcode.
- STEP 2
Found in ServiceTitan
The customer is looked up in ServiceTitan by email, then mobile. The surname must match exactly and the first name must match or start with the same letter, plus one more detail.
- STEP 3
Code sent
A 6-digit code goes to the mobile ServiceTitan holds (by text, when your plan has SMS) or otherwise to the email it holds. The chat never chooses where it goes.
- STEP 4
Verified
The customer types the code. It is valid for 10 minutes and five wrong attempts cancel it. The verified session lasts 30 minutes.
If the details don’t match, the customer is told only that they couldn’t be matched — never which detail was wrong. If ServiceTitan can’t be reached, the bot says it can’t check accounts right now rather than “no account found”. The bot is blocked in code from reading orders, invoices or bookings until verification succeeds. Full details: Customer identity verification & OTP.
What the bot can and cannot see
Can see (after verification)
- Record ID
- Name
- Postcode
- Balance
- Active
- Invoice number
- Date
- Amount
- Status
- Due date
- Due date
- Subject
- Last updated
Only these standard fields are mapped from ServiceTitan’s responses. Everything else in the response is discarded before the bot sees it.
Never sees
- passwords, security answers or login details
- records belonging to anyone other than the verified customer
- anything outside the fields listed alongside
Security
Keys encrypted at rest
Credentials are stored encrypted, shown only masked after saving, and destroyed — not just hidden — when you disconnect.
Read-only look-ups
Every capability is a look-up. The connector cannot create, change or delete anything in ServiceTitan.
HTTPS only
Calls go to the vendor’s HTTPS address, redirects are not followed, and private network addresses are refused.
Injection-safe
Values a customer types are cleaned before they are placed in ServiceTitan’s search, and URL-encoded in addresses.
Other customers filtered out
A row that names a different customer’s email is dropped, whatever the vendor’s search returned.
Checked daily
Connections are re-tested every day, and the owner is emailed if a working connection starts failing.
More: Security & data protection.
Technical details
For developers and IT teams: the ServiceTitan endpoints this connector reads, relative to https://api.servicetitan.io. Values in braces come from the settings you enter.
| Capability | Request | Standard fields returned |
|---|---|---|
| Recognise and verify customers | GET/crm/v2/tenant/{tenant}/customers | id, name, postcode, balance, active |
| Invoices | GET/accounting/v2/tenant/{tenant}/invoices | invoice, date, amount, status, due, due_date |
| Support tickets and cases | GET/jpm/v2/tenant/{tenant}/jobs | id, subject, status, updated |
Test level: Documented-API tested. Each capability is run automatically against ServiceTitan’s documented example responses and must produce the standard fields; your own connection is then tested with a real call when you connect. The bot receives these through the standard Account Connect endpoints, exactly as if you had built them yourself.
Troubleshooting
| What you see | Likely cause and fix |
|---|---|
| “the vendor refused the credentials (401)” or (403) | The key was revoked, has expired or was copied incompletely, or it lacks a read permission this connector needs. Create a fresh read-only key in ServiceTitan and reconnect. |
| “That Tenant ID doesn’t look right” | Enter it in the form shown, e.g. 1234567890 — without https:// or a trailing slash. |
| Customers are “not matched” although they exist | Customers are looked up by email or mobile, not postcode. Check the customer’s email or mobile is saved on their ServiceTitan record, and that the surname matches. |
| A capability shows a cross but others work | That permission wasn’t granted in ServiceTitan, or your ServiceTitan plan doesn’t include that part of the API. Grant it and press Test. |
| “the vendor kept rate-limiting the request” | ServiceTitan returned “too many requests” three times in a row. The platform already waits and retries automatically (up to 10 seconds, as ServiceTitan asks); if it persists, ask ServiceTitan about your API quota. |
| Results are empty for a verified customer | The records exist under a different email or customer record in ServiceTitan, or none are recent. Check the customer’s record in ServiceTitan directly. |
Full error reference: Troubleshooting & error reference.
Frequently asked questions
Is the ServiceTitan connection read-only?
Yes. Every request Silux Chat makes to ServiceTitan is a look-up; none creates, changes or deletes anything in ServiceTitan. Give the key or sign-in read-only permissions wherever ServiceTitan offers them.
Do I need a developer to connect ServiceTitan?
No. You paste the details listed in the set-up steps in Dashboard → Integrations → Connectors and press “Connect & test”. The platform makes a real call to ServiceTitan straight away and shows exactly which features work.
How does the bot know it is really my customer?
It finds the customer in ServiceTitan by the email or mobile they give, checks their name and one more detail, then sends a one-time code to the mobile or email held in ServiceTitan — never to one typed in the chat. The code lasts 10 minutes, five wrong attempts cancel it, and a verified session lasts 30 minutes.
What happens if my ServiceTitan key is revoked or expires?
The bot tells customers it can’t check their account right now — it never pretends there are “no orders”. Connections are re-tested daily and the account owner is emailed when a working connection starts failing. Reconnect it in Dashboard → Integrations → Connectors.
How has the ServiceTitan connector been tested?
It is Documented-API tested: every capability is run automatically against ServiceTitan’s documented example responses and must produce the standard fields. When you connect, it is tested again with a real call to your own ServiceTitan account before your bot uses it.
Other field service connectors
Housecall Pro
Appointments and bookings · Recognise and verify customers · Invoices
Jobber
Appointments and bookings · Recognise and verify customers · Invoices
ServiceM8
Appointments and bookings · Recognise and verify customers · Invoices
simPRO
Account balance · Recognise and verify customers · Invoices · Support tickets and cases
Workiz
Appointments and bookings
Need help with your integration?
Our integration team can review your endpoints, help you choose the right connector and check a test run with you. Tell us which system you use and what you would like the bot to answer.