Docs Portal
Connector Guides
API ReferenceConsole

Willow Ticket Destination

Willow logo

The Willow Ticket Destination connector synchronizes work order and service request data from the Mapped graph to Willow's ticket management system. This connector enables bidirectional ticket management by pushing work orders created in other systems through Mapped into Willow, maintaining consistent ticket data across your facility management ecosystem.

Use Cases

  • Centralized Ticket Management: Synchronize work orders from multiple source systems into Willow as the centralized ticketing platform
  • Cross-System Integration: Enable work orders created in systems like Nuvolo or WFS to flow into Willow while preserving relationships to assets and locations
  • Unified Workflow Orchestration: Maintain consistent ticket status, assignments, and metadata across integrated facility management systems

Configuration

Auth Requirements

To configure authentication, you'll need:

  • Base URL: Your Willow instance URL (e.g., https://your-instance.willowinc.com)
  • Client ID: OAuth client identifier for API access
  • Client Secret: OAuth client secret for API access

The connector uses OAuth2 client credentials flow to authenticate with Willow's API. Access tokens are automatically managed and refreshed as needed.

Place Mappings

Required Mappings

  • Selected Sites: Choose which Willow sites to synchronize tickets to. Work orders must relate to buildings/spaces that exist within the selected sites.

The connector maps work orders to Willow tickets based on their relatesTo relationships in the Mapped graph. Work orders can relate to:

  • Buildings (mapped to Willow site twins)
  • Floors (mapped to Willow space twins)
  • Spaces (mapped to Willow space twins)
  • Assets/Things (mapped to Willow asset twins)

Enumerations

Enumeration mapping translates work order field values between Mapped and Willow's terminology. If a value is not mapped, it may not sync to Willow Ticket:

  • Job Status: Maps work order status values (e.g., "Open", "In Progress", "Closed")
  • Job Sub Status: Maps sub-status values for tickets on hold or requiring additional context
  • Job Priority: Maps priority levels between systems (e.g., "Low", "Medium", "High", "Urgent")
  • Job Type: Maps work order type classifications
  • Sector: Maps request type or service area categories
  • Services Needed: Maps problem description or service categories

Enum Mapping Toggle: You can disable enumeration mapping to pass values through directly without translation. When disabled, the connector attempts to format to convert status values to Willow's expected format, but these values may be rejected if they do not match the expected UUID format.

Mapped Concepts

This connector reads existing work order entities from the Mapped graph and synchronizes them to Willow. It does not create new entities in the graph but does maintain identity relationships:

Mapped ConceptPurposeDescription
WorkOrderWork orders synchronized to WillowEntity Type WORK_ORDER
ExternalIdentityLinks Mapped work orders to Willow ticket IDsEndpoint for storing identity values from external sources

Identity Management: When a work order is successfully created in Willow, the connector adds an ExternalIdentity to the work order in Mapped with the format urn:willowinc:ticket:id:{ticketId}. This identity enables the connector to update existing Willow tickets rather than creating duplicates. Read more about Identities.

Syncing

Work Order Requirements: For a work order to be synced from the Mapped Graph to Willow Ticket, the following is required:

  • The work order must have a jobStatus field value. A null value will fail to sync.
  • It must relate to a Building, SubBuilding, Floor, Space, Zone, or Thing via relatesTo - with a Willow twin Id as an ExternalIdentity value
  • It must have a location that resolves to one of the configured Buildings under Selected Sites. One of the selected Buildings or one of its child places must be included in relatesTo.
  • At least one of the related entities must have as an ExternalIdentity value either a Willow twinId or spaceTwinId.

Sample Code

List Work Orders with ExternalIdentity values

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
59
{
  workOrders(filter: {connectedDataSourceId: {eq: "your-connector-Id"}}) {
    id
    mappingKey
    summary
    description
    jobStatus
    jobPriority
    jobType
    sector
    referenceUrl
    problemDescription
    resolutionDescription
    isReportedBy {
      name
      emails {
        address
      }
    }
    isCreatedBy {
      name
    }
    hasAssignee {
      name
      emails {
        address
      }
    }
    hasAssignedGroup {
      name
      hasMember {
        name
      }
    }
    relatesTo {
      ... on Building {
        id
        name
      }
      ... on Space {
        id
        name
        exactType
      }
      ... on Thing {
        id
        name
        exactType
      }
    }
    identities {
      ... on ExternalIdentity {
        value
        scope
        scopeId
      }
    }
  }
}