Skip to content

Commit d87e32e

Browse files
[Outlook] (new Outlook on Windows) Document add-in availability while offline (#5104)
* Draft changes * Clarify policy to be configured for Smart Alerts * Clarify mailbox/GPO settings * Fix link and tabbed layout * Fix tabbed layout * Correct mailbox policy for new Outlook on Windows * Move offline scenarios for on-send add-ins * Update ms.date and fix casing * Update ms.date and wording * Fix dash * Apply suggestion from review Co-authored-by: Elizabeth Samuel <[email protected]> * Update wording --------- Co-authored-by: Elizabeth Samuel <[email protected]>
1 parent 5e4a9ba commit d87e32e

File tree

5 files changed

+125
-26
lines changed

5 files changed

+125
-26
lines changed

docs/outlook/autolaunch.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Configure your Outlook add-in for event-based activation
33
description: Learn how to configure your Outlook add-in for event-based activation.
4-
ms.date: 03/11/2025
4+
ms.date: 06/05/2025
55
ms.topic: concept-article
66
ms.localizationpriority: medium
77
---
@@ -67,7 +67,7 @@ Because event-based add-ins are deployed by admins, any change you make to the m
6767

6868
## Event-based activation behavior and limitations
6969

70-
Add-in launch-event handlers are expected to be short-running, lightweight, and as noninvasive as possible. After activation, your add-in will time out within approximately 300 seconds, the maximum length of time allowed for running event-based add-ins. To signal that your add-in has completed processing a launch event, your associated event handler must call the [event.completed](/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1)) method. (Note that code included after the `event.completed` statement isn't guaranteed to run.) Each time an event that your add-in handles is triggered, the add-in is reactivated and runs the associated event handler, and the timeout window is reset. The add-in ends after it times out, or the user closes the compose window or sends the item.
70+
Event-based add-ins require an internet connection to be able to launch when a specific event occurs. Add-in event handlers are expected to be short-running, lightweight, and as noninvasive as possible. After activation, your add-in will time out within approximately 300 seconds, the maximum length of time allowed for running event-based add-ins. To signal that your add-in has completed processing a launch event, your associated event handler must call the [event.completed](/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1)) method. (Note that code included after the `event.completed` statement isn't guaranteed to run.) Each time an event that your add-in handles is triggered, the add-in is reactivated and runs the associated event handler, and the timeout window is reset. The add-in ends after it times out, or the user closes the compose window or sends the item.
7171

7272
If the user has multiple add-ins that subscribe to the same event, the Outlook platform launches the add-ins in no particular order. Currently, only five event-based add-ins can be actively running.
7373

docs/outlook/one-outlook.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ The following table identifies key Outlook scenarios and their support status in
4646
|Project management|Enable users to create and track project work items from partner systems.|Supported.|<ul><li>[Activate your Outlook add-in on multiple messages](item-multi-select.md)</li><li>[Activate your Outlook add-in without the Reading Pane enabled or a message selected](contextless.md)</li><li>[Verify the color categories applied to a new message or appointment](https://github.com/OfficeDev/Office-Add-in-samples/tree/main/Samples/outlook-check-item-categories)</li></ul>|
4747
|Attachment management|Enable users to import or export attachments from partner locations.|Supported.|<ul><li>[Activate your Outlook add-in on multiple messages](item-multi-select.md)</li><li>[Activate your Outlook add-in without the Reading Pane enabled or a message selected](contextless.md)</li><li>[Configure your Outlook add-in for event-based activation](autolaunch.md)</li></ul>|
4848
|Message encryption|Enable users to encrypt and decrypt messages.|Partially supported. Essential features are yet to be addressed to create a similar experience to VSTO or COM add-ins.|<ul><li>[Office.context.mailbox.item.body.getAsync](/javascript/api/outlook/office.body#outlook-office-body-getasync-member(1))</li><li>[Office.context.mailbox.item.body.setAsync](/javascript/api/outlook/office.body#outlook-office-body-setasync-member(1))</li><li>[Office.context.mailbox.item.display](/javascript/api/outlook/office.messageread?view=outlook-js-preview&preserve-view=true#outlook-office-messageread-display-member) (preview)</li><li>[Office.context.mailbox.item.display.body.setAsync](/javascript/api/outlook/office.displayedbody?view=outlook-js-preview&preserve-view=true#outlook-office-displayedbody-setasync-member(1)) (preview)</li><li>[Office.context.mailbox.item.display.subject.setAsync](/javascript/api/outlook/office.displayedsubject#outlook-office-displayedsubject-setasync-member(1)) (preview)</li></ul>|
49-
|Data loss prevention|Prevent users from forwarding mail items that contain highly sensitive information.|Supported.|<ul><li>[Automatically check for an attachment before a message is sent](smart-alerts-onmessagesend-walkthrough.md)</li><li>[Handle OnMessageSend and OnAppointmentSend events in your Outlook add-in with Smart Alerts](onmessagesend-onappointmentsend-events.md)</li><li>[Manage the sensitivity label of your message or appointment in compose mode](sensitivity-label.md)</li><li>[Verify the sensitivity label of a message](https://github.com/OfficeDev/Office-Add-in-samples/tree/main/Samples/outlook-verify-sensitivity-label)</li><li>[Office.SensitivityLabel](/javascript/api/outlook/office.sensitivitylabelscatalog)</li><li>[Office.SensitivitiyLabelsCatalog](/javascript/api/outlook/office.sensitivitylabelscatalog)</li><li>[Office.SensitivityLabelDetails](/javascript/api/outlook/office.sensitivitylabeldetails)</li><li>[Office.context.mailbox.item.body.getAsync](/javascript/api/outlook/office.body#outlook-office-body-getasync-member(1))</li><li>[Office.context.mailbox.item.body.setAsync](/javascript/api/outlook/office.body#outlook-office-body-setasync-member(1))</li><li>[Office.context.mailbox.item.closeAsync](/javascript/api/outlook/office.messagecompose#outlook-office-messagecompose-closeasync-member(1))</li><li>[Office.context.mailbox.item.inReplyTo](/javascript/api/outlook/office.messagecompose#outlook-office-messagecompose-inreplyto-member)</li><li>[Office.context.mailbox.item.getConversationIndexAsync](/javascript/api/outlook/office.messagecompose#outlook-office-messagecompose-getconversationindexasync-member(1))</li><li>[Office.context.mailbox.item.getItemClassAsync](/javascript/api/outlook/office.messagecompose#outlook-office-messagecompose-getitemclassasync-member(1))</li></ul>|
50-
|Mail item classification|Enable users to identify and classify messages that contain sensitive information.|Partially supported. Essential features are yet to be addressed to create a similar experience to VSTO or COM add-ins.|<ul><li>[Automatically check for an attachment before a message is sent](smart-alerts-onmessagesend-walkthrough.md)</li><li>[Handle OnMessageSend and OnAppointmentSend events in your Outlook add-in with Smart Alerts](onmessagesend-onappointmentsend-events.md)</li><li>[Manage the sensitivity label of your message or appointment in compose mode](sensitivity-label.md)</li><li>[Manage the sensitivity level of an appointment](/javascript/api/outlook/office.sensitivity)</li><li>[Office.Sensitivity](/javascript/api/outlook/office.sensitivity)</li><li>[Office.SensitivityLabel](/javascript/api/outlook/office.sensitivitylabelscatalog)</li><li>[Office.SensitivitiyLabelsCatalog](/javascript/api/outlook/office.sensitivitylabelscatalog)</li><li>[Office.SensitivityLabelDetails](/javascript/api/outlook/office.sensitivitylabeldetails)</li></ul>|
49+
|Data loss prevention|Prevent users from forwarding mail items that contain highly sensitive information.|Supported.|<ul><li>[Automatically check for an attachment before a message is sent](smart-alerts-onmessagesend-walkthrough.md)</li><li>[Handle OnMessageSend and OnAppointmentSend events in your Outlook add-in with Smart Alerts](onmessagesend-onappointmentsend-events.md)</li><li>[Manage the sensitivity label of your message or appointment in compose mode](sensitivity-label.md)</li><li>[Verify the sensitivity label of a message](https://github.com/OfficeDev/Office-Add-in-samples/tree/main/Samples/outlook-verify-sensitivity-label)</li><li>[Office.SensitivityLabel](/javascript/api/outlook/office.sensitivitylabelscatalog)</li><li>[Office.SensitivityLabelsCatalog](/javascript/api/outlook/office.sensitivitylabelscatalog)</li><li>[Office.SensitivityLabelDetails](/javascript/api/outlook/office.sensitivitylabeldetails)</li><li>[Office.context.mailbox.item.body.getAsync](/javascript/api/outlook/office.body#outlook-office-body-getasync-member(1))</li><li>[Office.context.mailbox.item.body.setAsync](/javascript/api/outlook/office.body#outlook-office-body-setasync-member(1))</li><li>[Office.context.mailbox.item.closeAsync](/javascript/api/outlook/office.messagecompose#outlook-office-messagecompose-closeasync-member(1))</li><li>[Office.context.mailbox.item.inReplyTo](/javascript/api/outlook/office.messagecompose#outlook-office-messagecompose-inreplyto-member)</li><li>[Office.context.mailbox.item.getConversationIndexAsync](/javascript/api/outlook/office.messagecompose#outlook-office-messagecompose-getconversationindexasync-member(1))</li><li>[Office.context.mailbox.item.getItemClassAsync](/javascript/api/outlook/office.messagecompose#outlook-office-messagecompose-getitemclassasync-member(1))</li></ul>|
50+
|Mail item classification|Enable users to identify and classify messages that contain sensitive information.|Partially supported. Essential features are yet to be addressed to create a similar experience to VSTO or COM add-ins.|<ul><li>[Automatically check for an attachment before a message is sent](smart-alerts-onmessagesend-walkthrough.md)</li><li>[Handle OnMessageSend and OnAppointmentSend events in your Outlook add-in with Smart Alerts](onmessagesend-onappointmentsend-events.md)</li><li>[Manage the sensitivity label of your message or appointment in compose mode](sensitivity-label.md)</li><li>[Manage the sensitivity level of an appointment](/javascript/api/outlook/office.sensitivity)</li><li>[Office.Sensitivity](/javascript/api/outlook/office.sensitivity)</li><li>[Office.SensitivityLabel](/javascript/api/outlook/office.sensitivitylabelscatalog)</li><li>[Office.SensitivityLabelsCatalog](/javascript/api/outlook/office.sensitivitylabelscatalog)</li><li>[Office.SensitivityLabelDetails](/javascript/api/outlook/office.sensitivitylabeldetails)</li></ul>|
5151
|Data sync service|Enable bidirectional synchronization of mail items with partner systems.|Partially supported. Essential features are yet to be addressed to create a similar experience to VSTO or COM add-ins.|<ul><li>[Use Microsoft Graph to manage personal contacts in Outlook](/graph/outlook-contacts-concept-overview)</li></ul>|
5252
|Proofing mail items|Provide users with real-time proofreading assistance as they compose messages.|Not currently supported.|Not available|
5353

@@ -92,6 +92,17 @@ To debug an add-in installed in the new Outlook on Windows desktop client, perfo
9292
1. [Sideload the add-in to Outlook on the web](sideload-outlook-add-ins-for-testing.md).
9393
1. Use Microsoft Edge DevTools to debug your add-in.
9494
95+
## Add-in availability when offline
96+
97+
When you turn on the [offline setting](https://support.microsoft.com/office/2460e4a8-16c7-47fc-b204-b1549275aac9) in the new Outlook on Windows, you can continue to access your emails and calendar if you lose internet connection. While some functionalities remain available, Outlook add-ins and the Microsoft 365 and Copilot store aren't available when offline. The following table describes the behavior of certain types of add-ins when your machine is offline or has an intermittent connection.
98+
99+
| Scenario | Task pane and function command add-ins | Event-based add-ins |
100+
| ----- | ----- | ----- |
101+
| No internet connection when Outlook is launched | Installed add-ins don't appear on the ribbon or action bar. | Because Outlook can't determine which add-ins are installed while offline, event-based add-ins can't activate when the event they handle occurs.<br><br>In this scenario, to ensure that Smart Alerts add-ins still check mail items for compliance before they're sent, administrators can configure the **OnSendAddinsEnabled** mailbox policy in Exchange Online PowerShell. When configured, outgoing items are saved to the **Drafts** folder instead of the **Outbox** folder to prevent them from being automatically sent when the machine reconnects to the internet. For more information, see the "Offline when Outlook launches" section of [Handle OnMessageSend and OnAppointmentSend events in your Outlook add-in with Smart Alerts](onmessagesend-onappointmentsend-events.md#offline-when-outlook-launches). |
102+
| A connection is established after launching Outlook while offline | Installed add-ins appear on the ribbon and action bar. | Outlook will be able to identify which event-based add-ins are installed. Installed add-ins can then activate when the event they handle occurs.<br><br>When you select **Send** on a mail item that was blocked by the **OnSendAddinsEnabled** mailbox policy, the Smart Alerts add-in runs to check for compliance. |
103+
| Machine loses connection while Outlook is in use | If you lose connection while using Outlook, your installed add-ins won't run. A dialog or notification is shown to notify that you're offline. | If you lose connection when an event occurs, the behavior differs depending on the type of event-based add-in.<ul><li>**Smart Alerts add-ins**: When you select **Send**, the behavior depends on whether the add-in implements the **prompt user**, **soft block**, or **block** send mode option. To learn more, see the "Intermittent connection" section of [Handle OnMessageSend and OnAppointmentSend events in your Outlook add-in with Smart Alerts](onmessagesend-onappointmentsend-events.md#intermittent-connection).</li><li>**Other event-based add-ins**: An add-in doesn't activate when the event it handles occurs.</li></ul> |
104+
| A connection is reestablished | Installed add-ins can run operations again. | Installed add-ins resume handling events when they occur. Mail items that were moved to the **Outbox** folder are sent. When items in the **Drafts** folder are sent, Smart Alerts add-ins are activated to ensure that the mail items are compliant. |
105+
95106
## Development experience feedback
96107
97108
As you test your Outlook web add-in in the new Outlook on Windows, share feedback on your experience with the developer community through [GitHub](https://github.com/OfficeDev/office-js/issues/new/choose).

0 commit comments

Comments
 (0)