Audience: Spacewell implementation consultants; partners (Asset steps only)
This guide describes the set-up in Asset and in the Spacewell Integration Platform that connects Asset with Microsoft Exchange or Google Calendar.
Before you begin
- The customer has completed Configure Microsoft Exchange and Azure or Configure Google Workspace and shared the credentials.
- An Asset environment.
- An Integration Platform tenant, with its client ID and client secret (see https://onespacewell.atlassian.net/wiki/spaces/KB/pages/4522999812/Integration+platform+tenant+creation+SW+internal?search_id=11fe0121-1087-420c-aa92-2793b362dfac&additional_analytics=queryHash---eb92cc52a766c500e001d02f1eaa78784da47f8c96b019ce874d3e3c205b4e3c&xpis=eyJicmlkZ2UiOiJxdWlja0ZpbmQiLCJpZCI6IjE3OTE0NTkxNjE4NjUiLCJzb3VyY2UiOiJjb25mbHVlbmNlIn0%3D)
1. Asset
1.1 Activate the module
Activate the calendar integration via the module activation: Calendar (Outlook/Google) integration module activation and information
1.2 Fill in the API Connector mappings
Info
For more information on the API Connectors object described below, see: API Connector.
Go to Client settings → Authentication tab → API Connectors and open the calendar integration API Connector. The Mappings include opens by default.
grant_type', ‘token_url’ and ‘webhook’ mappings are filled in by the module activation.
Fill in ‘client_id' and 'client_secret’ from Integration Platform tenant
1.3 Link the reservable rooms
In the API Connector, open the Reservables include and click Search to see the rooms already linked.
Click on Search to show the already linked reservable objects.
Click Assign, search by name or reference, and select the rooms that must synchronize.
1.4 Reveal or generate the key
In the API Connector, open the Trust relation include and click the Key link.
Info
Revealing and generating a key can only be done by partner users.
Click Reveal key if a key exists, or Generate key if not. Only partner users can do this.
Copy the key; you need it in step 2.1.
1.5 Other API Connector includes
- Workflow interaction: the workflows used for reservations and recurring reservations created in Outlook/Google and synced to Asset. If none is defined at client level, the default Asset Baseline workflows are used. If other (custom) workflows are used, update them as described in 1.6 Custom reservation workflow.
- Observations: created automatically when a room mapping is enabled in the Integration Platform. From that moment the room synchronizes; observations handle the notifications between Asset and Exchange/Google.
- Event log (24 hours): all event logs of the API Connector in the last 24 hours, useful for debugging.
1.6 Custom reservation workflow
If the environment uses a custom reservation workflow (in any environment, also FMB) the workflow must be modified so that the correct statuses are used and notifications are sent at the right moment. Make these changes:
- All connectors to status Cancel: post-setter syncActionCode = Cancel.
- Manual task Cancel via Exchange for group "Integration external owner":
"Display in task list" and "Display task description" = No
- Cancel group from "reservation confirmed" to "reservation ended"
- Connector from the task to status Cancelled: function cancel, pre-setter reservationStatusCode = Cancelled, set date cancelTime
- Manual task Change via Exchange for group "Integration external owner":
"Display in task list" and "Display task description" = No
- Cancel group from "reservation confirmed" to "reservation ended"
- Connector from the task to status Change: function change, pre-setter reservationStatusCode = Change
- All connectors from the first task in the workflow: post-setter syncActionCode = Synchronize.
- Connector from the first task to status "reservation confirmed": pre-setter reservationStatusCode = Confirmed, condition syncDirectionCode = Incoming.
- A script on the manual "Change" connectors that prevents changes to inbound reservations.
Recurring reservations
- In Asset (FMB) the synchronization for Outbound recurring reservations is triggered on the field ‘Schedule.scheduleGenerationStatusCode’. Once this field is set to 'Ready' (all occurences have been generated initially), the syncActionCode is set to Sync (which triggers the communication to Outlook).
- In Asset (FMB) a script on Reservation.approveDate, Reservation.closeTime and Reservation.cancelTime updates the ReservationSchedule:
- all occurrences approved: the schedule is approved;
- all occurrences cancelled: the schedule is cancelled;
- all occurrences closed: the schedule is closed;
- all occurrences cancelled, but some already closed or no longer cancellable: the schedule is closed.
If the customer uses a custom reservation-schedule workflow, take these into account. If in doubt, contact Product.
2. Integration Platform configuration
The Integration Platform synchronizes external calendars (Exchange or Google) with Asset. You can configure settings for both the external calendar and Asset within the Integration Platform.
Sign in to the Spacewell Integration Platform and select the tenant. See Integration Platform (SW internal)
2.1 Connect Asset
Go to Reservation Sync > Connectors. In Actions, select “Add” to create a new connector:
Select type AXXERION and enter following information:
Field |
Value |
Comment |
|---|---|---|
display name |
Free text: a name you recognize elsewhere in the Integration Platform |
NO ASSET VALUE NEEDED |
appId |
Reference of the calendar integration API Connector (e.g. FMB-EA-001) |
|
encryptionKey |
The Access ID of the API Connector trust relation |
Hidden after saving |
name |
The tenant name (client reference) |
|
presharedKey |
The key from step 1.4 |
Hidden after saving |
url |
The client URL (e.g. spacewell.axxerion.com) |
Depending if you want to set up a connector for Microsoft or for Google Mail, you’ll need to follow different instructions:
2.2a Connect Microsoft Exchange/Outlook
Reservation Sync > Connectors > Actions > Add, type MICROSOFT:
Field |
Value |
|---|---|
directoryId |
Directory (tenant) ID provided by the customer |
clientId |
Application (client) ID provided by the customer |
clientSecret |
Client secret provided by the customer |
domains |
The customer’s e-mail domain(s), comma-separated |
version |
v1.0 |
Click Add. A pop-up offers to open Sync Settings. To connect several Exchange environments, create one MICROSOFT connector per environment.
2.2b Connect Google Calendar
Reservation Sync > Connectors > Actions > Add, type GOOGLE:
Field |
Value |
|---|---|
domains |
The customer’s e-mail domain(s), comma-separated |
impersonation |
E-mail of the delegate user provided by the customer |
issuer |
E-mail of the service account (client_email) |
key |
The private key provided by the customer |
version |
v3 |
2.3 Sync Settings
Go to Reservation Sync-> Sync Settings:
Setting |
What it does |
|---|---|
Sync Mode |
Bidirectional (both ways), Inbound (Exchange/Google to Spacewell) or Outbound (Spacewell to Exchange/Google) |
Failure Notifications via Email |
E-mail addresses (comma-separated) informed about sync errors and disabled room mappings. Addresses are also needed for reconciliation, even if this option is off. |
Notify organizer/responsible on failure |
Sends a failure e-mail to the meeting organizer (and the administrator) when a real-time sync fails |
Max Occurrences |
Default 180. Recurring reservations with more occurrences are not synced. Make sure to align “Max occurrences” in IPAAS with “max scheduled occurrences” in Asset. |
Max Updates |
Default 50. Prevents an endless update loop on one reservation |
Time Zone |
Mandatory. Used when no time zone is configured in Asset or Exchange/Google |
Validate mailbox |
Periodically updates mappings when room e-mail addresses (aliases) or names change. See Room Mapping & mapping health |
Always host online / Conference provider |
Adds an online meeting link to reservations created in Workplace. See Online meeting links (Teams, Google Meet, Zoom) |
Note
With more than one Microsoft connector, configure Sync Settings for each connector.
2.4 Map the rooms
See Room Mapping & mapping health
3. Insights and debugging
In Asset
After module activation, the Calendar integration button bar is available on the Integrations landing page (Calendar button on the administrator start board):
- Information – link to this documentation.
- API Connector – quick access to the calendar integration API Connector(s).
- Event Logs – logs of every integration API call, searchable per reservation update.
-
Debugging – overviews of:
API Connector mappings missing required values (e.g. client secret);
- reservables linked to an API Connector but not mapped in the Integration Platform (no observation);
- reservables with "Reserve in advance until" settings, to check alignment with Exchange.
In the Integration Platform
Under Logs, export Google Cloud Platform log files for Reservation Sync (.txt or .log) for the last 6, 12 or 24 hours, or a custom range of up to 7 days within the last 90 days.