Deskie connects to a handful of external services to handle work it does not do itself: taking payments, controlling doors, sending email and text messages, and storing files. This article explains which integrations exist, what each one is for, and how they are configured. Only the integrations described here exist in Deskie.
Two kinds of integration
Deskie's integrations fall into two groups, and the difference matters for how you set them up.
- Per-workspace integrations: Stripe, Kisi, UniFi, and Deskie Access. You connect these yourself by entering your own credentials in Deskie's settings under the Integrations section. Each workspace stores its own credentials, and a value can also be saved for a specific location (see below). These integrations are optional and only active once you connect them.
- Platform services: SendGrid, Twilio, and Amazon S3. These power email, SMS, and file storage for the whole Deskie platform. They are configured by Deskie centrally, not per workspace, so there is nothing for you to set up. They simply work in the background.
Per-location values
For the per-workspace integrations, a saved credential resolves with a "location value, then workspace default" precedence. If you save a value for a specific location, that value takes precedence over the workspace-wide value for that location. Otherwise Deskie falls back to the workspace-wide value. A multi-location workspace can also assign a specific Kisi place to each of its locations.
Stripe (payments)
Stripe is how Deskie charges money. Every workspace uses its own Stripe account, and funds flow directly to you. A Stripe connection is made up of a secret key, a publishable key, and a webhook signing secret. The secret key is used on the server to create and confirm charges, and the publishable key is used in the browser to collect card and bank details securely. The webhook signing secret lets Deskie verify the events Stripe sends back, which keeps payment statuses in sync.
Once Stripe is connected, Deskie can take card payments across the product, and optionally ACH bank payments when you turn them on. The full connection process, including the webhook setup, is covered in detail in Connecting Stripe for payments. For how charges and billing run once Stripe is connected, see billing cycles and auto-charge and invoices.
Door access integrations
Deskie supports three different door access systems. They are alternatives: you connect whichever matches the hardware installed at your space. For the bigger picture of how access works in Deskie, see door access overview.
Kisi
Kisi is a cloud-based access control system. Deskie connects to Kisi using a single API key, which you save in the Integrations settings. With Kisi connected, Deskie talks to Kisi's cloud API to manage users, look up the places (sites) on your Kisi account, read the doors and locks in each place, and place members into groups so they gain or lose entry. Deskie can also read access events from Kisi and, for members, mint a per-user mobile login so the Kisi mobile experience works on their behalf.
After you save your Kisi API key, Deskie loads the list of Kisi places so you can associate them with your Deskie locations. Granting or revoking a member's access works by adding or removing their role assignment in the relevant Kisi group.
UniFi Access
UniFi Access is Ubiquiti's on-premise access control system, running on a controller at your site. Deskie connects to it with two values: the controller's host (its address) and an API key. Both are saved in the Integrations settings, and Deskie checks the connection after you save them.
Because UniFi controllers are often reached over the local network with a self-signed certificate, Deskie is built to connect to them even when the certificate is not from a public authority. With UniFi connected, Deskie can manage users, read and assign user groups (which control which doors a person can open), list doors, unlock a door on demand, and manage NFC cards by assigning or unassigning them to users. Deskie can also create UniFi visitors for time-bounded guest access.
Deskie Access
Deskie Access is Deskie's own door controller hardware, a relay device installed at your site that physically opens doors. Deskie connects to it with three values: a host, a port, and an API key, all saved in the Integrations settings. After saving, Deskie runs a connection test and reports how many relays (doors) it found, or a clear error if it cannot reach the controller or the API key is wrong.
Each door on the controller is a numbered relay channel. Deskie can perform several actions on a channel:
- Pulse: a momentary unlock, the normal way to let someone in.
- Hold open: energize the relay so the door stays unlocked until it is explicitly locked again. This is an admin-level action.
- Lock: release the relay to lock a single door.
- Lock all: an emergency lockdown that locks every door at once. This is an admin-level action.
Admins can also rename a door and set its default pulse duration. Every action is written to an access log with who did it, which door, and the source, so there is an audit trail of door activity.
Deskie Access supports a weekly unlock schedule per door. You set, for each day of the week, whether the door should auto-unlock and the start and end times. A background job checks the schedules against the workspace's local time and unlocks or locks doors accordingly, then locks them again when the scheduled window ends. The same job can auto-unlock doors tied to an active booking while that booking is in progress. Members can be granted access to specific door channels individually, and Deskie only shows a member the doors they have explicitly been granted. Paused members are refused entry even if they tap to unlock, though workspace owners and admins keep the ability to operate doors directly.
SendGrid (email)
SendGrid is the service Deskie uses to send all email. Every email Deskie sends goes through SendGrid, including invoice notifications, booking confirmations, pass and event emails, welcome and password-reset messages, charge-failure alerts, ticket replies, newsletters, and admin notifications. Messages are sent from a configured Deskie sender address and name, and Deskie supports custom reply-to addresses, CC and BCC recipients, and attachments. This is a platform service, so there is nothing to connect. For the email and notification settings you can control, see notifications, branding and custom emails, and newsletters.
Twilio (SMS)
Twilio is the service Deskie uses to send text messages. It powers SMS notifications, sent from a configured Deskie phone number. Deskie normalizes recipient phone numbers into international (E.164) format, using the member's country to pick the right dial code, before handing the message to Twilio. Like SendGrid, Twilio is a platform service and requires no setup on your part.
Amazon S3 (file storage)
Amazon S3 is where Deskie stores uploaded files. This includes member and company photos, asset, resource, pass, and event images, mail and mail-interior scans, documents, expense receipts, message and task attachments, newsletter and website images, screen images, and more. Files are organized by workspace, so each workspace's uploads live in their own area of the bucket, and uploaded file names are randomized to avoid collisions.
When a file is uploaded, Deskie validates its size and type before storing it. By default uploads are treated as images and limited to JPEG, PNG, and WebP, though specific features can allow other file types where appropriate. Deskie can also generate temporary signed download links for files that should not be public. S3 is a platform service, so file storage works automatically with no configuration.
Summary
Connect the integrations that match your needs: Stripe to take payments, and one of Kisi, UniFi Access, or Deskie Access to control doors. Email (SendGrid), SMS (Twilio), and file storage (S3) are built into the platform and need no setup from you.
