LogoLogo
  • PlaceOS Documentation
  • Overview
    • Key Concepts
      • Drivers
      • Interfaces
      • Modules
      • Settings
      • Systems
      • Triggers
      • Zones
    • Languages
      • Crystal
      • TypeScript
    • Protocols
      • MQTT
      • SAML
      • OAuth2
  • How To
    • Configure PlaceOS for Microsoft 365
      • Step 1: Room Calendar Access
        • Create Azure App Registration (Application Permissions)
        • Exchange Calendar Group
        • Limit Application Permissions
        • Configure PlaceOS Calendar Driver
      • Step 2: User Authentication & Calendar Access
        • Create a PlaceOS Authentication Source
        • Create Azure App Registration (Delegated Permissions)
        • Configure PlaceOS Authentication Source
        • Add User Login Redirects
      • Concierge Access
      • Troubleshooting
        • Blocked or Blacklisted IP Error
    • Configure PlaceOS for Google Workspace
      • Google Configuration
        • Create Google Cloud Project & Enable API
        • Configure Google Cloud Service Account
        • Add Google Workplace Permissions
        • Create Google Marketplace App (optional)
        • Google Workspace Service User (RBAC)
        • Configure Access to Google Resource Calendars
      • User Authentication
        • Create a PlaceOS Authentication Source for Google
        • Create Google Cloud OAuth2 Client App
        • Configure PlaceOS Auth Source for Google
        • Add User Login Redirects
    • Deployment
      • Deploy AWS Fargate on Modular CloudFormation Stacks
      • Deploy AWS Fargate on Nested CloudFormation Stacks
      • Writing Import Scripts
    • Analytics
      • MQTT Integration
    • Backoffice
      • Add a Domain to PlaceOS
      • Backoffice File Upload
      • Configure Staff API
      • Calendar Driver
      • Enable Sensor UI
      • Bookings Driver
      • Configure a webhook
    • Authentication
      • Azure B2C
        • Azure B2C Custom Policy Framework
        • Configure PlaceOS for Azure B2C
        • 365 Room Resources on Azure B2C
      • Configure SAML SSO
        • Configure SAML2 with AD FS
        • Configure SAML2 with Auth0
        • Configure SAML2 with Azure AD
        • Configure SAML2 with Google Workspace
      • Configure OAuth2 SSO
      • X-API Keys
      • Bearer tokens
    • Location Services
      • Location Services
      • Area Management
      • Discovering User Devices
      • Locating Users on a Network
      • People Finding with Cisco Meraki on PlaceOS
      • People Finding with Juniper Mist on PlaceOS
    • Notifications
      • Catering Orders
    • User Interfaces
      • Booking Panel App
      • Workplace App
      • Native Booking Panel App
      • Deploy a Frontend Interface
      • Microsoft Outlook Plugin
      • Configure Endpoint Auto Login
      • SVG Map Creation
      • Configuring a default UI
  • Tutorials
    • Setup a dev environment
    • Backend
      • Troubleshooting Backend Failures
      • Import Bookable Rooms
      • Writing A Driver
        • Testing drivers
        • ChatGPT / LLM Capabilities
          • Native GPT Plugins
      • Testing Internal Builds
    • Backoffice
      • Adding Drivers & Modules
      • Add Zone Structure
    • Common Configurations
      • Asset Manager
      • Catering
      • Locker Booking
      • Webex Instant Connect
      • Desk booking
      • Sensor Data Collection
        • Configure Kontakt IO
        • Configuring Meraki
        • Configuring DNA Spaces
      • Elevated Privileges
  • Reference
    • API
      • Real-time Websocket
      • Rest API
      • Staff API
    • Drivers
      • PlaceOS
        • Bookings
        • Staff API
        • Visitor Mailer
        • Lockers
      • Microsoft
        • Graph API
    • PlaceOS Skills
    • Privacy Policy
    • Recommended Products
    • Supported Integrations
    • System Architecture
    • System Functionality & Requirements
    • Infrastructure Requirements
    • Security Compliance
      • FAQ
      • GDPR
      • Security
    • Microsoft Azure Permissions
  • Glossary
  • 🎯PlaceOS Roadmap
  • 🆘PlaceOS Support
  • 👩‍💻PlaceOS Github
  • 📝PlaceOS Changelog
