ServiceTitan
ERPConnect AI agents to ServiceTitan, the field service platform for the trades. Agents create and look up customers, read service locations, monitor jobs and appointments by status for dispatch workflows, and pull invoices for accounting sync.
What This Integration Enables
A field-service shop runs on one question: which truck, which address, which job, which invoice. ServiceTitan holds those answers across its CRM, job management, and accounting modules, and this connector lets FlowRunner agents work across all three through the tenant-scoped API. Agents create and look up customers, read service locations, monitor jobs and appointments by status for dispatch workflows, and pull invoices for accounting sync. - Create customers from inbound leads and bookings, behind a dedup check - Sync customers and service locations to CRMs, sheets, and marketing systems - Watch job and appointment status to drive dispatch alerts and customer notifications - Pull invoices by customer and status for billing reconciliation - Keep the office, the field, and the books reading the same records This is a gated integration: API access is granted per tenant through the ServiceTitan Developer Portal, and the connector authenticates with client credentials plus the application key on every call. Inside that boundary, FlowRunner's [human-in-the-loop](/concepts/human-in-the-loop) step guards the one write that shapes everything downstream: who the customer record says you are.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Web lead to booked job without a duplicate
A form submission lands. The agent runs List Customers on the name and List Locations on the address. A clean miss creates the customer; a partial hit goes to the CSR with both candidates side by side. Once the customer exists, the office books the job, and the agent's status watch takes over: when List Appointments shows the appointment scheduled with a technician assigned, the confirmation text goes out and [Slack](/integrations/slack) posts the job to the dispatch channel.
The dispatch board that taps you on the shoulder
Every ten minutes, List Jobs pulls jobs by status. New arrivals in scheduled status alert dispatch with job number, customer, and business unit from Get Job. Jobs stuck in hold status beyond the threshold escalate to the operations manager. The morning run writes the day's appointments to [Google Sheets](/integrations/google-sheets) as the printable field schedule, and the same sweep catches unassigned appointments before the trucks roll.
Invoices that reach the books while the job is warm
Nightly, List Invoices filters the tenant for pending invoices. Each syncs to [QuickBooks](/integrations/quickbooks) with its total, balance, and customer reference, and the run logs what moved. Balances that remain open past terms feed the collections follow-up list with the related job attached, so the conversation starts with context: which visit, which tech, which work. Get Customer supplies current balance and contact details when the follow-up actually happens.
Human-in-Loop Highlight
Create Customer is the master-data write in a system where everything hangs off the customer record: locations, jobs, appointments, and invoice balances all attach to that one ID. Create a duplicate and the damage compounds quietly, history splits across two records, receivables show two partial balances, and the do-not-service flag set on one record does not protect anyone looking at the other. ServiceTitan gives you no casual merge to undo it. So the agent on this page treats ambiguity as a stop condition: "Booking from 'R. Kowalski, 412 Birch Lane' matches existing customer Robert Kowalski with a different address two streets over, balance 380 dollars, 6 past jobs. Same person at a new house, or a new customer?" The CSR answers from context no matcher has, the record is created or reused accordingly, and every downstream job and invoice lands on one clean ID. The do-not-mail and do-not-service flags ride through the same review, because those flags are policy decisions about real households, not fields to default.
Agent Capabilities
8 actionsCustomers
3- List Customers Retrieves the tenant's customers with paging, an optional name filter, and an active-only toggle, in the standard ServiceTitan envelope with hasMore pagination. The dedup search behind every create.
- Get Customer Retrieves one customer in full by ID: name, type, contact info, balance, and addresses. The context pull for collections and service decisions.
- Create Customer Creates a customer with name, type, and at least one service location address, plus optional do-not-mail and do-not-service flags. The write behind this page's human gate.
Locations
1- List Locations Retrieves service locations with paging, optionally filtered to one customer, each with its address and owning customer. The address-level check that catches duplicates the name search misses.
Jobs and Appointments
3- List Jobs Retrieves jobs from the JPM module with paging and filters by status and customer. The sweep behind dispatch alerts and stuck-job escalations.
- Get Job Retrieves one job in full: job number, status, customer, location, business unit, and job type. The detail step behind every dispatch notification.
- List Appointments Retrieves appointments with paging, filterable by job and status, each with scheduled start and end times and technician assignment status. The source for field schedules and confirmation timing.
Accounting
1- List Invoices Retrieves invoices with paging, filterable by customer and status, each with total, balance, and related job and customer. The feed for accounting sync and collections follow-up.
Frequently Asked Questions
What can FlowRunner do with ServiceTitan?
FlowRunner agents can run List Customers, Get Customer, and Create Customer in ServiceTitan, plus 5 more actions.
Does connecting ServiceTitan to FlowRunner require OAuth?
Yes. ServiceTitan connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.
Can ServiceTitan trigger a FlowRunner workflow automatically?
ServiceTitan doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with ServiceTitan
$100 in credits. No card required. Connect in minutes.