A desk booking API for the systems you already run.

The Officely API lets IT teams and developers book desks, rooms and parking, manage people and places, and act on what your badge system, Wi-Fi, sensors and HR tools see. The MCP server lets an AI agent read and book as the person signed in.

  • 35 ready-made integrations
  • HTTP API and MCP server
  • Tokens with only the access you grant
  • Booking in Microsoft Teams and the web

Pick a connected system

From your badge system08:47

Maya Ito badged in at the Meridian House front door.

An automation callsbooking.check_in

Maya's desk booking is checked in.

Bookings in Officely

Meridian House · Level 2

  • Maya Ito · Desk 2-S13Today, 09:00 to 17:00Checked in
  • Leo Park · Desk 2-F02Today, 09:00 to 17:00Booked
  • Priya Shah · BoardroomToday, 10:00 to 11:00Booked
  • Sam Ortiz · Desk 2-F07Thursday, all dayBooked
  • Product team · 6 Studio desksFriday, all dayNot booked

Illustrative example. Each connection is an automation you set up with the API.

PersonioNordcloudZipcarSuriLemonadeZoeBeauty Pie

Booking their office with Officely

0+

employees

  • 500+ companies
  • Rated 4.6/5 on G2

Use what's ready. Build what isn't.

Most teams start with the ready-made integrations. When your office runs on something they don't cover, the API fills the gap.

35 ready-made integrations

Microsoft Teams, calendars, your directory and the HR systems you already use. They all work today.

{ }

The Officely API

For badge systems, Wi-Fi, sensors, leave tools and the workflows only your business has.

  • Book desks, rooms and parking for anyone
  • Check what someone can book before they book it
  • Approve or reject booking requests
  • Run your own code when something changes
  • Read the full history of a booking or person
  • Export attendance, work status and directory data
  • Connect an AI agent through the MCP server

Let an AI agent book, as the person signed in.

Connect an agent to the Officely MCP server and it can look up how Officely works, check live data and make a booking, with the same rules as everyone else.

MCP server addresshttps://officely.app/mcp
  • Acts as the person signed inIt works in that person's account. Code can't switch to another account or person.
  • Reads and booksTools to search and read the docs, and run code that reads live data or makes changes.
  • Your booking rules still applyWhen Officely refuses a booking, the agent gets the reason back as an error.
  • A closed sandboxCode the agent runs has no imports, network access or credentials.

Before you connect

  • Your agent's client must send a signed-in Officely person session with each request.
  • There is no MCP OAuth sign-in yet. Account API Tokens work with the HTTP API, not the MCP server.
  • Codex and Claude plugins are coming soon.

What teams build with the API.

Pick a workflow to see what it does. Each one runs on the same bookings and rules your people use in Teams and the web.

Check people in when they really arrive.

Your badge system or Wi-Fi tells Officely someone arrived. An automation finds their booking for today and checks it in, so attendance shows who actually came.

  • Record a badge scan or a laptop joining Wi-Fi
  • An automation checks in today's booking
  • Read each run's status and logs
Read the guides

Automation: check in from badge scans

Enabled
  • Arrival recordedBadge scan · Maya Ito · 08:47
  • Today's booking foundDesk 2-S13 · 09:00 to 17:00
  • Booking checked inbookings.checkIn

Run succeeded · logs available

See a request and what comes back.

A plain HTTP API with JSON in and out. These examples come straight from the docs.

Base URL

https://api.officely.app

Sign in

Account API Token as a Bearer token

Version header

Officely-Version: 2026-08-11

Results

Wrapped in "data", errors carry a "code"

Request

curl -X POST https://api.officely.app/bookings \
  -H "Authorization: Bearer $OFFICELY_TOKEN" \
  -H "Officely-Version: 2026-08-11" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: booking-london-2026-10-12-alex" \
  -d '{
    "booked_for": "per_alex",
    "place": "place_london",
    "selector": { "resource": "res_desk_12" },
    "time": {
      "mode": "fixed",
      "starts_at": "2026-10-12T09:00:00",
      "ends_at": "2026-10-12T17:00:00"
    }
  }'

Response

{
  "data": {
    "id": "bk_x9k2m4qa",
    "object": "booking",
    "status": "confirmed",
    "pending_change": null
  }
}

Shortened. A booking that needs approval comes back as pending_approval, with the space held.

Need attendance, work status or directory reports? See the reporting API

Access you control, token by token.

An API token doesn't inherit anyone's access. It gets only the permissions you give it, and IT can see what it did.

GDPR
  • GDPRPersonal data handled under UK and EU data protection law.
  • Ask where your data livesAsk us about hosting for your company.
  • SSO with Microsoft Entra IDPeople sign in with the account they already use.
  • People synced from Microsoft EntraWhen someone leaves, their upcoming bookings end.
  • Access by directory groupUse a synced group in a booking rule or a role.
  • Tokens with only the access you grantFor the whole account or one organisation.
  • Expiry dates and revokingAn expired or revoked token stops working.
  • Every change on recordEach change is an event, with an audit entry for the request.

Frequently asked questions

Pay less for workplace software that does more.

Bring your current quote and the rules you run today. We will show you both in Officely, what you would save, and have you set up in 24 hours.