<?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>Sun, 12 Jul 2026 12:55:48 GMT</pubDate>
    <dc:creator>Microsoft365DeveloperPlatform</dc:creator>
    <dc:date>2026-07-12T12:55:48Z</dc:date>
    <item>
      <title>Show "Loading add-in" before the task pane web app is available</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/show-quot-loading-add-in-quot-before-the-task-pane-web-app-is/idi-p/4535544</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Product&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Office.js / Outlook Classic (Task Pane Add-ins)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Problem Description&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When a task pane add-in is opened in Outlook Classic, there can be a significant delay before the add-in's web application is displayed. During this phase, users often see a blank or empty task pane without any indication that the add-in is still loading.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Based on our observations, this delay frequently occurs before the add-in page itself is loaded and before any JavaScript code can be executed. The startup time appears to be heavily influenced by the underlying Chromium/WebView network initialization and page-loading process.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As add-in developers, we currently have no opportunity to provide feedback to the user during this early loading phase because the web application has not yet started executing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;User Impact&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;A blank task pane creates the impression that:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Outlook has frozen.&lt;/LI&gt;&lt;LI&gt;The add-in has crashed.&lt;/LI&gt;&lt;LI&gt;The add-in failed to load.&lt;/LI&gt;&lt;LI&gt;The user needs to close and reopen the add-in.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;This leads to confusion, unnecessary support requests, and a poor user experience, especially in environments with slow network conditions, security software, proxy servers, or delayed WebView initialization.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Proposed Enhancement&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Provide a native Outlook-hosted loading screen that is displayed immediately when the task pane is opened and remains visible until the add-in page has started loading successfully.&lt;/P&gt;&lt;P&gt;Example messages:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;"Preparing add-in..."&lt;/LI&gt;&lt;LI&gt;"Loading add-in..."&lt;/LI&gt;&lt;LI&gt;"Initializing add-in environment..."&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The loading screen could optionally include:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;A progress indicator or spinner.&lt;/LI&gt;&lt;LI&gt;Diagnostic information for troubleshooting.&lt;/LI&gt;&lt;LI&gt;A timeout message if loading exceeds a configurable threshold.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Alternative Proposal&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Expose an API that allows developers to define static HTML content that Outlook can display before the actual add-in page is loaded.&lt;/P&gt;&lt;P&gt;Since displaying simple HTML content is possible without waiting for the complete network stack and WebView page initialization, this would allow developers to provide immediate visual feedback while the Chromium/WebView infrastructure is still preparing the add-in.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Benefits&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Improved user experience.&lt;/LI&gt;&lt;LI&gt;Reduced perception of application hangs.&lt;/LI&gt;&lt;LI&gt;Fewer support tickets related to slow add-in startup.&lt;/LI&gt;&lt;LI&gt;Better transparency during WebView initialization.&lt;/LI&gt;&lt;LI&gt;Improved reliability perception for Office Add-ins in enterprise environments.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Environment&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Outlook Classic for Windows&lt;/LI&gt;&lt;LI&gt;Office.js Task Pane Add-ins&lt;/LI&gt;&lt;LI&gt;Chromium-based WebView runtime&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The issue is most noticeable in environments where WebView initialization or network-related startup operations are delayed.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jul 2026 07:33:34 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/show-quot-loading-add-in-quot-before-the-task-pane-web-app-is/idi-p/4535544</guid>
      <dc:creator>xTNTx333</dc:creator>
      <dc:date>2026-07-10T07:33:34Z</dc:date>
    </item>
    <item>
      <title>Add Microsoft Graph APIs for SharePoint Online list views</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/add-microsoft-graph-apis-for-sharepoint-online-list-views/idi-p/4534874</link>
      <description>&lt;P&gt;Microsoft Graph currently provides APIs for SharePoint sites, lists, columns, and list items, but it does not expose SharePoint list views. This creates a limitation for our application that need to read data related to a specific SharePoint list view, not necessarily the entire underlying list.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Please add Microsoft Graph support to read, create, update, delete SharePoint list views and get items scoped by the view.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance to the team&lt;/P&gt;</description>
      <pubDate>Wed, 08 Jul 2026 10:14:47 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/add-microsoft-graph-apis-for-sharepoint-online-list-views/idi-p/4534874</guid>
      <dc:creator>vleocmach</dc:creator>
      <dc:date>2026-07-08T10:14:47Z</dc:date>
    </item>
    <item>
      <title>The Office JS range.formulas API should preserve the leading single quote.</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/the-office-js-range-formulas-api-should-preserve-the-leading/idi-p/4534443</link>
      <description>&lt;P&gt;We have an Excel add-in used in both Excel O365 Desktop and Excel O365 Web. Our add-in processes formulas in cells, including custom functions, and sometimes needs to remove prepended namespaces. The relevant code is:&lt;/P&gt;&lt;P&gt;const range = context.workbook.getSelectedRange();&lt;BR /&gt;range.load("formulas");&lt;BR /&gt;await context.sync();&lt;BR /&gt;console.log('The range formulas', range.formulas);&lt;BR /&gt;const newFormulas = range.formulas;&lt;BR /&gt;range.formulas = newFormulas;&lt;/P&gt;&lt;P&gt;Problem:&lt;BR /&gt;Some users enter informational strings in cells that resemble formulas like&lt;BR /&gt;'=AVERAGE([cell start]:[cell end])&lt;BR /&gt;To ensure excel treats these as plain text, they start the entry with a single quote ('). Excel correctly stores these as strings and does not throw any formula error.&lt;/P&gt;&lt;P&gt;However, when we use the Office JS API to read and reapply these values, the leading single quote is stripped. The API returns:&lt;BR /&gt;'=AVERAGE([cell start]:[cell end])'&lt;BR /&gt;When we attempt to set this value back using range.formulas = newFormulas, excel throws the following error:&lt;/P&gt;&lt;P&gt;RichApi.Error: The argument is invalid or missing or has an incorrect format.&lt;BR /&gt;at new n (excel-web-16.00.js:25:328325)&lt;BR /&gt;at i.processRequestExecutorResponseMessage (excel-web-16.00.js:25:393560)&lt;BR /&gt;at excel-web-16.00.js:25:391621&lt;/P&gt;&lt;P&gt;The Office JS API does not preserve the leading single quote, so Excel interprets the value as a formula, which is invalid in this context.&lt;BR /&gt;This behavior is inconsistent with Excel’s native handling, where the single quote ensures the value is treated as text.&lt;/P&gt;</description>
      <pubDate>Tue, 07 Jul 2026 10:49:57 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/the-office-js-range-formulas-api-should-preserve-the-leading/idi-p/4534443</guid>
      <dc:creator>Panthers_12345678Sudo</dc:creator>
      <dc:date>2026-07-07T10:49:57Z</dc:date>
    </item>
    <item>
      <title>Provide an Official Offline Distribution Method for Office.js (Alternative to CDN)</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/provide-an-official-offline-distribution-method-for-office-js/idi-p/4534233</link>
      <description>&lt;P&gt;According to the Microsoft documentation on accessing the Office JavaScript API library (&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/office/dev/add-ins/develop/understand-the-javascript-api-for-office#access-the-office-javascript-api-library" target="_blank"&gt;https://learn.microsoft.com/en-us/office/dev/add-ins/develop/understand-the-javascript-api-for-office#access-the-office-javascript-api-library&lt;/A&gt;), the only official way to include Office.js in Office Add-ins is to load it from the CDN. While this works well for most scenarios, it creates a significant limitation for organizations that operate in offline or highly restricted network environments where external CDNs are not accessible.&lt;/P&gt;&lt;P&gt;Previously, the &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="2865264" data-lia-user-login="microsoft" class="lia-mention lia-mention-user"&gt;microsoft&lt;/a&gt;/office-js npm package (&lt;A class="lia-external-url" href="https://www.npmjs.com/package/%40microsoft/office-js" target="_blank"&gt;https://www.npmjs.com/package/%40microsoft/office-js&lt;/A&gt;) allowed developers to bundle Office.js with their add-ins, making offline deployments possible. Since this package has been deprecated, there is no longer an officially supported way to distribute Office.js in these environments.&lt;/P&gt;&lt;P&gt;I would like to request one of the following:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Bring back an officially supported npm package for Office.js.&lt;/LI&gt;&lt;LI&gt;Provide another supported mechanism for bundling or self-hosting Office.js in offline environments.&lt;/LI&gt;&lt;LI&gt;Publish official guidance for deploying Office Add-ins in air-gapped or disconnected networks.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Supporting offline deployments would enable organizations with strict security requirements—such as government agencies, defense organizations, healthcare providers, and enterprises with isolated networks—to continue developing and deploying Office Add-ins using supported Microsoft solutions.&lt;/P&gt;&lt;P&gt;This would greatly improve the developer experience and make the Microsoft 365 Office Add-ins platform accessible to a broader range of enterprise customers.&lt;/P&gt;</description>
      <pubDate>Mon, 06 Jul 2026 23:08:44 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/provide-an-official-offline-distribution-method-for-office-js/idi-p/4534233</guid>
      <dc:creator>Merficius</dc:creator>
      <dc:date>2026-07-06T23:08:44Z</dc:date>
    </item>
    <item>
      <title>Native staged/canary rollout for Office Add-in manifests (Centralized Deployment/Integrated Apps)</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/native-staged-canary-rollout-for-office-add-in-manifests/idi-p/4532380</link>
      <description>&lt;H3&gt;Summary&lt;/H3&gt;&lt;P&gt;There is no supported way to roll out an&amp;nbsp;&lt;STRONG&gt;Office Add-in manifest&lt;/STRONG&gt;&amp;nbsp;change to a small percentage or ring of users first, monitor health, and automatically roll back on failure. A manifest-level regression reaches 100% of a tenant at once, and rollback is a slow manual re-deploy. We request native staged/canary rollout for add-in manifests, matching capabilities Microsoft already ships for other products.&lt;/P&gt;&lt;H3&gt;Category&lt;/H3&gt;&lt;P&gt;Feature request / platform capability gap — Add-in&amp;nbsp;&lt;STRONG&gt;deployment &amp;amp; management&lt;/STRONG&gt;&amp;nbsp;(Centralized Deployment / Integrated Apps in the M365 admin center; also relevant to Microsoft Marketplace). This is a deployment-platform gap, not an Office.js client-API defect.&lt;/P&gt;&lt;H3&gt;Applies to&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;Outlook add-in using&amp;nbsp;&lt;STRONG&gt;event-based activation (OnMessageSend / Smart Alerts)&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Both the add-in-only (XML) manifest and the unified manifest for Microsoft 365.&lt;/LI&gt;&lt;LI&gt;Distribution via Centralized Deployment / Integrated Apps and via Marketplace.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Motivation (real scenario)&lt;/H3&gt;&lt;P&gt;We ship a security/compliance add-in (event-based, OnMessageSend Smart Alerts) to enterprises with thousands of mailboxes. Today, any&amp;nbsp;&lt;STRONG&gt;manifest-level&lt;/STRONG&gt;&amp;nbsp;change — a new/changed event, requirement set, add-in command, endpoint, permission, or scope — is delivered to the&amp;nbsp;&lt;STRONG&gt;entire tenant simultaneously&lt;/STRONG&gt;. There is no supported mechanism to:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;expose the new manifest version to a small % or pilot ring first,&lt;/LI&gt;&lt;LI&gt;watch activation/error telemetry, and&lt;/LI&gt;&lt;LI&gt;automatically halt and roll back if health degrades.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Blast radius is the whole tenant; rollback means manually re-deploying the previous manifest, which propagates slowly (24–72h ribbon propagation; event configuration is cached locally and syncs asynchronously). Microsoft's own&amp;nbsp;&lt;A href="https://learn.microsoft.com/office/dev/add-ins/resources/resources-office-add-in-known-issues" target="_blank"&gt;Jan 2026 known issue&lt;/A&gt;&amp;nbsp;— where an event-based-activation change caused Smart Alerts add-ins to block users from sending mail, requiring multiple restarts to recover — illustrates exactly the blast radius and recovery latency that a staged rollout would contain.&lt;/P&gt;&lt;H3&gt;What's missing (specifics)&lt;/H3&gt;&lt;OL&gt;&lt;LI&gt;No percentage-based or ring-based rollout for a manifest version.&lt;/LI&gt;&lt;LI&gt;Centralized Deployment assignment is manual and coarse — Everyone / specific users / groups only (&lt;A href="https://learn.microsoft.com/microsoft-365/admin/manage/manage-deployment-of-add-ins" target="_blank"&gt;docs&lt;/A&gt;).&lt;/LI&gt;&lt;LI&gt;No telemetry-gated automatic promotion between stages.&lt;/LI&gt;&lt;LI&gt;No one-click halt / automatic rollback to the previous manifest version.&lt;/LI&gt;&lt;LI&gt;Changes to&amp;nbsp;&lt;STRONG&gt;Events / permissions / scopes force admin re-consent and block users until granted&lt;/STRONG&gt;&amp;nbsp;(&lt;A href="https://learn.microsoft.com/office/dev/add-ins/testing/testing-and-troubleshooting#add-in-wont-upgrade" target="_blank"&gt;docs&lt;/A&gt;), so even manual group-phasing is disruptive for event-based add-ins.&lt;/LI&gt;&lt;LI&gt;Marketplace updates are all-or-nothing and auto-propagate.&lt;/LI&gt;&lt;/OL&gt;&lt;H3&gt;What we've tried, and why it's insufficient&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Manual group-based phased assignment&lt;/STRONG&gt;&amp;nbsp;(Microsoft's documented "recommended rollout strategy"): no percentages, no automated health gating, no automated rollback; still forces re-consent for event/permission changes.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Two parallel add-in registrations (pilot vs. prod)&lt;/STRONG&gt;: produces duplicate ribbon UI and doubles admin overhead, and for&amp;nbsp;&lt;STRONG&gt;event-based add-ins both registrations fire on the same event&lt;/STRONG&gt;&amp;nbsp;— unacceptable.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Web-layer feature flags on our own CDN&lt;/STRONG&gt;: works well for code-only changes, but&amp;nbsp;&lt;STRONG&gt;cannot canary anything that lives in the manifest&lt;/STRONG&gt;&amp;nbsp;(events, requirement sets, commands, endpoints, permissions).&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Requested capability&lt;/H3&gt;&lt;P&gt;Native staged rollout for add-in&amp;nbsp;&lt;STRONG&gt;manifest versions&lt;/STRONG&gt;&amp;nbsp;in Centralized Deployment / Integrated Apps:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Define rings or percentages (or a pilot group) for a new manifest version.&lt;/LI&gt;&lt;LI&gt;Promote / expand scope in steps; automatic health signals (activation failures, JS errors, event-handler failures) that gate promotion.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;One-click halt and automatic rollback&lt;/STRONG&gt;&amp;nbsp;to the previous manifest version.&lt;/LI&gt;&lt;LI&gt;Programmatic support (PowerShell / Microsoft Graph) so this integrates with CI/CD.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Precedent — Microsoft already ships this pattern elsewhere&lt;/H3&gt;&lt;P&gt;Office Add-ins are the conspicuous gap. Comparable staged/canary rollout already exists for:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Microsoft 365 Copilot connectors&lt;/STRONG&gt;&amp;nbsp;— "staged rollout" to a limited audience (up to 100 users / 15 groups):&amp;nbsp;&lt;A href="https://learn.microsoft.com/microsoft-365/copilot/connectors/staged-rollout" target="_blank"&gt;https://learn.microsoft.com/microsoft-365/copilot/connectors/staged-rollout&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Microsoft Store apps&lt;/STRONG&gt;&amp;nbsp;— "gradual package rollout" (percentage-based, with halt/finalize):&amp;nbsp;&lt;A href="https://learn.microsoft.com/windows/apps/publish/gradual-package-rollout" target="_blank"&gt;https://learn.microsoft.com/windows/apps/publish/gradual-package-rollout&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Microsoft Entra ID&lt;/STRONG&gt;&amp;nbsp;— cloud-auth "Staged Rollout" (group-scoped):&amp;nbsp;&lt;A href="https://learn.microsoft.com/entra/identity/hybrid/connect/how-to-connect-staged-rollout" target="_blank"&gt;https://learn.microsoft.com/entra/identity/hybrid/connect/how-to-connect-staged-rollout&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;OneDrive sync app&lt;/STRONG&gt;&amp;nbsp;— multi-ring rollout with telemetry-gated suspend:&amp;nbsp;&lt;A href="https://learn.microsoft.com/sharepoint/sync-client-update-process" target="_blank"&gt;https://learn.microsoft.com/sharepoint/sync-client-update-process&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Impact / who benefits&lt;/H3&gt;&lt;P&gt;Every ISV shipping security/compliance/productivity add-ins, and every enterprise admin using Centralized Deployment. Reduces tenant-wide outages from add-in updates and enables safe CI/CD for add-ins.&lt;/P&gt;&lt;H3&gt;Environment&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;Clients: Outlook on Windows (classic + new), Outlook on the web, Outlook on Mac.&lt;/LI&gt;&lt;LI&gt;Requirement sets: 1.15.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Questions for Microsoft&lt;/H3&gt;&lt;OL&gt;&lt;LI&gt;Is native staged/canary rollout for add-in manifests on the roadmap?&lt;/LI&gt;&lt;LI&gt;Is there&amp;nbsp;&lt;STRONG&gt;any&lt;/STRONG&gt;&amp;nbsp;supported way today to (a) roll out a manifest change to a subset of users with automated rollback, and (b) canary an&amp;nbsp;&lt;STRONG&gt;event-based / OnMessageSend&lt;/STRONG&gt;&amp;nbsp;manifest change&amp;nbsp;&lt;STRONG&gt;without&lt;/STRONG&gt;&amp;nbsp;an org-wide re-consent that blocks users?&lt;/LI&gt;&lt;LI&gt;If not supported today, please treat this as a feature request and point us to the correct intake (aka.ms/m365dev-suggestions or other).&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Wed, 01 Jul 2026 07:05:40 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/native-staged-canary-rollout-for-office-add-in-manifests/idi-p/4532380</guid>
      <dc:creator>harshitgoyal97</dc:creator>
      <dc:date>2026-07-01T07:05:40Z</dc:date>
    </item>
    <item>
      <title>Add application (app-only) permission support to the M365 Copilot agents</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/add-application-app-only-permission-support-to-the-m365-copilot/idi-p/4530156</link>
      <description>&lt;P&gt;The beta endpoint GET &lt;STRONG&gt;/beta/copilot/admin/catalog/packages&lt;/STRONG&gt; currently supports delegated permissions only - app-only (client credentials / service principal) calls are rejected with 403 "Access is denied to the requested resource". Note that CopilotPackages.Read.All is already grantable as an application role, but the service refuses app-only auth. Please enable app-only support for this permission so the agent catalog can be read by a background service without an interactive user.&lt;/P&gt;&lt;P&gt;Why this matters: we need to continuously inventory the Microsoft 365 Copilot agents deployed in a tenant for security and governance - tracking which agents exist, who published them, and how they change. We want to query this data from customer tenants, and it can only be performed properly using a service principal, not a user. Delegated-only auth forces an interactive session, making continuous collection impractical.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Request:&lt;/P&gt;&lt;P&gt;1. Enable app-only access for CopilotPackages.Read.All on /beta/copilot/admin/catalog/packages so it can be called with client credentials.&lt;/P&gt;&lt;P&gt;2. Clarify whether app-only access would carry the same Microsoft Agent 365 license requirement that applies today - and if so, whether a read-only inventory scenario can be supported without per-user licensing, since automated collection has no interactive user to license.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jun 2026 12:14:31 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/add-application-app-only-permission-support-to-the-m365-copilot/idi-p/4530156</guid>
      <dc:creator>DanofToken</dc:creator>
      <dc:date>2026-06-23T12:14:31Z</dc:date>
    </item>
    <item>
      <title>Partial / In-Place Updates for Performance-Sensitive Dynamic Arrays</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/partial-in-place-updates-for-performance-sensitive-dynamic/idi-p/4527848</link>
      <description>&lt;P&gt;Currently, dynamic array formulas can only be evaluated as a single, indivisible block. When a data point changes within a large spilled table, Excel forces the entire array to recalculate and repaint. For performance-sensitive UDFs handling large datasets (e.g., simulations, massive lookups, or data feeds), this behavior introduces severe bottlenecks:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Massive CPU overhead: redundant calculations across thousands of unchanged cells.&lt;/LI&gt;&lt;LI&gt;UI lag: the screen visibly stutters or freezes during frequent updates.&lt;/LI&gt;&lt;LI&gt;Regression to workarounds: developers must abandon clean dynamic arrays and revert to legacy CSE arrays or complex VBA macros just to keep the workbook responsive.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I propose introducing support for partial or delta updates within dynamic array spill ranges. Excel's calculation engine should allow a UDF to target and update specific (row, column) indices in place, without marking the entire parent formula block as dirty or triggering a full-range UI repaint.&lt;/P&gt;&lt;P&gt;Why does it matter? Dynamic arrays are the future of Excel, but full-range recalculation is a major bottleneck for heavy data processing. This enhancement would unlock massive performance gains, keeping Excel highly competitive for large-scale, complex modeling.&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jun 2026 12:30:10 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/partial-in-place-updates-for-performance-sensitive-dynamic/idi-p/4527848</guid>
      <dc:creator>akalyan</dc:creator>
      <dc:date>2026-06-12T12:30:10Z</dc:date>
    </item>
    <item>
      <title>Office.js API support for Power Query editing (enable Copilot &amp; AI integration)</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/office-js-api-support-for-power-query-editing-enable-copilot-ai/idi-p/4527291</link>
      <description>&lt;P&gt;The Office.js API currently supports refreshing Power Query connections but provides no capability to read, create, edit, or delete Power Query (M code) definitions programmatically.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Use Case — AI Assistant Integration:&lt;/STRONG&gt;&lt;BR /&gt;AI assistants (Microsoft Copilot, Claude, ChatGPT, etc.) interact with Excel via the Office.js API. Users increasingly expect these tools to help build and maintain Power Queries. Currently, AI assistants cannot:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Read&lt;/STRONG&gt; existing M code to understand or explain data transformations&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Create&lt;/STRONG&gt; new Power Queries from natural language descriptions&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Edit&lt;/STRONG&gt; or debug problematic queries&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Delete&lt;/STRONG&gt; obsolete queries&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Update&lt;/STRONG&gt; connection strings, file paths, or query parameters programmatically&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;This represents a significant gap given Microsoft's investment in Copilot for Excel and the broader AI-assisted productivity vision.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Requested API Capabilities:&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Read M code from existing queries&lt;/LI&gt;&lt;LI&gt;Create new queries programmatically&lt;/LI&gt;&lt;LI&gt;Edit M code for existing queries&lt;/LI&gt;&lt;LI&gt;Delete queries&lt;/LI&gt;&lt;LI&gt;Modify query parameters (file paths, connection strings)&lt;/LI&gt;&lt;LI&gt;Access query metadata (name, last refresh, error status, dependencies)&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Impact:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Enables Copilot and third-party AI tools to fully assist with Power Query authoring&lt;/LI&gt;&lt;LI&gt;Democratizes Power Query by letting AI explain and write M code for non-technical users&lt;/LI&gt;&lt;LI&gt;Aligns with Microsoft's AI-first strategy for productivity tools&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Platform:&lt;/STRONG&gt; All platforms (Windows, Mac, Web)&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jun 2026 19:11:40 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/office-js-api-support-for-power-query-editing-enable-copilot-ai/idi-p/4527291</guid>
      <dc:creator>folotp</dc:creator>
      <dc:date>2026-06-10T19:11:40Z</dc:date>
    </item>
    <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>
  </channel>
</rss>

