Outlook calendars
Outlook calendars sync into the same calendar.org as Google's. Personal
Microsoft accounts (outlook.com, Hotmail, Live) and work or school accounts
(Microsoft 365) connect the same way. Everything in
Google Calendar about samaya sync, the calendar
file, notes and the archive applies here too.
Connecting an account
In the app, open Settings → Calendars → Connect calendar, choose Outlook, give it a name and choose Sign in with Microsoft. From a terminal:
samaya sync auth outlook --account work
Account names are shared between Google and Outlook, so a Google account and an
Outlook account cannot both be called work. samaya sync reauth, status
and disconnect take the name and work the same for either.
Tasks can be scheduled into an Outlook calendar with New task events, as in Scheduling tasks into a calendar.
Work and school accounts
Your organization decides whether apps may read your calendar. If sign-in stops at Need admin approval, send the approval request, or ask an administrator to grant consent to Samaya. An app registered in your own organization's directory (below) may be approved more readily.
Your own app registration (optional)
Connecting needs no setup: Samaya signs in through its own app registration. Register your own instead if, for example, your organization only approves apps registered in its own directory. One registration serves every Outlook account, personal and work alike. It has no client secret.
Sign in to https://entra.microsoft.com and open App registrations → New registration. Microsoft needs a directory to register apps in: use your work account if it may register apps, or a free Azure account for a personal one.
Name it Samaya. Under Supported account types, choose Accounts in any organizational directory and personal Microsoft accounts.
Under Redirect URI, choose the platform Public client/native (mobile & desktop) and enter
http://localhost.Register it, and copy the Application (client) ID from its overview.
Leave Authentication → Allow public client flows off. Samaya does not need it.
There are no API permissions to add; you consent when you sign in. Samaya asks for:
| Permission | For |
Calendars.ReadWrite | Your calendars and task events |
User.Read | Your account |
offline_access | Syncing without signing in each time |
ProfilePhoto.Read.All | Guests' pictures |
Tasks.Read | The Microsoft Planner panel |
Presence.ReadWrite | Your Teams status |
In the app, choose Sign in through → Your own app and give the client ID. From a terminal:
samaya sync auth outlook --account work --client-id 00000000-0000-0000-0000-000000000000
How Outlook differs from Google
Changing an event's length always emails its guests. Outlook has no way to change a meeting quietly, so dragging the end of an Outlook event with guests only asks whether to save.
Disconnecting cannot revoke access.
samaya sync disconnectremoves everything stored locally. Remove Samaya's access yourself at https://account.live.com/consent/Manage (personal) or https://myapps.microsoft.com (work or school).Unused accounts expire. An account not synced for about 90 days has to be re-authorized.
Troubleshooting
| Error | Fix |
| AADSTS50011, redirect URI mismatch | Add http://localhost under the Mobile and desktop applications platform, not under Web |
| AADSTS7000218, a client secret is required | The registration is treated as a web app. Check the redirect is under Mobile and desktop applications |
| AADSTS50194 or AADSTS700016, app not found or not multi-tenant | Choose the supported account types that include personal accounts and every organization |
| Need admin approval | See Work and school accounts |
