Create an Azure app registration

Step by step guide to a Microsoft Entra app registration so Minutd can read your Outlook calendar.

Minutd does not ship a shared Microsoft app. You register your own in Microsoft Entra (formerly Azure Active Directory). The steps are text only, because the Azure portal layout changes often.

You need a Microsoft account that can create app registrations. In a work tenant that may need an administrator.

1. Register the app

  1. Open the Microsoft Entra admin center and go to Identity, Applications, App registrations.
  2. Press New registration and name it Minutd.
  3. Under Supported account types, choose the option that fits you: your organisation only, or any organisation plus personal Microsoft accounts.
  4. Under Redirect URI, choose Web and enter <your Minutd URL>/api/oauth/microsoft/callback, for example https://minutd.example.com/api/oauth/microsoft/callback. Settings, Accounts in Minutd shows the exact URI with a Copy button. It must match character for character.
  5. Register.

2. Add API permissions

  1. Open API permissions, then Add a permission, then Microsoft Graph, then Delegated permissions.
  2. Add Calendars.Read, offline_access, User.Read, openid and email. Minutd only reads events.
  3. If your tenant requires it, press Grant admin consent. Without consent, your own sign-in may show an approval prompt instead.

3. Create a client secret

  1. Open Certificates and secrets, then New client secret.
  2. Pick an expiry. The maximum is 24 months. Note the date: when it expires, calendar sync stops until you create a new secret and paste it into Minutd.
  3. Copy the secret Value straight away. It is shown once. Do not copy the Secret ID.

4. Collect the IDs

On the Overview page, copy the Application (client) ID and the Directory (tenant) ID.

5. Give it to Minutd

Open Settings, Accounts, Microsoft. Paste the client ID and client secret. For the tenant, use the tenant ID if you chose organisation only, or common if you allowed any organisation and personal accounts. Press Save, then Connect Microsoft, and sign in.

Minutd then lists your calendars. New calendars start on Never, so nothing is joined until you pick a rule per calendar: join all meetings, only meetings you organise, only meetings with external guests, or never.

How sync works

Minutd polls every 2 minutes and looks at the next 14 days. On your default calendar it uses Microsoft Graph delta queries, so only changes are fetched. Other calendars are polled over the same window without delta. Webhook subscriptions are not used, so your server does not need to be reachable from Microsoft. Rescheduled and deleted events update or cancel the queued join. Press Sync now in Settings, Accounts to sync straight away.

Disconnecting an account stops sync and cancels the joins it queued. To revoke access fully, remove the app under your account’s app permissions or delete the registration.

Things to know

  • Joining Teams meetings as a guest is separate from this app. It depends on your tenant allowing anonymous join. See troubleshooting.
  • A sign-in error mentioning AADSTS50011 means the redirect URI does not match. Copy it again from Settings, Accounts. Behind a reverse proxy, set MINUTD_PUBLIC_URL (see configuration).
  • You can remove access at any time under the app’s Enterprise application entry, or by deleting the registration.

Edit this page on GitHub