We are moving to Office 365 (gradually). What needs to be done to an existing installation of AgendaX V6.x?

We are moving to Office 365 (gradually). What needs to be done to an existing installation of AgendaX V6.x?

If the move to Office 365 takes some time and you migrate mailboxes with several batches, we suggest to install a second instance of AgendaX during the transition.

The first (existing) instance will read on-premise mailboxes and the second (new) instance will read migrated (O365) mailboxes.

During the transition, you will still see all calendars of both on-premise and migrated mailboxes in the AgendaX web application.


Installing a second AgendaX Setup on the AgendaX server to access the O365 mailboxes

  • Create a new AgendaX user on Office 365 (including mailbox)
  • Copy the AgendaX installation folder to a second location, e.g. AgendaXO365
  • Install the second service with the Multi service configuration tool AgendaX multi service configuration utility. The service account you enter will be the account used to run the AgendaX Update Service. This should ideally be the new AgendaX user on Office 365. If this is not possible, select a local user with Administrative privileges on the AgendaX Server.
  • Install Outlook 2013 or 2016 on the AgendaX Server, if not already present
  • Log on with the new AgendaX user (or the local user you specified while installing the second service) to the AgendaX server
  • Set the appropriate registry flags for the Outlook version used and AgentX.ini settings (page 5 in the Installation Guide: AgendaX Installation Guide)
  • Create an Outlook profile with this user, accessing its mailbox on O365, and disabling Exchange Cache Mode in the Outlook profile. If you are prompted for a username / password, check the ‘Remember Password’ option before entering the credentials. Note the name of the Outlook profile you created (default: Outlook)
  • Run the AgendaX Configuration in the AgendaX O365 installation (AgendaXCfg.exe), click MSX Version, select Office 365 and enter the name of the Outlook profile you created, logged-in with the O365 AgendaX user (or the local user).
  • Set the Mailbox folder permissions for the users already migrated to O365 with the following, language-independent Powershell script. You will have to initiate a remote Powershell session first with O365, using the Get-Credential, New-PSSession and Import-PSSession commands. Replace “agendax” on the 3rd line in the following script with the name of your O365 AgendaX account:
    foreach ($Mailbox in (Get-Mailbox -ResultSize Unlimited))
      $AgendaXAccount = "agendax"
      $InboxStat = Get-MailboxFolderStatistics -Identity $Mailbox -FolderScope Inbox
      $InboxName = "$($Mailbox.PrimarySMTPAddress)" + ":\" + "$($InboxStat.Name)"
      $CalendarStat = Get-MailboxFolderStatistics -Identity $Mailbox -FolderScope Calendar
      $CalendarName = "$($Mailbox.PrimarySMTPAddress)" + ":\" + "$($CalendarStat.Name)"
      Write-Host "Applying permissions to mailbox: $($Mailbox.Name) (TOIS/$($InboxStat.Name)/$($CalendarStat.Name))"
      $AccRightTOIS = Get-MailboxFolderPermission -identity $Mailbox.PrimarySMTPAddress -user $AgendaXAccount >$null 2>&1
      $AccRightInbox = Get-MailboxFolderPermission -identity $InboxName -user $AgendaXAccount >$null 2>&1
      $AccRightCalendar = Get-MailboxFolderPermission -identity $CalendarName -user $AgendaXAccount >$null 2>&1
      If ($AccRightTOIS.AccessRights -ne "Reviewer") {Add-MailboxFolderPermission -identity $Mailbox.PrimarySMTPAddress -AccessRights Reviewer -User $AgendaXAccount >$null 2>&1}
      If ($AccRightInbox.AccessRights -ne "Reviewer") {Add-MailboxFolderPermission -identity $InboxName -AccessRights Reviewer -User $AgendaXAccount >$null 2>&1}
      If ($AccRightCalendar.AccessRights -ne "Editor") {Add-MailboxFolderPermission -identity $CalendarName -AccessRights Editor -User $AgendaXAccount >$null 2>&1}
  • Stop the AgendaX Update service of the old AgendaX installation
  • Run the AgendaX Configuration of both the old and the new installation (AgendaXCfg.exe) and tick the “Multiple services write to this database” option and drop the database tables (only once) under Config / Drop tables.
  • Click “Update” in both AgendaX Configuations and “Yes” to restart the Services
  • Check the Windows Application Eventlog for possible warnings / errors. Each of the services will add warnings to the Application Event log for the mailboxes that are not on their system. This is normal. The on-premise Setup will create warnings for the O365 mailboxes and the O365 Setup will create warnings for the on-premise mailboxes. If you get warnings on the O365 installation about mailboxes that cannot be found in the global address book and these mailboxes have already been migrated to O365, you will have to re-select them from the address book in the AgendaX group definitions (AgendaXCfg.exe / Groups).
  • After both AgendaX Update Services have finished scanning through the mailboxes, you will see both on-premise and O365 mailbox calendars in the AgendaX web application.
  • While you are moving users from the on-premise Exchange servers to O365, you will need to re-run the above Powershell script to set permissions on the newly moved mailboxes.


