Actions14
- Client Actions
- Email Actions
- Job Actions
- Search Actions
- SMS Actions
Overview
This node integrates with the ServiceM8 platform to manage jobs within a business workflow. Specifically, the Job - Create operation allows users to create new job records in ServiceM8 by specifying detailed job information such as client association, scheduling, status, location, billing, and payment details.
Typical use cases include automating job creation from external systems or workflows, syncing job data between platforms, or programmatically adding jobs based on triggers or events. For example, when a new client request is received via a form, this node can automatically create a corresponding job in ServiceM8 with all relevant details filled in.
Properties
| Name | Meaning |
|---|---|
| created_by_staff_uuid | UUID of the staff member who created this job. Records which staff member initially added the job to the system. |
| date | The date the job was created or scheduled. Used for organizing jobs chronologically and for reference in reports. |
| company_uuid | UUID reference to the client/company record associated with this job. Links the job to a client in the system, establishing the client-job relationship for billing and contact purposes. |
| billing_address | The address where invoices and billing information should be sent. If not specified, defaults to the job address. |
| status | Current status of the job. Controls where the Job appears in the Dispatch Board. Valid values are: Quote, Work Order, Unsuccessful, Completed. |
| lng | The longitude coordinate of the job location. |
| lat | The latitude coordinate of the job location. |
| category_uuid | UUID reference to the job category this job belongs to. Categories help organize jobs by type of work or department. |
| geo_is_valid | Indicates whether the geocoding for the job address is valid. If false, the lat, lng, and other geo_ fields should not be used. Valid values: 0 (false), 1 (true). |
| purchase_order_number | Client purchase order reference number for this job. Used for cross-referencing with external accounting or order management systems. |
| invoice_sent | Indicates whether an invoice has been sent for this job. Valid values: 0 (no), 1 (yes). |
| invoice_sent_stamp | The date and time when the invoice was sent. |
| geo_country | The country field of the job address. |
| geo_postcode | The postcode/ZIP code field of the job address. |
| geo_state | The state/province field of the job address. |
| geo_city | The city/suburb field of the job address. |
| geo_street | The street name field of the job address. |
| geo_number | The street number field of the job address. |
| queue_uuid | The UUID of the queue this job belongs to. |
| queue_expiry_date | The date and time when the job expires from the queue. |
| queue_assigned_staff_uuid | The UUID of the staff member assigned to this job in the queue. |
| badges | JSON Array of Badge UUIDs associated with the job. |
| quote_date | The date and time that the job status was changed to Quote. |
| work_order_date | The date and time that the job status was changed to Work Order. |
| uuid | Unique identifier for this record. |
| active | Record active/deleted flag. Valid values: 0 (deleted/inactive), 1 (active). |
| edit_date | Timestamp at which record was last modified. |
| job_address | Physical address where the job is to be performed. This address is used for geocoding to place the job on the map. |
| job_description | Description of the job. |
| work_done_description | Description of the work done (used typically in emails or reports). |
| total_invoice_amount | The total amount to be invoiced for this job. |
| payment_processed | Indicates whether the job has been exported to the connected Accounting Package. Valid values: 0 (no), 1 (yes). |
| payment_processed_stamp | The date and time the job has been exported to the connected Accounting Package. |
| payment_received | Indicates whether full payment has been received for this job. Valid values: 0 (no), 1 (yes). |
| payment_received_stamp | The date and time when full payment was received. |
| completion_date | The date and time that the job status was changed to Completed. |
| completion_actioned_by_uuid | UUID of the staff member who marked this job as completed. References a staff record in the system. |
| unsuccessful_date | The date and time that the job status was changed to Unsuccessful. |
| job_is_scheduled_until_stamp | The end date/time of the last scheduled activity for this job. After this date, the job is considered Unscheduled. |
Output
The node outputs an array of JSON objects representing the created job(s) as returned by the ServiceM8 API. Each object contains the properties of the newly created job record, including identifiers, status, dates, addresses, and financial/payment details.
No binary data output is produced by this operation.
Dependencies
- Requires an API key credential for authenticating with the ServiceM8 API.
- The node uses the ServiceM8 REST API endpoints to perform operations.
- Proper configuration of the API credentials in n8n is necessary.
- Network access to the ServiceM8 API endpoint must be available.
Troubleshooting
- Missing Required Fields: If required fields for creating a job are missing or invalid, the API may reject the request. Ensure mandatory fields like
company_uuidanddateare correctly set. - Invalid UUIDs: Using incorrect or non-existent UUIDs for staff, company, category, or queues will cause errors. Verify UUIDs before use.
- Geocoding Issues: If
geo_is_validis set to 0 but latitude/longitude fields are provided, the job location might not be mapped correctly. - API Authentication Errors: Invalid or expired API keys will result in authentication failures. Check and update credentials if needed.
- Status Field Validation: The
statusproperty only accepts specific values (Quote,Work Order,Unsuccessful,Completed). Using other values will cause errors. - Date Format: Dates should be in a format accepted by the ServiceM8 API (typically ISO 8601). Incorrect formats may cause rejection.
If the node throws errors related to missing fields or invalid parameters, review the input data and ensure compliance with the API requirements.