Integrations · Exely PMS

How to Connect Exely PMS to Misfora

Exely PMS integration lets Misfora automatically synchronize reservations, receive booking updates, and process guest check-ins without manual data entry.

Estimated setup time: 10 minutes Requires: Exely admin access Requires: Misfora Manager or Admin account

What you'll get

Contents
  1. Before you begin
  2. Part A — Create an API connection in Exely
  3. Configure the webhook
  4. Part B — Connect the property in Misfora
  5. Part C — Verify the integration
  6. FAQ & known API limitations

Before you begin

Make sure you have:

  • Administrator access to the property's Exely account (secure.exely.net.tr or your regional Exely dashboard).
  • A Manager or Admin account in Misfora for the company that owns the property.
  • The property's Property ID in Exely — a numeric identifier you'll enter into Misfora later.
Part A

Create an API connection in Exely

Everything in this part happens inside your Exely dashboard.

1

Open API Connections

Log in to your Exely dashboard and open API Connections.

2

Create a new connection

Click + Create connection.

Exely API connections page with the “Create a connection” button highlighted
3

Name the connection

Give the connection a descriptive name, for example:

Alanya Hotel

A clear name makes it easier to distinguish connections later, especially if the same Exely property is connected to multiple Misfora companies.

4

Enable PMS API access

Make sure the connection has PMS API access enabled.

Good to know

Some Exely API connections are created with limited permissions (for example, Content API only). In that case Misfora will be able to authenticate but won't be able to read or update reservations — the Test connection step in Misfora will report this explicitly.

5

Save

Exely “Data for API connection” page with PMS API and PMS Integration API checked, and the Save button highlighted
6

Enable the connection

Turn the connection On. Disabled connections cannot authenticate with Misfora.

7

Copy the API credentials

Open the newly created connection and copy:

  • client_id
  • client_secret

You'll need both values in Part B.

Exely connection page showing client_id and client_secret with copy buttons highlighted

Configure the webhook

8

Create a webhook

Inside the same API connection, open the Webhooks section and create a new webhook pointing to:

https://misfora.com/reservations/webhook/exely

This endpoint is shared by every Misfora company and property — Misfora identifies incoming requests internally, so you don't need a unique webhook URL for each property.

9

Leave the authentication field empty for now

Exely will ask for an authentication value (usually called API-KEY). Leave this field empty for now — you'll generate the required value in Part B, step 19, then return here to paste it into Exely.

10

Subscribe to booking events

Subscribe the webhook to all events below:

  • webpms:create_booking
  • webpms:update_booking
  • webpms:cancel_booking
  • webpms:check_in

Event names may vary slightly between Exely accounts — subscribe to all booking lifecycle events that are available.

11

Save

Exely webhook configuration with API Key authentication, all booking events selected, and Save highlighted
Part B

Connect the property in Misfora

Everything in this part happens inside the Misfora dashboard.

12

Sign in to Misfora

Log in to the Misfora dashboard for the company that owns the property.

Misfora staff sign-in / set password screen
13

Open the Misfora settings

Open the property's Guest Table and click ⚙ Exely in the top toolbar.

In the Misfora Module Settings panel:

14

Property

Make sure you're editing the correct property if your company manages more than one.

15

Property time zone

Select the property's local time zone. Exely sends arrival and departure times without time zone information — Misfora uses this setting to convert those timestamps correctly. If the wrong time zone is selected, reservation times will be shifted by the corresponding UTC offset.

16

Automatic backfill

Keep Automatic backfill enabled. Exely does not send webhooks for every reservation update — for example, adding a guest to an existing reservation does not trigger a webhook. Automatic backfill periodically re-synchronizes reservations so these changes still make it into Misfora.

Misfora Exely module settings: object, time zone, and automatic backfill
17

Enter the Property ID

Under Property ID, enter the numeric Property ID from Exely.

This value is not confidential — it's simply the property's identifier within Exely.

18

Enter the API credentials

Under API Connection, paste the client_id and client_secret from Part A, then click Save.

Misfora settings panel with Property ID and API connection fields for client_id and client_secret
19

Copy the webhook secret

After saving, Misfora generates an Exely Webhook Secret. Click Copy, then return to the webhook you created earlier in Exely (Part A, step 9) and paste this value into the API-KEY / Authentication field.

Why this matters

This secret allows Misfora to verify that incoming webhook requests were actually sent by your Exely account. Without it, anyone who learns the webhook URL could send fake booking events.

Misfora Exely webhook secret field with Copy button highlighted
Exely webhook Authentication method set to API Key, with the Misfora webhook secret pasted into the Key field

Pasting the Misfora webhook secret into Exely's webhook Key field.

20

Test the connection

Click Test connection. You'll see one of the following results:

✅ Connection successful
The API credentials are valid and PMS API access is available.
⚠️ Authentication succeeded, but PMS API access is missing
The credentials are correct, but the connection does not have PMS API enabled. Return to Part A, step 4 and enable PMS API access.
❌ Authentication failed
Check that client_id and client_secret were copied correctly, that there are no extra spaces before or after either value, and that the API connection is enabled in Exely.
Part C

Verify the integration

  • Import a test reservation. Create a test reservation in Exely (or use an existing one), then either wait for the next automatic backfill or click ⇩ Pull Bookings from PMS in Misfora to synchronize immediately.
  • Verify the imported data. Make sure the reservation appears in the Guest Table with the correct guest name, arrival date, departure date, accommodation, and reservation status.

If everything looks correct, the integration is complete.

FAQ

Known Exely API limitations

The following behaviors are limitations of Exely's public API rather than Misfora itself. Understanding them will help avoid confusion during day-to-day use.

Why aren't guest names updated in Exely?

Exely's public API does not provide an endpoint for updating a guest's first or last name. The only guest-related fields that can currently be updated are document information (document number, issue date, expiry date, issuing authority) and country of birth.

Because of this limitation, Misfora can never write corrected guest names back to Exely — the guest name stored in Exely is always treated as the source of truth. If Misfora's OCR recognizes a more accurate spelling from the passport, that correction stays inside Misfora only and will not appear in Exely automatically.

To correct a guest's name, update it manually in the Exely dashboard. This limitation comes from Exely's API and cannot be bypassed by Misfora.

Can I use one Exely connection for multiple companies?

The same physical property can be connected to multiple Misfora companies, but each integration must use its own Exely API connection, its own client_id, its own client_secret, and its own webhook secret.

Misfora identifies incoming webhook requests using the webhook secret rather than assuming each property has only one integration — do not reuse the same API credentials across multiple Misfora properties.

Why isn't my reservation appearing immediately?

Exely webhook payloads include only the reservation identifier and Property ID — they never contain guest names, contact information, or passport details. After receiving a webhook, Misfora automatically requests the complete reservation through the Exely API.

If Exely is temporarily unavailable when the webhook arrives, reservation details will be synchronized during the next automatic backfill, or after a manual Pull Bookings from PMS operation.

How long do Exely OAuth tokens last?

Exely OAuth access tokens are valid for approximately 30 minutes. Misfora refreshes them automatically in the background, so no user action is required. If you're working directly with the Exely API outside of Misfora, keep this expiration time in mind while debugging or testing.

Can guests be checked in before their arrival date?

No. Exely does not allow a reservation to be checked in before its scheduled arrival date. Attempting to do so returns an error similar to:

Planned check-in date has not yet arrived
Actual and planned check-in dates must match

This restriction is enforced by Exely. If a guest arrives early, the reservation will remain in its pre-arrival state until the scheduled arrival date.