Skip to main content

Microsoft Teams integration

Written by Efrat Barak Zadok

Integrating with MS Teams allows users to receive all notifications from Shapes in your company's Teams messenger, and syncs approved time-away directly onto employees' calendars as out-of-office (OOO) blocks.

Step 1: Download the attached ZIP file (bottom of the article)

Step 2: Upload the ZIP file to Microsoft Teams

  1. Open Microsoft Teams.

  2. Go to Apps.

  3. Select Upload an app.

    Microsoft Teams Apps page with the Upload an app option highlighted
  4. Click Upload a custom app.

  5. Upload the ZIP file provided.

Upload a custom app dialog in Microsoft Teams

Step 3: Authorize the Shapes app in Microsoft

To authorize the Shapes app, replace the {TENANT_ID} placeholder in the URL below with your Microsoft Tenant ID, then open the link in your browser:

Step 4: Connect the Integration in Shapes

  1. Go to Shapes.

  2. Open the Microsoft Teams integration page.

  3. Click Connect.

Step 5: Test the connection

Create a test task for yourself or a colleague in Shapes to verify that notifications are being sent to Microsoft Teams.


Out-of-Office Calendar Sync

Beyond notifications, the Teams integration keeps time-away visible on the calendar automatically. When a booking is created, approved, rejected, or cancelled in Shapes, Shapes pushes the update to Teams within seconds:

  • Approved bookings create an OOO calendar block on the employee's calendar — with the correct start/end time, a subject line, and automatic decline of new meetings during that window.

  • Notifications go out at each stage: the manager gets an approval request, and the employee gets notified whether their request was approved or rejected.

If an approval isn't showing up on the calendar within a minute or two, the most common cause is that the booking's status change didn't fire as expected — for example, if it was created and approved in the same action rather than going through a distinct approval step. Contact Shapes Support if this happens consistently.

Did this answer your question?