AMHAC ST Platform · status

Generated Thu 11/12 08:53 AM ET · database postgres · service 0.1.0 · reload the page for a fresh snapshot

Applications

Every piece of work on the platform belongs to one of these applications (declared in st_core/platform/apps.py). Each card rolls up the health of the application's parts below.

Leads

Takes sales leads from the Parts App, matches them to ServiceTitan customers, assigns them to an engineer and emails everyone involved.

healthy
  • okParts App → Leads API (sales leads in) · live, 3434 lead(s) on file
  • okLead housekeeping · no run recorded here
Tables
5 · 25,625 rows
Routes
/v1/leads-api, /admin/leads
Settings
leads.*
Commands
st leads
Runbook
70-leads-api.md
tables (5)
ViewRows
serving_platform_leads3,434
serving_platform_lead_events15,327
serving_platform_lead_contacts6,699
serving_platform_lead_requests159
serving_platform_lead_intake6

Reports

Builds and emails scheduled reports from the data layer; each report is a definition (Daily Invoice & Payment Report, Weekly Callback Meeting Report; more queue up here) on one shared clock, send ledger and watchdog.

healthy
  • okReports (email) · 3 report(s) registered, nothing overdue
  • okReport: Daily Invoice & Payment Report · last run 1 h 53 min ago · 2026-11-11: 46 invoices (+1 late); time on job 31 -> sent to ['service@amhac.com', 'accounting@amhac.com', 'demetrius@amhac.com', 'jordan@amhac.com', 'bill@amhac.com', 'santiago@amhac.com', 'adam@amhac.com']; marked 46; via scheduler
  • okReport: Weekly Callback Meeting Report · last run 18 h 23 min ago · github: not due on a Wednesday (Thu 2:00 PM ET)
Tables
2 · 1,073 rows
Routes
/admin/report, /admin/reports
Settings
reports.*, invoice_report.*
Commands
st report
Runbook
65-reports.md, 60-invoice-report.md, 66-bonus-report.md
tables (2)
ViewRows
serving_platform_report_items1,048
serving_platform_report_sends25

Sources

Captures data from outside ServiceTitan: OnCall Air proposal events and sold proposals by webhook, Azuga trucks and trips by API, webhook and import, Google reviews by API, ServiceTitan report rows by the Reporting API.

healthy
  • okOnCall Air (proposal events) · receiving, last event just now
  • okOnCall Air (sold proposals) · receiving, last sale 3 min ago
  • okAzuga GPS (trucks and trips) · live, last trip event just now
  • okGoogle reviews (the AMHAC listing) · 1,564 reviews, refreshed 15 h 25 min ago
  • okAzuga vehicles and trips · last run 15 h 36 min ago · 2591 complete, 4 open of 2595
Tables
7 · 20,132 rows
Routes
/webhooks/oncallair, /webhooks/azuga
Settings
none
Commands
st azuga, st oca, st google, st reporting
Runbook
25-oncallair.md, 30-azuga.md, 66-bonus-report.md
tables (7)
ViewRows
serving_oca_events1,895
serving_oca_sold_proposals26
serving_azuga_vehicles24
serving_azuga_events5,270
serving_azuga_trips11,298
serving_google_reviews1,564
serving_report_membership_sales55

Wells Fargo claims

Emails accounting within the hour when Wells Fargo funds a Carrier Infinity or Performance sale, so the dealer claim is filed inside its 30-day window.

healthy
  • okWells Fargo claim alerts · last run 26 min ago · 0 claim alert(s), 0 without a proposal, 0 not qualifying
Tables
1 · 2 rows
Routes
/admin/wf-claims
Settings
wf_claims.*
Commands
st wf-claims
Runbook
67-wells-fargo-claims.md
tables (1)
ViewRows
serving_platform_wf_claim_alerts2

Truck attribution

Works out which technician drove which truck on each day and matches trips to job stops, with a confidence band, using geocoded addresses.

healthy
  • okUS Census geocoder (addresses to coordinates) · 2,843 addresses cached, 87% matched
  • okGeocoder (US Census) · last run 15 h 26 min ago · pending 0, match 0, tie 0, no_match 0, unparseable 0, error 0
  • okTruck attribution (who drove what) · last run 15 h 26 min ago · 3 days; {'default_confirmed': 39, 'swap_detected': 4, 'excluded': 9, 'no_jobs': 4, 'ambiguous': 5, 'default_assumed': 4}
Tables
4 · 16,150 rows
Routes
none
Settings
none
Commands
st attribution, st geocode
Runbook
40-attribution.md
tables (4)
ViewRows
serving_platform_vehicle_assignments0
serving_platform_trip_matches11,621
serving_platform_vehicle_days1,686
serving_platform_geocodes2,843

Prospects

Builds and keeps the register of Westchester light-commercial parcels from public records, the data set behind HVAC prospecting and real-estate acquisition.

healthy
  • okProspects refresh · last run 16 days ago · 1,254 of 9,498 parcels matched to 2,051 ServiceTitan locations; active 468, lapsed 545, never 8,485; 0 new links, 0 retired
Tables
8 · 32,889 rows
Routes
/v1/prospects-api
Settings
prospects.*
Commands
st prospects
Runbook
95-prospects.md, 96-prospects-api.md, 97-prospects-roadmap.md
tables (8)
ViewRows
serving_prospects_parcels9,498
serving_prospects_st_links2,051
serving_prospects_customer_status9,498
serving_prospects_entities3,952
serving_prospects_owner_entities7,890
serving_prospects_notes0
serving_prospects_infill0
serving_prospects_changes0

Claude connector

Lets Claude answer questions about the business through fixed tools and read-only SQL over the serving views, with every question logged.

healthy
  • okClaude connector (MCP) · 133 questions in the last 7 days
Tables
1 · 572 rows
Routes
/mcp, /oauth
Settings
none
Commands
none
Runbook
20-incidents.md
tables (1)
ViewRows
serving_platform_tool_calls572

Platform services

Shared plumbing the other applications use: email in and out through Resend, owner settings, the job-run log, customer identity matching and the shadow record of ServiceTitan writes.

healthy
  • okResend (email replies and delivery receipts in) · receiving, last event 9 min ago
  • okEmail out (Resend) · 246 email(s) sent in the last 30 days
  • okServiceTitan writes (shadow only) · 82 recorded, 0 executed (read-only phase)
  • okPlatform-data backup · no run recorded here
  • okFreshness check · no run recorded here
