Skip to content

Microsoft Teams integration

The Microsoft Teams integration brings four things into your tenant:

  • Per-user DMs for leave events, with Approve and Decline buttons on requests waiting for you to review.
  • A daily who’s-off digest posted to a channel you choose.
  • The Deckchair bot for who’s-off lookups (@Deckchair next week).
  • Optional status sync that sets your Teams presence to “Out of office” with an “On leave” status message while approved leave is in progress.

Three steps, all done once per tenant:

  1. Run admin consent in Deckchair. Open Settings → Integrations and click Add to Teams. Microsoft will prompt for tenant admin consent — approve. Deckchair records your tenant id so it knows where to route messages.
  2. Sideload the Deckchair Teams app package. Download deckchair-teams.zip and upload it via the Microsoft Teams admin centre → Manage apps → Upload new app. This makes Deckchair available to install across your tenant.
  3. Install the bot in a team. Inside Microsoft Teams, add the Deckchair app to each team where you want digest posts. The bot has to be a team member before it can post there — and the first time the bot lands in any team or 1:1 chat in your tenant is also when Deckchair learns the Microsoft routing endpoint for your tenant, which is required for DMs to start flowing.

Once all three are done, every tenant member can connect their own account.

Each member binds their own Microsoft identity once.

  1. Open Preferences.
  2. In the Microsoft Teams card, click Connect Teams. (Use Connect with status sync if you also want auto-presence + status message.)
  3. Approve in Microsoft and you’ll land back on Preferences with Connected showing.

Until you connect, Deckchair will keep emailing you instead — connecting Teams doesn’t replace email automatically; it adds DMs as a third channel alongside email and push.

EventYou receive
Someone submits a leave request you approveDM with Approve / Decline buttons
Your request is approvedDM with the decision and any reviewer note
Your request is rejectedDM with the decision and any reviewer note
Someone cancels their approved leaveDM if you were the approver
An approver cancels or amends your leaveDM about the change
You have requests waiting too longReminder DM

Each digest is one Teams channel × one filter. You can run several — e.g. one per department, or a company-wide one plus a per-team one.

In Settings → Integrations, after Microsoft Teams is installed:

  1. Click Add digest.
  2. Pick a team, then a channel. The Deckchair app must already be installed in the team — Microsoft won’t let bots post into teams they aren’t a member of.
  3. Set the send time. It’s interpreted in your organisation’s timezone (Settings → Organisation), so all your digests use the same one — change it there if you need to.
  4. Optionally restrict by department.
  5. Choose whether to mention public holidays falling on the digest day.
  6. Save.

If nobody is on leave that day and there’s no public holiday to mention, the post is suppressed.

Direct-message the Deckchair bot or @-mention it in a channel:

  • today
  • tomorrow
  • next week
  • 13th to 17th feb
  • 9th march
  • help

Replies are sent back into the same chat or channel. Booking and balance lookups aren’t supported in this version.

When enabled in Preferences (and you connected with status-sync permissions), each approval schedules two events:

  • Leave start (your timezone): Microsoft Teams presence set to “Out of office” with “On leave” as the status message, expiring at the end of leave.
  • Leave end: Presence and status message cleared.

Cancellations and amendments cancel or replace the scheduled events automatically.

  • Per user: Preferences → Microsoft Teams → Disconnect Teams. Stops your DMs, keeps the tenant install intact.
  • Whole tenant: Settings → Integrations → Microsoft Teams → Disconnect. Marks the tenant as uninstalled and cascades through all linked users. Removing the bot from teams in the Microsoft Teams admin centre is a separate step.
  • DMs only ever go to the person the event is about (requester, approver). The bot never posts about leave to channels except the digest you configure.
  • The digest respects your filters but not (yet) leave-type privacy — every approved leave overlapping the day is included.
  • Approve/Decline button clicks are authorised through your Teams-Deckchair link: Microsoft tells us which Azure AD user clicked, we resolve to the matching Deckchair member, and apply the same role/department checks as the web app. A click from someone who isn’t allowed to review the request gets an ephemeral “you can’t act on this” reply with no state change.