> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Planner

> Connect Microsoft Planner to your Atako agents — 10 read and 6 write actions.

Let your agents read your Microsoft Planner plans, buckets and tasks, create plans, buckets and tasks, assign them, update their progress, description and checklist, and complete them on your behalf.

## Connection

* **Authentication**: OAuth 2.0 — you authorize Atako via Microsoft Planner's consent screen; no key to copy.
* **Scopes requested**:
  * `offline_access`
  * `User.Read`
  * `Tasks.ReadWrite`
  * `Team.ReadBasic.All`

<Note>
  Nothing to paste: click Connect and sign in with your Microsoft 365 work or school account. Prerequisite on the Atako side — same Microsoft Entra app as Outlook, Teams and OneDrive: an administrator sets INTEGRATION\_OAUTH\_MICROSOFT\_PLANNER\_CLIENT\_ID / \_CLIENT\_SECRET to the same values as INTEGRATION\_OAUTH\_OUTLOOK\_CLIENT\_ID / \_CLIENT\_SECRET, and adds the delegated permissions Tasks.ReadWrite and Team.ReadBasic.All in Entra → App registrations → Atako → API permissions → Microsoft Graph → Delegated.

  See [Microsoft Planner's documentation](https://learn.microsoft.com/en-us/graph/api/resources/planner-overview).
</Note>

## Read actions (10)

| Action              | Description                                                                                                                                                                                                    |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_plan`          | Fetch one Planner plan (id, title, container, owner, createdDateTime, @odata.etag).                                                                                                                            |
| `get_task`          | Fetch one task (title, planId, bucketId, percentComplete, priority, startDateTime, dueDateTime, assignments). Its `@odata.etag` is the `etag` that update\_task and complete\_task require.                    |
| `get_task_details`  | Fetch a task's details: description, checklist (items keyed by id, with title and isChecked) and references. Its `@odata.etag` — distinct from the task's — is the `etag` that update\_task\_details requires. |
| `list_bucket_tasks` | List the tasks of one bucket (id, title, percentComplete, priority, dueDateTime, assignments, @odata.etag).                                                                                                    |
| `list_buckets`      | List the buckets (columns) of a plan (id, name, planId, orderHint).                                                                                                                                            |
| `list_group_plans`  | List the Planner plans owned by a Microsoft 365 group / team (id, title, createdDateTime).                                                                                                                     |
| `list_joined_teams` | List the Microsoft Teams the connected user is a member of (id, displayName, description). A team's id is its Microsoft 365 group id: pass it as group\_id to list\_group\_plans or create\_plan.              |
| `list_my_plans`     | List the Planner plans shared with the connected user (id, title, container, owner). Use list\_joined\_teams + list\_group\_plans to reach plans of a specific team.                                           |
| `list_my_tasks`     | List the Planner tasks assigned to the connected user, across all plans (id, planId, bucketId, title, percentComplete, priority, dueDateTime, assignments, @odata.etag).                                       |
| `list_plan_tasks`   | List every task of a plan (id, bucketId, title, percentComplete, priority, dueDateTime, assignments, @odata.etag).                                                                                             |

## Write actions (6)

| Action                | Description                                                                                                                                                                                                                                                                                 |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `complete_task`       | Mark a task completed (percentComplete = 100). Requires `etag` = the task's current @odata.etag (from get\_task or a task list). Returns the updated task.                                                                                                                                  |
| `create_bucket`       | Create a bucket (column) in a plan. It is placed first.                                                                                                                                                                                                                                     |
| `create_plan`         | Create a plan owned by a Microsoft 365 group / team. The connected user must be a member of the group (see list\_joined\_teams).                                                                                                                                                            |
| `create_task`         | Create a task in a plan, optionally in a bucket, assigned to users (Entra user ids), with a due date, priority and progress. Returns the task with its @odata.etag.                                                                                                                         |
| `update_task`         | Update a task: title, bucket (move within its plan), due/start date (null clears it), priority, progress, add or remove assignees. Requires `etag` = the task's current @odata.etag (from get\_task or a task list). Returns the updated task with its new etag.                            |
| `update_task_details` | Update a task's details: replace the description, append checklist items, tick/untick or remove existing ones (ids from get\_task\_details). Requires `etag` = the DETAILS' current @odata.etag (from get\_task\_details, not the task's). Returns the updated details with their new etag. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*