Tables
8 · 2,747 rows
Routes
/webhooks/resend, /admin/email, /admin/platform
Settings
none
Commands
st email, st settings
Runbook
50-email.md, 80-status-window.md
tables (8)
ViewRows
serving_platform_identity_links18
serving_platform_pending_matches5
serving_platform_outbound_actions82
serving_platform_outbound_messages246
serving_platform_email_events1,461
serving_platform_inbound_messages87
serving_platform_settings6
serving_platform_job_runs842

Data coming in

ServiceTitan (API mirror)

Read-only pulls from the ServiceTitan API, every 4 hours and nightly

85 resources on schedule, last sync 26 min ago
Resources mirrored
85
Last sync
26 min ago (Thu 11/12 08:26 AM ET)
Last run
ok · 106 rows · 9 API calls
Errored resources
none
Behind schedule
none
resources (85)
resourcelast run atagestatusrows upserted totalerror
adjustments2026-11-12T08:31:31Z5 h 22 min agook9
ap_bills2026-11-12T08:31:25Z5 h 22 min agook3513
ap_credits2026-11-12T08:31:25Z5 h 22 min agook0
ap_payments2026-11-12T08:31:25Z5 h 22 min agook0
appointment_assignments2026-11-12T13:26:59Z26 min agook338539
appointment_assignments:also2026-11-12T13:26:59Z26 min agook44896
appointments2026-11-12T13:26:57Z27 min agook277056
arrival_windows2026-11-12T08:31:26Z5 h 22 min agook483
bank_deposits2026-11-12T08:31:23Z5 h 22 min agook149409
booking_provider_tags2026-11-12T08:31:18Z5 h 22 min agook69
business_units2026-11-12T08:31:17Z5 h 22 min agook74
call_reasons2026-11-12T08:31:28Z5 h 22 min agook155
calls2026-11-12T08:31:28Z5 h 22 min agook114767
credit_memos2026-11-12T08:31:21Z5 h 22 min agook0
customer_contacts2026-11-12T13:26:57Z27 min agook64404
customers2026-11-12T13:26:57Z27 min agook37850
employees2026-11-12T08:31:17Z5 h 22 min agook123
equipment_systems2026-11-12T08:31:27Z5 h 22 min agook0
equipment_types2026-11-12T08:31:27Z5 h 22 min agook550
estimate_items2026-11-12T08:31:26Z5 h 22 min agook4493
estimate_templates2026-11-12T08:31:26Z5 h 22 min agook210
estimates2026-11-12T08:31:26Z5 h 22 min agook8879
expense_transactions2026-11-12T08:31:25Z5 h 22 min agook0
form_submissions2026-11-12T08:31:28Z5 h 22 min agook138874
forms2026-11-12T08:31:27Z5 h 22 min agook70
gl_account_types2026-11-12T08:31:21Z5 h 22 min agook91
gl_accounts2026-11-12T08:31:21Z5 h 22 min agook113
installed_equipment2026-11-12T08:31:27Z5 h 22 min agook40953
inventory_bills2026-11-12T08:31:25Z5 h 22 min agook184
invoice_items2026-11-12T13:26:59Z26 min agook860028
invoice_templates2026-11-12T08:31:19Z5 h 22 min agook11640
invoices2026-11-12T13:26:58Z26 min agook322096
job_cancel_reasons2026-11-12T08:31:19Z5 h 22 min agook828
job_canceled_logs2026-11-12T08:31:20Z5 h 22 min agook1904
job_hold_reasons2026-11-12T08:31:19Z5 h 22 min agook552
job_notes2026-11-12T08:31:20Z5 h 22 min agook176962
job_types2026-11-12T08:31:19Z5 h 22 min agook229
jobs2026-11-12T13:26:57Z27 min agook268348
journal_entries2026-11-12T08:31:23Z5 h 22 min agook0
leads2026-11-12T08:31:18Z5 h 22 min agook51
location_contacts2026-11-12T08:31:18Z5 h 22 min agook69463
location_findings2026-11-12T08:31:28Z5 h 22 min agook0
locations2026-11-12T08:31:18Z5 h 22 min agook41083
marketing_campaigns2026-11-12T08:31:29Z5 h 22 min agook130
marketing_categories2026-11-12T08:31:28Z5 h 22 min agook1035
membership_status_changes2026-11-12T08:31:19Z5 h 22 min agook6836
membership_types2026-11-12T08:31:18Z5 h 22 min agook92
memberships2026-11-12T08:31:18Z5 h 22 min agook10614
non_job_appointments2026-11-12T08:31:27Z5 h 22 min agook18025
payment_terms2026-11-12T08:31:20Z5 h 22 min agook73
payment_types2026-11-12T08:31:20Z5 h 22 min agook1242
payments2026-11-12T13:26:59Z26 min agook296671
pricebook_categories2026-11-12T08:31:29Z5 h 22 min agook1209
pricebook_discounts_and_fees2026-11-12T08:31:30Z5 h 22 min agook141
pricebook_equipment2026-11-12T08:31:30Z5 h 22 min agook842
pricebook_materials2026-11-12T08:31:29Z5 h 22 min agook6612
pricebook_services2026-11-12T08:31:29Z5 h 22 min agook14087
project_notes2026-11-12T08:31:20Z5 h 22 min agook262
project_statuses2026-11-12T08:31:19Z5 h 22 min agook75
project_substatuses2026-11-12T08:31:19Z5 h 22 min agook138
project_types2026-11-12T08:31:19Z5 h 22 min agook276
projects2026-11-12T08:31:20Z5 h 22 min agook2571
proposal_templates2026-11-12T08:31:26Z5 h 22 min agook69
purchase_order_types2026-11-12T08:31:30Z5 h 22 min agook210
purchase_orders2026-11-12T08:31:30Z5 h 22 min agook2397
receipts2026-11-12T08:31:30Z5 h 22 min agook2384
recurring_service_events2026-11-12T08:31:19Z5 h 22 min agook57618
recurring_service_types2026-11-12T08:31:18Z5 h 22 min agook25
recurring_services2026-11-12T08:31:19Z5 h 22 min agook8942
remittance_vendors2026-11-12T08:31:21Z5 h 22 min agook148
report_categories2026-11-12T08:31:29Z5 h 22 min agook828
returns2026-11-12T08:31:30Z5 h 22 min agook20
service_agreements2026-11-12T08:31:27Z5 h 22 min agook0
tag_types2026-11-12T08:31:17Z5 h 22 min agook164
tasks2026-11-12T08:31:28Z5 h 22 min agook1879
tax_zones2026-11-12T08:31:21Z5 h 22 min agook75
teams2026-11-12T08:31:26Z5 h 22 min agook483
technician_skills2026-11-12T08:31:26Z5 h 22 min agook264
technicians2026-11-12T08:31:17Z5 h 22 min agook1133
transfers2026-11-12T08:31:31Z5 h 22 min agook22
trucks2026-11-12T08:31:30Z5 h 22 min agook128
user_roles2026-11-12T08:31:17Z5 h 22 min agook1380
vendors2026-11-12T08:31:30Z5 h 22 min agook148
warehouses2026-11-12T08:31:30Z5 h 22 min agook69
zones2026-11-12T08:31:26Z5 h 22 min agook208