Powered by GitBook
On this page
  • Prerequisites
  • Add Driver
  • Add to System
  • Instantiate the Driver
  • Configure Driver
  • Add Module to Systems
  • Test Module
Export as PDF
  1. How To
  2. Backoffice

Calendar Driver

How to Configure the Calendar Driver on PlaceOS

PreviousConfigure Staff APINextEnable Sensor UI

Last updated 2 years ago

The PlaceOS Calendar Driver connects to Microsoft Graph API (365) or Google Workspace.

The Calendar Driver and the work together to get resource calendar events.

The Calendar Driver can also make ad-hoc bookings from kiosks or room booking panels.

To configure and deploy the Calendar Driver for Microsoft 365 where Delegated Access has been used, please refer to this

Prerequisites

  • Administrator access to your PlaceOS Backoffice

  • PlaceOS Drivers Repository Configured in Backoffice

  • Systems have a valid calendar resource address from Microsoft 365 or Google Workspace

Add Driver

Before we can use the PlaceOS Calendar Driver we must instantiate it as a driver.

  1. Navigate to the Drivers tab

  2. Click the + icon to add a new driver

  3. Select PlaceOS Drivers Repository

  4. Select the drivers > place > calendar.cr Driver Base

  5. Select the latest commit

  6. Click Save

Add to System

You need to instantiate a single instance of the PlaceOS Calendar Driver.

We recommend instantiating the driver in a generic system e.g. *Tracking.

That module is then added to each system that requires booking or calendar functionality.

Instantiate the Driver

  1. Navigate to the system you will instantiate the driver in

  2. Select the Modules tab

  3. Click Add New

  4. Search for the PlaceOS Calendar driver

  5. Click Save

Configure Driver

For Google Integration, we recommend creating a Service User on Google Workspace.

Service Users are the same as a regular Users Accounts with a descriptive name e.g. placeos-service-user@yourdomain.com

For testing, you can use your own Google Workspace Account.

The driver is now instantiated as a module, we need to configure the API Credentials.

  1. Navigate to the Drivers tab

  2. Select the Calendar Driver

  3. In the Settings view select unencrypted tab

  4. Delete all the example configuration provided by the driver

  5. If using Google Calendar API, paste this configuration into the encrypted tab:

    calendar_config:
          scopes:      ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/admin.directory.user.readonly"],
          domain:      "primary.domain.com", #Your Google Workspace Domain
          sub:         "default.service.account@google.com", # User or Service User Account
          issuer:      "placeos@organisation.iam.gserviceaccount.com", # client_id from the JSON
          signing_key: "PEM encoded private key" # private_key from the JSON
  6. If using Office 365, paste this configuration into the encrypted tab:

    calendar_config:
          tenant:          "",
          client_id:       "",
          client_secret:   "",
          conference_type: nil # This can be set to "teamsForBusiness" to add a Teams link to EVERY created Event

Add Module to Systems

You can now add the module to other systems as required.

  1. Navigate to an existing system

  2. Select the Modules tab

  3. From the drop down, select the Calendar Module

  4. Click Add Existing

Test Module

You can test by creating a booking or inspecting the state of the Calendar Driver.

Inspecting State should return a valid response.

This should return:

{
    "connected": true
}

You can also execute a function on the module and view the response.

As a test, executing the list_users function should return a list of users if connected properly.

Enable the driver by clicking the black dot, it should turn green

Enter your API information for Microsoft Azure or Google Workspace replacing placeholder text

Bookings Driver
page related to configuring PlaceOS Calendar Driver for 365.
Inspect State
Exec Users
Search for Driver
Add Calendar Driver
Add Calendar Driver
Save Calendar Driver
Calendar Driver Config
Add Existing Driver
Start Calendar Driver