This page lists what shipped in each release of CloudM Continuity, most recent first.
Version 2.0 — September 2026
This release adds calendar sync, so a standby Google Workspace environment now holds your users' calendars as well as their mail, and lets you build a sync policy from Microsoft Entra ID security groups instead of a user query.
Calendar sync
Continuity now keeps each user's Microsoft 365 calendars synchronised to Google Calendar, alongside their mail. Calendar is a new item type on the policy and a new licensed service.
- Tick Calendar under Item types when you create or edit a policy. Each item type has its own sync frequency
- The initial sync copies every event from 18 months ago to 18 months ahead. Delta syncs then keep Google Calendar up to date with new, changed and cancelled events at the policy's frequency
- A user's default calendar syncs into their Google primary calendar. Secondary calendars are created in Google with the same name, or reuse a Google calendar that already has that name. Holiday, birthday and subscribed read-only calendars are skipped
- Recurring series come across in full, including moved, changed and cancelled occurrences
- Attendees and their responses are preserved. Attendees inside your organisation are mapped to their Google account where one exists. External attendees are kept with their original address
- Calendar sharing is mirrored to Google and kept in step when permissions change. Recipients without a Google account in the destination domain are skipped
- Teams meeting links are kept as text in the event description so people can join the original meeting. No Google Meet link is created
- Nothing Continuity does sends a calendar notification email to anyone, inside or outside your organisation
- The Sync Status page shows a separate sync history for Email and Calendar, with processed, removed and error counts for each run
Calendar sync is one way, from Microsoft 365 to Google Calendar, and edits made in Google Calendar may be overwritten by the next sync. Recovery Sync still covers mail only, so calendar changes made in Google during an outage are not returned to Microsoft 365. If a calendar is deleted in Microsoft 365, the matching Google calendar is deleted too, including a pre-existing Google calendar matched by name. Reminders, attachments, event body formatting and calendar colours are not carried across. For the full behaviour and limitations, see Syncing Calendars.
Action required to use calendar sync
- Add the
Calendars.ReadMicrosoft Graph application permission to your Continuity app registration and grant admin consent. See Connecting Microsoft 365; the setup script has been updated to include it - In Google Cloud, enable the Google Calendar API in the project that holds your Continuity service account, and add
https://www.googleapis.com/auth/calendarto the service account's domain-wide delegation scopes. See Connecting Google Workspace - Calendar needs to be included in your licence. Contact CloudM or your partner to add it
Re-test both connections afterwards. The Connections page now shows each service, including Calendar, as Connected or Not licensed.
Security groups on policies
You can now scope a policy to Microsoft Entra ID security groups instead of building a user query. Users come from the groups, which is how most organisations already manage who gets what.
- The policy form has a new User selection field with two tabs: Query builder (the existing attribute rules) and Groups
- On the Groups tab, paste a group's Object ID from the Entra admin centre and click Add. You can add up to 10 groups per policy. Users in any of the selected groups are included, and nested groups are supported
- Click Check users to confirm each ID resolves to the right group. Continuity shows the group name and member count, and warns you if an ID cannot be found
- Group membership is re-read from Entra at every sync cycle and refreshed daily. People added to a group start syncing at the next sync, and people removed stop being included. Changes are not picked up in real time
- Users from a group appear on the Sync Status page like any other synced user. Policy priority, overlaps and licensing work exactly as they do for query-based policies
A policy uses one selection method or the other. If you switch tabs on an existing policy, the other method's rules are cleared when you save, and Continuity asks you to confirm first. Security groups only: distribution lists and Microsoft 365 groups are not supported. See Using Security Groups to Select Users.
Action required to use security groups
Add the Group.Read.All and GroupMember.Read.All Microsoft Graph application permissions to your Continuity app registration and grant admin consent. See Connecting Microsoft 365. Re-test the source connection afterwards; Groups should show as Connected.
Improvements
- The Connections page shows the status of each licensed service (Email, Outlook, Calendar, Users and Groups for Microsoft 365; Email, Calendar, Users and Domains for Google Workspace) rather than a single result
- The licence card in Settings lists your licensed services
- Hardened HTTP security headers across the service
Fixes
- Creating a policy on a tenant licensed for Calendar only no longer shows Mail as ticked and locked
- Saving a policy after a security group's membership changed in Entra no longer fails
Version 1.1.0.0 — July 2026
This release introduces two major capabilities: Recovery Sync, which returns data to Microsoft 365 once an outage is over, and Multi-Policy Management, which lets you run several sync policies side by side.
Recovery Sync
Until now, Continuity has kept a synchronised copy of your users' mail in Google Workspace, ready for an outage. Recovery Sync completes the loop. When a Microsoft 365 outage ends, you can now sync everything your users did in Google Workspace during the outage back into Microsoft 365, so nothing is lost.
- A new Recovery page in the sidebar is your home for starting, monitoring and reviewing recoveries
- Starting a recovery is simple: pick a recovery start date and all mail synced from that day onward is recovered. Users are included automatically — everyone with an active policy and a completed initial sync — and the dialog shows how many users that is before you confirm
- While a recovery runs you see items synced counts for each user, updated every few minutes
- When it finishes, a summary shows the outcome for every user: recovered successfully, completed with warnings, or failed
- If a recovery fails or completes with warnings, you can retry it. A retry re-runs the recovery for all users in it, which makes sure anything that arrived in Google Workspace after the original run is also picked up. Items that already exist in Microsoft 365 are never duplicated
- Once you have reviewed a completed recovery, finish it to move it into the historic recoveries list and clear the way for the next one. Retries are kept as separate runs, so the full history is preserved
Recovery covers mail in this release. Recovered messages are placed into the right folders in Microsoft 365, and any folders that don't exist yet are created automatically. Recovery events also appear in the audit logs. To learn more, see Understanding Recovery Sync.
Action required to use Recovery Sync
Recovery needs one additional permission on your Microsoft 365 app registration: the Office 365 Exchange Online full_access_as_app application permission, with admin consent granted. This lets recovery write mail back into your mailboxes. See Connecting Microsoft 365 for the updated steps.
About the items synced count
The items synced count shows the total number of items processed from Google Workspace across recovery runs. Because a retry re-runs all users, the count can be higher than the number of new items, but nothing is duplicated in Microsoft 365.
Multi-Policy Management
Tenants are no longer limited to a single active sync policy. You can now create multiple policies (up to 10 per tenant) and run them all at the same time, each with its own configuration, sync frequency and user selection.
- The Policies page is now an ordered list. A policy's position sets its priority, with the top policy taking precedence. Drag and drop to reorder
- If a user is matched by more than one active policy, the highest-priority active policy applies. Paused policies are skipped, so if you pause a policy, the next one down takes over for any overlapping users on the next sync cycle
- The Sync Status page and user details now show which policy is actually applied to each user, and flag when a user is also matched by other policies
- New policies are added at the lowest priority, and priority changes take effect on the next sync cycle without interrupting syncs already in progress
- Licensing counts unique users: a user who appears in three policies counts once against your licence
Once a user has been set up in Google Workspace by a policy, they keep that same Google Workspace account even if a different policy later takes priority for them. The newly applied policy's settings, such as sync frequency, apply from that point on, but the user's destination account and its address never change. This keeps their synced history in one place. To learn more, see Using multiple sync policies.
Version 1.0.0.0 — May 2026
The first release of CloudM Continuity: continuous synchronisation of Microsoft 365 mail into Google Workspace, keeping a ready-to-use standby environment for your users in the event of a Microsoft 365 outage.
- Mail sync — Initial bulk sync followed by scheduled delta syncs from Microsoft 365 to Google Workspace, preserving subject, body, attachments, sender, recipients and dates. Folder structure is mapped to Gmail labels, and read/unread state, message moves and deletes are kept in sync
- Sync policies — Define which users to sync using selection rules (department, employee type, job title), preview the matching user count before activating, and configure destination domain, username suffix, sync frequency and deletion delay
- Automatic user provisioning — Google Workspace accounts are created automatically for matched Microsoft 365 users, each with a unique password available for retrieval
- Connections — Microsoft 365 source connection (Azure AD app with certificate-based authentication) and Google Workspace destination connection (service account with domain-wide delegation), with built-in connection testing
- Dashboard — Data synced, users synced and success/failure metrics, sync pipeline visualisation, sync freshness, and service health indicators
- Sync Status page — Filterable, sortable user table with per-user sync history, item counts and error details
- Audit logs — All system events logged with severity levels and full filtering by actor, context, event type, severity and date range
- Roles and access control — Super Admin, Admin and Viewer roles, with user invitations and role management per tenant
- Licensing — Licence tiers (Basic, Standard, Premium) governing sync frequency and user limits, with expiry warnings and a grace period