OnCall Air (proposal events)

Event-subscription webhook into this service; captured raw, one row per event

receiving, last event just now
Events captured
1,895
Last received
just now (Thu 11/12 08:53 AM ET)
Last 30 days
viewed 1132, emailed 199, followup 145, presented 137, created 98, assigned 69, reverted 66, accepted 31, expired 14, blocked 2, unaccepted 2
last 30 days by type (11)
event typen
viewed1132
emailed199
followup145
presented137
created98
assigned69
reverted66
accepted31
expired14
blocked2
unaccepted2

OnCall Air (sold proposals)

The Sold Proposals webhook: the accepted option, its money and products, linked to a lead when one matches; the Parts App reads sales from here

receiving, last sale 3 min ago
Sold proposals captured
26
Last received
3 min ago (Thu 11/12 08:50 AM ET)
Linked to a platform lead
23
Lead match waiting on a person
0

Azuga GPS (trucks and trips)

Vehicle list from the Azuga API on the sync schedule; trips live from webhooks, history from a one-time report import

live, last trip event just now
Trucks
24 (list refreshed 15 h 36 min ago)
Live events
5,270, last just now
Trips
11,298 total · live 2,595 · imported 8,703
Trip history
2026-07-19 to 2026-11-11
Trips in progress
4
API key on the sync runner
not visible from this service
trips by source (2)
sourcenfirst triplast trip
import87032026-07-19T13:33:00Z2026-10-19T15:11:00Z
webhook25952026-10-19T16:11:04Z2026-11-11T21:56:14Z

Google reviews (the AMHAC listing)

Pulled nightly by the sync workflow through the Business Profile API, read only; the bonus report credits 5-star reviews to the crew of the visit before them

1,564 reviews, refreshed 15 h 25 min ago
Reviews on file
1,564 (1,502 five-star)
Last 30 days
14 (14 five-star)
Newest review
20 h 52 min ago
Last pull
ok 15 h 25 min ago · 1564 reviews
Credentials
GitHub Actions secrets only; nothing on this service
by rating (5)
star ratingn
51502
430
38
23
121

US Census geocoder (addresses to coordinates)

Free batch geocoder; results cached forever so each address is looked up once

2,843 addresses cached, 87% matched
Addresses cached
2,843
Matched
2,469 (87%)
No match or tie
374
by status (3)
statusn
match2469
no_match358
tie16

Parts App → Leads API (sales leads in)

The Parts App submits, assigns and updates leads over /v1/leads-api with a bearer token; Mitsubishi accepted-lead emails forwarded to leads@mail.amhac.com become leads by themselves

live, 3434 lead(s) on file
Leads on file
3434
By status
IMPORTED 3199, ASSIGNED 112, ST_JOB_CREATED 92, PROPOSAL_SOLD 22, REJECTED 5, SUBMITTED 3, NEEDS_CORRECTION 1
Last submitted
9 min ago (Thu 11/12 08:44 AM ET)
Open customer matches
0
Mitsubishi emails
6 seen: 5 lead(s) created, 1 duplicate(s), 0 needing attention; last lead 2 days ago
API requests logged
159
by status (7)
statusn
IMPORTED3199
ASSIGNED112
ST_JOB_CREATED92
PROPOSAL_SOLD22
REJECTED5
SUBMITTED3
NEEDS_CORRECTION1

Resend (email replies and delivery receipts in)

Resend posts delivery events and inbound replies to leads@mail.amhac.com into this service

receiving, last event 9 min ago
Delivery events
1,461, last 9 min ago
Replies received
87, last 13 min ago
Replies matched to a sent email
81
Replies still without a body
0

Data going out

Claude connector (MCP)

Claude signs in with Supabase OAuth and asks questions through fixed tools and read-only SQL over the serving views

133 questions in the last 7 days
Questions, last 7 days
133 (4 errors, 1 caller(s))
Questions, last 30 days
571
Last question
40 min ago
Most used tools (30 days)
run_query 388, find_customer 39, schema 37, get_invoice 32, get_job 23
tools 30 days (10)
tooln
run_query388
find_customer39
schema37
get_invoice32
get_job23
payments_for_invoice12
search_jobs12
search_invoices10
get_customer9
sync_status4

Reports (email)

The Reports sub-application: each report is a definition on the data layer; one shared clock, send ledger and watchdog

3 report(s) registered, nothing overdue
Daily Invoice & Payment Report
weekdays 7:00 AM ET · last sent for 2026-11-11 (Thu 11/12 07:00 AM ET, scheduler) · next due Fri 11/13 07:00 AM ET · to service@amhac.com, accounting@amhac.com, demetrius@amhac.com, jordan@amhac.com, bill@amhac.com, santiago@amhac.com, adam@amhac.com
Weekly Callback Meeting Report
Thu 2:00 PM ET · last sent for 2026-11-04 (Thu 11/05 02:00 PM ET, scheduler) · next due Thu 11/12 02:00 PM ET · to jordan@amhac.com, service@amhac.com, demetrius@amhac.com
Weekly Bonus Events Report
Tue 4:00 PM ET · last sent for 2026-11-09 (Tue 11/10 08:09 AM ET, skipped by hand: sent-by-hand-at-7:55-ET-to-accounting-and-jordan) · next due Tue 11/17 04:00 PM ET · to accounting@amhac.com

Email out (Resend)

Lead assignment and status emails, the invoice report and test sends, all logged before they go

246 email(s) sent in the last 30 days
Sent, last 30 days
246 · bonus_report 6, invoice_report 20, lead_assigned 82, lead_assigned_copy 23, lead_assigned_preview 4, lead_rejected 5, lead_reminder 8, lead_reply_help 4, lead_returned 3, lead_submitted 83, one_off 1, test 1, weekly_callback_report 5, wf_claim 1
Failed / bounced
0 / 0

ServiceTitan writes (shadow only)

Intended ServiceTitan changes (e.g. a sales estimate job per assigned lead) are recorded, never sent: the platform is read-only against ServiceTitan

