Microsoft 365 developer portals
38 TopicsOffice.js API — Open OneDrive Files in Current Word/PPT Instance
Currently, Office.js does not provide an API to directly open a OneDrive (or SharePoint Online) file in the current Word/PPT desktop instance. For add-ins that integrate with external systems, this creates a significant limitation. Users often need to: Access Word/PPT documents stored in OneDrive/SharePoint directly from an add-in. Ensure the file opens seamlessly in the same Word/PPT session, without forcing them to manually download or open a new instance. Why this is important Improves user workflow and productivity. Essential for add-ins that sync or integrate with cloud storage and external systems. Avoids user confusion from multiple Word windows or manual file handling. Requested capability An Office.js API such as: Office.context.document.openFileFromUrl(fileUrl, options); where fileUrl is a OneDrive/SharePoint URL and options could specify whether to open in the current instance or a new one. This would align Office.js capabilities more closely with real-world workflows and reduce friction for both developers and end-users.Add viewportChanged event to Word JavaScript API
In Word add-ins, we often need to react to changes in the user's viewport (scrolling, zooming, etc.). Currently, there's no event to detect when the visible pages change. A viewportChanged event on Word.Pane or Word.Window would allow developers to optimize performance and create dynamic experiences based on what the user is viewing.215Views72likes0CommentsMicrosoft Loop: Ability to create/add diagrams in pages
Often we need to explain, discuss, agree on subjects that need to be supported by diagrams. These diagrams are often subject to changes as result of the interactions with the different stakeholders. It would be important to have the ability to add these diagrams directly in the loop workspace pages, instead of inserting images.2.5KViews7likes2CommentsOutlook 365 for Mobile app - Compose window support for Office JS add-ins
We are exploring the new Office JS add-ons model for Outlook for mobile apps and wanted to integrate our product with iOS/Android apps. While exploring the new Office JS model, we didn't see any way to integrate the product with compose window. Task-pane or commandBar way of integration is missing for compose window. Compose window task-pane or commandBar integration is common use case among iOS/Android users. While composing emails, the following use cases are common in industry: Users want to insert documents or attach emails from 3rd part repository or storage or from content management software. When user sends an email, they want to keep a copy of the email in the repository also Currently these use cases are not possible with add-in model. But it is supported in desktop version as well as web version of add-ins. Without these use cases support, users wont adapt our solutions. So this is required for more user adaptability.Add DirSync properties to /directory/onPremisesSynchronization
We need the Microsoft Graph API to return the following properties. Can they be added to the Graph API endpoint GET "/directory/onPremisesSynchronization"? DirSyncServiceAccount DirSyncApplicationType DirSyncClientMachineName DirSyncClientVersion We currently get these properties from the Get-MsolCompanyInformation, Get-MsolDirSyncConfiguration or Get-MsolDirSyncFeatures cmdlets from MSOnline but that module is EOL and also does not work for us partners who use GDAP. In /beta/organization the property onPremisesSyncEnabled is null if it is disabled and instead we think it should return the boolean false. When it is enabled it returns boolean true.658Views6likes0CommentsCreate and manage organization contacts and distribution groups with Microsoft Graph
At the moment it is not possible to create an organization contact (orgContact) via Microsoft Graph. Our customer now wants to synchronize their Business Central Cloud distribution lists (mailing groups) with the Exchange distribution group. For this we need an endpoint for the creation of the contacts (organization Contact). Also we need to manage the distributation groups in Exchange, which is also currently not possible. https://learn.microsoft.com/en-us/graph/api/resources/groups-overview?view=graph-rest-1.0#group-types-in-azure-ad-and-microsoft-graph Something similar was posted in March this year and was marked as completed. I think this feature is not fully implemented and should not be marked as completed. https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/orgcontact-with-microsoft-graph-api/idi-p/3250022Smart alerts: Add handling for Send anyway and don't send buttons
Many add-ins have migrated to using the new smart alerts feature, primarily because it offers a non-blocking experience for users when an add-in encounters an issue. However, this migration has introduced a significant limitation: Smart alerts do not provide the same level of control that traditional dialog-based flows did, especially in scenarios where the add-in needs to know whether an email was sent or not. In the previous model, add-ins could handle "Send" or "Don't Send" actions explicitly, but smart alerts currently offer no event hooks for these actions. This poses a challenge for add-ins that depend on tracking whether a message was actually sent, as there is no reliable way to determine the outcome of the user’s decision. Suggested improvements (Implement one of these): 1. Add event handling for “Send Anyway” and “Don’t Send” buttons Introduce the ability for add-ins to register a callback function that is triggered after a user clicks either the Send Anyway or Don’t Send button. This callback should not allow UI interaction (e.g. showing dialogs or alerts) but should give the add-in a chance to log or process the outcome silently. 2. Allow send mode override from prompt user to soft block Allow the add-ins to switch the send mode from prompt user to soft block (Currently only the opposite is possible). In this model: If the add-in is unreachable, the user is not blocked and can proceed. If the add-in is reachable, it can control the send operation (leveraging the existing taskpane-based send flow).104Views4likes0CommentsFeature Request: Add error/rejection support to Office.onReady() for network/dependency failures
Description Currently, when Office.js loads but one of its dependent resources (such as office_strings.js) fails to load due to network issues or blocking, the Office.onReady() promise never resolves or rejects. This leaves developers without a reliable way to detect missing dependencies. Instead of relying on timeouts or log messages, it would be very helpful if Office.onReady() provided an error callback or rejection in these scenarios. Why this matters: Helps developers handle production failures gracefully. Avoids arbitrary timeouts/workarounds to detect missing dependencies. Provides parity with modern async practices where promises resolve or reject deterministically. Enables better telemetry/analytics by explicitly knowing why initialization failed. Suggested Approach: If a required dependency fails to load, Office.onReady() should reject with an error describing the missing dependency. Alternatively, provide an event/callback (e.g., Office.onError) that developers can subscribe to. Example: Office.onReady() .then(info => { console.log("Office.js initialized:", info); }) .catch(err => { console.error("Office.js failed to initialize:", err); // custom fallback handling }); Impact: This would improve developer experience significantly and make add-ins more resilient in real-world network environments.