Creating and Managing Jobs

Jobs are the core of your field service operation. Every work order, service call, and maintenance task flows through the Jobs system. This guide walks you through creating a new job, assigning it to a technician, and tracking it through completion. By the end, you will be comfortable managing your entire job pipeline from the Exoserva dashboard.

:clock1: Estimated time: 10 minutes

Before You Begin

  • An active Exoserva account with Owner, Manager, or Dispatcher role
  • At least one customer added to your account (see “Managing Customers” guide)
  • At least one technician on your team (see “Adding Team Members” guide)

Step 1: Navigate to the Jobs Page

Click “Jobs” in the left sidebar under the Work section. The Jobs page opens in a focused view with a header toolbar containing a search field (magnifying glass icon), status filter pills, a date selector, view mode toggles, and an export dropdown. If you are just getting started, the page will show an empty state with a prompt to create your first job.

The status filter pills at the top provide quick filtering with keyboard shortcuts: press 1 for All, 2 for Scheduled (blue), 3 for In Progress (amber/warning), or 4 for Completed (green). Each pill shows its count badge and a keyboard shortcut hint (visible on hover). The MiniWeekCalendar component at the top shows the current week with day-by-day job counts, and the DayInsights panel displays AI-generated summary metrics for the selected date.

:bulb: Tip: Use the keyboard shortcut Escape to close the job detail panel when it is open. The number keys 1-4 let you rapidly switch between status filters without using the mouse.

:warning: Warning: The default view shows only jobs for the currently selected date. If you do not see a job you expect, check the date selector or click “All Dates” to see jobs across all dates.

Step 2: Click the “New Job” Button

Click the “+ New Job” button in the top-right corner of the Jobs page toolbar (or press the keyboard shortcut displayed in the tooltip). The Job Form Modal opens as a full-screen overlay with a structured tabbed interface. The modal header shows “New Job” (or “Edit Job” when editing) with an X close button in the top-right corner.

The form is organized into five tabs along the top: Customer (user icon), Line Items (shopping cart icon), Schedule (calendar icon), Address (location pin icon), and Notes (document icon). Each tab header lights up with a colored indicator when its section has been filled in. If you have an unsaved draft from a previous session, a toast notification will appear saying “Draft restored – continue editing your job” and your previous entries will be pre-populated.

:bulb: Tip: You can also create a job from the Schedule Board by clicking any empty time slot on the calendar. The date and time will be pre-filled based on the slot you clicked, saving you a step.

:warning: Warning: If you close the modal without saving, your work is auto-saved as a draft. However, drafts are stored locally in your browser – clearing browser data will lose unsaved drafts.

Step 3: Select a Customer

On the Customer tab (the default first tab), you will see a search field labeled for customer lookup. Start typing a customer name, email, or phone number – the search is fuzzy, so partial matches will appear. The dropdown shows matching customer results with their name, email, and phone number. Click a customer to select them, which auto-populates the customer section with their First Name, Last Name, Email, Phone (formatted with PhoneInput component), and Company name.

If the customer does not exist yet, you can enter their information directly into the form fields: First Name (text, required), Last Name (text, required), Email (email, validated with RFC 5322 format), Phone (phone input with country code), and Company (text, optional). The selected customer’s primary address will also be auto-filled into the Address tab if they have one on file. A Lead Source dropdown is available to track how the customer found your business.

:bulb: Tip: The customer search is fuzzy – it will find matches even if you only type part of the name or phone number. Type the last 4 digits of a phone number to quickly find the right customer.

:warning: Warning: The email field validates format before saving. An invalid email format like “john-at-email” will prevent the job from being saved. Use a proper email format like “john@example.com” or leave the field empty.

Step 4: Add Line Items and Services

Click the “Line Items” tab (shopping cart icon) to define the work and pricing for this job. The tab displays three “Add” buttons for the three line item types: “+ Add Service” (for service labor like “HVAC Annual Maintenance”), “+ Add Material” (for parts and supplies), and “+ Add Labor” (for hourly labor charges). Clicking any button adds a new row to the line items section.

Each line item row contains: Item Name (text input with placeholder “Item name” for services/materials or “Labor description” for labor), Quantity (numeric input, labeled “qty” for items or “hrs” for labor with decimal support), Price (dollar-prefixed input in whole dollars), and a calculated Total on the right. A red trash button on each row lets you delete individual items. At the bottom, the totals section shows Subtotal, configured Taxes & Fees (loaded from your Settings, defaulting to Sales Tax at your configured rate), and the Grand Total. You can also search your Price Book to add pre-configured items that auto-fill the name, description, and price.

