Robin To Tandem - Data Synchronization
The solution aims to read space state data from Robin and update tandem on a regular basis.
Pre-Requisites
Tandem
A Tandem facility has to already be setup before starting this workflow. For more information on setting up Tandem Facility please see the Tandem Help Docs here. The User-defined parameters section lists all properties that should exist in the Tandem facility's facility template or should be created and added there.
Robin
An API access token is generated for the plugin to use. For more information on creating access keys in Robin, please refer to the getting started guide here.
User-defined parameters
The Tandem facility for this workflow will need to have a template with the following user-defined parameters setup in Tandem. These should all be created under the category Robin
.
Property Name | Description | Data Type |
---|---|---|
SpaceId | The robin space id associated with this element in Tandem. | Number |
LocationId | The robin location id associated with this element in Tandem. | Number |
Availability | The availability of the space. Either available , booked or in_use or disabled |
String |
Presence | The amount of users or devices present within the space. | Number |
Next | An ISO-8601 timestamp that represents the next time the room will switch from available to booked or in_use or vice versa. |
DateTime |
Solution Features
Feature | Description |
---|---|
Read all Spaces State data from Robin | The solution reads the current status, presence and the next availability data of a space from Robin. |
Sync the space state data to Tandem | The solution updates Tandem with all the space state data read into the user defined properties of Tandem that can be used for dashboards or views. |
Basic Setup
This section explains the minimum configuration needed to deploy the solution and get it up and running. The solution is one way reading Robin for space state data and updating Tandem with those details. Below are the list of plugins that need to be configured.
Robin Service
- An Robin API key for the account.
- The Organization ID for which the Robin instance is setup.
Autodesk Tandem Service
Parameter | Description | Expected Value |
---|---|---|
Facility ID | The facility which will be used to read space management data that needs to be created in Robin. The facility will be used to create location in Robin. | Facility URN from Tandem |
Client ID | The APS account client id. | |
Client Secret | The APS account client secret. |
Advanced Setup

Components Involved
Scheduled Data Stream
Initiates the pipeline, scheduled to run daily but customizable with an enhanced scheduler. The stream plugin is preloaded with default mapping of robin properties to tandem. If needed please change them. Below are the pre-loaded JSON for the scheduled data stream.
{
"mapping": {
"RobinCategory": "Robin",
"SpaceId": "SpaceId",
"Availability": "Availability",
"LocationId": "LocationId",
"Presence": "Presence",
"Next": "Next"
}
}
Robin Service
Specialized to work with Robin API, reads space state objects for all spaces in Robin instance using API key and Organization ID. Configurable to read spaces of specific locations by mentioning location name in plugin parameters. Outputs space state objects like below
{
"pathParameters": {},
"data": {
"spaceId": 269556,
"state": {
"availability": "available",
"present": 0,
"next_busy_change": null
}
},
"tcMetadata": {
"robin": {
"organizationId": "autodesk-test",
"entity": "Spaces State",
"totalCount": 55,
"currentIndex": 55
}
}
}
Converter (Prep Tandem)
Maps the Robin Space state objects to the tandem user defined properties and also prepares the Asset Filter
override for the Tandem Service plugin. This allows the Tandem service filter to retrieve the asset with the associated RobinSpaceId
.
Autodesk Tandem Service (Scan)
Reads the output from convertor for the Robin State object and Asset Filter to retrieve the Tandem Asset. The plugin sends the Tandem Asset Id and the Robin State object to the convertor.
Convertor (PrepTandemUpdate)
The convertor reads the robin state object, mapping provided in the scheduled data stream and also the Tandem Asset id from the previous plugin and prepares the Tandem payload to update the user defined properties.
Autodesk Tandem Service
Reads output from converter, filters assets based on space ID, and updates assets in Tandem. Currently updates availability property, with potential to add more properties in converter post Tandem configuration.
Troubleshooting
This section provides pointers for debugging:
- Check the "ReadTandem" plugin configuration (facility, model, and Asset Filter) to ensure the Tandem service reads rooms correctly.
- Debug converters by adding
logger.debug('debug statement')
in code and observe the Logs section after redeployment. - Verify Tandem services read/update properties as expected, matching property names in Tandem with those in scheduled data stream.