Light AIDocs Beta Open Light AI

Integrations

ServiceTitan

Through ServiceTitan's Zapier app: Light AI leads and approvals become bookings for the call center to accept. Direct API work needs the contractor's own app or a certified partner.

DirectionPathHow
Leads → Light AIvia ZapierServiceTitan New Lead or New Booking trigger → Webhooks by Zapier → POST /v1/leads with source: other, source_detail: "ServiceTitan" and the ServiceTitan id as external_ref.
Light AI → ServiceTitanvia Zapierlead.created or quote.approved → Zapier Catch Hook → ServiceTitan Create Booking under a Light AI booking provider. Bookings appear in ServiceTitan for a CSR to accept into a job or dismiss.

Set up#

  1. ServiceTitan: Settings → Integrations → API Application Access → Connect New App → Zapier. Copy the tenant id, client id and a new client secret into Zapier.
  2. ServiceTitan: Settings → Integrations → Booking Providers → Add Tag (e.g. "Light AI"). Pick it in the Create Booking action.
  3. Light AI: an endpoint to the Catch Hook URL for lead.created (and quote.approved if the office wants a booking per approval).

Light AI → booking#

ServiceTitan (Create Booking)Light AI
Name, contacts (phone, e-mail)contact.* (or client.* on quotes)
Address: street, unit, city, state, zipaddress.line1, line2, city, region, postal_code
Source, external id"Light AI", the lead or project id
Summarymessage, service_interest, form answers (lead.form_answers, see Website request forms) and project.app_url; on approvals totals.total.decimal and line_items[] as text

Notes#

  • ServiceTitan does not allow a third party to use a contractor's app keys ("tunneling"). A contractor can build its own app on the Works or Ent Plus package; an agency serving many contractors needs to become a ServiceTitan partner.
  • Field names in Create Booking follow the Zapier action. Some booking workflows need account configuration by ServiceTitan support.
  • Photos and instant previews: webhook payloads carry only asset ids (assets.photos[], assets.mockups[] with url: null). Fetch GET /v1/leads/{id} for links that expire after 60 minutes and download the files if the CRM can store them; otherwise store project.app_url (sign-in required). Never save a 60-minute link in a CRM.

Sources#