Docs Portal
Connector Guides
API ReferenceConsole

Willow Import

WIllow logo

The Willow Import Source connector integrates Willow digital twin data into the Mapped graph. Willow is a digital twin platform that models buildings, floors, spaces, and equipment as a hierarchical twin graph with rich DTDL-based ontology types.

Willow data supplements the Mapped Graph with twin Ids as external identities as well as new entities for twins that don't yet exist in Mapped.

Use Cases

  • Cross-system asset correlation: Link Willow digital twin IDs to Mapped entities so downstream applications can look up the same asset across both platforms.
  • Building hierarchy import: Materialize Willow's spatial hierarchy (buildings, sub-buildings, floors, rooms, zones) and equipment inventory (AHUs, VAVs, chillers, etc.) into the Mapped graph for unified facility analytics.
  • Identity correction: Replace stale space codes, floor levels, or building addresses in Mapped with current values from the Willow twin graph.
  • System-level grouping: Import logical equipment groupings (HVAC systems, electrical systems) as Collections, enabling queries like viewing all the equipment in a chilled water system.
  • Telemetry point discovery: Import capability/sensor metadata as Points attached to their parent equipment, preparing the Graph for time series data ingestion from complementary connectors.

Configuration

Auth Requirements

The connector authenticates with the Willow API using OAuth 2.0 client credentials.