82 recorded, 0 executed (read-only phase)
Recorded
create_sales_estimate_job shadow/cancelled 6, create_sales_estimate_job shadow/proposed 76
by type (2)
action typemodestatusn
create_sales_estimate_jobshadowcancelled6
create_sales_estimate_jobshadowproposed76

Scheduled jobs

JobWhereWhenLast runResult
ServiceTitan syncGitHub Actions sync.ymlthis service: the fast set hourly, everything after 3:30 AM ET; GitHub Actions: everything nightly 2:30 AM ET as the backup clock27 min ago
Thu 11/12 08:26 AM ET
ok all (8 resources) · 106 rows
Azuga vehicles and tripsGitHub Actions sync.yml, after the ServiceTitan syncnightly15 h 36 min ago
Wed 11/11 05:17 PM ET
ok 2591 complete, 4 open of 2595
Geocoder (US Census)GitHub Actions sync.yml, after Azuganightly15 h 26 min ago
Wed 11/11 05:27 PM ET
ok pending 0, match 0, tie 0, no_match 0, unparseable 0, error 0
Truck attribution (who drove what)GitHub Actions sync.yml, after the geocodernightly15 h 26 min ago
Wed 11/11 05:27 PM ET
ok 3 days; {'default_confirmed': 39, 'swap_detected': 4, 'excluded': 9, 'no_jobs': 4, 'ambiguous': 5, 'default_assumed': 4}
Google reviewsGitHub Actions sync.yml, last step (the Google credentials live only there)nightly: every review of the AMHAC listing re-pulled and upserted15 h 25 min ago
Wed 11/11 05:27 PM ET
ok 1564 reviews
Wells Fargo claim alertsRender service, after every hourly fast synchourly: a Wells Fargo funding posted in ServiceTitan is matched to its sold OnCall Air proposal and, when Carrier Infinity/Performance equipment is on it, emailed as a Carrier financing submission reminder26 min ago
Thu 11/12 08:26 AM ET
ok 0 claim alert(s), 0 without a proposal, 0 not qualifying
Lead housekeepingthe Render service's own clockevery 10 minutes: assigner reminders, OnCall Air lost events, sold-proposal rematchno run recorded here
Prospects refreshthe Render service's own clockchecked every 15 minutes: parcel layer weekly, entity lookups daily, ServiceTitan links every 6 hours; each run logs what changed16 days ago
Mon 10/26 04:45 PM ET
ok 1,254 of 9,498 parcels matched to 2,051 ServiceTitan locations; active 468, lapsed 545, never 8,485; 0 new links, 0 retired
Platform-data backupGitHub Actions backup.ymlnightly 2:30 AM ET, kept 90 days as workflow artifactsno run recorded here
Freshness checkGitHub Actions health.ymlhourlyno run recorded here
Report: Daily Invoice & Payment Reportthe Render service's own clock; GitHub Actions invoice-report.yml as backupweekdays 7:00 AM ET, once per report day, late if a clock was late1 h 53 min ago
Thu 11/12 07:00 AM ET
ok 2026-11-11: 46 invoices (+1 late); time on job 31 -> sent to ['service@amhac.com', 'accounting@amhac.com', 'demetrius@amhac.com', 'jordan@amhac.com', 'bill@amhac.com', 'santiago@amhac.com', 'adam@amhac.com']; marked 46; via scheduler
Report: Weekly Callback Meeting Reportthe Render service's own clock; GitHub Actions invoice-report.yml as backupThu 2:00 PM ET, once per report day, late if a clock was late18 h 23 min ago
Wed 11/11 02:30 PM ET
skipped github: not due on a Wednesday (Thu 2:00 PM ET)
Report: Weekly Bonus Events Reportthe Render service's own clock; GitHub Actions invoice-report.yml as backupTue 4:00 PM ET, once per report day, late if a clock was late18 h 23 min ago
Wed 11/11 02:30 PM ET
skipped github: not due on a Wednesday (Tue 4:00 PM ET)

What is in the database

Every table below is readable as its serving_ view (the only thing Claude and the apps can read). Expand a group for tables, a table for its columns; row counts are the database's running estimates, refreshed as it analyzes tables.

