Table of Contents

Exchange integration overview

Exchange is Microsoft’s email, calendaring, contact, scheduling and collaboration platform deployed on a Windows Server operating system for use within a business or large enterprise.

Set up the Exchange integration to create a two-way sync with your JRNI and Outlook calendars. This allows your staff to keep all of their appointments and events in check across both platforms.

This allows you to avoid double bookings by blocking out the times on both calendars respectively when new bookings are made.

Quick definitions

Here are some quick definitions around the terms you are likely to hear about when talking about Exchange integrations. It is important to understand these as they are applied throughout this documentation


This is the application which manages people's email addresses. It also refers to the Exchange server version as different versions work in a slightly different way.


This is the web-based suite that is used for webmail, contacts, tasks and calendaring services.


This stands for Exchange Web Services. This is the API endpoint that allows us to interact with Exchange which we need for a functioning connection.

Service account

This is the account that corresponds with the username and password. This is not an actual service account but is named so accordingly for the easing purposes of these docs.

User account

This is the email address associated to a user account on Exchange.

Outbound / inbound syncing

Outbound refers to JRNI > Exchange. Inbound refers to Exchange > JRNI.

Streaming daemon

This is a background job running 24/7 to receive notifications from Exchange.

Benefits of the integration

Creating a connection between JRNI and Exchange entails a whole range of benefits when it comes to supported features and ease of synchronisation. JRNI's Exchange integration supports the following features:

Configure access types

Configure access types based on required permission levels across your organisation. Give users impersonation access for a one-to-many basis, or delegate access for a one-to-one basis.

Read more about access types


The following means of authorization are supported for the Exchange integration:

  • Basic Auth
  • Modern Auth for Office 365
  • Mutual Auth using NTLM

Two-way sync

The two-way sync between JRNI and the Exchange Server and allows users to retrieve availability from specific calendars for specific members of staff, automatically replicate bookings made via JRNI into an Outlook calendar and automatically replicate meetings and other events made in Outlook into the JRNI calendar. This ensures that the customer only sees available time slots during their booking journey.

It also allows the moving or cancelling a booking within JRNI so that it will be replicated in the synced Outlook event, and the moving or cancelling of an event in Outlook so that it will be replicated in the synced booking or block in JRNI.

The sync also respects schedules set up in JRNI around staff and resources. I.e. Exchange will show times marked as blocked for staff and resources if it is outside of their scheduled operational times in JRNI.

JRNI also supports Exchange's free slots functionality. In Exchange, you can create blocks of time in your calendar to keep them as "Free" in order to not block out available times for bookings. Free time in Exchange does not sync back to JRNI as a booking or a blocked time, so as to allow you to continue taking bookings on the JRNI side.

When a JRNI appointment is configured to have pre-/-post time this will be reflected in the time of the Exchange event.

Map objects

Object Mapping can be used to link JRNI objects with Exchange mailboxes. This currently applies to JRNI staff and resources.

Staff and resources configured in JRNI can be mapped to the desired Exchange address through the Studio interface. Staff and resources are dynamically populated by the configuration in JRNI.

Read more about object mapping

SSL certificate verification

In versions of Microsoft Exchange Server prior to Exchange Server 2007, a server could be deployed into an organisation and, by default, would not require HTTPS (SSL) for any of its client-server or server-server communications. Network communications would be secured by installing an SSL certificate for the IIS instance on the Exchange Server and use SSL for user access to services such as Outlook Web Access.

However, this was not mandatory and it isn’t unusual to encounter legacy Exchange environments that allow external access over insecure HTTP connections. This option should only be enabled if the Exchange server has the correct SSL certificates, if not this should remain disabled otherwise JRNI will not be able to connect to Exchange.

Read more about SSL certification configuration

Appointment lock

The appointment lock is an additional setting for the EWS integration which allows you to set whether synced appointments can be edited from the other channel (e.g. bookings created via JRNI, and are synced to Outlook, can be amended in Outlook).

Read more about appointment lock

Streaming notifications

Exchange uses streaming notifications to receive notifications that are sent by the server through a connection that remains open for a specified period of time.

Streaming notifications are generally recommended for most applications. They are similar to pull and push notifications, and offer the best of both worlds. After you establish your notification subscription, the connection remains open for up to 30 minutes to allow the server to push notifications back to the client.

Streaming notifications rely on a hanging GET request on the server to keep a streaming subscription connection open, so that any events that occur while the connection is active are streamed to the client immediately. Multiple notifications can be sent over the course of a single connection, and the connection stays open until the interval expires, or for a maximum of 30 minutes. After the connection expires, the client sends the hanging GET request again.

Tentative events

In JRNI, you can set up bookings so that they must be confirmed by admins before they are fully booked (currently only for appointments). Slots in the calendar are still blocked until confirmed. This type of booking is known as Reservations in JRNI and is configured in System settings.

In Outlook, these types of bookings are called tentative and it is possible to set these up by setting JRNI bookings as reservations. When setting this, Outlook will automatically assume all reservation bookings coming through from JRNI are tentative bookings.

Auto-confirm reservations

JRNI supports the auto-confirmation of reservations in Outlook when they are moved to a new date/time or when an attendee is added. This is a configurable option where you can have this enabled/disabled as per requirement.

Note: two notifications are initiated when this action occurs - one for the updating of the event (to a new date or time) and another for the confirmation of the appointment. These are supported by the webhooks so a client can choose which of these to trigger if they handle their own notifications.

Templated subject and body content

As standard, there is an option to use a default template in JRNI for sending data to the subject and body of an Exchange event. There is also an option to use a customizable body that is configured using the liquid template engine.

Read more about body customization

Liquid Engine

This is template language created by Shopify and written in Ruby.

Website designers and developers can use a template language to build webpages that combine static content, which is the same on multiple pages, and dynamic content, which changes from one page to the next. A template language makes it possible to re-use the static elements that define the layout of a webpage, while dynamically populating the page with data. In the case of JRNI, it can build a static email template with dynamic content (i.e. company name, customer name etc).

Liquid templates will be used throughout the JRNI platform for email content, SMS, reporting, webhooks and third party integrations such as Salesforce and Exchange.

Liquid object tags

There are a range of fields in JRNI used for customising the subject and body content of Exchange events. See the section on Liquid object tags to find out more.

Read more about customising email templates for Exchange

How did we do?

Set up an Exchange connection

Staff and resource mapping for Exchange