---
canonical_url: "https://docs.composio.dev/toolkits/microsoft_planner"
markdown_url: "https://docs.composio.dev/toolkits/microsoft_planner.md"
product: "platform"
version: null
last_updated: null
---

# Microsoft Planner

Microsoft Planner is a collaborative work management application for creating and organizing plans, buckets, tasks, assignments, checklists, and rosters through Microsoft Graph

- **Category:** project management
- **Auth:** OAUTH2
- **Composio-managed OAuth available?** No
- **Tools:** 46
- **Triggers:** 0
- **Slug:** `MICROSOFT_PLANNER`
- **Version:** 00000000_00

## Tools

### Beta: Add Roster Member

**Slug:** `MICROSOFT_PLANNER_BETA_ADD_ROSTER_MEMBER`

Beta, non-production API: add a same-tenant user with full control to a Planner roster. Microsoft Graph beta can change without notice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roles` | array | No | Role list; no additional roles are currently available, so normally leave empty. |
| `user_id` | string | Yes | Same-tenant Microsoft Entra user ID to add. |
| `roster_id` | string | Yes | Roster that will receive the member. |
| `tenant_id` | string | No | Member tenant ID; cross-tenant members are currently unsupported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Beta: Assign Roster Sensitivity Label

**Slug:** `MICROSOFT_PLANNER_BETA_ASSIGN_ROSTER_SENSITIVITY_LABEL`

Beta, non-production API: assign or change a roster sensitivity label using the latest roster ETag. Tenant label policy can reject the request, and Microsoft Graph beta can change without notice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest roster ETag from Beta: Get Roster; sent unchanged in If-Match. |
| `roster_id` | string | Yes | Roster whose sensitivity label to assign or change. |
| `assignment_method` | string ("standard" | "privileged" | "auto" | "unknownFutureValue") | Yes | Method used to assign the sensitivity label. |
| `sensitivity_label_id` | string | Yes | Tenant sensitivity-label ID; tenant policy can reject sublabels. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Beta: Create Roster

**Slug:** `MICROSOFT_PLANNER_BETA_CREATE_ROSTER`

Beta, non-production API: create an empty Planner roster. Microsoft Graph beta can change without notice, and an empty roster is automatically deleted after 24 hours if no plan is added.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Beta: Create Roster Plan

**Slug:** `MICROSOFT_PLANNER_BETA_CREATE_ROSTER_PLAN`

Beta, non-production API: create the single plan contained by a Planner roster. Roster containers and this route behavior can change without notice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title for the roster plan. |
| `roster_id` | string | Yes | Roster that will contain the plan; a roster can contain only one plan. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Beta: Delete Roster

**Slug:** `MICROSOFT_PLANNER_BETA_DELETE_ROSTER`

Beta, non-production API: permanently delete a Planner roster and cascade-delete its contained plan and tasks. Microsoft Graph beta can change without notice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roster_id` | string | Yes | Roster to permanently delete. No If-Match header is documented or required for this beta operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Beta: Get Roster

**Slug:** `MICROSOFT_PLANNER_BETA_GET_ROSTER`

Beta, non-production API: get a Planner roster and its current ETag. Microsoft Graph beta can change without notice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expand` | string | No | Documented beta OData $expand expression. |
| `roster_id` | string | Yes | Planner roster ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Beta: Get Roster Member

**Slug:** `MICROSOFT_PLANNER_BETA_GET_ROSTER_MEMBER`

Beta, non-production API: get one Planner roster member. This action intentionally omits $select because it caused a live Microsoft Graph beta provider failure while the unfiltered read succeeded.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `member_id` | string | Yes | Roster member ID. |
| `roster_id` | string | Yes | Roster containing the member. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Beta: List Roster Members

**Slug:** `MICROSOFT_PLANNER_BETA_LIST_ROSTER_MEMBERS`

Beta, non-production API: list one page of members with full control of a Planner roster. Microsoft Graph beta can change without notice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roster_id` | string | Yes | Roster whose members to list. |
| `next_cursor` | string | No | Opaque continuation from a previous response. Omit for the first page. |
| `select_fields` | string | No | Roster-member fields to return through $select. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Beta: List Roster Plans

