Table of contents
What are personal Planner plans?
Planner plans usually always connect to a Microsoft 365 group. Therefore, all members of that group have access to all plans associated with that group. For now the only workaround for private Kanban board style task management was Microsoft Lists. Microsoft introduced roster plans almost 4 years ago and now finally allowed plans to be created.
A roster is simply a “lightweight” group and can contain one or many users. It even accepts sensitivity labels to protect its contents.
Create a private Planner plans
Graph Explorer
Create roster
First, we need to create a roster using the following parameters:
Method: POST
Url: https://graph.microsoft.com/beta/planner/rosters
Body:
{
"@odata.type": "#microsoft.graph.plannerRoster"
}
Create plan in roster
Method: POST
Url: https://graph.microsoft.com/beta/planner/plans
Body:
{
"container": {
"@odata.type": "microsoft.graph.plannerPlanContainer",
"containerId": "{RosterId}",
"type": "roster"
},
"title": "Roberts super secret tasks"
}
Add user to roster plan
Method: POST
Url: https://graph.microsoft.com/beta/planner/rosters/{RosterId}/members
{
"@odata.type": "#microsoft.graph.plannerRosterMember",
"userId": "{UserId}"
}
Delete creator from roster
Method: DELETE
Url: https://graph.microsoft.com/beta/planner/rosters/{RosterID}/members/{UserId}
- If successful, it will return “No Content - 204” and no response body.
Open plan, if not shown automatically
It takes a while for the plan to become visible to the users. If its not fast enough, you can use the PlanId from above to access it directly inside your browser. Teams and the mobile applications should follow shortly after.
- Open https://tasks.office.com and sign in.
- Open a random planner plan. If you don’t have one, proceed with 3.
- Change the Url as follow and insert you PlanId from above: https://tasks.office.com/{TENANTDOMAIN}/en-US/Home/Planner/#/?planId={PlanId}
The Url should now look something like this: https://tasks.office.com/{TENANTDOMAIN}/en-US/Home/Planner/#/plantaskboard?groupId=…&planId=…
This will open the plan in your browser directly.
Power Automate
If you cannot wait until the UI is finally there, you might think about creating a Forms to allow users to request private plans. From there a flow gets triggered from Forms that uses the HTTP actions and an app registration in Entra to perform all the tasks from above. If you need help creating this flow, contact me 🙂