Accruent Source
The Accruent connector integrates with Accruent's EMS (Event Management System) to synchronize space booking and reservation data into your Mapped graph. This connector retrieves calendar events and room reservations from your Accruent EMS Cloud Service platform, providing visibility into how your meeting spaces and conference rooms are being utilized across your portfolio.
- Space Utilization Analytics: Track room booking patterns and utilization rates to identify underutilized spaces and optimize your real estate footprint
- Event-Driven Building Operations: Coordinate building services like HVAC, lighting, and access control with scheduled room reservations to improve energy efficiency and occupant comfort
- Workplace Experience: Enable room booking visibility, wayfinding, and availability displays by integrating calendar data with your workplace applications
Configuration
Auth Requirements
To connect to your Accruent EMS instance, you need to provide:
- Base URL: The URL of your Accruent EMS Cloud Service instance (e.g., https://your-instance.emscloudservice.com)
- Client ID: Your API client identifier for authentication
- Client Secret: Your API client secret credential
These credentials authenticate the connector with the Accruent API. Contact your Accruent system administrator to obtain API credentials if you don't have them available.
Place Mappings
The connector maps your Accruent buildings, floors, and rooms to places in your Mapped graph. During configuration, the connector automatically discovers and displays all buildings and bookable rooms from your Accruent system.
| Field | Required | Description |
|---|---|---|
| Building SiteId | Yes | The site or campus of the Building |
| Building RefId | Yes | The unique building identifier from Accruent (automatically populated) |
| Building Name | Yes | The building name (automatically populated) |
| Building Address | Yes | The building address |
| Space RefId | Yes | The unique room identifier from Accruent (automatically populated, must be unique across mappings) |
| Space Name | Yes | The bookable room or meeting space name (automatically populated, not editable) |
| Space Code | Yes | The room code or number (automatically populated) |
| Floor Name | No | Floor information for each room (automatically populated but can be edited during configuration if needed) |
| Floor Level | No | Floor level number |
The connector retrieves the complete hierarchy from Accruent, including buildings, floors, and rooms. Each room's calendar events and reservations will be linked to the corresponding space in your graph.
Note: Buildings with invalid or negative IDs are automatically skipped during the mapping process.
Advanced Options
| Option Name | Default Value |
|---|---|
| futureEventsWindow | 30 days |
The futureEventsWindow option specifies how many days into the future the connector should retrieve scheduled events and reservations. The connector polls for future events once per day and fetches all bookings scheduled within this time window from the current date forward.
For example, with the default setting of 30 days, the connector retrieves all room reservations scheduled for the next month. Increase this value if you need to see bookings scheduled further in advance (e.g., 60 or 90 days), or decrease it to limit the scope of future event data retrieved.
Mapped Concepts
API to Mapped Entities
The Accruent connector creates the following entities in your Mapped graph based on data from the EMS API:
| Accruent API Object | Mapped Entity Type | Description |
|---|---|---|
| Building | Space | Physical buildings in your Accruent system, representing the top level of your facility hierarchy |
| Room | Space | Individual bookable rooms and meeting spaces within buildings |
| Room Calendar | Calendar | A calendar object associated with each bookable space for managing its events |
| Booking/Reservation | CalendarEvent | Scheduled events and room reservations, including start time, end time, and booking status |
Entity Relationships:
- Spaces (rooms) are created for each bookable room mapped from Accruent
- Calendars are linked to their associated Space through a hasPart relationship (the Space has the Calendar as a part)
- CalendarEvents are linked to:
- The Space where the event is scheduled (via hasLocation)
- The Calendar associated with that space (via hasPart relationship from Calendar to CalendarEvent)
Event Properties:
Each CalendarEvent includes:
- Start Time: When the event/reservation begins
- End Time: When the event/reservation ends
- Call Info: The booking status description (e.g., "Confirmed", "Tentative", "Cancelled")
- Mapping Key: A unique identifier in the format calendar_event/{booking_id}
Important Note on Event Updates:
When a booking is moved to a different room in Accruent, the CalendarEvent automatically updates to reflect the new location. The connector uses special merge rules to ensure that when an event changes rooms, it is removed from the previous room's calendar and added to the new room's calendar. This ensures your graph always reflects the current state of reservations.
The connector includes cancelled bookings in its synchronization to provide complete visibility into booking history and changes.
Data Synchronization:
The connector runs two separate polling functions:
- Current Events Poll: Runs every 30 minutes to capture recent changes and updates to bookings
- Future Events Poll: Runs once daily to retrieve all upcoming reservations within your configured future events window
Sample Code
Query Spaces with their Calendars and upcoming CalendarEvents
{
spaces(filter: {connectedDataSourceId: { eq: "your-connector-Id" }}) {
id
name
exactType
mappingKey
hasCalendar {
id
name
exactType
hasCalendarEvent(filter: {startTime: { gte: "2026-06-01" }}) {
id
name
exactType
startTime
endTime
}
}
}
}
Query Calendar Events with Location
{
calendarEvents(filter: {connectedDataSourceId: { eq: "your-connector-Id"}}}) {
id
name
startTime
mappingKey
endTime
hasLocation {
... on Space {
id
name
mappingKey
}
}
}
}
Graph Shape