**Slug:** `MICROSOFT_PLANNER_BETA_LIST_ROSTER_PLANS`

Beta, non-production API: list one page containing the plan in a Planner roster. A roster can contain at most one plan, and Microsoft Graph beta can change without notice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `roster_id` | string | Yes | Roster whose plan to list. |
| `next_cursor` | string | No | Opaque continuation from a previous response. Omit for the first page. |
| `select_fields` | string | No | Plan fields to return through $select, supplied as a list of field names. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Beta: List User Roster Plans

**Slug:** `MICROSOFT_PLANNER_BETA_LIST_USER_ROSTER_PLANS`

Beta, non-production API: list one page of plans in rosters of which a specified user is a member. Only the explicit-user route is documented, and Microsoft Graph beta can change without notice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Microsoft Entra user ID or user principal name; no /me alias is documented. |
| `next_cursor` | string | No | Opaque continuation from a previous response. Omit for the first page. |
| `select_fields` | string | No | Plan fields to return through $select, supplied as a list of field names. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Beta: Remove Roster Member

**Slug:** `MICROSOFT_PLANNER_BETA_REMOVE_ROSTER_MEMBER`

Beta, non-production API: remove a roster member. Removing the last member can delete the roster, its plan, and its tasks. Microsoft Graph beta can change without notice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `member_id` | string | Yes | Member to remove. No If-Match header is documented for this operation. |
| `roster_id` | string | Yes | Roster containing the member. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Bucket

**Slug:** `MICROSOFT_PLANNER_CREATE_BUCKET`

Create an ordered bucket in a Microsoft Planner plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Bucket name. |
| `plan_id` | string | Yes | Plan that will contain the bucket. |
| `order_hint` | string | No | Planner relative order hint; do not copy a returned order hint verbatim. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Plan

**Slug:** `MICROSOFT_PLANNER_CREATE_PLAN`

Create a basic Planner plan in a Microsoft 365 group the connected user belongs to.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Title for the new basic plan. |
| `group_id` | string | Yes | Microsoft 365 group ID that will own the plan; the connected user must be a member. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task

**Slug:** `MICROSOFT_PLANNER_CREATE_TASK`

Create a Planner task with optional bucket placement, assignments, categories, dates, progress, and priority.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Task title. |
| `plan_id` | string | Yes | Existing plan that will contain the task. |
| `priority` | integer | No | Priority from 0 (highest) through 10 (lowest). |
| `bucket_id` | string | No | Bucket in the same plan to place the task in. |
| `order_hint` | string | No | Planner task order hint. |
| `assignments` | object | No | Map assignee user IDs to assignment settings. |
| `due_date_time` | string | No | Due date and time in ISO 8601 format. |
| `start_date_time` | string | No | Start date and time in ISO 8601 format. |
| `percent_complete` | integer | No | Completion percentage from 0 through 100. |
| `assignee_priority` | string | No | Planner assignment order hint. |
| `applied_categories` | object | No | Planner v1.0 category1 through category6 flags; true applies a category and false removes it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Bucket

**Slug:** `MICROSOFT_PLANNER_DELETE_BUCKET`

Delete a Microsoft Planner bucket using its latest ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest bucket @odata.etag, sent unchanged in If-Match. |
| `bucket_id` | string | Yes | Case-sensitive Planner bucket ID to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Plan

**Slug:** `MICROSOFT_PLANNER_DELETE_PLAN`

Permanently delete a Planner plan using its latest ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest plan @odata.etag, sent unchanged in the required If-Match header. |
| `plan_id` | string | Yes | Case-sensitive Planner plan ID to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Task

**Slug:** `MICROSOFT_PLANNER_DELETE_TASK`

Delete a Planner task using its latest core-resource ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest core task @odata.etag; sent unchanged in If-Match. |
| `task_id` | string | Yes | Case-sensitive Planner task ID to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Assigned To Board Format

**Slug:** `MICROSOFT_PLANNER_GET_ASSIGNED_TO_BOARD_FORMAT`

Get a task's per-assignee and unassigned ordering hints for the Assigned To board, plus its format-specific ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Task whose Assigned To board format to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Bucket

