Actions69
- Appointment Actions
- Booking Actions
- Business Unit Actions
- Call Actions
- Campaign Actions
- Custom API Call Actions
- Customer Actions
- Employee Actions
- Estimate Actions
- Invoice Actions
- Job Actions
- Job Cancel Reason Actions
- Job Hold Reason Actions
- Job Type Actions
- Lead Actions
- Location Actions
- Membership Actions
- Payment Actions
- Tag Actions
- Task Actions
- Technician Actions
Job → Create
AI-generatedSummary
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.