NEW: ExoOooSync - Automatically Sync Out-of-Office from Exchange Online to Znuny

Moderator: crythias

Post Reply
stephan14x
Znuny newbie
Posts: 28
Joined: 08 Jan 2014, 08:54
Znuny Version: 2.4 > 3.3 > 6 > 7.2
Real Name: Stephan Lang
Contact:

NEW: ExoOooSync - Automatically Sync Out-of-Office from Exchange Online to Znuny

Post by stephan14x »

Hello everyone,

I've developed a new add-on: ExoOooSync - automatic synchronization of Out-of-Office status from Microsoft Exchange Online to Znuny.

The Problem:

Agents set their automatic replies in Outlook - but Znuny doesn't know about it. Tickets get assigned to absent agents, remain unprocessed, customers wait. Manually maintaining the status in two systems gets forgotten regularly.

The Solution:

ExoOooSync reads the OOO status of all agents from Exchange Online via Microsoft Graph API and automatically transfers it to Znuny agent preferences. The agent only sets OOO in Outlook - Znuny takes care of the rest.

Features:
  • Fully automatic synchronization - No manual intervention needed
  • Three mapping modes - Email=UPN, UserLogin→onPremisesSamAccountName, Email→Primary SMTP
  • Detects all Exchange states - Disabled, Scheduled (with time range), Always enabled
  • Scheduled execution - Weekdays 06:00-18:00 every 15 min, otherwise hourly (configurable)
  • Detailed logging - Every change individually in system log with before/after values
  • CLI command - Manual execution and testing via console command
  • Widget deactivation - Agents can no longer manually change OOO in Znuny
  • Email domain filter - Sync only specific domains (e.g. internal agents)
  • Scalable - Graph API $batch endpoint (20 queries/request), automatic retry on throttling
Requirements:
  • Znuny 7.2.x with running Daemon
  • Microsoft 365 with Exchange Online
  • Azure AD (Entra ID) app registration with MailboxSettings.Read permission
Installation:

1. Add repository: Admin > System Configuration > Package::RepositoryList
Name: wolkig.it, URL: https://wolkig.it/packages
2. Admin > Package Manager > Install "ExoOooSync"
3. Enter Azure AD credentials in System Configuration
4. Select mapping mode, optionally set domain filter, enable the feature

Links: License: AGPL v3 - Open Source, free, modifications allowed

Feedback and suggestions for improvement are welcome! The add-on was created with the help of Claude Code - feel free to ask if you're interested in the development methodology.

Best regards
Stephan Lang
wolkig.it

This is an English translation of the original German post, published to reach a wider audience.
Started with OTRS 2.4 and used OTRS 6.0 until 2023
After a Year of Hell using a leading cloud tool, I'm resetting to OTRS Znuny - Voyager Reference intended
Currently building a new Znuny 7.2 system
Post Reply