Get Google reviews from ServiceTitan jobs without asking by hand. When a job is marked Completed in ServiceTitan, Reviewflowz sends that customer a review request by email, SMS or WhatsApp, and credits the review that comes back to the technician who did the work. See the ServiceTitan integration.
How it works
A technician closes a job and it reaches Completed.
Within about 15 minutes, the customer becomes a contact in Reviewflowz with the job number, business unit and technician.
The request goes out after your delay, on the channel you chose.
Their review is matched to the job and credited to each technician on it.
What triggers a request
ServiceTitan event | When it fires | What comes across |
A job is completed | Checked every 15 minutes (ServiceTitan offers no webhooks to new apps) | Customer name, email, mobile or phone, job number, job type, business unit, service location and technicians |
Scheduled, Dispatched, In Progress, Hold and Canceled never send. A job canceled after completion drops out of matching. A customer is asked once, even after a second job. On connect we import 90 days of completed jobs, so your technicians get credit for reviews you already have. None of those customers is messaged.
Connect ServiceTitan
You collect four values in three places. The user doing this needs the Generate API Application Key and Manage API Application Access permissions in ServiceTitan.
1. Tenant ID. In ServiceTitan, click the Settings gear, search Integrations and open API Application Access. Copy the Tenant ID at the top right.
2. Application Key. At developer.servicetitan.io, choose Sign In as Production Environment User. The Integration Environment buttons lead to a sandbox that can't see your jobs. In My Apps, click Register New App. Developer Details describe us, not you: enter Organization Name Reviewflowz, website https://www.reviewflowz.com (with the https://) and email [email protected], then click Generate next to the External Data Application GUID. Under Tenant APIs, add your Tenant ID and click Add API Scopes, then tick Jobs, Customers, Locations, Appointment Assignments and Business Units. Read access is enough. Save, then copy the Application Key from the pencil icon on the app's row.
3. Client ID and Client Secret. Back in API Application Access, click Connect New App, select your app, click Connect and approve the scopes. The Allowed "tenant" value on the app's page should match your Tenant ID. Then, in the developer portal's My Apps, click the chain-link icon (App Connections). Copy the Client ID, click Generate and copy the Client Secret straight away, because it's shown once.
4. Reviewflowz. Open Integrations, then Automate review requests, and click the ServiceTitan card. In Connect ServiceTitan, paste the Client ID, Client Secret and Tenant ID, and the Application Key into App Key (optional). Despite the label, you need it. Click Connect ServiceTitan.
A failed connection says which value is wrong: "ServiceTitan rejected those credentials" means the Client ID or Secret, and "Those credentials work, but that Tenant ID does not" means the Tenant ID. Once connected, you land in a draft request called "ServiceTitan review requests", set to email.
Link your business units to locations
Under Locations, Match locations by decides which of your locations a job belongs to, and so which location's review pages the request points to.
Business unit, when your business units are branches. Link each one, so Denver HVAC Service and Denver Plumbing go to Ridgeline Comfort Denver.
Customer address, when they're trade lines. We take the location nearest the customer, within 80 km.
Set Fall back to as well. A unit left Not linked, like Commercial Service here, isn't ignored. Its jobs go to the nearest location by address, then to the fallback. Click Refresh list after adding a business unit.
Set up the request
When. Ridgeline Comfort emails an hour after the job closes, while the visit is fresh, then follows up 2 days later with "Still happy with the work, {{first_name}}?". Options run from as soon as possible to 7 days, up to 3 messages, and the follow-ups stop once a customer clicks, reviews or unsubscribes.
Channel. Email, SMS or WhatsApp, one per request, from the customer's details in ServiceTitan. Customers missing that channel are skipped.
Message. Set the From name ("Ridgeline Comfort"), the subject ("How did we do today, {{first_name}}?"), the body and the button text ("Review your visit"). SMS counts 160 characters, link included. WhatsApp uses an approved template. Try Send myself a test.
Direct reviews to. Smart routing sends one button and picks the site per customer, here Google toward a 4.8 rating and Yelp for as many reviews as possible. Show all options on the email gives every site its own button, on email only.
Turn it on
Open the request and click Turn requests on. Only jobs completed after you connected are ever messaged. Jobs completed while requests are off are never sent one, even after you turn requests on.
See what it brings back
The Requests page counts Contacts, Requests, Clicked CTA, Matched and Stopped. When Erin Quinlan reviews the visit, the review card credits Luis Ortega, the technician on the job. A job with two technicians credits both. The Team Attribution Leaderboard under Reports > Dashboard ranks your technicians by reviews, and the CRM Integration widget on the same Dashboard tracks requests, clicks and matches.
Good to know
ServiceTitan is part of the Premium plan, from $70 per location per month.
Only the teammate who connected ServiceTitan can change its settings.
Each ServiceTitan company (tenant) needs its own connection. ServiceTitan restricts a customer app to one tenant, so for a second one, email [email protected] with your App ID or register a second app from a ServiceTitan user on that second company.
Regenerated the Client Secret? Syncing stops. Disconnect, then connect again with the new secret.
Nothing is written back to ServiceTitan.
Disconnecting keeps your contacts, orders and requests. Jobs completed while disconnected are never messaged.





















