← Back to docs

Microsoft To Do

Language: SV | EN | SV

Microsoft To Do

Tools har nu en personlig Microsoft To Do-integration för inloggade användare.

Vad den gör

  • Kopplar ditt Microsoft-konto till Tools via Microsoft OAuth.
  • Speglar dina Microsoft To Do-listor in i Tools.
  • Speglar dina Microsoft To Do-uppgifter in i Tools.
  • Skickar ändringar som görs i Tools tillbaka till Microsoft To Do.
  • Hämtar fjärrändringar från Microsoft To Do tillbaka till Tools.
  • Exponerar autentiserade JSON-endpoints under /api/microsoft-todo/* för appar och andra klienter.

Webbgränssnitt

  • Path: /settings/integrations/microsoft-todo
  • Auth: auth:web

Från den sidan kan en användare:

  • koppla sitt Microsoft-konto,
  • köra en manuell synk,
  • skapa, byta namn på och ta bort listor,
  • skapa, redigera, markera klara och ta bort uppgifter,
  • koppla bort den lokala Microsoft To Do-anslutningen.

Konfiguration

Den delade Azure-appen för plattformen kan nu hanteras på två sätt:

  1. miljöstyrt via MICROSOFT_TODO_*-värden, eller
  2. databasbaserat direkt från /settings/integrations/microsoft-todo av en acknowledged admin.

Miljövariabler har fortfarande företräde när de finns.

Sidan visar nu även en konfigurationspanel med diagnostik för plattformsappen, inklusive:

  • om appen är komplett och användbar,
  • om den styrs via miljö eller databas,
  • vilka obligatoriska fält som fortfarande saknas,
  • effektiv redirect URI,
  • och rekommenderad callback-URL för aktuell host.

När plattformsappen inte är miljöstyrd kan acknowledged admins nu spara/uppdatera den delade Microsoft To Do-appen direkt från sidan via AJAX. Själva client secret visas aldrig tillbaka; UI:t rapporterar bara om en secret redan finns sparad.

Miljövariablerna är fortsatt:

MICROSOFT_TODO_TENANT=common
MICROSOFT_TODO_CLIENT_ID=
MICROSOFT_TODO_CLIENT_SECRET=
MICROSOFT_TODO_REDIRECT_URI=
MICROSOFT_TODO_DEFAULT_SCOPES="offline_access openid profile User.Read Tasks.ReadWrite"

Callback-URL:en för aktuell miljö visas på webbsidan och finns även via routen:

  • /oauth/microsoft-todo/callback

OAuth-routes

Starta OAuth-flöde

  • Route name: oauth.microsoft_todo.start
  • Path: /oauth/microsoft-todo/start
  • Method: POST
  • Auth: auth:web

OAuth-callback

  • Route name: oauth.microsoft_todo.callback
  • Path: /oauth/microsoft-todo/callback
  • Method: GET
  • Auth: auth:web

API-endpoints

Dessa endpoints accepterar antingen:

  • en vanlig inloggad webbsession, eller
  • en JWT bearer-token från POST /api/account/login.

GET /api/microsoft-todo/status

Returnerar anslutningsstatus, kontonamn, lokala räknare och om plattformsappen är tillgänglig.

Svaret innehåller nu också additiv platform_app-diagnostik utan hemligheter, till exempel:

  • managed_via
  • env_managed
  • client_id_configured
  • client_secret_configured
  • tenant
  • redirect_uri
  • recommended_callback_url
  • default_scopes
  • missing_fields[]
  • status_message

POST /api/microsoft-todo/sync

Kör en omedelbar push/pull-synkronisering.

GET /api/microsoft-todo/lists

Returnerar lokalt speglade listor. Som standard inkluderas uppgifter.

Valfria query-parametrar:

  • include_tasks=1 (standard)
  • include_tasks=0

POST /api/microsoft-todo/lists

Skapar en lista och synkar den till Microsoft To Do.

Exempelbody:

{
  "display_name": "Arbete"
}

PATCH /api/microsoft-todo/lists/{listId}

Byter namn på en synkad lista.

DELETE /api/microsoft-todo/lists/{listId}

Tar bort listan både lokalt och fjärrmässigt.

GET /api/microsoft-todo/lists/{listId}/tasks

Returnerar uppgifterna för en lokal speglad lista.

POST /api/microsoft-todo/lists/{listId}/tasks

Skapar en uppgift i vald lista.

Exempelbody:

{
  "title": "Följ upp kunden",
  "body_text": "Kom ihåg att bifoga rapporten.",
  "importance": "high",
  "status": "notStarted",
  "due_at": "2026-04-02 09:00:00",
  "reminder_at": "2026-04-02 08:30:00"
}

PATCH /api/microsoft-todo/tasks/{taskId}

Uppdaterar en uppgift.

DELETE /api/microsoft-todo/tasks/{taskId}

Tar bort en uppgift både lokalt och fjärrmässigt.

Synkbeteende

Synkmodellen är medvetet enkel och förutsägbar:

  1. Lokala smutsiga listor pushas först.
  2. Lokala smutsiga uppgifter pushas därefter.
  3. Den fjärrbaserade Microsoft To Do-snapshopen hämtas tillbaka till Tools.
  4. Fjärrborttagningar speglas lokalt när den lokala raden inte är smutsig.
  5. Lokalt smutsiga rader skrivs inte över av pull-steget.

En schemalagd synk körs också automatiskt var 15:e minut via:

  • php artisan microsoft-todo:sync

Noteringar

  • Det första Microsoft OAuth-flödet startas just nu från webbgränssnittet.
  • När användaren väl är ansluten kan mobilappar eller andra klienter använda de autentiserade /api/microsoft-todo/*-endpointsen.
  • Om Microsoft-tokenuppdatering misslyckas kan användaren behöva koppla om från webbsidan.