Skip to content
  • There are no suggestions because the search field is empty.

Salto Space Setup Guide

How to connect your Salto Space access control system to Clearooms so that booking a meeting room or a desk unlocks the door for the people who booked it.

Orientation

How the integration works

The plugin does not talk to Salto over an API. The two systems exchange CSV files through a directory on a file server you control, and each system polls its own directory. Everything below is about getting those three directories, the credentials, and the ID mappings right.

       

Two independent flows over the same file server. Salto tells Clearooms who holds a card; Clearooms tells Salto which doors those people may open, and when.

Inbound, who is in Salto. Salto Space exports its cardholders as a CSV into the import directory Once an hour. Clearooms picks up every file whose name begins Users_ , matches each ExtUserID against the Employee ID on your Clearooms user records, and moves the file to the processed directory. Only matched people are treated as Salto users.

Outbound, who may open which door. Every minute Clearooms looks at meetings and desk bookings starting shortly, and writes one CSV row per person listing the doors they need and the exact window they need them for. Salto imports that file and grants the access.

Prerequisites

Before you start

Have all of this ready before opening the plugin. The connection test will fail without it.

  • An FTP or SFTP server that both Salto Space and Clearooms can reach. Clearooms connects outbound over the internet, so it must be publicly reachable and allow our IP range through your firewall.

  • Three directories on that server, already created: import, processed and upload. The plugin does not create them, and refuses to connect if any is missing.

  • A service account on the server, with either a password or, for SFTP, a private key file.

  • Salto Space configured to export cardholders to the import directory on a schedule, with filenames beginning Users_.

  • Your Salto door IDs (the ExtDoorID of each door you want bookings to unlock), taken from Salto Space.

  • Employee IDs filled in on Clearooms users, matching the ExtUserID Salto holds for the same person. This is the only link between the two systems.

  • Administrator access to Clearooms, to install and configure plugins.

Six Steps, In order

Setting it up

The plugin locks the Door Mapping and Settings tabs until a connection has been saved, so the order below is the order

1. Prepare the three directories 

Create the directories on your file server and give the service account the rights listed here. The defaults in brackets are what the plugin suggests; any paths will do as long as they are absolute and all three exist.

 

  1. Directory Default path Used for Account needs
    Import /salto/in/users Salto drops its cardholder export here. List, read, and rename files out
    Processed /salto/processed Clearooms moves each file here once handled. Write, and overwrite existing files
    Upload /salto/out Clearooms writes the access CSV here for Salto to collect. Write

Keep the import directory for Salto only. Clearooms lists this directory every hour. Files that do not begin Users_ are ignored and left alone, but housekeeping tools that write logs or lock files here make the directory harder to reason about when something goes wrong.

For plain FTP, the plugin connects in passive mode, meaning the data connection is opened by Clearooms rather than by your server, so your firewall needs to allow the passive port range as well as the control port.

2. Set up the Salto export

       In Salto Space, schedule an export of the cardholders who should be able to book             through Clearooms, writing to the import directory.


File Clearooms expects to find

ExtUserID     <- optional header row 
100482
100517
100904
  • Filename must begin Users_. Anything after that is yours. A timestamp is the usual choice, and keeps successive exports from colliding.
  • Only the first column is read. It must hold the ExtUserID. Extra columns are ignored, so exporting names alongside the ID is harmless.
  • The header row is optional. If the first cell reads exactly ExtUserID, it is treated as a header, otherwise the first line is read as data.
  • The file is a full snapshot, not a delta. Anyone absent from the newest file is removed from the Salto user list in Clearooms and loses booking-driven access, so always export the complete set.

How often to export. Clearooms checks the directory once an hour, so exporting hourly or daily is a good match. Several files waiting at once is fine. All of them are processed in the order the server lists them, and the last one wins.

3. Connect Clearooms to the server

In Clearooms go to Plugins > Access Control Systems > Salto Space and install it. The Connection tab opens first.

  • Hostname: Address of your FTP or SFTP server.
  • Port: The server's port. Defaults to 21, SFTP is normally 22.
  • Username: The service account.
  • Password: Stored encrypted. Once saved it shows as dots, so use Change to replace it.
  • SSL is enabled: Tick for FTPS. Unavailable when SFTP is selected.
  • Using SFTP: Tick for SFTP over SSH instead of FTP.
  • Key-based Login: SFTP only. Swaps the password field for a private key upload.
  • Key: Upload the private key file. Its contents are stored encrypted, the file itself is not kept.
  • Import directory: Where Salto writes its user export.
  • Processed directory: Where Clearooms files handled exports.
  • Upload directory: Where Clearooms writes the access CSV.

Click Test Connectivity. It logs in and confirms all three directories exist, naming the first one it cannot find. When it reports "Connection OK", click Save. This unlocks the remaining tabs.

4. Map doors to rooms and desks

