Samaya
Pre-beta. Samaya is early software: expect rough edges and changes between releases. Keep a backup of your Org files.

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.

  1. 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.

  2. Name it Samaya. Under Supported account types, choose Accounts in any organizational directory and personal Microsoft accounts.

  3. Under Redirect URI, choose the platform Public client/native (mobile & desktop) and enter http://localhost.

  4. Register it, and copy the Application (client) ID from its overview.

  5. 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:

PermissionFor
Calendars.ReadWriteYour calendars and task events
User.ReadYour account
offline_accessSyncing without signing in each time
ProfilePhoto.Read.AllGuests' pictures
Tasks.ReadThe Microsoft Planner panel
Presence.ReadWriteYour 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 disconnect removes 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

ErrorFix
AADSTS50011, redirect URI mismatchAdd http://localhost under the Mobile and desktop applications platform, not under Web
AADSTS7000218, a client secret is requiredThe 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-tenantChoose the supported account types that include personal accounts and every organization
Need admin approvalSee Work and school accounts