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
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
Query Assets (Form Subjects)
Create Asset (Form Subject)
Issue Tracking
List All Issues
Get Specific Issue
Create Issue
Update Issue Status
Add Annotation to Issue
Multi-Task Management
Multi-tasks enable coordinated campaigns across multiple locations or assets.Create Multi-Task
Create Subtasks
Query Multi-Task with Subtasks
XForms for Data Collection
Query Available Forms
Get Specific Form
Submit Form Response
Link Form to Task
Workflows
Query Workflow Definition
Trigger Workflow Transition
Common Workflows
Mobile Inspection Workflow
- Create Task with asset subject and XForm
- Assign to field technician
- Technician opens task in mobile app
- Complete XForm with inspection data
- Submit form response
- Update task status to RESOLVED
- Supervisor reviews and CLOSES task
Multi-Task Campaign Workflow
- Create multi-task for campaign
- Generate subtasks for each location
- Assign subtasks to field teams
- Track completion of individual subtasks
- Multi-task auto-completes when all subtasks done
Issue Templates
Create Issue Template
Create Issue from Template
Asset Filters
Create reusable filters for finding form subjects:Create Asset Filter
Query Assets with Filter
Best Practices
1. Use Asset Profiles for Form Subjects
Define asset profiles for entities that field teams will work on:2. Link Forms to Tasks
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:INVALID_SUBJECT: Referenced subject does not existINVALID_ASSIGNEE: Assignee user not foundINVALID_FORM: Form ID does not existINVALID_STATUS_TRANSITION: Status change not allowedMISSING_REQUIRED: Required field not providedDUPLICATE_ID: ID already exists
Related Resources
- Issues Subgraph Reference - Complete issue schema
- Workflow Subgraph Reference - Workflow definitions
- Forms Subgraph Reference - XForms schema
- Assets Subgraph Reference - Asset profiles schema
- CAM Guide - Connected asset management (different from FSM assets)
- Common Patterns - Pagination and filtering