Connect Xysense to KODE OS for occupancy data integration
Overview
Use this integration to connect XY Sense area and entry sensors to KODE OS. You can discover coverage zones and devices, collect snapshot occupancy on your polling interval, and subscribe to webhooks so live space state stays current for utilization and capacity planning.Supported Capabilities
- Discover Devices & Points
- Collect Sensor Data
- Receive Webhook Data
Prerequisites
To integrate with the XY Sense API, ensure you have the following details:- An active account in https://app.xysense.io with the appropriate access permissions.
- Valid username and password credentials for the XY Sense platform.
Generate API Credentials
- Log in to the app.xysense.io using your username and password.
- Navigate to Settings → API Keys.
- Click Create Key.
- In the dialog:
- Enter a description for the key.
- Select the Customer.
- Choose the required permissions.
- Click Create.
- Copy the API Key and API Secret Key from the window and store them securely.
- The API Key is generated as a combination of the description and the selected Customer.
- Note: Once this window is closed, the Secret Key cannot be retrieved again. After completing the steps above, your API Key and API Secret Key will be used in the next step.
Configure Webhook
Fields marked with an asterisk * are mandatory for completing the integration.- Provide a name, select the Customer, and choose the Type (e.g., Occupancy Changes).
- Enter integrations@kodelabs.com in the Email field.
- Under Additional Headers, add:
- Key: Authorization
- Value: (obtain from integrations@kodelabs.com)
- Max Batch Delay (ms): 2000
- Max Batch Size: 500
- Enabled: true
Configure Connector in KODE OS
- Navigate to Data Sources in your building
- Click API Catalog and search for Xysense
- Click + Add Datasource
- Fill in the fields below and complete the three-page setup flow
Discover Devices and Points
After configuring the connector, click Discover on the connector detail page. KODE OS will query the Xysense system and return a list of available devices and their data points. Review the discovered items and select the devices you want to register in KODE OS. For more details on the discovery process, see the Discovery guide.Devices and Points
When you discover devices from Xysense, KODE OS maps them to the following device types and data points:Presence / Occupancy Sensor
Canonical Type:presenceDetection
What Data You Get
Point History
Time-series readings including status, collected at regular intervals from connected devicesPolling Schedule
- Point History — Default polling: 30 seconds (min: 30 seconds, max: 1 hours)
Use Cases
Once connected, this integration enables you to:- Track real-time space utilization rates across floors and zones
- Optimize HVAC and lighting schedules based on actual occupancy patterns
- Generate utilization reports to inform space planning and real estate decisions
Troubleshooting
Authentication or connection error
Authentication or connection error
Verify that the credentials are correct and have not expired. Check that the URL is reachable from the KODE OS environment. Ensure the API key or token is valid and has not been revoked or expired in the Xysense platform.
Webhook data not arriving
Webhook data not arriving
Verify the webhook URL is correctly registered in the Xysense platform. Check that the authentication header matches the value from the KODE OS connector detail page. Ensure the Xysense system can reach the KODE OS webhook endpoint over the network.
Discovery returns no devices
Discovery returns no devices
Verify the connector credentials have sufficient permissions in the Xysense system to list devices. Run a test connection first to confirm connectivity. Some systems require specific API scopes or roles for device enumeration.
Data collection stops or gaps appear
Data collection stops or gaps appear
Check the connector status on the Data Sources page. If the status shows an error, review the error logs on the connector detail page. Common causes include expired credentials, network changes, or rate limiting by the Xysense API.

