1. Help Center
  2. Implementing AskCody
  3. 4. Connecting to Microsoft Exchange

Connecting and Integrating Microsoft Exchange with AskCody

Configuring AskCody, the integration with Microsoft Exchange is a key step and a requirement for your AskCody Platform to work since AskCody is built on top of Microsoft Exchange.


We recommend that the following steps of integrating AskCody with Microsoft Exchange are performed and done by an Exchange Admin or an External Microsoft Exchange Pro who is familiar with configuring Microsoft Exchange and must have the Microsoft Exchange Admin Role in your organization.
If you don’t have this access or role, please contact your IT department, and explain the requirements of setting up AskCody.

Therefore, this step is key to setting up your AskCody platform. 

All settings in Microsoft Exchange can be managed both inside the Exchange Admin Center or using PowerShell. Using PowerShell, you can create, manage, and edit multiple meeting rooms at once. AskCody integrates with Microsoft Exchange via Exchange Webservices Managed API and integrates with and shares data using Microsoft EWS – a native part of Microsoft Exchange and Microsoft Exchange Online to share data with third parties like AskCody.

Connecting to Microsoft Exchange data is done using one of two authentication methods depending on Exchange Server or Exchange Online. These are referred to as Modern- and Basic Authentication. It’s up to you, or your organization’s security policies to decide which method you want to use based on your version of Microsoft Exchange. 

Modern and Basic Authentication

Modern Authentication
With Modern Authentication, a Global Administrator in your organization grants permissions to the AskCody EWS application through an OAuth 2.0 flow in Azure Active Directory. The AskCody EWS application can then access EWS using a certificate-based authentication flow. This means that no Service Account and no credentials are shared with AskCody connecting AskCody with Exchange.

Modern Authentication can only be used with Exchange Online and Office 365.

Basic Authentication
Basic Authentication requires that you connect using a username and password of an Exchange Service Account when connecting AskCody to Exchange. These credentials are then used to connect to Exchange Web Services (EWS) to access data in Microsoft Exchange. With a connection to Exchange Server using a Service Account, you administer the credentials to this account and is responsible for entering these into the AskCody Management Portal when connecting Microsoft Exchange to AskCody.

Credentials are subsequently end-to-end hashed and encrypted, so they never appear in plain text, when entered in the AskCody platform. The credentials are hashed and encrypted both at rest and at motion. The Service Account (email and password) entered in the AskCody Management can thus be used solely by the AskCody platform to log in via EWS to access the meeting data listed above on the meeting room resources connected with the platform.

If you are not familiar with how to create a Service Account and provision this role with the right permissions, please read and follow this guide on how to create a Service Account on Microsoft Exchange.

Basic Authentication is often used with Exchange Server but can be used with Exchange Online as well.

Read more about the differences between Modern and Basic Authentication in this article.

Connect Microsoft Exchange with AskCody

Based on your version of Exchange, now choose one of the two methods to connect and follow step-by-step:

Modern Authentication

Connecting to AskCody with Modern Auth (OAuth 2.0)

Exchange Admin

In order to connect to Exchange Online using Modern Authentication, you must be a Global Administrator in your organization's Azure Active Directory.
Using Modern Authentication, it is required that the Global Admin account used for authentication (a role assigned in Active Directory) has a mailbox assigned and connected to the account, since verifying that a mailbox exists for the user (the email address) is part of the validation and verification process. This ensures that a connection between the Exchange mailboxes and AskCody can be established. Learn more about this here

  1. Log in to the AskCody Management Portal with the credentials created when creating your organizational account on the signup page
  2. Click the menu tab in the upper left corner.
  3. Go to the Admin Center.
  4. In the Admin Center, click Connect and choose Connections.
  5. Click Add and choose Microsoft Exchange Online (Office 365).
  6. Click Connect and you will be redirected to the Microsoft Portal and asked to log in.

Connect Microsoft Exchange to AskCody

7.  Click Accept to the permission request, and if you don't get an error your connection is correct and is now established.

 Permissions requested by the AskCody App in EWS

Basic Authentication

Using Basic Authentication to connect Microsoft Exchange and AskCody, you need to create an Exchange User (also called Service Account) and give this user the ApplicationImpersonation role. This is a requirement for AskCody to work. ApplicationImpersonation must be enabled on the Service Account. You can learn more about why in this article that describes the difference between ApplicationImpersonation and Delegated Access and why ApplicationImpersonation is required for using Basic Auth using a Service Account.

  1. Create a Service Account in your Exchange environment. See how here.
    We recommend that you call this user "askcody@your-domain.com" or similar.
  2. Log in to the AskCody Management Portal with the credentials created when creating your organizational account on the signup page
  3. Click the menu tab in the upper left corner.
  4. Go to the Admin Center.
  5. In the Admin Center, click Connect and choose Connections.
  6. Click Add and choose Microsoft Exchange Server.
  7. Now, enter the information required
  8. The email address should be the one you just created as an Exchange User "askcody@your-domain.com". The password is the password you created for this user creating the Service Account.
  9. Choose your version of Exchange and type in your EWS URL.
  10. Clicking Connect will connect Microsoft Exchange to AskCody. If you don't get an error message your connection is enabled and ready.
 Create a new Exchange connection in AskCody

How to test if the connection is set up correctly

No matter if you used the Modern or Basic Authentication method to create the connection between your Exchange and the AskCody Management Platform, you ended up by clicking the "Connect" button. 

After clicking on the green "Connect" button, the system will attempt to establish the connection using the credentials you provided. If you do not get an error message your connection is enabled and ready, and you don't need to test if the connecting is set up correctly.
Otherwise, you will see an error code such as "
ErrorUnauthorized". Most of the times, an error in this section of the AskCody Management Portal is related either to the credentials (username and password) for the account being incorrectly typed in, the Exchange version selected does not match the Exchange version of the server in which the account is located, or the EWS URL is typed in incorrectly. In the troubleshooting section of our Help Center, we have dedicated a section for Error codes. Here, you will find explanations for the different errors in the platform and possible solutions to them.  


Next step: When AskCody is successfully connected to Exchange and the connection is verified, it’s time to start configuring the AskCody Platform, starting out by configuring time, language, and location.