ServiceTitan icon

ServiceTitan

ServiceTitan field service management — customers, jobs, appointments, estimates, invoices, bookings, leads, calls, locations, memberships, technicians, payments, tags, tasks

Job → Create

AI-generated

Summary

Creates a new ServiceTitan job record with a required appointment and business/campaign context.

Inputs

  • customerId (required) — The customer this job belongs to.
  • locationId (required) — The location for this job.
  • jobTypeId (required) — The type of job. Choose from the list or specify an ID using an expression.
  • businessUnitId (required) — REQUIRED by ServiceTitan to create a job. Choose from the list or specify an ID using an expression.
  • campaignId (required) — REQUIRED by ServiceTitan to create a job. Choose from the list or specify an ID using an expression.
  • priority (required) — REQUIRED by ServiceTitan to create a job. Options: Low, Normal, High, Urgent.
  • appointments (required) — REQUIRED — a job cannot exist without a scheduled slot. Must include at least one entry with a scheduled window. ServiceTitan errors without an arrival window (defaults to appointment start).
  • summary — Brief description of the job.
  • tagTypeIds — Comma-separated tag type IDs to apply to the new job.
  • customFieldsMapper — Define custom fields using the resource mapper. The mapper discovers fields by sampling existing jobs; fields no job uses yet will not appear there.
  • customFieldsJson — Escape hatch for custom fields the mapper cannot show (e.g., fields never used). Entries here are merged over the mapper by typeId.

Output shape

a single item containing the newly created job object

The operation returns the created job object. Note that ServiceTitan's PATCH endpoint for jobs replaces the entire customFields set, so updates must merge existing values.

Examples

Example 1: Create a standard service job for a residential customer with a single technician appointment.

Select Customer and Location, pick Job Type, Business Unit, and Campaign from dropdowns, set Priority to Normal, and add one appointment with Start/End times and a Technician ID.

Example 2: Create a high-priority job using an expression to dynamically select the Business Unit.

Use an expression for businessUnitId (e.g., $["Business Unit"][0].id]), set Priority to High, and include the appointment details.

Links

Discussion