<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Microsoft 365 Developer Platform Ideas</title>
    <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/idb-p/Microsoft365DeveloperPlatform</link>
    <description>Microsoft 365 Developer Platform Ideas</description>
    <pubDate>Tue, 09 Jun 2026 10:33:26 GMT</pubDate>
    <dc:creator>Microsoft365DeveloperPlatform</dc:creator>
    <dc:date>2026-06-09T10:33:26Z</dc:date>
    <item>
      <title>Spill Override for Dynamic Arrays in Excel</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/spill-override-for-dynamic-arrays-in-excel/idi-p/4526383</link>
      <description>&lt;P&gt;Dynamic arrays in Excel currently prioritize existing cell content over new calculations, causing a #SPILL! error whenever an expansion path is obstructed. In professional financial modeling, this creates significant friction and introduces unnecessary risk.&lt;/P&gt;&lt;P&gt;Examples of this issue can be found everywhere, and I want to offer a widespread one from the finance domain. Financial analysts frequently build time series that combine dynamic historical actuals with manually entered forecasts. As time progresses and new actuals are fetched - often via external data functions - the dynamic array must expand. Under the current logic, if a new data point reaches a cell containing a manual forecast, the entire historical range disappears and is replaced by an error. To prevent this, modelers are forced to manually shift forecast blocks or build complex formulas to stitch disparate data ranges together. These workarounds are time-consuming and prone to errors.&lt;/P&gt;&lt;P&gt;The impact here is threefold:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Maintenance overhead: Analysts must perform manual grid maintenance every time a data period closes.&lt;/LI&gt;&lt;LI&gt;Model fragility: A single stray value or a manual forecast in the expansion path can break an entire dashboard, hiding valid data.&lt;/LI&gt;&lt;LI&gt;Logic complexity: Users must resort to cumbersome workarounds to manage the boundary between dynamic and static data, making models harder to build, maintain and audit.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I propose adding an explicit option to override default spill handling. This would introduce an operation that allows users to permit a dynamic array to overwrite existing grid content when a collision occurs, rather than forcing the standard #SPILL! error. The goal is to let users choose when a dynamic formula should take precedence over the existing data in that range.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jun 2026 12:33:33 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/spill-override-for-dynamic-arrays-in-excel/idi-p/4526383</guid>
      <dc:creator>akalyan</dc:creator>
      <dc:date>2026-06-08T12:33:33Z</dc:date>
    </item>
    <item>
      <title>Extend Outlook Actionable Messages Admin Dashboard Report to support all provider scopes.</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/extend-outlook-actionable-messages-admin-dashboard-report-to/idi-p/4526316</link>
      <description>&lt;P&gt;The Outlook Actionable admin dashboard report currently only covers Organization-scoped providers. Providers registered at other scopes are excluded, creating a visibility and governance gap for enterprise admins. Please extend this functionality to all available scopes as this would enable admins to maintain comprehensive audit trails and perform end to end lifecycle governance of Actionable Messages providers from a single interface.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jun 2026 09:34:55 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/extend-outlook-actionable-messages-admin-dashboard-report-to/idi-p/4526316</guid>
      <dc:creator>Sraina</dc:creator>
      <dc:date>2026-06-08T09:34:55Z</dc:date>
    </item>
    <item>
      <title>Outlook Graph API- Add a Currently Selected Email call</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/outlook-graph-api-add-a-currently-selected-email-call/idi-p/4526295</link>
      <description>&lt;P&gt;Just like we have trackers like inbox counter, unread counter, and such, it would be nice to be able to have an invisible API action that would 1 select an email, 2 return a value to client of what selected email title/content is.&lt;/P&gt;&lt;P&gt;Use case:&lt;/P&gt;&lt;P&gt;I want to make a Macro to display my selected email in a zoomed in section of my screen/ a watch area&lt;/P&gt;&lt;P&gt;I want to inflict API calls only on said email and I want confirmation of which email is now selected&amp;nbsp;&lt;/P&gt;&lt;P&gt;This provides a seamless invisible (to client) way for developers to implement API actions in their software/hardware.&lt;/P&gt;&lt;P&gt;Right now I am side stepping this issue using Flag/unflag, but it is a messy solution and leaves a "Completed on X" residue on every email it touches , and I made an experimental way with clearflag&amp;nbsp; function (is a little Shakey with excessive polls) , which is needed to flag/unflag, then clear flag every time your run a command, and it all has to run through a dedicated PowerShell&amp;nbsp; to avoid overlaps of calls .&lt;/P&gt;&lt;P&gt;All that can be avoided with this&amp;nbsp;&lt;/P&gt;&lt;P&gt;Just like like outlooks selects emails by default right now with most recent unread or or most recent in inbox , make it where a signed in account can select any email (at least in new outlook) by scrolling with arrows or clicking once on an email and viewing it from the side panel (even if its not marked as read) as long as they are hovering it, it sends an API call of what the user is hovering to MS servers and have that info available to be sent to an API call a to a dev so they can use to apply actions against said email (create a meeting from it, send a premade reply or any other API action specific to emails selected) ----&lt;/P&gt;&lt;P&gt;and make that invisible to users, and if worried about excessive server demand, making it an advanced option in outlook to be toggled by users when using applications that require it and make the applications themselves carry the burden of information the user they need to toggle said setting before starting to use their app , that way the option is limited to the population that uses it and is not making everyone constantly ping Microsoft servers with what email they are looking at.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jun 2026 09:11:41 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/outlook-graph-api-add-a-currently-selected-email-call/idi-p/4526295</guid>
      <dc:creator>LeoPew</dc:creator>
      <dc:date>2026-06-08T09:11:41Z</dc:date>
    </item>
    <item>
      <title>Feature Request: Expose Theme Color RGB Values in Office.js API</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/feature-request-expose-theme-color-rgb-values-in-office-js-api/idi-p/4525938</link>
      <description>&lt;H3&gt;Title&lt;/H3&gt;&lt;P&gt;&lt;STRONG&gt;Add API to retrieve resolved RGB/hex values for workbook theme colors&lt;/STRONG&gt;&lt;/P&gt;&lt;H3&gt;Summary&lt;/H3&gt;&lt;P&gt;The Office.js API currently does not provide a method to retrieve the actual RGB or hex color values for theme colors applied in a workbook. When chart elements, shapes, or cells use theme-based fills (e.g., "Accent 1", "Accent 2"), developers can identify the theme color&amp;nbsp;&lt;EM&gt;type&lt;/EM&gt;&amp;nbsp;but cannot programmatically resolve it to the actual color value.&lt;/P&gt;&lt;H3&gt;Problem Statement&lt;/H3&gt;&lt;P&gt;When automating chart formatting tasks, I need to:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Read the current fill color of a chart point (which uses theme colors)&lt;/LI&gt;&lt;LI&gt;Apply that same color to other points in the series&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Current behavior:&lt;/STRONG&gt;&amp;nbsp;point.format.fill.getSolidColor()&amp;nbsp;fails or returns undefined for theme-based colors. The API only exposes the abstract theme reference, not the resolved RGB value.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Impact:&lt;/STRONG&gt;&amp;nbsp;This prevents common automation scenarios such as:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Uniformly formatting chart data points across historical vs. forecast periods&lt;/LI&gt;&lt;LI&gt;Copying formatting between elements that use theme colors&lt;/LI&gt;&lt;LI&gt;Maintaining brand consistency when programmatically generating charts&lt;/LI&gt;&lt;LI&gt;Migrating or syncing formatting between workbooks with different themes&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Proposed Solution&lt;/H3&gt;&lt;P&gt;Add methods to expose resolved theme colors:&lt;/P&gt;&lt;P&gt;// Option 1: Query the theme directly const color = await context.workbook.theme.getColor("Accent1"); // Returns: "#4472C4" // Option 2: Resolve fill color regardless of source const resolvedColor = await point.format.fill.getResolvedColor(); // Returns: "#4472C4" (works for theme, solid, or automatic fills) // Option 3: Get full theme palette const palette = await context.workbook.theme.getColorPalette(); // Returns: { accent1: "#4472C4", accent2: "#ED7D31", ... }&lt;/P&gt;&lt;H3&gt;Business Justification&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;Essential for enterprise automation of branded reports and dashboards&lt;/LI&gt;&lt;LI&gt;Enables consistent formatting across programmatically generated charts&lt;/LI&gt;&lt;LI&gt;Reduces manual formatting work for recurring financial/business reports&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Affected API Area&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;Excel.ChartPoint.format.fill&lt;/LI&gt;&lt;LI&gt;Excel.ChartSeries.format.fill&lt;/LI&gt;&lt;LI&gt;Excel.Workbook (new theme property)&lt;/LI&gt;&lt;/UL&gt;</description>
      <pubDate>Fri, 05 Jun 2026 14:02:02 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/feature-request-expose-theme-color-rgb-values-in-office-js-api/idi-p/4525938</guid>
      <dc:creator>Hokiefan00</dc:creator>
      <dc:date>2026-06-05T14:02:02Z</dc:date>
    </item>
    <item>
      <title>Expose originalRecipients property for compose/reply scenarios</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/expose-originalrecipients-property-for-compose-reply-scenarios/idi-p/4524516</link>
      <description>&lt;H3&gt;Context&lt;/H3&gt;&lt;P&gt;When a user clicks on "reply" or "reply all" in Outlook, add-ins should be able to retrieve the original recipients (To, CC, BCC) of the mail item as they were set when the reply or reply all action was initiated, regardless of any user edits to the recipient list afterwards.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Currently, office-js returns an updated recipient array if the user quickly changes the recipients after clicking "reply" or "reply all". As a result, there is no way for an add-in to determine what the original recipients of the mail item were. This makes it difficult to compare and process recipient changes.&lt;/P&gt;&lt;H3&gt;Steps to reproduce&lt;/H3&gt;&lt;OL&gt;&lt;LI&gt;User receives an email with recipients A, B, and C.&lt;/LI&gt;&lt;LI&gt;User clicks "Reply All".&lt;/LI&gt;&lt;LI&gt;Before sending, user deletes B and adds D to the recipients.&lt;/LI&gt;&lt;LI&gt;Office-js API only returns the new recipient array (A, C, D), with no way to access the original recipients (A, B, C).&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This issue affects add-ins that need to compare the original recipients of an email to the recipients after user edits, for processing or compliance reasons. Having access to the original recipient list would make it possible to implement robust recipient management features. Currently, even if you store these recipients during onMessageCompose event, it is possible to have wrong data there if user changes recipients right away after clicking reply / reply all / forward.&lt;/P&gt;</description>
      <pubDate>Mon, 01 Jun 2026 15:54:38 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/expose-originalrecipients-property-for-compose-reply-scenarios/idi-p/4524516</guid>
      <dc:creator>girtsegr</dc:creator>
      <dc:date>2026-06-01T15:54:38Z</dc:date>
    </item>
    <item>
      <title>Support application permissions (app‑only / Managed Identity) for Planner Task Chat Messages API</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/support-application-permissions-app-only-managed-identity-for/idi-p/4519727</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Request&lt;/STRONG&gt;&lt;BR /&gt;Please add &lt;STRONG&gt;Application (app‑only)&lt;/STRONG&gt; permission support for Planner task chat messages:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;GET https://graph.microsoft.com/beta/planner/tasks/{task-id}/messages&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Current limitation&lt;/STRONG&gt;&lt;BR /&gt;This endpoint is currently &lt;STRONG&gt;delegated-only&lt;/STRONG&gt; (works when signed in as a user) and does not work for &lt;STRONG&gt;Managed Identity / app‑only&lt;/STRONG&gt; automation scenarios (e.g., Azure Automation Runbooks). This blocks unattended exports and reporting.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Why this matters (business impact)&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;We run scheduled &lt;STRONG&gt;Azure Automation Runbooks&lt;/STRONG&gt; (Managed Identity) to export Planner data for governance and Power BI reporting.&lt;/LI&gt;&lt;LI&gt;The “new Planner” experience uses &lt;STRONG&gt;task chat messages&lt;/STRONG&gt; as the primary comment mechanism, and these messages are required for audit/reporting.&lt;/LI&gt;&lt;LI&gt;Without app‑only access, organisations are forced into less secure patterns (service accounts, interactive token flows) that complicate compliance.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;What we want (minimum viable)&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;Read-only app permission&lt;/STRONG&gt; support to list messages (equivalent of “read task chat”).&lt;/LI&gt;&lt;LI&gt;Least-privileged permission option such as Tasks.Read.All for app-only (or a new narrower scope if preferred).&lt;/LI&gt;&lt;LI&gt;Standard access enforcement (only return messages for tasks/plans the app is allowed to read).&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Why app-only is needed&lt;/STRONG&gt;&lt;BR /&gt;Managed Identity is the recommended secure pattern for Azure-native automation. Requiring delegated auth prevents reliable unattended reporting at enterprise scale.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks&lt;/P&gt;</description>
      <pubDate>Thu, 14 May 2026 10:50:51 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/support-application-permissions-app-only-managed-identity-for/idi-p/4519727</guid>
      <dc:creator>NS1066</dc:creator>
      <dc:date>2026-05-14T10:50:51Z</dc:date>
    </item>
    <item>
      <title>No programmatic way to pin the task pane for users</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/no-programmatic-way-to-pin-the-task-pane-for-users/idi-p/4517001</link>
      <description>&lt;H2&gt;Your Environment&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;Platform: PC desktop, Mac, Office on the web&lt;/LI&gt;&lt;LI&gt;Host: Outlook&lt;/LI&gt;&lt;LI&gt;Office version number: All supported versions&lt;/LI&gt;&lt;LI&gt;Operating System: Windows, macOS&lt;/LI&gt;&lt;/UL&gt;&lt;H2&gt;Expected behavior&lt;/H2&gt;&lt;P&gt;The Office JS API should provide a programmatic mechanism to pin the task pane on behalf of the user — for example, via a manifest setting or a runtime API call — so that the task pane remains open and pinned without requiring manual action from each user.&lt;/P&gt;&lt;H2&gt;Current behavior&lt;/H2&gt;&lt;P&gt;There is no programmatic way to pin the task pane for users. Users must pin it manually via the UI. This results in an inconsistent experience, particularly for enterprise deployments where we need to ensure the add-in remains accessible without relying on individual user action.&lt;/P&gt;&lt;H2&gt;Context&lt;/H2&gt;&lt;P&gt;We need the task pane to remain pinned for all users automatically upon install or first launch. The current lack of a programmatic pin mechanism creates friction and support overhead, as users frequently close the task pane and do not know how to re-pin it. We are looking for either an existing API we may have missed, or confirmation that this is a platform gap so we can raise a feature request through the appropriate channel.&lt;/P&gt;</description>
      <pubDate>Tue, 05 May 2026 12:14:31 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/no-programmatic-way-to-pin-the-task-pane-for-users/idi-p/4517001</guid>
      <dc:creator>mikeyp88</dc:creator>
      <dc:date>2026-05-05T12:14:31Z</dc:date>
    </item>
    <item>
      <title>Outlook Monarch: Add Inline preview of attachments</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/outlook-monarch-add-inline-preview-of-attachments/idi-p/4516772</link>
      <description>&lt;P&gt;Classic Outlook shows attachment preview right in the message window instead of opening a whole new window. This is more convenient as it allows the user to just quickly check the attachment and switch to another message right away instead of having to close the whole window to get into the main interface again.&lt;/P&gt;</description>
      <pubDate>Mon, 04 May 2026 12:52:21 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/outlook-monarch-add-inline-preview-of-attachments/idi-p/4516772</guid>
      <dc:creator>sstko</dc:creator>
      <dc:date>2026-05-04T12:52:21Z</dc:date>
    </item>
    <item>
      <title>Allow Outlook add-ins to detect when user is composing during read-mode activation</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/allow-outlook-add-ins-to-detect-when-user-is-composing-during/idi-p/4516724</link>
      <description>&lt;P&gt;When an Outlook add-in is opened via the message action bar while a user is composing a reply, the add-in loads in read mode. However, the add-in has no way to detect that the user is actively composing, which prevents any compose-specific functionality from working correctly.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Steps to Reproduce&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Open Outlook and select an email message&lt;/LI&gt;&lt;LI&gt;Click Reply to start composing a reply&lt;/LI&gt;&lt;LI&gt;Click an add-in button from the message action bar&lt;/LI&gt;&lt;LI&gt;The add-in loads with the /read URL route&lt;/LI&gt;&lt;LI&gt;The add-in cannot determine whether the user is composing or just reading&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Expected Behavior&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;The add-in should have a way to detect that a compose window is open so it can adapt its behavior or redirect to the appropriate compose mode.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Actual Behavior&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;The add-in loads in read mode with no API or mechanism to detect that the user is composing. The URL alone (/read) is insufficient to determine the actual user context.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Root Cause&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Currently, there is no Office.js API that allows a read-mode add-in to detect whether a compose window is open for the current message. The manifest also does not provide context-aware routing capabilities.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Requested Solution&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Please provide one or more of the following:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;An Office.js API that allows read-mode add-ins to detect if a compose window is active for the current message&lt;/LI&gt;&lt;LI&gt;A way for the manifest to route action bar buttons contextually (to /compose if composing, /read if reading)&lt;/LI&gt;&lt;LI&gt;Additional context information passed to the add-in so it knows which entry point was used and the actual user context&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Without this, any add-in that supports both read and compose functionality cannot provide a consistent user experience when opened from the message action bar during compose.&lt;/P&gt;</description>
      <pubDate>Mon, 04 May 2026 06:49:04 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/allow-outlook-add-ins-to-detect-when-user-is-composing-during/idi-p/4516724</guid>
      <dc:creator>dina-smokeball</dc:creator>
      <dc:date>2026-05-04T06:49:04Z</dc:date>
    </item>
    <item>
      <title>Access to Equations via Word JavaScript API</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/access-to-equations-via-word-javascript-api/idi-p/4513184</link>
      <description>&lt;P&gt;Currently, the Word JavaScript API does not provide access to equations (built using Word’s equation editor / Office Math). This limits the ability to programmatically interact with structured mathematical content in documents.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It would be highly valuable if the API allowed developers to:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Enumerate equations within a document or range&lt;/LI&gt;&lt;LI&gt;Access the underlying equation structure or markup (e.g., Office Math / OMML)&lt;/LI&gt;&lt;LI&gt;Read and modify equation content&lt;/LI&gt;&lt;LI&gt;Convert equations to a linear or plain-text representation&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Providing access to equations would significantly improve document automation, analysis, and interoperability with other systems that rely on mathematical content.&lt;/P&gt;&lt;P&gt;Thank you for considering this enhancement.&lt;/P&gt;</description>
      <pubDate>Tue, 21 Apr 2026 06:09:16 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/access-to-equations-via-word-javascript-api/idi-p/4513184</guid>
      <dc:creator>Jakob76</dc:creator>
      <dc:date>2026-04-21T06:09:16Z</dc:date>
    </item>
    <item>
      <title>Add Workbook.calculate() to avoid recalculating all open workbooks</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/add-workbook-calculate-to-avoid-recalculating-all-open-workbooks/idi-p/4512120</link>
      <description>&lt;P&gt;Today, the Office.js API exposes Excel.Application.calculate(calculationType), but it recalculates all currently opened workbooks in Excel. This becomes a performance and UX problem when users have multiple large workbooks open and an add-in needs to trigger calculation only for the workbook it’s running in.&lt;/P&gt;&lt;P&gt;Request: Please add a workbook-scoped calculate API that recalculates only the active workbook, while reusing the existing Excel.CalculationType enum (recalculate, full, fullRebuild).&lt;/P&gt;&lt;P&gt;Example API shape (one option):&lt;/P&gt;&lt;P&gt;await Excel.run(async (context) =&amp;gt; {&lt;/P&gt;&lt;P&gt;context.workbook.calculate(Excel.CalculationType.recalculate);&lt;/P&gt;&lt;P&gt;await context.sync();&lt;/P&gt;&lt;P&gt;});&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This would preserve the current semantics of Excel.CalculationType while avoiding unintended recalculation of unrelated open workbooks (the current Application.calculate behavior).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2026 15:43:11 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/add-workbook-calculate-to-avoid-recalculating-all-open-workbooks/idi-p/4512120</guid>
      <dc:creator>stephanecoze</dc:creator>
      <dc:date>2026-04-16T15:43:11Z</dc:date>
    </item>
    <item>
      <title>Preserve Add-in signature HTML on Outlook for iOS across all clients</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/preserve-add-in-signature-html-on-outlook-for-ios-across-all/idi-p/4510821</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Summary&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;When an Office Add-in inserts HTML into a message on Outlook for iOS (for example, an email signature), Outlook for iOS rewrites the inline CSS at the point the content is added to the message body. The rewritten CSS uses modern shorthand and the currentcolor keyword, which classic Outlook on Windows (the Word based rendering engine) does not render correctly. The result is that recipients opening the message in classic Outlook on Windows see missing or incorrect styling, most visibly missing border colors on signature elements.&lt;/P&gt;&lt;P&gt;The same message renders correctly when opened in Outlook on the web, new Outlook for Windows, Outlook for iOS, and Outlook for Android. Only classic Outlook on Windows is affected, because only the Word rendering engine fails to interpret the rewritten CSS.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Who this affects&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Any organisation using a third party signature Add-in (or any Add-in that injects styled HTML) on Outlook for iOS, whose recipients include users of classic Outlook on Windows. This is a large population: classic Outlook on Windows is still the default client in many enterprises.&lt;/P&gt;&lt;P&gt;We are raising this on behalf of a significant number of affected customers who currently have no workaround.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What we observed&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;We insert this HTML into the message via the Add-in:&lt;/P&gt;&lt;LI-CODE lang="html"&gt;&amp;lt;td align="left" style="padding:12px; border-top:none; border-right:none; border-bottom:none; border-left:solid 8px #F5F736; vertical-align:top; font-family:Calibri,Arial,sans-serif;"&amp;gt;&lt;/LI-CODE&gt;&lt;img /&gt;&lt;P&gt;Outlook for iOS rewrites it, before it is committed to the message body, to:&lt;/P&gt;&lt;LI-CODE lang="html"&gt;&amp;lt;td dir="ltr" align="left" style="white-space: nowrap; border-width: medium medium medium 8px; border-style: none none none solid; border-color: currentcolor currentcolor currentcolor #F5F736; padding: 12px; vertical-align: top;"&amp;gt;&lt;/LI-CODE&gt;&lt;img /&gt;&lt;P&gt;Two behaviours are problematic:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;The individual border-top, border-right, border-bottom, border-left declarations are merged into border-width, border-style, and border-color shorthand.&lt;/LI&gt;&lt;LI&gt;The merged border-color uses the currentcolor keyword for the three unset sides.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Classic Outlook on Windows does not honor currentcolor reliably in this context, and its handling of this particular shorthand combination drops or miscalculates the actual colored side. The colored border the sender intended is not displayed to the recipient.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Why this is a problem specifically for Add-ins&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Authors of Office Add-ins cannot control what the host client does to HTML after body.setSignatureAsync, body.setAsync, or equivalent insertion APIs are called. The HTML we provide is valid, and it renders correctly on every other Outlook surface. The rewrite is happening inside Outlook for iOS, silently, and we have no API to opt out of it.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reproduction&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Build a simple Outlook Add-in that inserts the HTML snippet above into a new mail message using the standard Office JS body insertion APIs.&lt;/LI&gt;&lt;LI&gt;Send the message from Outlook for iOS (tested on iOS 18.3.2, Outlook for iOS 4.2513.1).&lt;/LI&gt;&lt;LI&gt;Open the sent item in Outlook on the web or Outlook for iOS: the yellow left border renders correctly.&lt;/LI&gt;&lt;LI&gt;Open the sent item in classic Outlook on Windows: the left border color is missing.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Prior report&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;This was previously reported against Office JS on GitHub: &lt;A href="https://github.com/OfficeDev/office-js/issues/6521" target="_blank"&gt;https://github.com/OfficeDev/office-js/issues/6521&lt;/A&gt;. The response was that the issue will not be fixed in the short term, and the recommendation was to raise a Tech Community item so the team can gauge demand. That is what this post is for.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What we are asking for&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Ideally one of the following:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Stop Outlook for iOS rewriting inline CSS that was supplied by an Add-in through the supported insertion APIs. Pass the author's HTML through unchanged, or&lt;/LI&gt;&lt;LI&gt;If normalisation has to happen, avoid emitting currentcolor and avoid collapsing per side border properties into shorthand in ways that known Outlook rendering engines cannot interpret, or&lt;/LI&gt;&lt;LI&gt;Publish a documented, supported HTML and CSS subset that is guaranteed to round trip across all Outlook clients (including the Word rendering engine in classic Outlook on Windows), so Add-in authors can target it deliberately.&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Mon, 13 Apr 2026 13:36:12 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/preserve-add-in-signature-html-on-outlook-for-ios-across-all/idi-p/4510821</guid>
      <dc:creator>dsantaras</dc:creator>
      <dc:date>2026-04-13T13:36:12Z</dc:date>
    </item>
    <item>
      <title>A way to get the character of bullet points in PowerPoint</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/a-way-to-get-the-character-of-bullet-points-in-powerpoint/idi-p/4508207</link>
      <description>&lt;P&gt;The BulletFormat got updated, which is nice, but there is one disatvantage still:&lt;BR /&gt;&lt;BR /&gt;When resetting a text of a shape completely, and the shape prior to the change, had squares as bullet points, the bullet points in the new text are set as disks.&lt;BR /&gt;&lt;BR /&gt;So there are multiple ways to fix this, the last one is the optimal way that should be implemented:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The shape should have some "default" and keep the last bulletpoints that were set for each level&lt;/LI&gt;&lt;LI&gt;When setting bullet points, the shapes placeholder settings are used for this&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Or the only right solution:&lt;BR /&gt;There should be a way to read the current type (square, circle, arrow, whatever) from the textRange.paragraphFormat.bulletFormat so we can save it and reapply the right type to the new text.&lt;/P&gt;</description>
      <pubDate>Fri, 03 Apr 2026 01:42:15 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/a-way-to-get-the-character-of-bullet-points-in-powerpoint/idi-p/4508207</guid>
      <dc:creator>Artur_Hellmann</dc:creator>
      <dc:date>2026-04-03T01:42:15Z</dc:date>
    </item>
    <item>
      <title>Skip Undo Entries for silent Actions of Addins</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/skip-undo-entries-for-silent-actions-of-addins/idi-p/4507257</link>
      <description>&lt;P&gt;Would it be possible to implement a Excel.run option to hide undo entries e.g supressUndoEntry?&lt;BR /&gt;Would be very helpful to set only wanted steps.&lt;/P&gt;&lt;P&gt;E.g users adds a table =&amp;gt; refreshes =&amp;gt; only one undo entry for resetting it.&lt;BR /&gt;I know we can group it but only in a single excel run not when using multiple.&lt;/P&gt;&lt;img /&gt;&lt;P&gt;i also like the idea of&amp;nbsp;&lt;/P&gt;&lt;P&gt;https://techcommunity.microsoft.com/idea/microsoft365developerplatform/add-ability-to-label-the-actions-office-js-takes-on-the-document-in-the-undo-lis/4491484&lt;BR /&gt;for giving it atleast good names.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Mar 2026 11:03:14 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/skip-undo-entries-for-silent-actions-of-addins/idi-p/4507257</guid>
      <dc:creator>joerg-sap</dc:creator>
      <dc:date>2026-03-31T11:03:14Z</dc:date>
    </item>
    <item>
      <title>Ability to dynamically change ribbon button at runtime</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/ability-to-dynamically-change-ribbon-button-at-runtime/idi-p/4506380</link>
      <description>&lt;P&gt;Our ribbon button actions are awkward! We need the ability to interact with them more dynamically at runtime. Ideas:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Change Office.Ribbon.RequestUpdate() so that it can change a ribbon button's label at runtime, like the "Protect Sheet"/"Unprotect Sheet" button in the Review tab.&lt;/LI&gt;&lt;LI&gt;Give us the option to create toggle buttons in the manifest and in contextual tabs, like Excel's native "Filter" button in the Data tab, or the "Bold" button.&lt;/LI&gt;&lt;LI&gt;Change Office.Ribbon.RequestUpdate() so that it can remove a ribbon button, or change its icon, at runtime&lt;/LI&gt;&lt;/UL&gt;</description>
      <pubDate>Fri, 27 Mar 2026 20:15:28 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/ability-to-dynamically-change-ribbon-button-at-runtime/idi-p/4506380</guid>
      <dc:creator>schoong</dc:creator>
      <dc:date>2026-03-27T20:15:28Z</dc:date>
    </item>
    <item>
      <title>Ability to disable Copilot Agent / Edit functionality on a sheet + Copilot events</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/ability-to-disable-copilot-agent-edit-functionality-on-a-sheet/idi-p/4503146</link>
      <description>&lt;P&gt;We developed an Excel addon which intercepts certain Excel events - sorting of Excel tables, editing cells, etc. on special add-on managed sheets.&lt;/P&gt;&lt;P&gt;This functionality is broken when Copilot Agent/Edit starts modifying the sheet.&lt;/P&gt;&lt;P&gt;Would it be possible to disable Copilot Agent/Edit mode on particular sheets in full and to provide rich API to intercept Copilot's actions?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Mar 2026 23:38:18 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/ability-to-disable-copilot-agent-edit-functionality-on-a-sheet/idi-p/4503146</guid>
      <dc:creator>PurpleMacha25</dc:creator>
      <dc:date>2026-03-17T23:38:18Z</dc:date>
    </item>
    <item>
      <title>Ability to determine which cells are currently being viewed by the user</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/ability-to-determine-which-cells-are-currently-being-viewed-by/idi-p/4502567</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Summary&lt;/STRONG&gt;&lt;BR /&gt;We did tests on the frontend with our streaming formulas and we were able to confirm that having multiple streaming cells can lead to performance issues on the frontend i.e. unresponsive / glitchy user interface. This can also possibly result to the updating of values slower than the expected rate.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Why This Matters&lt;/STRONG&gt;&lt;BR /&gt;Our users are expected to work on large spreadsheets containing more than 50,000 streaming cells (potentially more for some users)&lt;BR /&gt;Having the capability to determine which cells are viewed by the users will open the possibilities for us to optimize the streaming values. We can make changes to our add-in wherein only the cells being viewed by the users are automatically updated instead of everything.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Proposed Change/s&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Add capability to determine which cells are being viewed by the user&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Benefits&lt;/STRONG&gt;&lt;BR /&gt;Having this capability will prevent the scenario wherein the frontend will be not as responsive when dealing with multiple streaming values&lt;/P&gt;</description>
      <pubDate>Mon, 16 Mar 2026 13:16:33 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/ability-to-determine-which-cells-are-currently-being-viewed-by/idi-p/4502567</guid>
      <dc:creator>jcofds</dc:creator>
      <dc:date>2026-03-16T13:16:33Z</dc:date>
    </item>
    <item>
      <title>Feature Request - Add intent‑based flow creation and context‑aware suggested actions.</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/feature-request-add-intent-based-flow-creation-and-context-aware/idi-p/4501094</link>
      <description>&lt;P&gt;I would like to suggest a&amp;nbsp;&lt;STRONG&gt;more guided, intent‑driven experience&amp;nbsp;&lt;/STRONG&gt;when building flows in&amp;nbsp;&lt;STRONG&gt;Power Automate&lt;/STRONG&gt;. When a user starts a new automation, the designer could first prompt them to describe in natural language what they want to accomplish, then automatically propose an appropriate starter flow, trigger, and key actions based on that intent. At each subsequent step, instead of primarily listing all possible actions and connectors, the interface could provide a&amp;nbsp;&lt;STRONG&gt;prominent “Suggested actions” section&amp;nbsp;&lt;/STRONG&gt;that is context‑aware and continuously updated according to the user’s goal and existing steps in the flow, similar to&lt;STRONG&gt;&amp;nbsp;intelligent code suggestions in modern editors&lt;/STRONG&gt;. This would accelerate flow creation, reduce the learning curve for new users, and help experienced users quickly discover the most relevant actions without manually searching through long action lists.&lt;/P&gt;</description>
      <pubDate>Wed, 11 Mar 2026 05:33:38 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/feature-request-add-intent-based-flow-creation-and-context-aware/idi-p/4501094</guid>
      <dc:creator>SajedaSultana</dc:creator>
      <dc:date>2026-03-11T05:33:38Z</dc:date>
    </item>
    <item>
      <title>Get selected chart element in Excel JS API</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/get-selected-chart-element-in-excel-js-api/idi-p/4499725</link>
      <description>&lt;P&gt;We need to read the data point when a user clicks on one of the parts of a bar chart or pie chart. Something like getSelectedChartElement() that points to the underlying cell range where the data point resides. Or a Chart event whenever a chart element is selected.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2026 15:22:21 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/get-selected-chart-element-in-excel-js-api/idi-p/4499725</guid>
      <dc:creator>schoong</dc:creator>
      <dc:date>2026-03-05T15:22:21Z</dc:date>
    </item>
    <item>
      <title>Copilot prompt amount information in Graph API</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/copilot-prompt-amount-information-in-graph-api/idi-p/4498915</link>
      <description>&lt;P&gt;Can we include the number of prompts submitted by users with an M365 Copilot license through the Graph API? And split these out in where the prompts were submitted (Teams, Word, Excel, Chat, etc)?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is a better marker than the usage activity date that we can currently work with. This shouldn't be too difficult as in the M365 Admin Center you already provide this information in the usage details.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this is an easy inclusion as using the AI API is not recommended as it gives too much details about prompts for certain third party implementations.&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2026 07:24:31 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/copilot-prompt-amount-information-in-graph-api/idi-p/4498915</guid>
      <dc:creator>florisklaver</dc:creator>
      <dc:date>2026-03-03T07:24:31Z</dc:date>
    </item>
  </channel>
</rss>

