Home services and trades
How to clean up ServiceTitan data before turning on AI tools
By SourceX Editorial · Updated
Short answer
ServiceTitan data cleanup before turning on AI tools should run in a fixed order: merge duplicate customers and locations, consolidate job types, rebuild the tag list, complete equipment records, reconcile memberships, then flag sensitive closed-job notes. Fix codes going forward and map old ones in a crosswalk; never rewrite closed jobs, because the original history is what matters.
Key takeaways
- Clean in dependency order: customers and locations first, because job types, equipment and memberships all hang off them.
- Consolidate job types and tags going forward, and keep a crosswalk from retired codes instead of recoding closed jobs.
- Equipment attached to the right location is what lets an AI tool reason about unit age, model and repeat failures.
- Flag gate codes, alarm codes and personal details in closed-job notes for restricted access or redaction rather than editing the notes.
- A merge log and code crosswalk double as provenance evidence if you later license de-identified job history.
Why does ServiceTitan data cleanup matter before AI tools go live?#
ServiceTitan data cleanup matters because AI tools treat your records as the truth. An assistant that finds one homeowner under several customer records, or a long list of job types that all mean a no-heat call, will give answers that sound confident and are wrong: a missed membership discount, an incomplete service history, a poor estimate of how long a visit takes.
The same cleanup serves a second purpose. If the company later licenses de-identified job history to AI developers, reviewers look for consistent codes, linked records and a clear account of what changed and when. Work done now for your own tools carries straight into that review, provided the cleanup preserves the original history instead of overwriting it.
The goal is not a perfect database. It is an account where each customer appears once, each code means one thing, and each piece of equipment sits at one location.
The cleanup order, and what each step protects#
The cleanup order follows dependencies inside the account. Jobs, equipment and memberships all attach to a customer and a location, so merging duplicates first stops the team from cleaning the same equipment twice. Notes come last because they are reviewed and flagged, not changed.
| Step | What to fix | Why it matters for AI tools | Why it matters for licensing |
|---|---|---|---|
| Duplicate customers and locations | The same homeowner or address entered more than once | Service history and membership status are split across records | Inquiry-to-invoice chains break at the customer |
| Job types and business units | Overlapping or retired job types that are still selectable | Duration, pricing and dispatch suggestions learn from mixed categories | Each job needs a stable label for what the work was |
| Tags | Tags with unclear, personal or duplicate meanings | Assistants filter and summarize on tags that mean different things to different people | Inconsistent labels make outcomes hard to read |
| Equipment | Units missing, unattached or duplicated at a location | Age, model and repair history drive maintenance and replacement prompts | Equipment-linked repair histories are a distinctive record family |
| Memberships | Status, visit and cancellation fields out of step with reality | Renewal and retention prompts fire on the wrong customers | Recurring service records show outcomes over time |
| Closed-job notes | Access codes, phone numbers and household details in free text | AI summaries can surface them to the wrong user | Notes need redaction before anything leaves the company |
How do you merge duplicate customers and locations safely?#
Duplicate customers and locations should be merged inside ServiceTitan rather than fixed in a spreadsheet export, so that jobs, invoices, equipment and memberships follow the surviving record. Check how merges behave on your account in ServiceTitan's documentation or with your account manager before running a large batch, because a merge is hard to undo.
Most duplicates come from a few habits: a CSR creating a new record instead of searching, a landlord and tenant entered as separate customers for one address, each site of a commercial account entered as a new customer, or records imported during a past migration.
- Export customers and locations to a working file and sort by normalized address, phone and email to find candidate pairs.
- Set the survivor rule before merging, such as the record with the longest job history or the active membership.
- Separate true duplicates from legitimate splits, such as a property manager who pays for many homeowner locations.
- Merge in small batches and spot-check that job history, equipment and memberships moved with the survivor.
- Log every merge with both record IDs, the date and the person who approved it.
- Change the booking script so CSRs search by phone and service address before creating a customer.
Job types, business units and tags: one meaning per code#
Job types, business units and tags need one meaning each, because AI tools group work by these codes. If 'No Heat', 'Furnace Repair - No Heat' and 'Heating Service Call' all describe the same visit, every suggestion about duration, parts or price is drawn from a muddled sample.
Consolidate the active list going forward and deactivate retired codes instead of deleting them. Then build a crosswalk that maps each retired job type or tag to its current equivalent, with the date it was retired. The crosswalk lets an AI tool, an analyst or a later reviewer read old jobs correctly without anyone recoding closed work.
| Retired code | Current code | Crosswalk note |
|---|---|---|
| Heating Service Call | Heating - No Heat Diagnostic | Merged when diagnostic and repair were split into separate jobs |
| Furnace Repair - No Heat | Heating - No Heat Diagnostic | Repair now booked as a follow-on job |
| Tag: VIP | Tag: Member - Priority | Old tag mixed members with friends of staff |
| Tag: Callback | Tag: Recall - Warranty | Split from Recall - Billable |
| Plumbing Misc | No single equivalent | Review by job summary; do not auto-map |
Equipment and membership records#
Equipment records are often the least complete part of a ServiceTitan account and among the most useful once filled in. A unit attached to the right location, with make, model, serial number and install date, lets an AI tool connect a repair to the unit's age and past failures instead of guessing from technician notes.
Start with active members and recent replacement jobs, where technicians already captured data plate photos or model numbers. Fill missing fields from those sources, mark unknown values as unknown rather than estimating them, and remove duplicate units created when technicians added the same system on each visit.
Memberships need reconciling against reality: active status on customers who stopped paying, visits shown as due that were completed, and cancellations with no reason recorded. A short cancellation-reason picklist turns membership history into a record of why customers stay or leave.
Closed-job notes: flag them, do not rewrite them#
Closed-job notes should be flagged for sensitive content, not edited. Technician summaries, CSR notes and job comments are the richest records in the account because they say what was found and why a decision was made, yet they also hold access codes, household details and personal phone numbers.
Editing notes destroys the original record and its timestamp trail. Instead, sample notes by job type and year, list the kinds of sensitive content you find, and decide which AI tools may read notes at all and which user roles may see AI summaries built from them.
- Access details: gate, lockbox, garage and alarm codes.
- Household details: medical equipment, illness, children or pets at home, tenant disputes.
- Contact details typed into free text instead of contact fields.
- Card numbers or bank details pasted into notes by mistake.
- Remarks about customers that would embarrass the company if an assistant quoted them back.
Illustrative: a multi-trade contractor cleans up before an AI booking pilot#
Illustrative: a fictional HVAC and plumbing company in the Midwest with many years of ServiceTitan history plans to pilot an AI booking assistant. The COO's first export shows repeat customers split across duplicate records, a job type list that grew with every new service manager, and equipment entered for only some members.
The team merges duplicates in batches with a merge log, trims the active job types to the codes dispatch actually uses, and writes a crosswalk for everything retired. Technicians fill equipment from data plate photos during member tune-ups. Notes are sampled and flagged, and the pilot is configured so CSRs never see access codes in AI summaries.
The pilot launches on cleaner records. When the owner later asks whether the job history could be licensed, the merge log, crosswalk and note flags already describe how the data was maintained.
How SourceX looks at cleaned ServiceTitan history#
SourceX reviews field service history with the SourceX Enterprise Data Value Framework, a SourceX methodology whose drivers include domain expertise, human-generated signal, scale, recency, data cleanliness, rights and AI utility, while preparation cost and privacy burden reduce net value. Cleanup works on two of those directly: consistent job types, recall tags and equipment links improve data cleanliness, and flagged notes lower the preparation cost. A crosswalk shows how codes evolved.
If a company proceeds, the SourceX five-step transaction (Supply, Rights, Preparation, Approval, Delivery) covers rights review and privacy preparation, and the cleanup log feeds the provenance section of the SourceX Evidence Packet. The first fit check asks for system names, years of history and record families, not files.
Frequently asked questions
Should we delete old job types and tags?
No. Deactivate them so they cannot be selected, and leave them on closed jobs. Deleting or recoding historical codes changes the record of what dispatch and technicians actually used at the time. A crosswalk table explains the mapping without altering history, and it is easier to defend if anyone later asks how the data was prepared.
Does all the cleanup have to finish before any AI tool goes live?
No. Fix what the first tool reads. A booking assistant depends on customers, locations, memberships and job types; a technician assistant depends on equipment and notes. Clean those families first, launch on a limited scope, and extend the cleanup as you add tools.
Will merging duplicates change our reports?
Yes, some numbers will move. Merges can change counts of new versus repeat customers and shift marketing attribution if a campaign was tied to the duplicate record. Run key reports before and after a test batch, note the differences in the merge log, and tell finance and marketing which figures will change.
Who should own ServiceTitan cleanup?
One owner, usually the COO or an operations manager, with a dispatcher, a senior CSR and a service manager as reviewers. Name an approver for merges and code retirements, because job type changes can also affect commission, technician pay and performance reports, not only AI tools.
Do we need to finish cleanup before a licensing fit check?
No. A fit check uses metadata only: systems, years of history, record families and known restrictions. Cleanup improves what a package can offer later, but you do not need to complete it to learn whether your records are a fit.
Related resources
See if your company qualifies
A short company assessment. No data uploads are needed.