Connect to Microsoft Exchange Server with Kloudless Li-Hsing Chen Published: January 16, 2019 IntroductionWe’re excited to announce that the Kloudless Calendar API now supports Microsoft Exchange Server 2016 and above! In this blog post we will show you how to connect to Exchange and make API requests to your users’ accounts.What is Exchange ServerExchange Server is a mail and calendaring server released by Microsoft. Unlike Exchange Online, which is a part of Office 365, Exchange Server requires deployment on a Windows Server machine hosted by the customer within a private network. Some benefits of hosting on-premises are complete control of the data, security, and scalability of the server, as well as advanced customization.Accessing the Exchange ServerAfter installing Exchange Server on your Windows machine, there are some steps required to make sure that Kloudless can reach the instance. Kloudless Enterprise instances also support accessing Exchange servers behind private firewalls by deploying a Kloudless Connect proxy to the customer’s network. This is helpful for scenarios where it is not feasible to allow external network connections to the Exchange Server. We’ve summarized the steps required to enable external access to the Exchange server below.Configure the related firewall settings to allow access.Provide a Digital Server Certificate as described here.Ensure an external URL is present, under the Exchange Admin Center > servers > virtual directories > EWS menu option. Note that the external URL needs to end with /EWS/Exchange.asmx. See here for details.Connect a Kloudless account and make API requestsGo to our API Explorer, click “Connect Account” and choose the Exchange Server icon. A popup window will show up. Enter the full URL of your Exchange Server (which is likely the one we specified as the external url previously), the username, and password. These will be encrypted and stored securely for future access to the Exchange account.Kloudless Enterprise servers also support connecting to the proxy server for access to private instances as mentioned previously. Contact us for more details on how to set this up.After the credentials are verified, you’ll see a confirmation message that indicates you’re good to go!Now that we have an authentication token, we can proceed with API requests. Here’s an example curl request to create a calendar event in the connected account: curl -X POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer BEARER_TOKEN' \ -d '{"name": "Kloudless party", "start": "2018-12-25T18:00:00Z", "end": "2018-12-25T23:00:00Z"}' \ 'https://api.kloudless.com/v1/accounts/ACCOUNT_ID/cal/calendars/primary/events/' 1234567 curl -X POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer BEARER_TOKEN' \ -d '{"name": "Kloudless party", "start": "2018-12-25T18:00:00Z", "end": "2018-12-25T23:00:00Z"}' \ 'https://api.kloudless.com/v1/accounts/ACCOUNT_ID/cal/calendars/primary/events/' Replace ACCOUNT_ID above with the ID of the account connected.Future PlansThe Exchange Server connector already supports most of the features our calendar API offers. Support for the Activity Stream is next on the list.In addition to accessing your Exchange Server via the API Explorer, you can also generate a link for others to book a meeting on your Exchange calendar account using the Kloudless meeting scheduler! Feel free to reach out to us at support@kloudless.com with any feedback or questions!