Developer Portal
Documentation
API ReferenceConsole

Work Orders

Many organizations ask: How do we sync asset and work order data across systems without manual headaches?

  • Automatically sync assets, locations, and work orders between platforms
  • Maintain data consistency across systems with real-time updates
  • Enable smarter insights by linking maintenance data to spatial and asset hierarchies

Whether you’re integrating a CMMS (Computerized Maintenance Management System) like AiM Asset Management or streamlining operations with Willow, we’ve mapped out how to connect the dots.

Use Case: AiM & Willow Ticket

Key Components

  • AiM Asset Management Source: Pulls asset, location, and work order data via API
  • Mapped: Normalizes data and maintains relationships (e.g., assets ↔ spaces)
  • Willow Ticket Destination: Delivers enriched work orders as Tickets in Willow for unified tracking

How it works

  • Assets & Locations: Synced on-demand or scheduled, preserving hierarchies (campus → building → floor → room)
  • Work Orders: Automatically polled from AiM and pushed to Willow as Tickets with full context (asset, location, priority)
  • Reporting & Analytics: Unified data for maintenance trends, asset health, and operational efficiency

Outcomes

  • Single source of truth: AiM remains the system of record while Willow gains full visibility
  • Reduced manual work: No duplicate data entry; changes propagate automatically
  • Actionable insights: Correlate work orders with IoT data, space usage, and asset performance

View Work Orders by date

You can use the operators eq (equals), gt (greater than), gte (greater than or equal to), lt (less than), and lte (less than or equal to) to filter Work Orders by the date they were created or updated.

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{
  workOrders(filter: {dateUpdated: {gte: "2025-07-30"}}) {
    id
    name
    exactType
    jobType
    jobStatus
    jobPriority
    dateCreated
    dateUpdated
    relatesTo {
      __typename
      ... on Building {
        id
        name
      }
      ... on Space {
        id
        name
      }
      ... on Thing {
        id
        name
        exactType
      }
      ... on Zone {
        id
        name
      }
    }
  }
}

Combine time filter operators to find work orders within a date range:

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
  workOrders(
    filter: {dateUpdated: {gte: "2025-07-28"}, and: {dateUpdated: {lt: "2025-07-30"}}}
  ) {
    id
    name
    exactType
    jobType
    jobStatus
    jobPriority
    dateCreated
    dateUpdated
    relatesTo {
      __typename
      ... on Building {
        id
        name
      }
      ... on Space {
        id
        name
      }
      ... on Thing {
        id
        name
        exactType
      }
      ... on Zone {
        id
        name
      }
    }
  }
}

View Work Orders external identities

Mapped links Buildings, Spaces, Things and Zones across CMMS and asset management systems through the use of external identities.

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{
      workOrders(filter: {id: {eq: "CLSBO8n9MwTaKwQ6Cusj9Gw5X"}}) {
        id
        name
        exactType
        jobType
        jobStatus
        jobPriority
        dateCreated
        dateUpdated
        identities {
          ... on External Identity {
            value
          }
        relatesTo {
          ... on Building {
            id
            name
            exactType
            identities {
                ... on External Identity {
                    value
                }
            }
          }
        ... on Space {
            id
            name
            exactType
            identities {
                ... on External Identity {
                    value
                }
            }
          }
          ... on Thing {
            id
            name
            exactType
            identities {
                ... on External Identity {
                    value
                }
            }
          }
          ... on Zone {
            id
            name
            exactType
            identities {
                ... on External Identity {
                    value
                }
            }
          }
        }
      }
    }