FieldRequiredDescription
Base URLYesThe Willow API endpoint (e.g., https://your-instance.app.willowinc.com/api/v3)
Client IDYesOAuth client ID from your Willow application registration
Client SecretYesOAuth client secret from your Willow application registration

Contact your Willow administrator to obtain API credentials.

Select Buildings

Choose one or more Willow buildings to include in place mappings and twin imports. The connector presents all available buildings in a dual-pane transfer list.

Move buildings from the Available side to the Selected side to include them.

Selected building IDs are stored in the connector configuration and determine the scope for all Actions (Sync Identities, Import Twins, Import Collections, and Import Points).

Place Mappings

After selecting buildings, the connector populates a place mapping table by walking Willow's building hierarchy (Building → Sub-Buildings → Floors). Each row represents a floor and includes:

ColumnDescription
Building NameWillow building name
Building RefIdWillow building twin ID
Sub-Building NameParent sub-building name (if applicable)
Sub-Building CodeParent sub-building twin ID
Floor NameWillow floor/level name
Floor LevelNumeric floor level

The mapping table supports:

  • Import / Export CSV for bulk editing
  • Mapping Rules Editor for advanced rule-based matching
  • Normalize Addresses toggle for address standardization. Use with caution as Buildings merge on the PostalAddressIdentity value. Mismatched addresses between connectors will result in duplicate Buildings.

Actions

Please review Recommended Action Sequence after the actions described below.

Sync Identities

Synchronizes Willow place identities onto existing Mapped entities based on the configured place mappings. For each mapped building and floor, the connector attaches a Willow external identity URN (urn:willowinc:twin:id:<twinId>) to the corresponding Mapped entity.

This action respects the identity correction toggles in Advanced Options (see below).

Import Twins

Imports the full building hierarchy from Willow as new Mapped entities. The connector traverses the Willow twin graph starting from each selected building and creates entities for:

  • Buildings, sub-buildings, and floors
  • Rooms and spaces
  • Zones (HVAC, lighting, occupancy)
  • Equipment and assets (AHUs, VAVs, chillers, fans, valves, electrical panels, etc.)

Each imported entity receives a Willow external identity and is placed in the correct hierarchical relationship (e.g., floors are part of sub-buildings, equipment is located in floors).

The scope of imported twin types is controlled by the Models Allowed for Import setting in Advanced Options.

Import Collections

Imports Willow Collection twins, which are logical groupings of assets such as HVAC systems, electrical systems, and equipment groups. Collections are not part of the spatial hierarchy, but rather they represent functional systems that span multiple spaces or floors.

This action must be run after Import Twins so that asset entities already exist in the Graph. The connector resolves relationships using previously-imported entities' external identities.

For each Collection, the connector creates:

  • A Collection entity with the resolved ontology subtype (e.g., HVAC_System, Electrical_System)
  • hasPart relationships to member assets (equipment included in the collection)

Import Points

Imports Willow Capability twins, including sensors, actuators, parameters, and state values, as Mapped Point entities. Each Point represents a telemetry stream or control value attached to a piece of equipment.

This action must be run after Import Twins so that parent asset entities already exist in the graph.

For each Capability twin, the connector creates:

  • A Point entity with the resolved ontology subtype (e.g., Temperature_Sensor, Flow_Setpoint, On_Off_Command)
  • An isPointOf relationship linking the point to its parent equipment
  • A trendID external identity (when available) for correlation with Willow telemetry streams
  • A datatype assignment based on the Willow capability type analog / sum → DOUBLE binary → BOOL multiState → ENUM
Willow Capability TypeMapped Datatype
analog / sumDOUBLE
binaryBOOL
multiStateENUM

Note: Unit mapping is not implemented. Willow unit strings are not translated to Mapped unit values.

Recommended Action Sequence

For a complete graph build, run actions in this order:

1 : Sync Identities — Attach Willow identities to existing Mapped places 2 : Import Twins — Create the spatial hierarchy and equipment entities 3 : Import Collections — Create system/group entities with membership edges to equipment 4 : Import Points — Create point entities linked to their parent equipment

Each subsequent action depends on entities created by the previous step. The UI enforces this sequencing by disabling later actions until prerequisites have completed.

Advanced Options

Mapping Key Format

OptionDescription
Twin ID (default)External identities use the Willow twin ID: urn:willowinc:twin:id:<twinId>
Site ID (legacy)External identities use the Willow site ID: urn:willowinc:site:id:<siteId>. Use this only for backward compatibility with older Willow connector deployments.

Models Allowed for Import

Controls which Willow twin types are included during the Import Twins action. Multiple selections are supported. Leave empty to use the default set.

OptionDTMI
Buildingsdtmi:com:willowinc:Building;1
SubBuildingsdtmi:com:willowinc:SubBuilding;1 and structural subtypes (Podium, Tower, Wing)
Levels / Floorsdtmi:com:willowinc:Level;1 and subtypes (MezzanineLevel)
Roomsdtmi:com:willowinc:Room;1
Spacesdtmi:com:willowinc:Space;1 and subtypes (OutdoorArea, ParkingSpot, etc.)
Zonesdtmi:com:willowinc:Zone;1 and subtypes (HVACZone, LightingZone, OccupancyZone)
Assets / EquipmentAll equipment types with valid ontology mappings (AHU, Chiller, VAV, Fan, Pump, Valve, Meter, etc. — 3,600+ types)
Companiesdtmi:com:willowinc:Company;1 (manufacturer entities)

The default includes Buildings, SubBuildings, Levels, Spaces, Rooms, Zones, and Assets.

Identity Correction Toggles

These toggles control how the Sync Identities action handles stale identities on existing Mapped entities. When enabled, old identities of the specified type are removed so that the current Willow-sourced value replaces them.

ToggleDescription
Correct Space CodesRemoves stale space code identities during Sync Identities
Correct Floor LevelsRemoves stale floor level identities during Sync Identities
Correct Building AddressesRemoves stale postal address identities during Sync Identities
Correct Sub-Building CodesRemoves stale sub-building code identities during Sync Identities
Correct External IdentitiesRemoves stale external identities during Sync Identities (all entity types)

Each toggle takes effect immediately when changed (no Save required).

Mapped Concepts

Entities Created

The connector creates the following entity types in the Mapped graph, depending on which actions are used and what twin types are allowed.

Place Entities (Sync Identities & Import Twins)

Willow Twin TypeMapped Entity TypeDescription
BuildingBuildingTop-level building
SubBuilding, BuildingPodium, BuildingTower, BuildingWingSubBuildingStructural divisions within a building
Level, MezzanineLevelFloorFloor/level within a building or sub-building
Space, OutdoorArea, ParkingSpotSpaceGeneral space or specialized area
RoomRoomNamed room within a floor
Zone, HVACZone, LightingZone, OccupancyZoneZoneLogical zone spanning spaces

Equipment Entities (Import Twins only)

Willow Twin TypeMapped Entity TypeExamples
AirHandlingUnitAir_Handling_UnitCentral air handlers
VAV, FanPoweredVAVVariable_Air_Volume_Box, Fan_Powered_VAVTerminal units
Chiller, WaterCooledChillerChiller, Water_Cooled_ChillerCooling plant
BoilerBoilerHeating plant
Pump, ChilledWaterPumpPump, Chilled_Water_PumpFluid movers
Fan, SupplyFan, ExhaustFanFan, Supply_Fan, Exhaust_FanAir movers
DamperDamperAirflow control
ValveValveFluid control
ElectricalMeterElectrical_MeterPower metering
BreakerPanel, Switchgear, TransformerBreaker_Panel, Switchgear, TransformerElectrical distribution
(3,600+ additional types)VariousFull ontology-mapped equipment inventory

The connector uses a 3,600+ entry ontology mapping to translate Willow DTDL model types to Mapped Brick Schema entity types. Equipment types that cannot be mapped are created as generic Thing entities.

Collection Entities (Import Collections)

Willow Twin TypeMapped Entity TypeDescription
Collection (base)CollectionGeneric logical grouping
System subtypes (HVACSystem, ElectricalSystem, etc.)HVAC_System, Electrical_System, etc.Functional system groupings
EquipmentGroupCollectionArbitrary equipment grouping

Collections represent functional systems, groups of equipment that work together like a chilled water loop or an AHU system with its VAVs. They are not placed in the spatial hierarchy but reference the assets within them via hasPart relationships.

Point Entities (Import Points)

Willow Twin TypeMapped Entity TypeDescription
Sensor subtypes (TemperatureSensor, FlowSensor, etc.)Temperature_Sensor, Flow_Sensor, etc.Measurement points
Setpoint subtypes (TemperatureSetpoint, PressureSetpoint, etc.)Temperature_Setpoint, Pressure_Setpoint, etc.Control setpoints
Command subtypes (OnOffCommand, SpeedCommand, etc.)On_Off_Command, Speed_Command, etc.Actuator commands
State subtypes (OccupancyStatus, RunStatus, etc.)Occupancy_Status, Run_Status, etc.Equipment state values
Parameter subtypesVariousConfiguration parameters

Points are mapped to their specific Brick Schema subtype using the same ontology mapping file. Points that cannot be mapped are created as generic Point entities. Each point includes a datatype (DOUBLE, BOOL, or ENUM) derived from the Willow capability type.

External Identities

Every entity created by the connector receives an ExternalIdentity with:

  • Value: urn:willowinc:twin:id:<willowTwinId> (or urn:willowinc:site:id:<siteId> in legacy mode)
  • Scope: ORG
  • Scope ID: The Mapped organization ID

Additionally, all entities receive a CONNECTOR-scoped identity using the raw Willow twin ID, which enables cross-entity relationship resolution during import.

Point entities may also receive a trendID identity:

  • Value: urn:willowinc:twin:trendID:<trendId>
  • Scope: CONNECTOR
  • Scope ID: The connector instance ID

This trendID identity enables downstream connectors or integrations to correlate Mapped Point entities with Willow telemetry streams.

Sample Code

List buildings with Willow identities

Note that this will only show Buildings that were created via the Willow Import connector in your organization. You can find the connectorId in the Mapped Console grid view connectors tab.

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
{
  buildings(filter: {connectedDataSourceId: {eq: "your-connector-Id"}}) {
    id
    name
    exactType
    identities {
      __typename
      ... on ExternalIdentity {
        value
        scope
        scopeId
      }
    }
    subBuildings {
      id
      name
      exactType
    }
    floors {
      id
      name
    }
  }
}

List all Things (equipment) from this connector

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
{
  things(filter: {connectedDataSourceId: {eq: "CONSZo4tuxPFhqSpucRVP8V6V"}}) {
    id
    name
    exactType
    hasLocation {
      ... on Floor {
        id
        name
        exactType
      }
      ... on Building {
        id
        name
        exactType
      }
    }
    identities {
      __typename
      ... on ExternalIdentity {
        value
        scope
        scopeId
      }
    }
  }
}

Graph Diagrams

Diagram of relationships imported from Willow Source. A Collection feeds a Building, can be isPartOf a parent Collection, and hasPart a Thing which hasPoint Point. A Building hasPart Floor, hasPart SubBuilding, and isLocationOf Equipment (Thing). The Floor hasPart Room, Space or Zone.