**Slug:** `MICROSOFT_PLANNER_GET_BUCKET`

Get one Microsoft Planner bucket and its current resource ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bucket_id` | string | Yes | Case-sensitive Planner bucket ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Bucket Board Format

**Slug:** `MICROSOFT_PLANNER_GET_BUCKET_BOARD_FORMAT`

Get a task's ordering hint for the bucket board and the format-specific ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Task whose bucket-board format to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Plan

**Slug:** `MICROSOFT_PLANNER_GET_PLAN`

Get one basic Planner plan and its current resource ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan_id` | string | Yes | Case-sensitive Planner plan ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Plan Details

**Slug:** `MICROSOFT_PLANNER_GET_PLAN_DETAILS`

Get a plan's 25 category labels, shared-user dictionary, and details-specific ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan_id` | string | Yes | Plan whose details to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Planner Entry Point

**Slug:** `MICROSOFT_PLANNER_GET_PLANNER_ENTRY_POINT`

Return the Microsoft Graph Planner entry-point metadata; this documented singleton has no Planner data properties.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Progress Board Format

**Slug:** `MICROSOFT_PLANNER_GET_PROGRESS_BOARD_FORMAT`

Get a task's ordering hint for the progress board and the format-specific ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Task whose progress-board format to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Task

**Slug:** `MICROSOFT_PLANNER_GET_TASK`

Get a Planner task's complete core resource, including assignments, applied categories, progress, counts, identities, and its current core-resource ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Case-sensitive Planner task ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Task Details

**Slug:** `MICROSOFT_PLANNER_GET_TASK_DETAILS`

Get a task's separately versioned description, checklist, external references, preview mode, and task-details ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Task whose details to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Buckets by Plan

**Slug:** `MICROSOFT_PLANNER_LIST_BUCKETS_BY_PLAN`

List one page of buckets through the root Planner collection using the live-verified planId filter grammar. Follow next_cursor even when items is empty.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of buckets to skip on the initial request. |
| `search` | string | No | Microsoft Graph search expression; Planner-specific behavior is not documented. |
| `plan_id` | string | Yes | Plan ID; sent using the live-verified planId OData filter grammar. |
| `order_by` | array | No | OData ordering expressions; Planner sortable fields are not documented. |
| `page_size` | integer | No | Requested page size sent as $top; Microsoft publishes no Planner-specific maximum. |
| `next_cursor` | string | No | Microsoft Graph @odata.nextLink returned by a previous call. Pass the entire URL back unchanged; an empty page can still have a continuation. |
| `expand_fields` | array | No | Bucket relationships to expand through $expand. |
| `include_count` | boolean | No | Request @odata.count in the collection response. |
| `select_fields` | array | No | Bucket fields to return through $select. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Bucket Tasks

**Slug:** `MICROSOFT_PLANNER_LIST_BUCKET_TASKS`

List one page of tasks currently associated with a Microsoft Planner bucket.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bucket_id` | string | Yes | Bucket whose tasks to list. |
| `page_size` | integer | No | Requested page size sent as $top. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call; pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Creator Plans

**Slug:** `MICROSOFT_PLANNER_LIST_DRIVE_CREATOR_PLANS`

Call the documented drive-root creator traversal to list one page of that user's shared Planner plans. This exact route returned Microsoft Graph HTTP 500 during live probing, so prefer List My Plans when applicable.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Requested number of plans to return on this page. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call. Pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Group Plans

**Slug:** `MICROSOFT_PLANNER_LIST_GROUP_PLANS`

List one page of basic Planner plans owned by a Microsoft 365 group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | Microsoft 365 group ID. |
| `page_size` | integer | No | Requested number of plans to return on this page. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call. Pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List My Assigned Tasks

**Slug:** `MICROSOFT_PLANNER_LIST_MY_ASSIGNED_TASKS`

List one page of Planner tasks assigned to the connected work or school user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Requested number of tasks to return on this page. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call. Pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List My Plans

**Slug:** `MICROSOFT_PLANNER_LIST_MY_PLANS`

List one page of Planner plans shared with the connected work or school user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Requested number of plans to return on this page. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call. Pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Plan Buckets

**Slug:** `MICROSOFT_PLANNER_LIST_PLAN_BUCKETS`

List one page of buckets in a Planner plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan_id` | string | Yes | Plan whose buckets to list. |
| `page_size` | integer | No | Requested page size sent as $top. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call; pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Plans by Owner