ServiceTitan · accounting · 17 tables · 1,471,273 rows
ViewRowsWhere it comes fromLast updated
serving_ap_bills
tenant_id id modified_on created_on active raw synced_at
181ServiceTitan accounting/ap-bills5 h 22 min ago
serving_ap_credits
tenant_id id modified_on created_on active raw synced_at
0ServiceTitan accounting/ap-credits5 h 22 min ago
serving_ap_payments
tenant_id id modified_on created_on active raw synced_at
0ServiceTitan accounting/ap-payments5 h 22 min ago
serving_bank_deposits
tenant_id id modified_on created_on active raw synced_at
2,204ServiceTitan accounting/bank-deposits5 h 22 min ago
serving_credit_memos
tenant_id id modified_on created_on active reference_number customer_id customer_name location_id business_unit_id batch_id sync_status memo_date subtotal sales_tax total balance description raw synced_at
0ServiceTitan accounting/credit-memos5 h 22 min ago
serving_expense_transactions
tenant_id id modified_on created_on active raw synced_at
0ServiceTitan accounting/expense-transactions5 h 22 min ago
serving_gl_account_types
tenant_id id modified_on created_on active raw synced_at
23ServiceTitan accounting/gl-accounts/types5 h 22 min ago
serving_gl_accounts
tenant_id id modified_on created_on active raw synced_at
45ServiceTitan accounting/gl-accounts5 h 22 min ago
serving_inventory_bills
tenant_id id modified_on created_on active raw synced_at
184ServiceTitan accounting/export/inventory-bills5 h 22 min ago
serving_invoice_items
tenant_id id modified_on created_on active invoice_id sku_id sku_name item_type description quantity price cost total total_cost business_unit_id gl_account_id gl_account_name technician_id service_date raw synced_at
856,780ServiceTitan accounting/export/invoice-items26 min ago
serving_invoices
tenant_id id modified_on created_on active invoice_number invoice_type job_id job_number customer_id customer_name location_id business_unit_id business_unit_name project_id membership_id batch_id adjustment_to_id sync_status sent_status review_status invoiced_on due_date paid_on term_name subtotal sales_tax total balance summary raw synced_at
316,806ServiceTitan accounting/export/invoices26 min ago
serving_journal_entries
tenant_id id modified_on created_on active name number status sync_status post_date exported_on source raw synced_at
0ServiceTitan accounting/journal-entries5 h 22 min ago
serving_payment_terms
tenant_id id modified_on created_on active raw synced_at
5ServiceTitan accounting/payment-terms5 h 22 min ago
serving_payment_types
tenant_id id modified_on created_on active raw synced_at
18ServiceTitan accounting/payment-types5 h 22 min ago
serving_payments
tenant_id id modified_on created_on active payment_type type_id customer_id customer_name business_unit_id batch_id deposit_id refunded_payment_id sync_status paid_on reference_number check_number memo total unapplied_amount raw synced_at
294,940ServiceTitan accounting/export/payments26 min ago
serving_remittance_vendors
tenant_id id modified_on created_on active raw synced_at
80ServiceTitan accounting/remittance-vendors5 h 22 min ago
serving_tax_zones
tenant_id id modified_on created_on active raw synced_at
7ServiceTitan accounting/tax-zones5 h 22 min ago
ServiceTitan · crm · 6 tables · 210,884 rows
ViewRowsWhere it comes fromLast updated
serving_booking_provider_tags
tenant_id id modified_on created_on active raw synced_at
1ServiceTitan crm/booking-provider-tags5 h 22 min ago
serving_customer_contacts
tenant_id id modified_on created_on active customer_id contact_type value memo raw synced_at
64,187ServiceTitan crm/export/customers/contacts27 min ago
serving_customers
tenant_id id modified_on created_on active name customer_type street city state zip balance credit_limit payment_term_id tax_exempt do_not_mail do_not_service merged_to_id raw synced_at
37,159ServiceTitan crm/export/customers27 min ago
serving_leads
tenant_id id modified_on created_on active status customer_id location_id booking_id job_type_id business_unit_id campaign_id follow_up_date summary raw synced_at
51ServiceTitan crm/export/leads5 h 22 min ago
serving_location_contacts
tenant_id id modified_on created_on active location_id contact_type value memo raw synced_at
69,328ServiceTitan crm/export/locations/contacts5 h 22 min ago
serving_locations
tenant_id id modified_on created_on active customer_id name street city state zip zone_id tax_zone_id merged_to_id raw synced_at
40,158ServiceTitan crm/export/locations5 h 22 min ago
ServiceTitan · dispatch · 6 tables · 378,789 rows
ViewRowsWhere it comes fromLast updated
serving_appointment_assignments
tenant_id id modified_on created_on active appointment_id job_id technician_id technician_name status assigned_on is_paused raw synced_at
362,090ServiceTitan dispatch/export/appointment-assignments26 min ago
serving_arrival_windows
tenant_id id modified_on created_on active raw synced_at
7ServiceTitan dispatch/arrival-windows5 h 22 min ago
serving_non_job_appointments
tenant_id id modified_on created_on active raw synced_at
16,621ServiceTitan dispatch/non-job-appointments5 h 22 min ago
serving_teams
tenant_id id modified_on created_on active raw synced_at
7ServiceTitan dispatch/teams5 h 22 min ago
serving_technician_skills
tenant_id id modified_on created_on active raw synced_at
60ServiceTitan dispatch/technician-skills5 h 22 min ago
serving_zones
tenant_id id modified_on created_on active raw synced_at
4ServiceTitan dispatch/zones5 h 22 min ago
ServiceTitan · equipmentsystems · 3 tables · 41,427 rows
ViewRowsWhere it comes fromLast updated
serving_equipment_systems
tenant_id id modified_on created_on active raw synced_at
0ServiceTitan equipmentsystems/export/equipment-systems5 h 22 min ago
serving_equipment_types
tenant_id id modified_on created_on active raw synced_at
482ServiceTitan equipmentsystems/equipment-types5 h 22 min ago
serving_installed_equipment
tenant_id id modified_on created_on active customer_id location_id equipment_id name equipment_type manufacturer model serial_number installed_on status manufacturer_warranty_end service_provider_warranty_end raw synced_at
40,945ServiceTitan equipmentsystems/export/installed-equipment5 h 22 min ago
ServiceTitan · findings · 1 tables · 0 rows
ViewRowsWhere it comes fromLast updated
serving_location_findings
tenant_id id modified_on created_on active raw synced_at
0ServiceTitan findings/location-findings5 h 22 min ago
ServiceTitan · forms · 2 tables · 19,839 rows
ViewRowsWhere it comes fromLast updated
serving_form_submissions
tenant_id id modified_on created_on active form_id form_name status submitted_on created_by_id raw synced_at
19,837ServiceTitan forms/submissions5 h 22 min ago
serving_forms
tenant_id id modified_on created_on active raw synced_at
2ServiceTitan forms/forms5 h 22 min ago
ServiceTitan · inventory · 9 tables · 4,937 rows
ViewRowsWhere it comes fromLast updated
serving_adjustments
tenant_id id modified_on created_on active raw synced_at
9ServiceTitan inventory/export/adjustments5 h 22 min ago
serving_purchase_order_types
tenant_id id modified_on created_on active raw synced_at
6ServiceTitan inventory/purchase-order-types5 h 22 min ago
serving_purchase_orders
tenant_id id modified_on created_on active raw synced_at
2,370ServiceTitan inventory/export/purchase-orders5 h 22 min ago
serving_receipts
tenant_id id modified_on created_on active raw synced_at
2,381ServiceTitan inventory/export/receipts5 h 22 min ago
serving_returns
tenant_id id modified_on created_on active raw synced_at
20ServiceTitan inventory/export/returns5 h 22 min ago
serving_transfers
tenant_id id modified_on created_on active raw synced_at
22ServiceTitan inventory/export/transfers5 h 22 min ago
serving_trucks
tenant_id id modified_on created_on active raw synced_at
48ServiceTitan inventory/trucks5 h 22 min ago
serving_vendors
tenant_id id modified_on created_on active raw synced_at
80ServiceTitan inventory/vendors5 h 22 min ago
serving_warehouses
tenant_id id modified_on created_on active raw synced_at
1ServiceTitan inventory/warehouses5 h 22 min ago
ServiceTitan · jbce · 1 tables · 19 rows
ViewRowsWhere it comes fromLast updated
serving_call_reasons
tenant_id id modified_on created_on active raw synced_at
19ServiceTitan jbce/call-reasons5 h 22 min ago
ServiceTitan · jpm · 12 tables · 710,313 rows
ViewRowsWhere it comes fromLast updated
serving_appointments
tenant_id id modified_on created_on active job_id appointment_number start_time end_time arrival_window_start arrival_window_end status customer_id unused is_confirmed raw synced_at
271,142ServiceTitan jpm/export/appointments27 min ago
serving_job_cancel_reasons
tenant_id id modified_on created_on active raw synced_at
12ServiceTitan jpm/job-cancel-reasons5 h 22 min ago
serving_job_canceled_logs
tenant_id id modified_on created_on active raw synced_at
1,903ServiceTitan jpm/export/job-canceled-logs5 h 22 min ago
serving_job_hold_reasons
tenant_id id modified_on created_on active raw synced_at
8ServiceTitan jpm/job-hold-reasons5 h 22 min ago
serving_job_notes
tenant_id id modified_on created_on active job_id text is_pinned created_by_id raw synced_at
172,505ServiceTitan jpm/export/job-notes5 h 22 min ago
serving_job_types
tenant_id id modified_on created_on active name job_class priority duration no_charge summary raw synced_at
113ServiceTitan jpm/job-types5 h 22 min ago
serving_jobs
tenant_id id modified_on created_on active job_number customer_id location_id job_status completed_on business_unit_id job_type_id priority campaign_id appointment_count first_appointment_id invoice_id project_id sold_by_id membership_id no_charge total summary raw synced_at
261,793ServiceTitan jpm/export/jobs27 min ago
serving_project_notes
tenant_id id modified_on created_on active raw synced_at
262ServiceTitan jpm/export/project-notes5 h 22 min ago
serving_project_statuses
tenant_id id modified_on created_on active raw synced_at
7ServiceTitan jpm/project-statuses5 h 22 min ago
serving_project_substatuses
tenant_id id modified_on created_on active raw synced_at
2ServiceTitan jpm/project-substatuses5 h 22 min ago
serving_project_types
tenant_id id modified_on created_on active raw synced_at
4ServiceTitan jpm/project-types5 h 22 min ago
serving_projects
tenant_id id modified_on created_on active name number customer_id location_id project_type_id status sub_status start_date target_completion_date actual_completion_date summary raw synced_at
2,562ServiceTitan jpm/export/projects5 h 22 min ago
ServiceTitan · marketing · 2 tables · 77 rows
ViewRowsWhere it comes fromLast updated
serving_marketing_campaigns
tenant_id id modified_on created_on active raw synced_at
62ServiceTitan marketing/campaigns5 h 22 min ago
serving_marketing_categories
tenant_id id modified_on created_on active raw synced_at
15ServiceTitan marketing/categories5 h 22 min ago
ServiceTitan · memberships · 7 tables · 94,280 rows
ViewRowsWhere it comes fromLast updated
serving_invoice_templates
tenant_id id modified_on created_on active raw synced_at
11,612ServiceTitan memberships/export/invoice-templates5 h 22 min ago
serving_membership_status_changes
tenant_id id modified_on created_on active raw synced_at
6,832ServiceTitan memberships/export/membership-status-changes5 h 22 min ago
serving_membership_types
tenant_id id modified_on created_on active name display_name duration_billing billing_template_id raw synced_at
92ServiceTitan memberships/export/membership-types5 h 22 min ago
serving_memberships
tenant_id id modified_on created_on active customer_id location_id membership_type_id business_unit_id status starts_on ends_on billing_frequency next_scheduled_bill_date cancellation_date sold_by_id memo raw synced_at
10,424ServiceTitan memberships/export/memberships5 h 22 min ago
serving_recurring_service_events
tenant_id id modified_on created_on active raw synced_at
57,390ServiceTitan memberships/export/recurring-service-events5 h 22 min ago
serving_recurring_service_types
tenant_id id modified_on created_on active raw synced_at
25ServiceTitan memberships/export/recurring-service-types5 h 22 min ago
serving_recurring_services
tenant_id id modified_on created_on active membership_id location_id recurring_service_type_id job_type_id business_unit_id name starts_on ends_on recurrence_type raw synced_at
7,905ServiceTitan memberships/export/recurring-services5 h 22 min ago
ServiceTitan · pricebook · 5 tables · 22,755 rows
ViewRowsWhere it comes fromLast updated
serving_pricebook_categories
tenant_id id modified_on created_on active raw synced_at
1,209ServiceTitan pricebook/export/categories5 h 22 min ago
serving_pricebook_discounts_and_fees
tenant_id id modified_on created_on active raw synced_at
5ServiceTitan pricebook/discounts-and-fees5 h 22 min ago
serving_pricebook_equipment
tenant_id id modified_on created_on active raw synced_at
842ServiceTitan pricebook/export/equipment5 h 22 min ago
serving_pricebook_materials
tenant_id id modified_on created_on active raw synced_at
6,612ServiceTitan pricebook/export/materials5 h 22 min ago
serving_pricebook_services
tenant_id id modified_on created_on active raw synced_at
14,087ServiceTitan pricebook/export/services5 h 22 min ago
ServiceTitan · reporting · 1 tables · 12 rows
ViewRowsWhere it comes fromLast updated
serving_report_categories
tenant_id id modified_on created_on active raw synced_at
12ServiceTitan reporting/report-categories5 h 22 min ago
ServiceTitan · sales · 4 tables · 12,332 rows
ViewRowsWhere it comes fromLast updated
serving_estimate_items
tenant_id id modified_on created_on active raw synced_at
3,744ServiceTitan sales/estimates/items5 h 22 min ago
serving_estimate_templates
tenant_id id modified_on created_on active raw synced_at
6ServiceTitan sales/estimate-templates5 h 22 min ago
serving_estimates
tenant_id id modified_on created_on active name job_id job_number project_id customer_id location_id business_unit_id business_unit_name status review_status sold_by_id sold_on subtotal tax summary raw synced_at
8,581ServiceTitan sales/export/estimates5 h 22 min ago
serving_proposal_templates
tenant_id id modified_on created_on active raw synced_at
1ServiceTitan sales/proposal-templates5 h 22 min ago
ServiceTitan · service-agreements · 1 tables · 0 rows
ViewRowsWhere it comes fromLast updated
serving_service_agreements
tenant_id id modified_on created_on active name customer_id business_unit_id status start_date end_date duration_months auto_renew total_agreement_price sold_by_id raw synced_at
0ServiceTitan service-agreements/export/service-agreements5 h 22 min ago
ServiceTitan · settings · 5 tables · 568 rows
ViewRowsWhere it comes fromLast updated
serving_business_units
tenant_id id modified_on created_on active name official_name trade division account_code quickbooks_class raw synced_at
70ServiceTitan settings/export/business-units5 h 22 min ago
serving_employees
tenant_id id modified_on created_on active name first_name last_name email role business_unit_id manager_id user_id raw synced_at
56ServiceTitan settings/export/employees5 h 22 min ago
serving_tag_types
tenant_id id modified_on created_on active raw synced_at
163ServiceTitan settings/export/tag-types5 h 22 min ago
serving_technicians
tenant_id id modified_on created_on active name first_name last_name email business_unit_id main_zone_id team status is_managed_tech user_id raw synced_at
259ServiceTitan settings/export/technicians5 h 22 min ago
serving_user_roles
tenant_id id modified_on created_on active raw synced_at
20ServiceTitan settings/user-roles5 h 22 min ago
ServiceTitan · taskmanagement · 1 tables · 1,413 rows
ViewRowsWhere it comes fromLast updated
serving_tasks
tenant_id id modified_on created_on active raw synced_at
1,413ServiceTitan taskmanagement/tasks5 h 22 min ago
ServiceTitan · telecom · 1 tables · 111,012 rows
ViewRowsWhere it comes fromLast updated
serving_calls
tenant_id id modified_on created_on active direction status call_type from_number to_number duration customer_id location_id job_id campaign_id agent_id reason raw synced_at
111,012ServiceTitan telecom/export/calls5 h 22 min ago
ServiceTitan · derived child tables · 1 tables · 294,370 rows
ViewRowsWhere it comes fromLast updated
serving_payment_applications
tenant_id payment_id seq applied_id invoice_id applied_amount applied_on applied_by applied_to_reference_number raw
294,370derived from payments on write26 min ago
External sources (OnCall Air, Azuga) · 7 tables · 20,132 rows
ViewRowsWhere it comes fromLast updated
serving_oca_events
OnCall Air proposal lifecycle events (created/presented/viewed/accepted/lost/...), captured raw; consultation_code is the proposal code; occurred_at promoted from OCA's 'ocurred_at'
id tenant_id received_at event_type occurred_at consultation_code consultation_status customer_name raw processed_at outcome lead_id
1,895
serving_oca_sold_proposals
OnCall Air SOLD proposals (the sold-proposal webhook, one row per delivery): the accepted option (proposal_label), sale_price / total_investment / sales_tax / deposits / balance_due, customer and address, consultant, sold_at (UTC), equipment (Equipment-typed products) and every product line; lead_id when linked to a platform lead
id tenant_id received_at webhook_type consultation_code consultation_status description customer_name address city state postal phone email consultant_name consultant_email proposal_id proposal_label sale_price total_investment sales_tax deposits_total discounts_total balance_due proposal_url sold_at equipment products lead_id relay_status relay_at relay_http_status relay_error raw lead_match lead_candidates lead_resolved_at lead_resolved_by
26
serving_azuga_vehicles
Azuga GPS vehicles (trucks); name is usually the technician's name, spares/other vehicles are named for the vehicle; last_contact_at is the device's last report
id tenant_id name device_id user_id user_name make model year license_plate vin group_name time_zone last_contact_at deleted raw synced_at
24
serving_azuga_events
raw Azuga webhook deliveries (TRIP_START_MESSAGE / TRIP_END_MESSAGE); occurred_at is when the ignition turned on/off; one row per Azuga message id
id tenant_id received_at event_type vehicle_id vehicle_name trip_number occurred_at latitude longitude address raw
5,270
serving_azuga_trips
one row per vehicle trip: started_at/ended_at (UTC), start/end address and coordinates, distance_km, duration_s, idle_s; source 'webhook' (live) or 'import' (Azuga report export); ended_at NULL = trip in progress; technician attribution is NOT in this table
id tenant_id source vehicle_id vehicle_name trip_number started_at ended_at start_address end_address start_lat start_lon end_lat end_lon distance_km duration_s idle_s max_speed_kmh user_name raw synced_at
11,298
serving_google_reviews
Google Business Profile reviews of the AMHAC listing (reviewer display name, star_rating 1-5, comment, created_at/updated_at UTC, reply); the bonus report attributes 5-star reviews to technicians from the text or a fuzzy reviewer-name match
id tenant_id location_name reviewer_name star_rating comment created_at updated_at reply_comment replied_at raw synced_at
1,564
serving_report_membership_sales
rows of ServiceTitan's own 'Weekly Membership Sales & Payments' report (Reporting API): per invoice line of a membership sale: membership_id, invoice, customer, location_address, sold_on, sold_price, membership_bonus (ServiceTitan's commission figure), sold_by, invoice_balance, paid_on, add_on; replaced per pull window
id tenant_id report_id membership_id customer_name membership_type membership_status activation_method membership_bonus sold_by invoice_number sold_price item_code sold_on membership_from membership_tags period_from period_to raw synced_at
55
Prospects (parcel register from public records) · 8 tables · 32,889 rows
ViewRowsWhere it comes fromLast updated
serving_prospects_parcels
the Prospects register's raw material: every Westchester parcel in the target property classes from the NYS parcel layer (owner, address, class, assessed and market value, square feet, polygon as GeoJSON); prefer serving_prospects_register, which adds the customer status
tenant_id id county swis sbl print_key object_id parcel_addr muni_name prop_class land_av total_av full_market_val yr_blt sq_ft gfa primary_owner add_owner mail_addr mail_city mail_state mail_zip book page owner_type roll_yr geometry source source_date in_target_class target_left_at first_seen last_seen raw loc_st_nbr loc_street loc_unit loc_zip centroid_lat centroid_lon owner_key unit_lot
9,498
serving_prospects_st_links
parcel -> ServiceTitan location links (how the match was made, score)
tenant_id parcel_id location_id customer_id match_method linked_by linked_at last_seen_at active note
2,051
serving_prospects_customer_status
per parcel: never / past / active customer, job counts, membership, equipment, computed_at
tenant_id parcel_id status locations location_ids customer_ids jobs_total jobs_24m last_job_on membership_active equipment_count computed_at
9,498
serving_prospects_entities
NYS Department of State business entities looked up for parcel owners (name, type, filed_on, process address)
tenant_id dos_id name entity_type filed_on county jurisdiction process_name process_address_1 process_address_2 process_city process_state process_zip chairman_name chairman_address_1 chairman_city chairman_state chairman_zip agent_name agent_address_1 agent_city agent_state agent_zip location_name location_address_1 location_city location_state location_zip source first_seen last_seen raw
3,952
serving_prospects_owner_entities
owner name -> entity match outcome (matched / ambiguous / not_found) and who matched it
tenant_id owner_key owner_name status dos_id candidates matched_by matched_at last_checked_at note
7,890
serving_prospects_notes
free-text notes a person added to a parcel, with full edit history
id tenant_id parcel_id text actor_email actor_name created_at updated_at history
0
serving_prospects_infill
discrete fields a person filled on a parcel (confirmed contact, corrected floor area, equipment seen ...), who and when, prior values kept
tenant_id parcel_id field value actor_email actor_name at history
0
serving_prospects_changes
the Prospects change log: one row per parcel and kind of change (new parcel, owner, customer status, class, value ...) with old and new value and the refresh run
id tenant_id parcel_id kind old_value new_value job_name run_id at
0
Platform-owned (leads, trucks, emails, reports, settings) · 21 tables · 46,169 rows
ViewRowsWhere it comes fromLast updated
serving_platform_identity_links
crosswalk: external (source, source_id) -> ServiceTitan entity; st_id is merge-resolved, original_st_id as matched
id tenant_id source source_id st_entity_type st_id original_st_id merge_resolved_at match_method match_score matched_at matched_by evidence created_at updated_at
18
serving_platform_pending_matches
ambiguous identity matches awaiting a human (status open/confirmed/rejected)
id tenant_id source source_id st_entity_type candidates status note resolution_st_id resolved_by resolved_at raw created_at updated_at
5
serving_platform_outbound_actions
audit log of intended ServiceTitan writes (proposed/confirmed/executed/failed/cancelled); idempotency_key unique
id tenant_id action_type source source_id idempotency_key mode status payload result error st_entity_type st_id proposed_at proposed_by confirmed_at confirmed_by executed_at created_at updated_at
82
serving_platform_outbound_messages
every programmatic email the platform sent (Resend): status queued/sent/failed, delivery_status from webhooks, reply_to carries the message id
id tenant_id to_address cc_addresses subject purpose status provider provider_message_id related_action_id error raw created_at sent_at updated_at from_address reply_to idempotency_key delivery_status delivery_detail delivered_at bounced_at last_event_at
246
serving_platform_job_runs
one row per scheduled-job execution
id tenant_id job_name started_at finished_at status summary error details
842
serving_platform_tool_calls
question log: every MCP tool call with caller and timing
id tenant_id called_at tool args ms ok error user_email client_id
572
serving_platform_vehicle_assignments
owner-entered exceptions: truck X was driven by technician Y between two dates; beats every rule
id tenant_id vehicle_id technician_id valid_from valid_to note created_by created_at
0
serving_platform_trip_matches
each trip's best appointment match (is_best) and other candidates: score 0-100, band high/likely/ambiguous/none, evidence lists the rules that fired
id tenant_id trip_id vehicle_id day appointment_id job_id technician_ids score band is_best evidence rules_version computed_at
11,621
serving_platform_vehicle_days
who drove each truck each local day: technician_id, band (default_confirmed/swap_detected/default_assumed/ambiguous/no_jobs/excluded), confidence 0-100, crew_technician_ids (driver first), evidence
id tenant_id vehicle_id day technician_id default_technician_id band confidence trips matched_stops crew_technician_ids evidence rules_version computed_at
1,686
serving_platform_geocodes
address -> coordinates cache (US Census geocoder) for imported Azuga stops and ServiceTitan locations without coordinates; status match/tie/no_match
address_key tenant_id input_address status exact latitude longitude matched_address provider geocoded_at raw
2,843
serving_platform_email_events
every Resend webhook delivery captured raw (email.sent/delivered/bounced/received ...), with signature check and processing outcome
id tenant_id received_at event_type email_id signature_ok processed_at process_error raw
1,461
serving_platform_inbound_messages
emails received at leads@mail.amhac.com: sender, subject, body, headers, and the outbound message they reply to (matched_outbound_id, match_method)
id tenant_id received_at from_address to_addresses cc_addresses subject message_id in_reply_to references_header text_body html_body headers matched_outbound_id match_method fetched_at fetch_error raw command command_result handled_at
87
serving_platform_settings
owner-editable configuration (JSON values), e.g. invoice_report.recipients
key tenant_id value updated_at updated_by
6
serving_platform_report_items
which invoice ids appeared in which nightly report (late-synced invoices are picked up by the next run)
id tenant_id report_name item_id report_day item_date outbound_message_id reported_at
1,048
serving_platform_report_sends
one-per-day send ledger for scheduled reports (claimed before a send, marked sent or failed after), so a report never goes out twice in a day
id tenant_id report_name report_day status trigger_source outbound_message_id recipients idempotency_key claimed_at sent_at error
25
serving_platform_leads
sales leads submitted through the Parts App (status, customer link, engineer, source); balance is never stored here
id tenant_id status needs_review st_customer_id st_location_id customer_name street town zip new_owner_flag quote_for source source_channel source_note engineer_email engineer_technician_id engineer_name submitted_by_email submitted_by_name submitted_at assigned_at status_changed_at last_note_at st_job_id st_job_created_at oca_consultation_code oca_sold_at raw created_at updated_at deleted_at deleted_by install_job_id install_job_url install_job_at sold_source sold_at import_key import_row customer_notified_at customer_notified_by
3,434
serving_platform_lead_events
lead status history, notes, assignment and email events
id tenant_id lead_id kind status actor_email actor_name text at raw
15,327
serving_platform_lead_contacts
contacts as submitted with each lead
id tenant_id lead_id seq kind value label is_new
6,699
serving_platform_lead_requests
idempotency ledger for lead writes
idempotency_key tenant_id endpoint lead_id status_code response created_at
159
serving_platform_lead_intake
one row per inbound email the lead intake looked at: outcome (created / duplicate / parse_failed / unknown_sender / error), the lead it made, the parsed fields
inbound_id tenant_id processed_at source outcome lead_id import_key detail parsed owner_notified_at
6
serving_platform_wf_claim_alerts
one row per Wells Fargo funding payment seen in ServiceTitan (reference 'Wells Fargo'): customer, paid_on, amount, claim_due_on (30 days), the sold OnCall Air proposal matched (proposal_id, lead_id), outcome (qualifies = Carrier Infinity/Performance equipment on the proposal and an alert was emailed; no_proposal = alert sent to check by hand; not_qualifying), the qualifying equipment lines and the outbound email id
payment_id tenant_id customer_id customer_name paid_on amount claim_due_on proposal_id match_how lead_id outcome equipment outbound_id created_at
2
Sync bookkeeping · 2 tables · 779 rows
ViewRowsWhere it comes fromLast updated
serving_sync_state
last sync per ServiceTitan resource (cursor, high-water, status, error)
tenant_id resource continue_from high_water_modified_on last_run_at last_run_status rows_upserted error
85
serving_sync_runs
one row per sync invocation
run_id tenant_id started_at finished_at status resources full_refresh rows_upserted requests error
694

Public view: counts and health only. Names, addresses, email and money never appear here.