Carousel Cloud can dynamically integrate with Microsoft Exchange (using Microsoft Graph’s API) to display Exchange calendar events on your digital signage.
Please Note:
-
The functionality that drives event bulletins using an Exchange Web Services connection will be end of life starting on October 1, 2026. To ensure continued use (or brand new use) of Microsoft Exchange for displaying events on your digital signage, we’ve provided an updated connection method as explained below.
Any event bulletins that are not updated to the new Microsoft Graph connection method will stop working until the migration steps (located at the end of this support article) are completed.
Additional information about our Microsoft Graph integration is explained here.
-
Make sure the zone dimensions where your event bulletin will be located are large enough to accommodate all of the items in the event bulletin Layout tab, including any possible long event titles. If the zone where the event bulletin is located is too small to display all of the items in the event bulletin layout, rendering errors will occur.
How it Works
Configuration in Microsoft
Please Note: PowerShell commands assume Install-Module PnP.PowerShell / Install-Module Microsoft.Graph with -Scope CurrentUser has been run once.
-
Complete the steps under the specific following article heading to Register an application with Microsoft Entra ID and create a service principal
A Redirect URI is not required during the app registration process
Since 1 app registration can serve both Microsoft 365 files and Exchange calendars, you do not need a separate Carousel Cloud app registration just for Exchange.
-
Record the Application (client) ID and Directory (tenant) ID.
-
Certificates & secrets: create a client secret (record the value immediately) — or if preferred, a certificate using the following PowerShell:
openssl req -x509 -newkey rsa:2048 -keyout carousel-graph.key -out carousel-graph.crt -days 730 -nodes -subj "/CN=Carousel Graph Access"
-
If using the certificate method, in Entra, upload the
carousel-graph.crtunder Certificates Carousel Cloud automatically detects secret vs certificate by content and stores either encrypted at rest.
-
-
In the new app registration you just created, click on:
API permissions
Add a permission
Microsoft Graph
Application permissions
-
Under Calendars, add the
Calendars.Readpermission -
Grant admin consent for…
Note that the API permissions > Status column must show a green checkmark for the
Calendars.Readpermission you’ve added
-
Decide which mailbox owns the signage calendars
The
Calendars.Readpermission covers every mailbox in your tenantIt is not possible to grant per-calendar permissions
-
If you want to narrow the scope, add this app registration to specific mailboxes with an Exchange Online application access policy, so
Calendars.Readcan't read anyone else's calendar:Connect-ExchangeOnline New-ApplicationAccessPolicy -AppId "<client-id>" -PolicyScopeGroupId signage-mailboxes@TENANT.com -AccessRight RestrictAccess -Description "Carousel: signage mailboxes only" Test-ApplicationAccessPolicy -AppId "<client-id>" -Identity signage@TENANT.com
(
PolicyScopeGroupIdis a mail-enabled security group containing the allowed mailboxes;Test-ApplicationAccessPolicyconfirms Granted/Denied per mailbox)
Create an Organization Connected Account in Carousel Cloud
-
Navigate to Configure > System > Org Accounts and choose Microsoft Graph from the drop-down menu
-
From Entra ID, copy the Tenant ID, Client ID, and Client Secret or PEM Certificate data into these fields
-
If using the certificate method, in Carousel Cloud, copy and paste both the
carousel-graph.crtandcarousel-graph.keyconcatenated (both PEM blocks in
one paste)
-
-
Set the User Email to the mailbox from step 5 in the previous section
The mailbox must be a licensed Exchange Online mailbox in the app's own tenant
-
Leave the SharePoint Sites field blank/empty if this connection will only be used for Exchange calendar data
-
Click Save
Validation actually lists the selected mailbox's calendars, so a wrong-tenant, unlicensed, or on-prem mailbox fails the Save
Create the Event Bulletin in Carousel Cloud
Log in to Carousel Cloud and navigate to the zone in which you would like to display the Microsoft Exchange events
Select New Bulletin, then select Dynamic as the bulletin category
Depending on how you want to organize the events from the Microsoft Exchange calendar, choose one of the 3 types of highlighted event bulletins
-
Verify Microsoft Graph is the Schedule Source
-
Select the desired Connected Account and Exchange Calendar from the dropdown
Any calendar owned by that mailbox can be used. This includes the default calendar or those created in Outlook as that user
-
Since the source Microsoft Exchange calendar most likely contains multiple items or entries, you will need to choose how to display the items or entries in the event bulletin. As shown in the screenshots below, the options for managing the event bulletin settings can be made from the orange Dynamic and Content tabs at the top of the bulletin editor window.
More information regarding bulletin layout and formatting is explained in this support article
Dynamic Tab
Content Tab
Please Note: The Dynamic Fields List is a breakdown of all the possible Microsoft Exchange event data fields Carousel Cloud can receive, and also lists the specific information we are receiving for a given data field from your source Microsoft Exchange calendar
After configuring the event bulletin, you can simply hit the orange Publish button in the upper-right corner of the events bulletin screen. The event bulletin creation process is complete!
Migrating from EWS to Microsoft Graph
Please Note: The functionality that drives event bulletins using an Exchange Web Services connection will be end of life starting on October 1, 2026. Any event bulletins that are not updated to the new connection method will stop working until the migration steps located below are completed.
In Carousel Cloud, create a Microsoft Graph Org Account (just do this once) for the same organization that houses the legacy EWS account
Set the User Email in the new Microsoft Graph connection to be whatever is currently used for Exchange User Impersonation field from the existing Microsoft Exchange connection, or to whatever user has access to the desired calendar
In Entra ID, make sure the Carousel Cloud App Registration has
Calendars.Readaccess under API Permissions-
The following must be completed for every event bulletin using the Microsoft Exchange (legacy)/EWS account:
Edit the event bulletin
Remember the currently chosen calendar
Switch the Schedule Source from the EWS-connected account to the new Microsoft Graph-connected account
-
Choose the same calendar that was used before
If you don’t see the same calendar as before, make sure the User Email was set correctly, as shown in step 2
Publish the bulletin to make the changes take effect