Skip to main content

Field Service Management Guide

The Field Service Management (FSM) API enables mobile workflows through issue tracking, task management, and dynamic data collection forms. FSM integrates four subgraphs: su-assets (form subjects), su-issues (issue tracking), su-workflow (workflow orchestration), and su-forms (data collection).

Overview

FSM enables field teams to:
  • Track issues and work items requiring attention
  • Execute workflows with defined states and transitions
  • Complete tasks using dynamic XForms
  • Reference asset profiles as subjects for field work
  • Collect structured data through mobile applications
  • Manage multi-step inspection campaigns

Core Concepts

Asset Profiles (Form Subjects)

Asset profiles (su-assets) define the subjects that field teams work on during mobile workflows. These are NOT the same as CAM assets:
  • Asset Profile: Schema definition for form subjects (e.g., “Well Inspection”, “Equipment Survey”)
  • Asset: Instance of a profile used as a form subject
  • Properties: Attributes collected about the subject
  • Relationships: Connections between assets and other entities
Asset profiles serve as the foundation for tasks and forms in mobile applications.

Issues

Issues represent trackable work items requiring attention or resolution:
  • Issue Types: ISSUE, TASK, MULTITASK, SUBTASK
  • Status: OPEN, IN_PROGRESS, RESOLVED, CLOSED, CANCELLED
  • Subject: The entity the issue relates to (e.g., an asset profile instance)
  • Trigger: What caused the issue (e.g., a detection, event, or manual creation)

Tasks

Tasks are specific work to be performed by field personnel:
  • Form-based Tasks: Tasks with an associated XForm for data collection
  • General Tasks: Simple work items without form requirements
  • Multi-tasks: Parent tasks coordinating multiple subtasks
  • Subtasks: Individual tasks within a multi-task campaign

XForms

Dynamic data collection forms based on the ODK XForms standard:
  • Controls: Input fields (text, select, date, location, etc.)
  • Groups: Logical sections organizing related questions
  • Repeats: Repeating sections for multiple observations
  • Constraints: Validation rules and calculations
  • Relevance: Conditional display logic

Workflows

State machines defining the lifecycle of issues and tasks:
  • States: Valid statuses an issue can have
  • Transitions: Allowed movements between states
  • Guards: Conditions required for transitions
  • Actions: Side effects triggered during transitions

Asset Profiles for Field Work

Query Available Profiles

Get Specific Profile

Variables:

Query Assets (Form Subjects)

Variables:

Create Asset (Form Subject)

Variables:

Issue Tracking

List All Issues

Variables (Filter Open Issues):

Get Specific Issue

Create Issue

Variables:

Update Issue Status

Variables:

Add Annotation to Issue

Variables:

Perform Follow-Up Action

Create or update a follow-up issue linked to an existing issue. The mutation finds an original issue using filters and creates a follow-up with the specified form data. Subsequent calls with the same triggerContextReference update the existing follow-up rather than creating duplicates.
Variables:

Delete Issue

Deletes an issue. Assets and statuses associated with the issue are not affected.
Variables:

Multi-Task Management

Multi-tasks enable coordinated campaigns across multiple locations or assets.

Create Multi-Task

Variables:

Create Subtasks

Variables:

Query Multi-Task with Subtasks

XForms for Data Collection

Query Available Forms

Get Specific Form

Submit Form Response

Variables:
Variables:

Workflows

Query Workflow Definition

Trigger Workflow Transition

Variables:

Common Workflows

Mobile Inspection Workflow

  1. Create Task with asset subject and XForm
  2. Assign to field technician
  3. Technician opens task in mobile app
  4. Complete XForm with inspection data
  5. Submit form response
  6. Update task status to RESOLVED
  7. Supervisor reviews and CLOSES task

Multi-Task Campaign Workflow

  1. Create multi-task for campaign
  2. Generate subtasks for each location
  3. Assign subtasks to field teams
  4. Track completion of individual subtasks
  5. Multi-task auto-completes when all subtasks done

Issue Templates

Create Issue Template

Variables:

Create Issue from Template

Variables:

Asset Filters

Create reusable filters for finding form subjects:

Create Asset Filter

Variables:

Query Assets with Filter

Best Practices

1. Use Asset Profiles for Form Subjects

Define asset profiles for entities that field teams will work on:
Always link XForms to tasks for proper tracking:

3. Use Multi-Tasks for Campaigns

For coordinated work across multiple locations, use multi-tasks:

4. Leverage Templates

Create templates for recurring workflows:

5. Filter by Status for Work Queues

Query issues by status to create work queues:

Error Handling

FSM mutations return errors in the standard format:
Common error types:
  • INVALID_SUBJECT: Referenced subject does not exist
  • INVALID_ASSIGNEE: Assignee user not found
  • INVALID_FORM: Form ID does not exist
  • INVALID_STATUS_TRANSITION: Status change not allowed
  • MISSING_REQUIRED: Required field not provided
  • DUPLICATE_ID: ID already exists