The Door Mapping tab is where you tell Clearooms which Salto door a booking should open. Nothing is unlocked until a mapping exists.

Rooms: Each row pairs one Clearooms room with one Salto door ID. A room reached through two doors gets two rows, and both open for the booking. Click Add new door for each pair, then Save.

Desks: Click Add new mapping, choose the office, then select every desk that sits behind a given door and enter that door's Salto ID. One mapping covers many desks, so a whole floor served by one door is a single row. Save when finished.

Mappings keep themselves tidy

Deleting a room in Clearooms removes its door mapping. Deleting a desk removes it from any mapping, and a mapping left with no desks is removed too. You do not need to clean up here after changing your floor plan.

5. Choose your settings

Three settings on the Settings tab, then Save.

  • Buffer: How long before a booking starts, and after it ends, that the door should open. Defaults to 00:15. A 15 minute buffer on a 09:00 to 10:00 meeting grants access from 08:45 to 10:15. It also sets how far ahead Clearooms looks for upcoming bookings, so a longer buffer sends access rights to Salto earlier.
  • Popup message: Shown to the organiser when someone on a booking is not a registered Salto user. Use {name} where their name should appear. Reset popup message restores the default wording.
  • Salto Server Timezone: The timezone your Salto server runs in. Meeting room access windows are written in this timezone, so getting it wrong shifts every unlock by the offset. Pre-filled from your browser, so confirm it matches the server rather than the person setting this up.

6. Match your people

Clearooms links a person to their Salto cardholder record by Employee ID. The Employee ID on a Clearooms user must be identical to the ExtUserID Salto holds, the same characters, including any leading zeros.

  • Matched. The person becomes a Salto user in Clearooms, and their bookings start sending access rights on the next run.
  • In Salto but not in Clearooms. The ID is held aside as unmatched. When someone is later created in Clearooms with that Employee ID, they are linked automatically, with no re-import needed.
  • In Clearooms but not in Salto. They can still book, but the door will not open, and whoever creates the booking sees your popup message. Add them in Salto and they will match on the next hourly import.

Check this before going live. A blank or mismatched Employee ID is the single most common reason a booking fails to unlock a door. Spot-check a handful of users in both systems before you announce the integration.

Reference: What happens once it is live

Task Runs What it does
Send access rights Every minute Finds meetings and desk bookings starting within the buffer window plus 15 minutes, and uploads one CSV to the upload directory. Nothing is uploaded when there is nothing to send, so quiet periods leave no files.
Import Salto users Hourly, at :15 Downloads every Users_ file from the import directory, refreshes the matched user list, and moves each file to the processed directory. Empty files are skipped and left in place.

The file Clearooms writes. One row per person, listing every door they need in the coming window. Uploaded as clearooms-<timestamp>.csv.

Action,ExtUserID,ExtDoorIDList
2,100482,
2,100517,

Action is always 2. Each entry in ExtDoorIDList is door ID, then 0, then access from, then access until, with the buffer already applied to both ends. Someone with a room booking and a desk booking gets both doors on one row.

Booking popups. When a meeting is created, anyone invited who is not a registered Salto user produces a warning popup for the organiser. Desk bookings do the same, but only for desks that are actually mapped to a door, so booking an unmapped desk never warns.

If something is wrong: Troubleshooting

What you see What it means What to do
Could not connect to the remote server Login failed, or the host and port are unreachable from Clearooms. Check the hostname, port and credentials, then confirm your firewall allows Clearooms in, including the passive port range for plain FTP.
Directory ... does not exist on the server Login worked, but that path is missing or the account cannot see it. Create the directory, use an absolute path, and confirm the service account has rights to it.
No credentials provided You tested the connection before any password or key had been saved. Enter the password or upload the key, then test again.
Door Mapping and Settings tabs are greyed out No connection has been saved yet. Finish the Connection tab: test, then save.
Nothing appears in the upload directory Normal when no booking starts within the buffer window, or when none of the attendees are matched Salto users. Make a test booking a few minutes ahead with a user you know is matched, and watch the directory.
Files pile up in the import directory They are either empty, or their names do not begin Users_. Check the Salto export filename pattern and that the export is producing rows.
Doors open at the wrong time The Salto Server Timezone does not match the server. Correct it on the Settings tab, the next run uses the new value.
A person never gets access Their Employee ID does not match their Salto ExtUserID. Compare the two values exactly, correct one of them, and wait for the next hourly import.

Clearooms keeps a log of every send and import, including the file contents, so if a problem is not obvious from the table above your Clearooms contact can tell you exactly what was exchanged and when.

Housekeeping: Removing the plugin

Uninstalling deletes the stored server credentials, the matched Salto user list and the unmatched IDs held against your organisation. Nothing on your file server is touched, and no bookings are affected. Doors simply stop being unlocked. Reinstalling means going through this guide again from step three.

Click here to download the full PDF guide.

Questions about this integration? technical@clearooms.com, clearooms.com