Calendars
Can I integrate visitor badges with calendars and booking tools?
Reviewed by Daniel Cluderay, director of ONDRAFT LTD · Published 2026-09-06
Today a visitor is a row in People and a magic link for QR. Calendar connectors — Google Calendar, Outlook, booking tools — are the planned way a meeting guest becomes a compiled badge. They are specified, not live. We will not sync desks or parking.
What we will read, when it ships
Name, company if present, meeting time, maybe location as text on the face. Role bar from a field you map — visitor versus contractor. QR from a URL the guest already uses.
What we will not read: desk coordinates, parking allocations, occupancy camera flags, SSO group sprawl, Zoom room hardware. Joan’s integration wall covers rooms, Crestron, presence sensors. That is a workplace OS. Our calendar exists to mint badges.
Microsoft 365 and Google Workspace are the first targets because that is where meetings already live. Booking tools that speak iCal sit next. Slack bots that book rooms are not a Phase B promise.
Field map we will not invent later to look bigger
When a Google or Microsoft connector exists, the minimum useful mapping is attendee display name to badge name, optional company, optional title, event start as a time line, location string as a room line, and a URL for QR if the guest has one. Everything else is a maybe. Occupancy, desk ID, parking, and camera presence are never.
Admin consent on a Google Workspace domain is an IT event. We will document it when we have a real OAuth client, scopes, and a failure mode. Until then, a marketing page that pretends you already click “Allow” would be a lie. This paragraph is the opposite of that lie.
iCal from booking tools is attractive because many SMEs live in Calendly-class tools rather than Exchange resource mailboxes. The spec is the same: guest becomes People. We will not scrape a booking page. We will not ask you to share a password.
Zapier and IFTTT-style buttons that Joan lists for custom workplace actions are out of scope until we have a public API we are willing to support. A webhook that dumps a name into People might happen. It is not a Phase B promise. Do not file a ticket as if it were.
How to run next week without the connector
Export attendees from the calendar you already use. CSV or a copied column. Import. That is the integration. It is ugly and it works. Many large firms will keep doing this even after OAuth exists because their guest list is a CRM export, not a meeting.
Magic links still matter after a connector. The calendar knows the email; the guest still chooses whether QR points at LinkedIn or a booking page. Do not assume one URL for the whole room. People are not a single CTA.
If IT blocks CSV attachments, paste. If they block paste, you have a process problem that neither Joan nor we will solve with a logo wall.
Directory products — Azure AD, Okta, JumpCloud — are how workplace platforms sync employees. They are not how we mint visitors in Phase B. Employees who need badges can be People too, imported like anyone else. That is not SSO. It is a list.
What “not live” means in a tender
Not live means there is no Google or Microsoft button that mints a People row today. There is no OAuth client we will name. There is no scope list. A salesperson who says otherwise is wrong, including us if we slip. This sentence is the correction in advance.
Live today: People, events, designer, magic links for QR, CSV and paste, hire and buy checkout, hire-window updates, returns. That stack runs next week’s visitor morning. It is not a logo wall of twenty-three workplace apps.
Joan’s integrations page (getjoan.com/integrations/, September 2026) lists calendars, booking tools, and a long workplace catalogue. We will not copy the catalogue. When our connector exists, it will mint visitors. It will not book a desk because a logo looked lonely.
Procurement can still score us on honesty. A vendor who pretends the connector shipped is a vendor who will pretend the door display shipped. We would rather lose a score for “missing integration” than win it with a screenshot of a sandbox.
Invite as ticket, badge as stub — the metaphor without the lie
The creative device is: the calendar invite is the visitor request, the badge is the stub at the door. That is the product we want. Until the connector ships, the invite is a list you export, and the stub is still the bezel we programme. The metaphor is allowed. The fake OAuth is not.
Booking tools that mint a guest page (Calendly-class, Microsoft Bookings, a receptionist tool) already hold the email and the slot. A future iCal or webhook can carry that into People. Today you copy the name. The guest still arrives named if you do the copy.
Resource mailboxes that represent rooms are not visitor rows. We will not create a badge that says “Meeting Room 4” as if it were a person unless you typed that as a joke. Door displays are the status register for rooms. Badges are for chests. Keep the objects apart.
If your security team blocks any third-party calendar scope forever, you will stay on CSV. That is fine. Large firms live there. The integration answer is not a demand that IT open the tenant. It is a map of what we will build when they do, and what we already ship when they do not.
What a mint actually is, when it ships
Mint means: an attendee on an invite becomes a People row with enough fields to compile a face. It does not mean the badge radios itself from Exchange. It does not mean a room resource becomes a person. It does not mean a declined invite still prints. Those rules will be written when the client exists. They are not written as if they already passed QA.
Decline and tentative status are why a naive sync is dangerous. We would rather you export confirmed names than auto-compile maybes. Until the connector exists, that preference is also how you use CSV: confirmed column only.
Shared calendars and delegated mailboxes are IT edge cases. We will not pretend a consumer Google login is the same as Workspace admin consent. When we document consent, it will name scopes. Not today.
If a booking tool already emails you a guest list, that email is your integration. Forward it to the person who pastes into People. That is ugly on purpose. It ships Thursday.
Logo walls we will not paint
Workplace platforms show twenty-plus logos because the product is a bus. Our product is a compiler. The only logos that matter are the calendars and booking tools that can mint a name. Everything else is a dare to look bigger.
Slack, Teams, Zoom, badge printers, occupancy sensors, and desk maps stay off this answer until they mint a chest or we sell a door display. We will not add a grey logo for atmosphere.
A public API might one day accept a JSON name. That is not Zapier. That is not a Phase B promise. File a note with hire@inkbadgehire.com if you have a real volume feed. Do not treat the note as a committed connector.
This page is linked from the visitors hub so a tender can score “honest gap” instead of “hidden gap.” When the gap closes, we will date the sentence and take “not live” out. Until then, the phrase stays.