:bulb: Tip: Use the Price Book search to add items from your pre-configured catalog. This ensures consistent pricing and saves time. Filter by “Service” or “Material” using the filter tabs above the search results.

:warning: Warning: Line item prices are entered in whole dollars but stored internally in cents for precision. A price entered as “150” means $150.00. Tax rates are pulled from your Settings – if they appear incorrect, update them in Settings > Billing & Taxes.

Step 5: Set the Date and Time

Click the “Schedule” tab (calendar icon) to configure the appointment timing. The tab shows a Scheduled Start field (date-time picker pre-filled with 9:00 AM today or the pre-selected date), a Scheduled End field (date-time picker, defaults to start time plus the standard job duration from your settings), and an Arrival Window field (number input in minutes, defaulting to 30 minutes). The arrival window defines the flexibility range you communicate to the customer (e.g., “between 9:00 and 9:30 AM”).

If you have AI scheduling suggestions enabled, the DateAISuggestion and TimeSlotAISuggestion components will appear below the date fields, recommending optimal dates and times based on technician availability, geographic proximity to other scheduled jobs, and customer preferences. Click a suggestion to apply it to the form. The Status dropdown defaults to “Scheduled” for new jobs, with options for “In Progress,” “Complete Unrated,” and “Cancelled.”

:bulb: Tip: The AI time slot suggestions factor in drive time between jobs. If you select a technician first (on the next step), the suggestions will be even more accurate because they can consider that technician’s specific schedule and current location.

:warning: Warning: Double-check the date before saving. Scheduling a job on the wrong day can lead to missed appointments. Pay special attention to AM/PM if your locale uses 12-hour time format.

Step 6: Assign a Technician

Still on the Schedule tab, scroll to the Assigned Technician dropdown. The list shows all active technicians on your team, with each entry displaying the technician name. The first option is “Unassigned” (selected by default for new jobs), which creates the job without assigning it to anyone – useful when you want to dispatch it later from the Schedule Board.

If you have AI dispatch enabled, the TechnicianAISuggestion component appears below the dropdown, showing the AI-recommended technician with a confidence score and reasoning (such as “Closest to job location” or “Has matching skill tags”). Click the suggestion to apply it. Only technicians marked as “can be assigned” (those with linked user accounts) appear in the dropdown – technicians without user accounts are excluded to prevent assignment errors.

:bulb: Tip: Hover over a technician name in the dropdown to see their profile details. If you leave the assignment as “Unassigned,” the job will appear in the Unassigned Jobs sidebar on the Schedule Board where you can drag-and-drop it onto a specific time slot.

:warning: Warning: Assigning a job to a technician who is not active or does not have a user account will cause a save error. The dropdown already filters these out, but if you encounter an error, verify the technician’s status in Settings > Team Management.

Step 7: Review and Save the Job

Before saving, optionally fill in the Address tab (location pin icon) with the job site address. The address fields include Street (with Google Places AddressAutocomplete), Street Line 2 (apartment/suite), City, State (dropdown of US state codes), ZIP Code, and Country (defaults to US). If you selected a customer who has an address on file, these fields may already be populated. The Notes tab (document icon) provides a Tech Notes textarea for internal instructions visible to the assigned technician, with an optional AI Generate button that drafts job notes based on the service type and customer context.

Click the “Create Job” button (or “Save Changes” when editing) at the bottom of the modal. The form validates all required fields – if any are missing, you will see a validation error toast and the modal will switch to the tab containing the error. Upon successful save, a green toast confirms “Job created successfully” and the modal closes. The new job appears immediately in the Jobs list and on the Schedule Board at the designated time slot.

:bulb: Tip: After creating a job, the assigned technician will receive a notification automatically if notifications are enabled in Settings. You can also use the “Templates” feature (template icon in the modal header) to create jobs from pre-configured templates that fill in service type, line items, and estimated duration automatically.

:warning: Warning: The “Create Job” button remains disabled until all required fields (customer name and at least one line item) are completed. If the button appears greyed out, check the Customer and Line Items tabs for missing information.

What’s Next?

Now that you’ve completed this guide, check out:


Need help? Post in the Tech Support category or contact support@exoserva.com.