Removing the old AgendaX Setup after all mailboxes are moved to O365

When all mailboxes are moved to O365, you can uninstall the old AgendaX setup by following the below steps. As the web-application of AgendaX is still running under your old AgendaX setup, you will first need to move this to the location of the new (O365) installation:

  • Run Internet Information Services (IIS) Manager, navigate to Sites / Default Web Site / AgendaX, click “Basic settings” and change the location of the “Physical path” to the folder of your new AgendaX O365 installation.

If you have made any configuration changes on the AgendaX Administration page (in the AgendaX web application) since you installed the O365 installation of AgendaX, or if you have made changes to the collapsible group menu in the multmenu.txt file, copy config.inc and multmenu.txt (both are located in the AGENDA subfolder of your AgendaX installation folder) from the old Setup to the O365 setup.


To uninstall the old AgendaX Setup, follow the steps below:

  • Stop the AgendaX Update Service of the old installation
  • Close any instances of MMC (Microsoft Management Console), e.g. Services, Event Viewer
  • Open a command prompt and change to the AgendaX installation folder of your old AgendaX installation, e.g. CD C:\Inetpub\AgendaX
  • Enter the following command:
    AgendaXSrv.exe -u (this will uninstall the AgendaX Update Service)
  • Delete the old AgendaX installation folder

The final step is to tell the AgendaX Update service that no longer other services are using the same database. Run the AgendaX Configuration (AgendaXCfg.exe) in your new O365 setup folder and untick the “Multiple services write to this database” option and drop the database tables under Config / Drop tables, then click “Update” and “Yes” to restart the service.

Language independent permission settings for AgendaX on Exchange Server 2013, 2016, 2019, Office 365

Permissions that need to be set for the AgendaX account on Exchange Server 2013, 2016, 2019, and Office 365 are Outlook folder level permissions.

Since folder names in Outlook differ depending on the language used when the mailbox is first opened with Outlook, you'd have to know which employee uses which language to assign permissions to the correct folders. In addition to that, you'd have to know what the folders are called in these languages.

If you have mailboxes in multiple languages in your company, you can easily set the required permissions for the AgendaX account using the following script, which works for all languages.

Please make sure you replace "agendax" on the 3rd line with the name of your AgendaX account:

foreach ($Mailbox in (Get-Mailbox -ResultSize Unlimited))
  $AgendaXAccount = "agendax"

  $InboxStat = Get-MailboxFolderStatistics -Identity $Mailbox -FolderScope Inbox
  $InboxName = "$($Mailbox.PrimarySMTPAddress)" + ":\" + "$($InboxStat.Name)"
  $CalendarStat = Get-MailboxFolderStatistics -Identity $Mailbox -FolderScope Calendar
  $CalendarName = "$($Mailbox.PrimarySMTPAddress)" + ":\" + "$($CalendarStat.Name)"

  Write-Host "Applying permissions to mailbox: $($Mailbox.Name) (TOIS/$($InboxStat.Name)/$($CalendarStat.Name))"

  $AccRightTOIS = Get-MailboxFolderPermission -identity $Mailbox.PrimarySMTPAddress -user $AgendaXAccount >$null 2>&1
  $AccRightInbox = Get-MailboxFolderPermission -identity $InboxName -user $AgendaXAccount >$null 2>&1
  $AccRightCalendar = Get-MailboxFolderPermission -identity $CalendarName -user $AgendaXAccount >$null 2>&1

  If ($AccRightTOIS.AccessRights -ne "Reviewer") {Add-MailboxFolderPermission -identity $Mailbox.PrimarySMTPAddress -AccessRights Reviewer -User $AgendaXAccount >$null 2>&1}
  If ($AccRightInbox.AccessRights -ne "Reviewer") {Add-MailboxFolderPermission -identity $InboxName -AccessRights Reviewer -User $AgendaXAccount >$null 2>&1}
  If ($AccRightCalendar.AccessRights -ne "Editor") {Add-MailboxFolderPermission -identity $CalendarName -AccessRights Editor -User $AgendaXAccount >$null 2>&1}

