Planner Premium’s built-in local custom fields are stored in binary form inside the Project scheduling data and are not exposed as columns or a supported relational table for Power BI; for live reporting, create separate reportable Dataverse fields and move future data entry to those fields. ^1^
What is happening
- Premium plans and tasks are stored in Dataverse and managed through the former Project for the web service. ^2^
- Standard task data is available through tables such as
msdyn_projecttask.
- Fields created through Planner’s Add new field experience are local custom fields. Their definitions and values are held in binary scheduling data, not ordinary Dataverse columns, and Microsoft states that they are unavailable for reporting. ^1^
- Therefore, there is no additional supported Dataverse table that can simply be joined to
msdyn_projecttask to retrieve those local values.
First verify each listed field. For example, if Description is actually Planner’s standard notes field rather than a field created with Add new field, it may already be available as task notes. The documented project export model includes notes and unformattednotes as standard task properties, while custom-field values are represented separately by field GUID. ^3^
API support matrix
| Method |
Native Planner-local custom fields |
| Power BI Dataverse connector |
Not exposed as reportable columns |
| Dataverse Web API/TDS |
Cannot turn the binary local fields into a supported relational dataset |
| Microsoft Graph v1.0 Planner API |
Not supported for this Premium custom-field scenario |
Microsoft Graph beta plans_v2 |
Custom-field resources are documented, but beta is unsupported for production |
| Project Schedule APIs |
Support explicit Dataverse custom fields on scheduling entities; they do not provide a reporting projection of Planner-local binary fields |
The Graph beta endpoint documents task custom-field values, but the permissions table currently says delegated and application permissions are all Not supported. Beta APIs are also explicitly unsupported for production applications. ^4^
Project Schedule APIs support out-of-box and custom fields for scheduling entities, including Project Task. That applies to explicit Dataverse custom columns—not Planner-local fields embedded in the binary schedule payload. ^5^
Recommended live-reporting architecture
This requires a Dataverse Environment Maker/System Customizer or administrator, plus permission to publish the Power BI semantic model. If those roles are unavailable, provide these steps to the Power Platform administrator.
- Confirm the environment
- In Power Platform admin center, identify the Dataverse environment containing the Premium plan—currently the stated GMR Holdings Private Limited (default) environment.
- Confirm that
msdyn_project contains the plan before creating anything.
- Create reportable storage
- In Power Apps maker portal, select that environment.
- Go to Solutions → New solution.
- Add a custom table such as Planner Task Reporting Fields.
- Add a required lookup to Project Task (
msdyn_projecttask).
- Add typed columns for Scope, Skill Code, Task Reference, Remarks, and Day Wise Tracking. Use Choice, Text, Number, or Date columns as appropriate.
- Make the Project Task lookup unique if each task should have only one reporting row.
A related table is preferable unless adding columns directly to msdyn_projecttask has been validated for this Planner environment. It keeps reporting customization separate from Microsoft-managed scheduling entities. Microsoft documents related custom tables as a supported simple customization pattern. ^6^
- Provide an editing interface
- Add the custom table and fields to a model-driven Power App form.
- Grant users Dataverse security-role permissions to read/write that table and reference Project Task records.
- Users must maintain these new values through this app or another Dataverse-backed interface.
Existing Planner-local fields will not synchronize automatically. Future data entry must move to the new Dataverse fields.
- Build Power BI
- Connect using Get data → Power Platform → Dataverse.
- Load
msdyn_project, msdyn_projecttask, the custom reporting table, and required bucket/label tables.
- Relate the custom table’s Project Task lookup to the task primary key.
- Use DirectQuery for near-real-time reporting and automatic page refresh, understanding that it can be slower.
- Use Import for better performance when scheduled latency is acceptable. Import models require refresh; DirectQuery can provide near-real-time results. ^7^
Existing values
Historical local-field values require a one-time migration. The documented ExportProjectContent output includes custom-field definitions and task values keyed by GUID, so investigate whether the applicable export tooling and permissions are available for your environment. ^3^
That export is a migration input, not a supported live Power BI interface. If the tool is unavailable, the remaining supported route is one-time re-entry or an administrator-approved migration into the new Dataverse table.
References
- Frequently Asked Questions
- Manage the Planner app for your organization in Microsoft Teams
- Export Project Content Definition
- List customFieldValues
- Project schedule API performance
- Licenses for customizations of Project for the web
- Power BI modeling guidance for Power Platform