Requirements and Recommendations on Microsoft Exchange
Integrating AskCody and Microsoft Exchange comes with a few hard requirements and helpful recommendations. Learn about them here
Requirements
Azure Plan
Microsoft Azure has a wide variety of plans, which adapt to different organizational needs and requirements. In AskCody, we do not have requirements about specific Azure plans, however, to successfully integrate with your organization, the Azure plan of your choice should give your organization access to the Microsoft Exchange Admin Center, Active Directory and provide your users and organizational resources with valid Exchange Mailboxes.
Establishing a connection between Microsoft Exchange and AskCody
Requirements for Exchange Online (Microsoft Graph)
For Microsoft Exchange Online, AskCody connects through Microsoft Graph. Your Microsoft 365 administrator grants consent to the AskCody enterprise application once, and no service account, password, or EWS URL is stored or shared with AskCody.
- A Microsoft 365 Global Administrator to grant admin consent to the AskCody enterprise application.
- The following application permissions, granted through the consent flow: Calendars.Read, Calendars.ReadWrite, GroupMember.Read.All, User.Read.All. The purpose of each permission is documented in Permissions used and required connecting AskCody with MS Graph and Entra ID.
- Room and resource mailboxes created in Exchange Online for the rooms and desks you want to manage with AskCody. See How to create multiple rooms or desks in Exchange for Microsoft 365.
Note: There is no EWS requirement for Exchange Online. Microsoft begins blocking EWS in Exchange Online on October 1, 2026, and AskCody's Exchange Online integration runs on Microsoft Graph.
Requirements for Exchange Server (on-premises and hybrid)
For Exchange Server, AskCody connects through Exchange Web Services (EWS) using a service account.
- A service account with a mailbox, created for the AskCody integration. See Create a service account using PowerShell.
- The ApplicationImpersonation role assigned to the service account. See Why Basic Authentication requires Application Impersonation.
- A direct connection to your organization's Exchange Web Services (EWS). If you use load balancers or firewalls in front of EWS, the AskCody services must be able to reach the EWS endpoint. See Allowlisting AskCody Services.
- TLS 1.2 enabled for inbound and outbound traffic on your Exchange Servers.
Note: If you run a hybrid setup, the Exchange Online side connects through Microsoft Graph and the on-premises side through EWS. Read How to handle Hybrid Exchange Setups.
Automatic User Synchronization
Exchange Online
- Global administrator access to Entra ID for the initial setup
- Grant the AskCody Application permissions to read user profiles in Entra ID
- Security-enabled groups in Entra ID
- Users setting up the synchronization need to exist in the organization's Entra ID (relevant when hiring a third-party service provider to set up the user synchronization)
Learn more about the user synchronization with Azure Active Directory here
Exchange On-Prem
- AskCody Active Directory Forwarding Service (AADFS) running on an Exchange Server in your organization. AADFS requires no physical installation to run. Learn more
Add-Ins
The AskCody add-ins are available in two formats:
- Modern Add-ins
- VSTO Add-ins
Using Modern Add-ins
- Exchange version 2013, or higher
- Global Admin in Microsoft Exchange to deploy the add-ins
Learn more about deploying modern add-ins here
Using VSTO Add-ins
- Microsoft .NET Framework 4.5.2 Full
- Visual Studio 2010 Tools for Office Runtime
- Windows 10 (version 1809 - Redstone 5, or above)
Recommendations
- Restricting access on Exchange Online: If your organization wants to limit which mailboxes AskCody can access, Microsoft supports Application Access Policies for applications using Microsoft Graph permissions. See Limiting which mailboxes AskCody can access in Exchange Online for how to scope the AskCody application to a specific set of mailboxes.
- Automate processing of booking requests: When adding room mailboxes to Exchange, we recommend enabling Automate Processing for the meeting room resource. For more information about Automate Processing, please go to TechNet. Automate Processing allows “meeting responses” to be sent to the user when a resource is booked. Automate Processing is required for all resource calendars because it will prevent double bookings or “conflicts”.
If Automate Processing isn't enabled, booking conflicts might happen, and booking confirmations and rejections would be handled manually.
- Setting up Booking Policies and Scheduling Permissions: Customizing the scheduling options and permissions allows you to control how your organization utilizes your resource calendars. A smart configuration of your scheduling options and permissions will eliminate potential user errors and align calendar booking with your business rules and procedures. Learn more
- Keep room and resource mailboxes in a consistent naming convention. See Best practices for naming conventions.
- Configure resource scheduling options (auto-accept, booking windows, conflict handling) in Exchange, as described in Scheduling Options and Permissions inside Microsoft 365 (Office 365) and Exchange.
- Decide which meeting details should be visible to AskCody modules. See How do I avoid sharing attachments and notes with a resource calendar.