Just copy and paste the above script into Powershell. It will assign Reviewer rights on the top of the mailbox and Inbox, as well as Editor rights on the Calendar folder.

If you don't want to assign these rights on every mailbox in your organization, but would rather limit this to an organizational unit for example, you can modify the Get-Mailbox statement on the 1st line by adding -OrganizationalUnit with the name of the organizational unit you wish to assign permissions in.

Does AgendaX support multiple languages?

Currently supported languages are English, German, French, Italian, Danish, Norwegian, Finnish, Swedish, Dutch and Polish.

The language used by AgendaX can be either:

  • defined by the administrator (all users use the same language)


  • AgendaX automatically adapts to the first browser language supported by AgendaX.

Additional languages can  be added easily. Upon request, we can send you a language file for translation, which we can integrate into the product within just a few days.

Can AgendaX handle multiple time zones?

Yes, AgendaX allows users to set the time zone they are in (this can change when employees move or travel between locations). This allows all free/busy times to be displayed in the respective time zone.

How can groups be managed in AgendaX?

Calendar views showing different groups of people and/or resources can be created by the administrator or end users.

The administrator can configure an unlimited number of individual groups consisting of Exchange distribution lists and individual users. The members of these groups are the users whose calendars are displayed by the AgendaX web application.

Each AgendaX end user has the possibility to define up to 9 personal groups, which are only available to him / her. Personal groups are defined in the AgendaX web interface.

How are access permissions to calendars managed by AgendaX?

AgendaX offers you 3 security levels: no security, minimal security, and full security.

  • No security - Everyone sees all calendars, but by default AgendaX does not publish meeting details of meetings with the sensitivity 'Personal', 'Private' or 'Confidential'.
  • Minimal Security - Details of meetings (subject, location, attendees) for selected people (e.g. board of directors, HR, etc.) are not published
  • Full Security - Users only see calendars of users who have granted them access rights to their Outlook calendar folder, with the option to display only Free/Busy data for calendars without permissions.

You can also set up different installations of AgendaX to display separate groups of users if they are not allowed to view the data of the other groups.

How easy is it to customize AgendaX?

AgendaX comes with a set of icons that represent important features, as well as background colors, date layouts, ruler colors, etc.  It is very easy to change background colors, date layouts, ruler colors, etc., and add your own logo and background images if needed.

You can also specify how meetings are displayed:  For example, show only weekdays (without Saturday / Sunday), show only meetings within the specified working hours, hide meetings that are marked as free, show the organizer and participants in a tooltip, and so on.

Furthermore, thanks to access to the source code of all views, you can program your own custom views or have us program them for you.

How easy is it to configure AgendaX?

AgendaX provides a web-based configuration interface that allows easy setup of all AgendaX features. AgendaX views can be easily customized to match corporate identity and business requirements. The supplied icons and colors used to represent various activities can be changed to suit your needs.

The AgendaX administration page is used to configure the most common AgendaX settings. Only a closed user group of administrators can access it. The page is divided into the following sections:

  • Global settings are settings that affect all views (e.g. time format, language, etc.)
  • The display settings affect how the views are displayed (which colors to use, how many days to display, etc.)
  • The feature settings allow you to enable / disable various AgendaX features.
  • View settings let you determine which views are available and configure various aspects of those views.
  • With Categories you can define which Outlook categories are highlighted in the overviews.
  • Additional settings allows you to configure other, less common AgendaX settings.

How does AgendaX behave in an Exchange cluster server environment?

Since AgendaX behaves like an Outlook client, nothing special needs to be considered in a cluster server environment. If a cluster member server goes down, AgendaX automatically connects to another member server as soon as it takes over.

MSX distribution lists vs individual mailboxes

Can I add Exchange distribution lists to AgendaX groups instead of individual mailboxes? Yes. AgendaX groups can contain individual mailboxes and / or Exchange Distribution Lists. Exchange Distribution Lists are resolved to their members each time the AgendaX Update Service scans calendars, so new members of an Exchange Distribution List are automatically added to AgendaX groups. Likewise, members that are deleted from an Exchange distribution list also get deleted from AgendaX groups. Therefore, you only need to update group membership in Exchange distribution lists, and AgendaX automatically updates its groups.

Page 1 of 212

Contributions related to the subject

Would you like to write a guest post?
Please contact us.