Docs Portal
Connector Guides
API ReferenceConsole

Willow Events Destination

Willow logo

The Willow Events Destination connector synchronizes calendar events from the Mapped graph to Willow's event management system. This connector monitors calendar events associated with specific buildings and spaces, and pushes them to Willow where they can be used for facilities management, space utilization tracking, and operational planning.

Use Cases

Potential use cases include:

  • Space Utilization Analytics: Push booking and reservation data to Willow for comprehensive space usage analysis and reporting
  • Facilities Management Integration: Synchronize event schedules with Willow's operations platform to coordinate maintenance, cleaning, and resource allocation
  • Real-time Occupancy Tracking: Enable Willow to track scheduled occupancy patterns and optimize building operations based on calendar events

Configuration

Authentication

To configure the Willow Events Destination connector, you need:

These credentials are typically provided by your Willow administrator and enable the connector to authenticate and push event data to the Willow platform.

Mapping

After authentication, you must select which buildings and event types the connector will synchronize to Willow.

FieldRequiredDescription
BuildingYesSelect one or more buildings whose calendar events should be synchronized to Willow. The connector will monitor all events associated with spaces in these buildings.
Event TypeYesSelect the Willow event type that calendar events should be mapped to. This determines how events are categorized and processed within Willow.
SpacesNoOptionally filter to specific spaces within the selected buildings. If left empty, all spaces within the selected buildings will be included. This is useful for limiting synchronization to particular areas like conference rooms or reservable spaces.

Advanced Options

  • Polling Interval: The connector checks for new or updated calendar events every 5 minutes
  • Space Filtering: When specific spaces are configured, only events in those spaces are synchronized. When no spaces are specified, all events in the selected buildings are included
  • Identity Management: The connector automatically tracks which events have been synchronized to avoid duplicates, and updates existing Willow events when source events change

Mapped Concepts

API to Mapped Entities

This connector reads from existing Mapped graph entities and does not create new entities. It operates on:

Source EntityDescription
CalendarEventCalendar events from the Mapped graph that are synchronized to Willow.
ExternalIdentityExternal identifiers linking calendar events to their source systems and Willow

The connector adds external identities to calendar events with the pattern urn:willowinc:event:uuid:{willow-event-id} to track which events have been synchronized.

Mapped Points & Time Series

This connector does not create time series points. It creates entity data only.

Sample Code

Query CalendarEvents with their locations and identities:

CalendarEvents that have an ExternalIdentity with a Willow event UUID have successfully synced with Willow Events Destination.

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
{
  calendarEvents {
	    id
	    name
	    startTime
	    endTime
	    dateCreated
	    mappingKey
	    identities {
	      ...on ExternalIdentity {
	        __typename
	        value
	        scope
	        scopeId
	      }
	    }
	    hasLocation {
	      id
	      name
	      exactType
	      isPartOf {
	        id
	        name
	        exactType
	        isPartOf {
	          id
	          name
	          exactType
	        }
	      }
	    }
	  }
  }
}

Query events for a specific building

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
{
  buildings {
    id
    name
    spaces {
      id
      name
      hasCalendar {
        id
        name
        exactType
        hasCalendarEvent {
          id
          name
          startTime
          endTime
          identities {
            ... on ExternalIdentity {
              __typename
              value
            }
          }
        }
      }
    }
  }
}