**Slug:** `MICROSOFT_PLANNER_LIST_PLANS_BY_OWNER`

List one page of basic Planner plans owned by one Microsoft 365 group using the live-verified owner filter grammar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of records to skip on the initial request. |
| `search` | string | No | Microsoft Graph search expression; Planner-specific behavior is not documented. |
| `order_by` | array | No | OData ordering expressions; Planner sortable fields are not documented. |
| `page_size` | integer | No | Requested page size; Microsoft publishes no Planner-specific maximum. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call; pass it back unchanged. |
| `expand_fields` | array | No | Plan relationships to expand through $expand. |
| `include_count` | boolean | No | Request @odata.count in the collection response. |
| `select_fields` | array | No | Plan fields to return through $select. |
| `owner_group_id` | string | Yes | Microsoft 365 group ID. The tool constructs the live-verified $filter expression; do not provide raw OData syntax. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Plan Tasks

**Slug:** `MICROSOFT_PLANNER_LIST_PLAN_TASKS`

List one page of tasks in a Planner plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan_id` | string | Yes | Plan whose tasks to list. |
| `page_size` | integer | No | Requested page size sent as $top. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call; pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tasks by Plan

**Slug:** `MICROSOFT_PLANNER_LIST_TASKS_BY_PLAN`

List one page of Planner tasks through the root collection using the live-verified planId filter grammar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of records to skip on the initial request. |
| `search` | string | No | Microsoft Graph search expression; Planner-specific behavior is not documented. |
| `plan_id` | string | Yes | Plan ID used to construct the required planId OData filter. |
| `order_by` | array | No | OData ordering expressions; Planner sortable fields are not documented. |
| `page_size` | integer | No | Requested page size. Microsoft publishes no Planner-specific maximum. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call; pass it back unchanged. |
| `expand_fields` | array | No | Task relationships to expand through $expand. |
| `include_count` | boolean | No | Request @odata.count in the collection response. |
| `select_fields` | array | No | Task fields to return through $select. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List User Assigned Tasks

**Slug:** `MICROSOFT_PLANNER_LIST_USER_ASSIGNED_TASKS`

List one page of Planner tasks assigned to a specified work or school user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Microsoft Entra user ID or user principal name. |
| `page_size` | integer | No | Requested number of tasks to return on this page. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call. Pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List User Plans

**Slug:** `MICROSOFT_PLANNER_LIST_USER_PLANS`

List one page of Planner plans shared with a specified work or school user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Microsoft Entra user ID or user principal name. |
| `page_size` | integer | No | Requested number of plans to return on this page. |
| `next_cursor` | string | No | Opaque continuation returned by a previous call. Pass it back unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Assigned To Board Format

**Slug:** `MICROSOFT_PLANNER_UPDATE_ASSIGNED_TO_BOARD_FORMAT`

Update a task's ordering hints on the Assigned To board using that format resource's latest ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest Assigned To board-format ETag used for optimistic concurrency. |
| `task_id` | string | Yes | Task whose Assigned To board format to update. |
| `return_representation` | boolean | No | Request the updated board format and its new ETag in the response. |
| `unassigned_order_hint` | string | No | New order hint for the task in the unassigned column. |
| `order_hints_by_assignee` | object | No | Open map from assigned Microsoft Entra user IDs to Planner order hints. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Bucket

**Slug:** `MICROSOFT_PLANNER_UPDATE_BUCKET`

Change a bucket's name or board order using its latest ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest bucket @odata.etag, sent unchanged in If-Match. |
| `name` | string | No | New bucket name. |
| `bucket_id` | string | Yes | Case-sensitive Planner bucket ID to update. |
| `order_hint` | string | No | New Planner relative order hint. |
| `return_representation` | boolean | No | Return the updated bucket and its new ETag instead of an empty confirmation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Bucket Board Format

**Slug:** `MICROSOFT_PLANNER_UPDATE_BUCKET_BOARD_FORMAT`

Update a task's ordering hint on the bucket board using that format resource's latest ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest bucket-board format ETag used for optimistic concurrency. |
| `task_id` | string | Yes | Task whose bucket-board format to update. |
| `order_hint` | string | Yes | New Planner order hint for the bucket board. |
| `return_representation` | boolean | No | Request the updated board format and its new ETag in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Plan

**Slug:** `MICROSOFT_PLANNER_UPDATE_PLAN`

Change a plan title using its latest ETag and return the updated representation by default.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest plan @odata.etag, sent unchanged in the required If-Match header. |
| `title` | string | Yes | New plan title. |
| `plan_id` | string | Yes | Case-sensitive Planner plan ID. |
| `return_representation` | boolean | No | Return the updated plan and its new ETag instead of an empty 204 response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Plan Details

**Slug:** `MICROSOFT_PLANNER_UPDATE_PLAN_DETAILS`

Update any of a plan's 25 category labels or shared users using the plan-details ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest ETag from Get Plan Details, not the plan's core ETag; sent unchanged in If-Match. |
| `plan_id` | string | Yes | Plan whose details to update. |
| `shared_with` | object | No | Open map of user IDs to true to share or false to remove sharing; group membership is preferred for group plans. |
| `category_descriptions` | object | No | Category labels to set or clear. All category1 through category25 keys are supported; omit unchanged keys and use null to clear a label. |
| `return_representation` | boolean | No | Return updated details and the new ETag instead of an empty 204 response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Progress Board Format

**Slug:** `MICROSOFT_PLANNER_UPDATE_PROGRESS_BOARD_FORMAT`

Update a task's ordering hint on the progress board using that format resource's latest ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest progress-board format ETag used for optimistic concurrency. |
| `task_id` | string | Yes | Task whose progress-board format to update. |
| `order_hint` | string | Yes | New Planner order hint for the progress board. |
| `return_representation` | boolean | No | Request the updated board format and its new ETag in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task

**Slug:** `MICROSOFT_PLANNER_UPDATE_TASK`

Update any documented writable core task fields, including assignments, categories, dates, progress, priority, or bucket, using the latest task ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest core task @odata.etag, not the task-details ETag; sent unchanged in If-Match. |
| `title` | string | No | New task title. |
| `task_id` | string | Yes | Case-sensitive Planner task ID to update. |
| `priority` | integer | No | Priority from 0 (highest) through 10 (lowest). |
| `bucket_id` | string | No | New bucket in the same plan. |
| `order_hint` | string | No | New Planner task order hint. |
| `assignments` | object | No | Map user IDs to assignment settings, or null values to unassign those users. |
| `due_date_time` | string | No | New due date and time, or null to clear it. |
| `start_date_time` | string | No | New start date and time, or null to clear it. |
| `percent_complete` | integer | No | Completion percentage from 0 through 100; 100 completes the task. |
| `assignee_priority` | string | No | Planner assignee order hint. |
| `applied_categories` | object | No | Planner v1.0 category1 through category6 flags; true applies a category and false removes it. |
| `return_representation` | boolean | No | Return the updated task and its new ETag instead of an empty 204 response. |
| `conversation_thread_id` | string | No | Conversation thread associated with the task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task Details

**Slug:** `MICROSOFT_PLANNER_UPDATE_TASK_DETAILS`

Update a task's description, preview mode, checklist items, or external references using the separately versioned task-details ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `etag` | string | Yes | Latest ETag from GET_TASK_DETAILS, not the core task ETag; sent unchanged in If-Match. |
| `task_id` | string | Yes | Task whose details to update. |
| `checklist` | object | No | Map checklist item IDs to values, or set an item's value to null to remove it. |
| `references` | object | No | Map percent-encoded reference URLs to values, or set a URL's value to null to remove it. |
| `description` | string | No | Task description, or null to clear it. |
| `preview_type` | string ("automatic" | "noPreview" | "checklist" | "description" | "reference") | No | Content source used for the task preview. |
| `return_representation` | boolean | No | Return updated details and their new ETag instead of an empty 204 response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
