Microsoft Planner Connector
Description
Microsoft Planner is a task and work management service for Microsoft 365 teams, organizing work into plans, buckets, and tasks. This component allows creating, reading, updating, and deleting plans, buckets, and tasks, managing task descriptions, checklists, and links, assigning work to people, and detecting newly created tasks on a schedule.
API Documentation
This component was built using the Microsoft Graph Planner API currently utilizing v1.0
Change Detection
Planner does not publish change notifications, and its plans, buckets, and tasks carry no modification timestamp. The New Tasks trigger therefore detects tasks that are added to a plan, and cannot detect tasks that are edited, completed, or deleted. Flows that need to react to those events should poll with the List Tasks in Plan action and compare against their own records.
Migrating from Microsoft Project
Microsoft retired Project Online, including Project Web App, on September 30, 2026. Its REST and OData reporting endpoints are no longer available, so integrations built on the Microsoft Project component no longer return data. Microsoft lists Planner as one destination, alongside Project desktop, Project Server Subscription Edition, and Dynamics 365 Project Operations; see Prepare for Project Online retirement.
To move an integration from the Microsoft Project component to this component:
- Confirm the destination plans are basic plans. Work moved into premium plans is not reachable through this component.
- Map Project records to Planner resources: projects to plans, phases or summary tasks to buckets, tasks to tasks, and assignments to task assignees.
- Replace Project reporting queries with the list actions, such as List Plans in Group, List Buckets in Plan, and List Tasks in Plan.
- Replace scheduled checks for new work with the New Tasks trigger, within the change detection limits described above.
- Store Project data that has no Planner equivalent, such as custom fields, baselines, dependencies, timesheets, and resource data, in another system before migrating.
Connections
OAuth 2.0 Client Credentials
key: oauthClientCredentialsTo connect to Microsoft Planner without a signed-in user, create a connection of type OAuth 2.0 Client Credentials backed by an App Registration with application permissions in Microsoft Entra.
The Client Credentials flow is used for unattended server-to-server synchronization. Because no user signs in, every request is made on behalf of the application and a User ID must be supplied to stand in for "the current user".
Listing the plans shared with a user does not accept application permissions, so the List Plans for User action works only with the OAuth 2.0 Authorization Code connection. Use List Plans in Group instead. List Tasks for User works with either connection.
Prerequisites
- Access to the Microsoft Entra admin center
- Permissions to create App Registrations and grant admin consent
- The Tenant ID for the organization
Setup Steps
- Navigate to Microsoft Entra Identity > Applications > App registrations and select New registration
- From the App menu, navigate to Certificates & Secrets and add a new Client Secret:
- Copy the Value of the client secret (this is only shown once)
- Navigate to the Overview page and copy the Application (client) ID
- Navigate to API Permissions and configure application permissions:
- Select Add Permission > Microsoft Graph > Application permissions
- Add
Tasks.Read.Allfor read-only access, orTasks.ReadWrite.Allto create and modify plans, buckets, and tasks - Add
Group.Read.Allto populate the Group ID dropdown - Add
User.Read.Allto populate the Select User dropdown used for task assignment
- Select Grant Admin Consent to authorize the application permissions
Configure the Connection
- Base URL defaults to
https://graph.microsoft.comand Microsoft Entra ID Endpoint defaults tohttps://login.microsoftonline.com. Change them only for a national cloud deployment - Enter the Tenant ID for the organization being accessed into the Tenant field. A client credentials token cannot be issued against the
commonendpoint, so a specific tenant is required - Enter the Application (client) ID value into the Client ID field
- Enter the Client Secret value into the same named field
- Enter the User ID (object ID or user principal name) of the user whose Planner data is accessed. Requests for "my plans" or "my tasks" target this user
- The default Scopes value
https://graph.microsoft.com/.defaultis pre-configured
| Input | Notes | Example |
|---|---|---|
| Base URL | The base URL for the Microsoft Graph API. Depending on your cloud environment, you can choose the correct one here. | https://graph.microsoft.com |
| Client ID | Client Id of your Azure application. | 11111111-2222-3333-4444-555555555555 |
| Client Secret | Client Secret generated under 'Certificates & Secrets' in your Azure application. | 11111111-2222-3333-4444-555555555555 |
| Microsoft Entra ID Endpoint | The Microsoft Entra ID endpoint for the Microsoft Graph API. You can find this in the Azure portal or here. | https://login.microsoftonline.com |
| Scopes | Microsoft Graph API Scopes. | https://graph.microsoft.com/.default |
| Tenant | Tenant ID or primary domain, found on the Overview page of the Microsoft Entra admin center. A client credentials token cannot be issued against the 'common' endpoint, so a specific tenant is required here. | 11111111-2222-3333-4444-555555555555 |
| Token URL | Provide a tenant specific OAuth 2.0 token endpoint. | {{#entraIdEndpoint}}/{{#tenant}}/oauth2/v2.0/token |
| User ID | Object ID or user principal name of the user whose Planner data is accessed, found in the Microsoft Entra admin center under Users. Required because a client credentials token has no signed-in user, so every /me path is rewritten to /users/{User ID}. | 48d31887-5fad-4d73-a9f5-3c356e68a038 |
OAuth 2.0 Authorization Code
key: templatedOauthTo connect to Microsoft Planner with a connection of type OAuth 2.0 Authorization Code, create an App Registration in Microsoft Entra (formerly Azure Active Directory).
This is the recommended connection. Planner operations that act on "the signed-in user" (listing the plans shared with a user, or the tasks assigned to them) require a user to authorize, and are only available through this flow.
Prerequisites
- Access to the Microsoft Entra admin center or the Azure Portal
- Permissions to create App Registrations
- A Microsoft 365 group that contains the plans to work with
- A work or school account to authorize with. Planner is unavailable to personal Microsoft accounts
Setup Steps
- Navigate to Microsoft Entra Identity > Applications > App registrations and select New registration
- Set Supported account types:
- Choose Accounts in any organizational directory (Any Azure AD directory - Multitenant) to allow users from other organizations to authenticate
- Under Platforms, add the Web platform:
- Add
https://oauth2.prismatic.io/callbackas a Redirect URI
- Add
- Navigate to Certificates & Secrets and create a new Client Secret:
- Copy the Value of the client secret (this is only shown once)
- Navigate to the Overview page and copy the Application (client) ID
Configure the Connection
-
Base URL defaults to
https://graph.microsoft.com. Change it only for a national cloud deployment -
Set the Tenant URL to
login.microsoftonline.com/organizationsrather than the defaultlogin.microsoftonline.com/common, so that a personal account cannot complete an authorization that would then fail on every action -
Enter the Application (client) ID value into the Client ID field
-
Enter the client secret Value into the Client secret value field
-
The default Scopes are pre-configured:
https://graph.microsoft.com/Tasks.ReadWrite https://graph.microsoft.com/User.Read https://graph.microsoft.com/User.ReadBasic.All offline_accesshttps://graph.microsoft.com/Tasks.ReadWrite- Read and write plans, buckets, and taskshttps://graph.microsoft.com/User.Read- Sign in, and read the groups the signed-in user belongs to, which is how the Group ID dropdown is populatedhttps://graph.microsoft.com/User.ReadBasic.All- List the organization's users, which is how the Select User dropdown is populatedoffline_access- Maintain the connection and receive refresh tokens- To list every group in the organization in the Group ID dropdown, rather than only the signed-in user's groups, add
https://graph.microsoft.com/Group.Read.All. That scope requires admin consent - Refer to the Microsoft Graph permissions reference for additional scope information
-
Additional Authorization Parameters (optional) - Query string parameters appended to the OAuth authorization URL:
- Use
prompt=consentto force the consent screen, which is useful when the requested scopes have changed - Use
login_hint=user@example.comto pre-fill the sign-in page
- Use
| Input | Notes | Example |
|---|---|---|
| Authorize URL | The OAuth 2.0 Authorization URL for Microsoft's Graph API. | login.microsoftonline.com/common |
| Base URL | The base URL for the Microsoft Graph API. Depending on your cloud environment, you can choose the correct one here. | https://graph.microsoft.com |
| Client ID | Client Id of your Azure application. | 11111111-2222-3333-4444-555555555555 |
| Client secret value | Client Secret generated under 'Certificates & Secrets' in your Azure application. | 11111111-2222-3333-4444-555555555555 |
| Additional Authorization Parameters | Query string parameters to append to the OAuth authorization URL. Common parameters include | prompt=consent |
| Scopes | Space-separated Microsoft Graph scopes. Tasks.ReadWrite covers all Planner reads and writes and offline_access is required to receive a refresh token. Add Group.Read.All to list every group in the tenant rather than only the groups the signed-in user belongs to. | https://graph.microsoft.com/Tasks.ReadWrite https://graph.microsoft.com/User.Read https://graph.microsoft.com/User.ReadBasic.All offline_access |
| Tenant URL | The tenant URL for the Microsoft Graph API. This is the URL of the tenant that you are connecting to. You can find this in the Azure portal or here. | login.microsoftonline.com/common |
| Token URL | The OAuth 2.0 Token URL for Microsoft's Graph API. | login.microsoftonline.com/common |
Triggers
New Tasks
Retrieves existing and newly created tasks for a specified Microsoft Planner plan. Load history once, check for new tasks on a schedule, or both. | key: pollChangesTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each task created on or after this date once. | 2026-01-01 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
The New Tasks trigger checks a single plan for tasks that were created since the previous run.
How It Works
Each recurrence fetches the plan's tasks and emits those whose creation timestamp is later than the trigger's stored position. That position is the newest createdDateTime among the tasks it has delivered, taken from Planner's own clock rather than the worker's, and it stays unchanged after a recurrence that finds no new tasks. On a first recurrence with no Look-back Date, existing tasks are not delivered and the position starts at the newest createdDateTime among them, so it is on Planner's clock from the start; only an empty plan starts from the current time.
The trigger stores only that single timestamp between recurrences, so its state stays the same size no matter how many tasks the plan holds.
The trigger watches one plan. Use a separate flow for each additional plan.
| Change | Detected |
|---|---|
| A task is created | Yes |
| A task is edited, reassigned, or completed | No |
| A task is deleted | No |
Microsoft Planner records a creation timestamp on a task but no modification timestamp, and its API accepts no server-side filter or sort. Detecting edits would mean keeping a copy of every task's state between runs, which is not what trigger state is for.
Because Planner accepts no query parameters, each recurrence fetches the plan's full task list and filters it in memory. The page walk is capped at 100 pages. A plan whose task list exceeds that cap fails the recurrence with an error naming the plan and the limit: no tasks are emitted and the position does not move.
Initial Sync
An initial sync seeds a complete starting state. Inputs that narrow a change feed would leave gaps in it, but this trigger has none, so an initial sync ignores no inputs. It begins on the first recurrence, when the trigger has no stored position and a Look-back Date (YYYY-MM-DD, UTC) is set, and delivers every existing task created on or after midnight UTC of that date exactly once. A wrong format, an impossible date, or a future date is rejected. Left empty, there is no sync.
The window has no fixed upper bound, so a task created while the sync is being read is swept into it. The position then advances to the newest task delivered, never to the wall clock, and the next recurrence resumes from exactly there; nothing in the payload marks the handoff. The sync is delivered in one recurrence whether batching is on or off.
Connection, Group ID, and Plan ID still apply throughout. The trigger has no page-size or field-selection input.
Batching
Batching is enabled per flow on this trigger: each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Microsoft Planner.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
With batching off, a downstream step reads body.data.created. With batching on, that field does not exist: each execution receives one { "changeType": "created", "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, the change is scoped to that flow rather than to the component or to other flows using the same trigger.
Unbatched payload
{ "data": { "created": [ ... ] } }
Batched item
{ "changeType": "created", "record": { ... } }
Returned Data
Example Payload
{
"data": {
"created": [
{
"@odata.etag": "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"",
"id": "01gzSlKkIUSUl6DF_EilrmQAKDhh",
"planId": "xqQg5FS2LkCp935s-FIFm2QAFkHM",
"bucketId": "hsOf2dhOJkqyYYZEtdzDe2QAIUCR",
"title": "Update the client list",
"percentComplete": 50,
"priority": 5,
"createdDateTime": "2024-01-09T09:12:03.1533333Z",
"completedDateTime": null,
"hasDescription": true
}
]
}
}
Fields shown are representative. The full response object includes additional properties.
A run that finds nothing reports no changes, so the flow does not execute.
Example Payload for New Tasks⤓
Data Sources
Select Bucket
Select a bucket from a plan. | key: selectBucket | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for Select Bucket⤓
Select Group
Select a Microsoft 365 group that can contain plans. | key: selectGroup | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. |
Example Payload for Select Group⤓
Select Plan
Select a plan from a group, or from the plans shared with the user. | key: selectPlan | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
Example Payload for Select Plan⤓
Select Task
Select a task from a plan. | key: selectTask | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for Select Task⤓
Select User
Select a user to assign work to. | key: selectUser | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. |
Example Payload for Select User⤓
Actions
Assign Task
Add or remove the users assigned to a task. | key: assignTask
| Input | Notes | Example |
|---|---|---|
| Assignment | Users to assign or unassign. At least one of Assign To or Unassign is required. | |
| Connection | The Microsoft Planner connection to use. | |
| ETag | The last known ETag of the resource being changed. Leave blank to let the action read the current ETag before writing. Supply a value to make the change conditional on that exact version, which fails with a conflict if the resource changed. | W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Task ID | The unique identifier of the task. | 01gzSlKkIUSUl6DF_EilrmQAKDhh |
Example Payload for Assign Task⤓
Complete Task
Mark a task as complete. | key: completeTask
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| ETag | The last known ETag of the resource being changed. Leave blank to let the action read the current ETag before writing. Supply a value to make the change conditional on that exact version, which fails with a conflict if the resource changed. | W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Task ID | The unique identifier of the task. | 01gzSlKkIUSUl6DF_EilrmQAKDhh |
Example Payload for Complete Task⤓
Create Bucket
Create a bucket in a plan. | key: createBucket
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Name | The name of the bucket, shown as a column heading on the plan's board. | In Review |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for Create Bucket⤓
Create Plan
Create a plan inside a Microsoft 365 group. The caller must already be a member of that group; creating a group does not add its creator as a member, which is a common cause of a permissions error here. | key: createPlan
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group that holds the plan. Only Microsoft 365 groups can contain Planner plans. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Title | The title of the plan, shown wherever the plan is listed. | Q3 Marketing Launch |
Example Payload for Create Plan⤓
Create Task
Create a task in a plan. Supplying a description performs a second write, because a task's description is stored on its details resource and cannot be set when the task is created. | key: createTask
| Input | Notes | Example |
|---|---|---|
| Assignment | Users to assign or unassign. | |
| Bucket ID | The unique identifier of the bucket to create the task in. Leave blank to create the task without assigning it to a bucket. | hsOf2dhOJkqyYYZEtdzDe2QAIUCR |
| Categories | Colored categories to apply or remove. | |
| Connection | The Microsoft Planner connection to use. | |
| Description | The description of the task. Descriptions live on the task's details resource rather than the task itself, so setting one is a separate write. | Confirm every contact before the launch. |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Percent Complete | How complete the task is, from 0 to 100. Planner has no separate completed flag: setting this to 100 completes the task, and the service fills in who completed it and when. | 50 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Priority | The priority of the task. Planner stores priority as a number from 0 to 10 and displays it in four bands, so these four values are the ones the Planner interface itself uses. | 5 |
| Schedule | Start and due timestamps. | |
| Title | The title of the task, shown on its card in the Planner board. | Update the client list |
Example Payload for Create Task⤓
Delete Bucket
Delete a bucket and the tasks it contains. | key: deleteBucket
| Input | Notes | Example |
|---|---|---|
| Bucket ID | The unique identifier of the bucket. | hsOf2dhOJkqyYYZEtdzDe2QAIUCR |
| Connection | The Microsoft Planner connection to use. | |
| ETag | The last known ETag of the resource being changed. Leave blank to let the action read the current ETag before writing. Supply a value to make the change conditional on that exact version, which fails with a conflict if the resource changed. | W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for Delete Bucket⤓
Delete Plan
Delete a plan and everything it contains. | key: deletePlan
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| ETag | The last known ETag of the resource being changed. Leave blank to let the action read the current ETag before writing. Supply a value to make the change conditional on that exact version, which fails with a conflict if the resource changed. | W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for Delete Plan⤓
Delete Task
Delete a task. | key: deleteTask
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| ETag | The last known ETag of the resource being changed. Leave blank to let the action read the current ETag before writing. Supply a value to make the change conditional on that exact version, which fails with a conflict if the resource changed. | W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Task ID | The unique identifier of the task. | 01gzSlKkIUSUl6DF_EilrmQAKDhh |
Example Payload for Delete Task⤓
Get Bucket
Retrieve a single bucket by its ID. | key: getBucket
| Input | Notes | Example |
|---|---|---|
| Bucket ID | The unique identifier of the bucket. | hsOf2dhOJkqyYYZEtdzDe2QAIUCR |
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for Get Bucket⤓
Get Plan
Retrieve a single plan by its ID. | key: getPlan
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for Get Plan⤓
Get Plan Details
Retrieve a plan's category labels and shared-with list. | key: getPlanDetails
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for Get Plan Details⤓
Get Task
Retrieve a single task by its ID. | key: getTask
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Task ID | The unique identifier of the task. | 01gzSlKkIUSUl6DF_EilrmQAKDhh |
Example Payload for Get Task⤓
Get Task Details
Retrieve a task's description, checklist, and links. | key: getTaskDetails
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Task ID | The unique identifier of the task. | 01gzSlKkIUSUl6DF_EilrmQAKDhh |
Example Payload for Get Task Details⤓
List Buckets in Plan
List every bucket in a plan. | key: listBucketsInPlan
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for List Buckets in Plan⤓
List Plans for User
List the plans shared with the user. | key: listPlansForUser
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. |
Example Payload for List Plans for User⤓
List Plans in Group
List every plan contained by a Microsoft 365 group. | key: listPlansInGroup
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group that holds the plan. Only Microsoft 365 groups can contain Planner plans. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
Example Payload for List Plans in Group⤓
List Tasks for User
List every task assigned to the user, across every plan. | key: listTasksForUser
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. |
Example Payload for List Tasks for User⤓
List Tasks in Bucket
List every task in a single bucket. | key: listTasksInBucket
| Input | Notes | Example |
|---|---|---|
| Bucket ID | The unique identifier of the bucket. | hsOf2dhOJkqyYYZEtdzDe2QAIUCR |
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for List Tasks in Bucket⤓
List Tasks in Plan
List every task in a plan, across all of its buckets. | key: listTasksInPlan
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for List Tasks in Plan⤓
Move Task to Bucket
Move a task into a different bucket. The destination bucket must belong to the same plan as the task. | key: moveTaskToBucket
| Input | Notes | Example |
|---|---|---|
| Bucket ID | The unique identifier of the bucket. | hsOf2dhOJkqyYYZEtdzDe2QAIUCR |
| Connection | The Microsoft Planner connection to use. | |
| ETag | The last known ETag of the resource being changed. Leave blank to let the action read the current ETag before writing. Supply a value to make the change conditional on that exact version, which fails with a conflict if the resource changed. | W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Task ID | The unique identifier of the task. | 01gzSlKkIUSUl6DF_EilrmQAKDhh |
Example Payload for Move Task to Bucket⤓
Raw Request
Send a raw HTTP request to the Microsoft Graph API. | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | The path of the Microsoft Graph endpoint to call (e.g., | /planner/plans |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Example Payload for Raw Request⤓
Update Bucket
Rename a bucket. A bucket cannot be moved to a different plan. | key: updateBucket
| Input | Notes | Example |
|---|---|---|
| Bucket ID | The unique identifier of the bucket. | hsOf2dhOJkqyYYZEtdzDe2QAIUCR |
| Connection | The Microsoft Planner connection to use. | |
| ETag | The last known ETag of the resource being changed. Leave blank to let the action read the current ETag before writing. Supply a value to make the change conditional on that exact version, which fails with a conflict if the resource changed. | W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Name | The name of the bucket, shown as a column heading on the plan's board. | In Review |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
Example Payload for Update Bucket⤓
Update Plan
Rename a plan. The title is the only property a plan allows changing. | key: updatePlan
| Input | Notes | Example |
|---|---|---|
| Connection | The Microsoft Planner connection to use. | |
| ETag | The last known ETag of the resource being changed. Leave blank to let the action read the current ETag before writing. Supply a value to make the change conditional on that exact version, which fails with a conflict if the resource changed. | W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Title | The title of the plan, shown wherever the plan is listed. | Q3 Marketing Launch |
Example Payload for Update Plan⤓
Update Plan Details
Set a plan's category labels and adjust who it is shared with. | key: updatePlanDetails
| Input | Notes | Example |
|---|---|---|
| Category Labels | Labels for the plan's colored categories, keyed by category1 through category25. Only the categories listed here change; leave a category out to keep its current label. | {"category1": "Blocked"} |
| Connection | The Microsoft Planner connection to use. | |
| Plan Details ETag | The last known ETag of the plan details. Plan details carry their own ETag, separate from the plan's, so a plan ETag cannot be used here. Leave blank to read the current value before writing. | W/"JzEtUGxhbkRldGFpbHMgQEBAQEBAQEBAQEBAQEBARCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Sharing | Users to add to or remove from the shared-with list. |
Example Payload for Update Plan Details⤓
Update Task
Update a task's properties. Only the fields supplied are changed; everything else keeps its current value. | key: updateTask
| Input | Notes | Example |
|---|---|---|
| Assignment | Users to assign or unassign. | |
| Bucket ID | The unique identifier of the bucket. Leave blank to leave the task in its current bucket. | hsOf2dhOJkqyYYZEtdzDe2QAIUCR |
| Categories | Colored categories to apply or remove. | |
| Connection | The Microsoft Planner connection to use. | |
| Conversation Thread ID | The identifier of the group conversation thread associated with the task. | AAQkADMxYWM1NzYzLWEwZTYtNDI0NC1hMTIzLTk4NzY1NDMyMTBhYg== |
| ETag | The last known ETag of the resource being changed. Leave blank to let the action read the current ETag before writing. Supply a value to make the change conditional on that exact version, which fails with a conflict if the resource changed. | W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Percent Complete | How complete the task is, from 0 to 100. Planner has no separate completed flag: setting this to 100 completes the task, and the service fills in who completed it and when. | 50 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Priority | The priority of the task. Planner stores priority as a number from 0 to 10 and displays it in four bands, so these four values are the ones the Planner interface itself uses. | 5 |
| Schedule | Start and due timestamps. | |
| Task ID | The unique identifier of the task. | 01gzSlKkIUSUl6DF_EilrmQAKDhh |
| Title | A new title for the task. Leave blank to keep the current title. | Update the client list |
Example Payload for Update Task⤓
Update Task Details
Set a task's description, checklist items, and external links. | key: updateTaskDetails
| Input | Notes | Example |
|---|---|---|
| Checklist | Checklist items to add or remove. | |
| Connection | The Microsoft Planner connection to use. | |
| Description | The description of the task. Descriptions live on the task's details resource rather than the task itself, so setting one is a separate write. | Confirm every contact before the launch. |
| Task Details ETag | The last known ETag of the task details. Task details carry their own ETag, separate from the task's, so a task ETag cannot be used here. Leave blank to read the current value before writing. | W/"JzEtVGFza0RldGFpbHMgQEBAQEBAQEBAQEBAQEBARCc=" |
| Group ID | The Microsoft 365 group whose plans populate the Plan ID dropdown. Only Microsoft 365 groups can hold Planner plans. Leave blank to list the plans shared with the connection's user instead. | ebf3b108-5234-4e22-b93d-656d7dae5874 |
| Plan ID | The unique identifier of the plan. | xqQg5FS2LkCp935s-FIFm2QAFkHM |
| Preview Type | Which part of the task details is shown on the task's card in the Planner board. | description |
| Links | External links to attach or remove. | |
| Task ID | The unique identifier of the task. | 01gzSlKkIUSUl6DF_EilrmQAKDhh |
Example Payload for Update Task Details⤓
Changelog
2026-10-29
Initial release of the Microsoft Planner component for managing plans, buckets, tasks, and task details through the Microsoft Graph Planner API:
- Added 26 actions across plans, buckets, and tasks, including Raw Request for arbitrary API calls
- Added OAuth 2.0 Authorization Code and OAuth 2.0 Client Credentials connections
- Added inline data sources for selecting groups, plans, buckets, tasks, and users
- Added the New Tasks polling trigger that checks a plan for newly created tasks, with opt-in batching that dispatches each task individually or in configured batches; enabling it changes the shape a downstream step receives. Planner records no modification timestamp, so edited, completed, and deleted tasks are not detected
- Added an optional Look-back Date input on the New Tasks trigger for performing an initial sync of tasks. The initial sync begins on the first recurrence, backfills every task created on or after the specified date, and seeds each once. Leave it empty to start from the first recurrence with no backfill
- Added output schemas to 25 actions for improved field mapping during configuration
- Added inline action calling support to 25 actions for improved example output during configuration