Building custom solutions that extend, automate, and integrate Microsoft 365 apps.
Please note that we're not Microsoft Support, this is a user-to-user community forum. Moderators here don't have access to your environment or Microsoft's backend systems, so we can only provide guidance based on public documentation and community experience.
Based on your requirements, Microsoft Graph is the recommended approach for integrating Outlook Automatic Replies (Out of Office) information with Jira Cloud.
1.Microsoft Graph API is the recommended Microsoft 365 API for accessing Outlook mailbox settings, including Automatic Replies (Out of Office). It is the supported API for Exchange Online mailbox configuration and is the approach Microsoft recommends for new development.
For your scenario, the mailbox settings endpoint is the appropriate API:
GET /users/{id | userPrincipalName}/mailboxSettings/automaticRepliesSetting
2.The automaticRepliesSetting object includes the information required for your scenario, including:
- Automatic Replies status (
disabled,alwaysEnabled, orscheduled) - Scheduled start date and time
- Scheduled end date and time
- Internal automatic reply message
- External automatic reply message
- External audience setting (for example, contacts only or all external senders)
For most integrations, this endpoint is sufficient to retrieve the information you've listed. You can refer to this response.
3.Required permissions
- For read-only access, the recommended Microsoft Graph permission is:
MailboxSettings.Read - If your application also needs to modify Automatic Replies settings, then:
MailboxSettings.ReadWrite
No additional Microsoft Graph permissions are generally required solely for reading Automatic Replies settings.
An Azure App Registration using Application permissions is generally the recommended approach for periodically retrieving Automatic Replies settings for multiple users across the organization. This avoids requiring users to sign in individually and is well suited for background synchronization scenarios. Delegated permissions are more appropriate when the application is acting on behalf of the currently signed-in user.
A separate service account is typically not required when using an application with the appropriate Microsoft Graph application permissions and administrator consent.
4.Polling every 30 minutes or every hour is a reasonable approach. As with any Microsoft Graph integration, your application should:
- Handle HTTP 429 (Too Many Requests) responses.
- Respect the Retry-After header when throttling occurs.
- Implement retry logic with exponential backoff.
- Cache results where appropriate instead of making unnecessary requests.
The likelihood of throttling depends on factors such as the number of mailboxes being queried, request frequency, and overall application behavior.
5.Microsoft Graph documentation currently does not list change notifications for the mailboxSettings or automaticRepliesSetting resources. Therefore, scheduled polling is generally the recommended approach for this scenario.
6.Recommended implementation flow
- Register an Azure AD (Microsoft Entra ID) application.
- Grant the application
MailboxSettings.Readapplication permission and obtain administrator consent. - Periodically call:
GET /users/{id}/mailboxSettings/automaticRepliesSetting - Read the
automaticRepliesSettingobject. - Compare with previously stored values if desired to detect changes.
- Send the relevant information to Jira using the Jira REST APIs.
- Handle Microsoft Graph throttling appropriately.
I hope this information is helpful.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.