list-planner-task-messages
[beta] Retrieve a list of plannerTaskChatMessage objects associated with a plannerTask. 💡 TIP: Lists messages in a Planner task's chat — the modern Planner 'task chat', distinct from the legacy conversationThreadId comments (which live in the M365 group conversation thread). Each message has id,...
This record as markdown: /tools/jo3zik-ms-365-mcp-server/list-planner-task-messages.md
What list-planner-task-messages does on Ms 365
AI agents call list-planner-task-messages to retrieve information from Ms 365 without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
top | number | — | Page size (Graph $top). Start small (e.g. 5–15) so responses fit the model context; raise only if needed. Use $select to return fewer fields per item. For more |
skip | number | — | Items to skip for pagination. Not supported with $search. |
count | boolean | — | Set true to enable advanced query mode (ConsistencyLevel: eventual). Required for complex $filter on flag/flagStatus or contains(). |
expand | array | — | Navigation properties to inline, e.g. attachments on a message or event. Only navigation properties can be expanded: expanding a non-navigation property such as |
filter | string | — | OData filter expression. Add $count=true for advanced filters (flag/flagStatus, contains()). Cannot combine with $search. |
search | string | — | KQL search query — wrap value in double quotes. Cannot combine with $filter. |
select | string | — | Comma-separated fields to return, e.g. id,subject,from,receivedDateTime |
orderby | string | — | Sort expression, e.g. receivedDateTime desc |
fetchAllPages | boolean | — | Follow @odata.nextLink and merge up to 100 pages into one response. Can return enormous payloads—only when the user explicitly needs a full export. Prefer a sma |
plannerTaskId | string | Yes | Value for the 'plannerTaskId' path segment. Pass it under the name 'plannerTaskId', not as 'id'. Use the 'id' field of the planner task object as returned by Mi |
includeHeaders | boolean | — | Include response headers (including ETag) in the response metadata |
excludeResponse | boolean | — | Exclude the full response body and only return success or failure indication |
Parameters from the server's own tool schema.
Why list-planner-task-messages is rated Low
Even though list-planner-task-messages only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.
Risk signalsHigh parameter count (12 properties)
Attacks that exploit this kind of access
The rule that runs list-planner-task-messages safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Ms 365, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For list-planner-task-messages, this is the rule to start with:
list-planner-task-messages is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Ms 365, apply this rule, and every list-planner-task-messages call is checked against it from then on.
Questions about list-planner-task-messages
[beta] Retrieve a list of plannerTaskChatMessage objects associated with a plannerTask. 💡 TIP: Lists messages in a Planner task's chat — the modern Planner 'task chat', distinct from the legacy conversationThreadId comments (which live in the M365 group conversation thread). Each message has id, content (HTML), createdBy, createdDateTime, mentions, reactions. BETA Graph API: subject to change; delegated work/school accounts only — no application permissions, no personal Microsoft accounts, global cloud only (not GCC/DoD/21Vianet). It is categorised as a Read tool in the Ms 365 MCP Server, which means it retrieves data without modifying state.
list-planner-task-messages accepts 12 parameters: top, skip, count, expand, filter, search, select, orderby, fetchAllPages, plannerTaskId, includeHeaders, excludeResponse. Required: plannerTaskId. The full parameter table on this page comes from the server's own tool schema.
Register the Ms 365 MCP server in PolicyLayer and add a rule for list-planner-task-messages: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Ms 365. Nothing to install.
list-planner-task-messages is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the list-planner-task-messages rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for list-planner-task-messages. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
list-planner-task-messages is provided by the Ms 365 MCP server (@jo3zik/ms-365-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Ms 365, and thousands of servers like it.
This server
Across the catalogue