Architecture · Flows

User and operator flows,
step by step.

Ten diagrams of how Office Unbound is meant to behave for the people who use it and the people who run it — from a normal working session to a Microsoft 365 cutover — with every decision, check, failure and recovery drawn in.

Project status These are planned designs written before implementation. Nothing shown here is available, and the flows will change as the components are built and tested.

How to read the diagrams

Every flow uses the same symbols and the same layout, so a failure looks the same wherever it happens.

The main path runs down the left. Decisions and validation checks are the teal shapes with pointed ends; the path continues downwards on “yes” unless a label says otherwise. Anything that can go wrong branches to the right in copper, and a dashed line shows how the flow recovers — usually by going back to the step that has to be repeated. Dark boxes are approval points, where a person must confirm before anything changes.

The diagrams show intended behavior. They are a way to agree on what the product should do — and to argue with it — before code exists. Where a step depends on a component still under evaluation, it is drawn dashed.

Key

The same eight symbols appear in every flow.

Key to the flow diagrams Eight symbols used in every flow diagram on this page. A white rectangle is a step. A teal shape with pointed ends is a decision or validation check, with labeled yes and no branches. A dark navy rectangle is an approval point where a person must confirm. A rounded grey shape is the end state. A copper-tinted rectangle is a failure or exception. A dashed rectangle is optional, or under evaluation, or a register of items set aside. A solid copper line with an arrow is the path taken when a check fails. A dashed line with a copper arrow is the recovery path back to the step that is repeated. Step step Check? decision · yes / no Approve approval point Done end state Failure failure or exception Optional optional · register under evaluation no failure path retry recovery: back to the repeated step
The symbols used in every flow on this page.

Everyday use

The flows people meet on an ordinary day and on their first day. The aim in all three is that a failure is explained where it happens and has an obvious way back.

Flow A — A normal working session

One sign-in leads to a workspace from which mail, calendar and files open without signing in again. The first check is sign-in itself: a wrong password, an incomplete MFA prompt or a locked account is reported as such, and is recovered by self-service reset or an administrator unlock rather than a generic error. The second check is whether a change reached the server. If the device is offline the change stays on it and syncs later; if the same item was changed somewhere else, both versions are kept.

Flow A: a normal working session (planned) A vertical flow. The user signs in once with single sign-on and MFA. A decision asks whether sign-in succeeded; if not, the sign-in failure (wrong password, MFA not completed, or a locked account) is handled by self-service password reset or an administrator unlocking the account, and the user retries sign-in. On success the user reaches the workspace, which holds apps, recent items and search, and opens mail, calendar or files. The user completes a task such as replying, scheduling or editing a document, then the change is saved and synced. A decision asks whether it reached the server; if the device is offline the change is kept on the device and syncs when the connection returns, and if the same item was changed elsewhere a conflict copy is kept. The flow ends with the same state on every device. Planned design, not available. Main path Exceptions and recovery Sign in single sign-on · MFA Signed in? no Sign-in fails wrong password, MFA or locked self-service reset or administrator unlock retry sign-in yes Workspace apps · recent items · search Mail Calendar Files Complete the task reply · schedule · edit a document Save and sync the server copy is the record Reached the server? no Offline or conflict change kept on the device conflict copy if edited in two places syncs when back online yes Same state on every device Planned design. Nothing in this flow is available yet.
Conceptual Flow A: sign in, work in mail, calendar or files, and save. Sign-in failures and offline or conflicting saves each have a recovery path.

Flow B — First-time onboarding

A new user arrives through a time-limited invitation and leaves with a verified identity, working MFA and their devices set up. Three checks guard the path: the link must be valid, the identity must be confirmed, and a test MFA code must be accepted before MFA counts as enrolled. Each failure has a named way back — a re-sent invitation, out-of-band verification by the helpdesk, or re-enrolling after checking the device clock. Desktop and mobile setup is optional and can be done later.

Flow B: first-time onboarding (planned) A vertical flow for a new user. It starts with an emailed, time-limited invitation link. A decision checks the link is valid; an expired or already-used link is re-sent by an administrator and the user starts again with the new link. The user verifies their identity by confirming the email address and setting a password. If identity cannot be confirmed, the helpdesk verifies the person out of band and the step is repeated. The user then sets up MFA with an authenticator app or security key and saves recovery codes. A decision checks that a test code is accepted; if it is rejected the user checks the device clock and enrolls again. The user sees a short, skippable workspace introduction, then optionally sets up the desktop sync client and mail and calendar apps on desktop and mobile, and ends ready to work. Planned design, not available. Main path Exceptions and recovery Invitation emailed link · time-limited Link valid? no Expired or already used administrator re-sends the invitation new link yes Identity verification confirm email · set password Identity confirmed? no Not confirmed helpdesk verifies the person out of band repeat verification yes MFA setup authenticator app or security key recovery codes saved Test code accepted? no Code rejected check the device clock, then enroll again re-enroll yes Workspace introduction short tour · can be skipped Desktop and mobile setup optional · sync client, mail and calendar apps Ready to work Planned design. Nothing in this flow is available yet.
Conceptual Flow B: from invitation to ready, with checks on the invitation link, identity and MFA enrollment.

Flow H — Desktop file sync

The sync client signs in through the same identity provider as the browser, so organization policy can refuse an unapproved device and say why. Before the first download the client checks that the chosen folders fit on the disk; if not, the user selects less or marks more as online only. After that, changes sync both ways. When one file was edited in two places, both versions are kept and the user decides — nothing is overwritten silently.

More on how sync and offline access are designed: Files and sync.

Flow H: desktop file sync (planned) A vertical flow for the desktop sync client on Windows, macOS or Linux. The user installs the client and signs in with single sign-on in the browser. A decision checks whether the device is permitted by the organization’s policy; if not, the user is told why and an administrator can approve the device before the user signs in again. The user selects folders and chooses offline availability: always on the device, or online only and fetched when opened. A decision checks the selection fits on the disk; if not, the user chooses fewer folders or more online-only content. Initial sync then downloads the content marked for offline use. Ongoing changes sync both ways. A decision asks whether the same file was edited in two places; if so, both versions are kept, the user picks or merges, and syncing continues. Otherwise files stay in sync. Planned design, not available. Main path Exceptions and recovery Install the client Windows · macOS · Linux Sign in with SSO browser opens the identity provider Device permitted? no Blocked by policy user is told why; administrator can approve sign in again yes Select folders personal and team folders Choose offline availability always on device · online only Fits on the disk? no Not enough space choose fewer folders or more online-only content change the selection yes Initial sync downloads files kept offline Ongoing changes two-way · changed files only Edited in two places? yes Conflict handling both versions are kept; user picks or merges resolved, sync continues no In sync Planned design. Nothing in this flow is available yet.
Conceptual Flow H: installing the desktop client, choosing what to keep offline, and handling conflicts.

Provisioning and administration

Creating a tenant, working inside a customer’s tenant, and updating the platform. Each has an explicit approval point, and each records what happened.

Flow C — Tenant provisioning

Domain ownership is proved with a DNS TXT record before anything else is created, and the check can be re-run while DNS propagates. Every choice — identity source, services, document engine, policies — is collected first and checked together in a review that names the setting that failed. Only after the administrator confirms the summary is anything provisioned. If provisioning fails part-way, what was created is rolled back so a retry starts clean.

Flow C: tenant provisioning (planned) A vertical flow for an administrator or MSP creating a tenant. Create the tenant with its name, administrator contact and data location. Domain validation asks for a DNS TXT record; a decision checks the record is found, and if not the administrator waits for DNS to propagate and re-checks. Identity setup chooses local accounts or federation with an existing identity provider. The administrator selects services (mail, files, chat, meetings), chooses a document engine, Collabora Online or ONLYOFFICE Docs, as described in Flow F, and configures policies for MFA, sharing and retention. A review decision checks DNS, quotas and naming conflicts; a failed check sends the administrator back to fix the flagged setting and the review runs again. The administrator confirms the summary, which is the approval point, and provisioning creates accounts, DNS records and services. A decision checks provisioning completed cleanly; on error, partially created resources are rolled back and provisioning can be retried safely. The flow ends with the tenant live and its first administrator invited through Flow B. Planned design, not available. Main path Exceptions and recovery Create tenant name · contact · data location Domain validation add a DNS TXT record TXT record found? no Not found yet DNS can take time to propagate re-check yes Identity setup local accounts or federated IdP Select services mail · files · chat · meetings Choose document engine Collabora or ONLYOFFICE · Flow F Configure policies MFA · sharing · retention Review: checks pass? DNS · quotas · naming no Check failed the flagged setting is named; fix it, review runs again back to the setting yes Confirm administrator approves summary Provision accounts · DNS · services created Completed cleanly? no Provisioning error partial resources rolled back; safe to retry retry yes Tenant live · admin invited Planned design. Nothing in this flow is available yet.
Conceptual Flow C: creating a tenant, from domain validation to a reviewed and confirmed provisioning run.

Flow I — MSP technician access

A technician signs in as themselves, not with a shared customer account, and sees only the tenants assigned to them. Permission is checked on every operation, not once per session. When the role does not allow something, the technician requests approval with a reason, scope and time limit; an approval grants time-limited access, and a refusal changes nothing. Either way the attempt and its outcome are recorded in an audit log the customer can read.

How multi-tenant operation is designed for providers: For MSPs.

Flow I: MSP technician access to a customer tenant (planned) A vertical flow. A technician signs in with their own MSP identity, with MFA required. They select a tenant from the list of tenants assigned to them; other tenants are not shown. A decision checks whether the technician’s role allows the requested operation. If it does, the technician performs the operation, scoped to that tenant, and an audit event is recorded with who, which tenant, what, when and any approval reference; the customer can see it in their audit log. If the role does not allow it, the technician requests approval with a reason, scope and time limit. If approved, a time-limited grant lets the technician perform the operation. If declined, nothing changes, and the request and its outcome are still recorded as audit events. Planned design, not available. Main path Exceptions and recovery Technician signs in own MSP identity · MFA required Select a permitted tenant only assigned tenants are listed Role allows operation? checked on every request no Request approval reason · scope · time limit customer or MSP lead decides approved declined yes Perform the operation scoped to this tenant only Record audit event who · tenant · what · when approval reference, if any Visible in customer audit log Planned design. Nothing in this flow is available yet.
Conceptual Flow I: a technician working in a customer tenant, with the denied path going through approval and every outcome audited.

Flow J — Customer-controlled updates

An update is installed only when the customer — or an MSP administrator they delegate to — approves it, after reading what it fixes and what it may break. A release with an invalid signature is rejected before review. Rollout goes ring by ring, test before pilot before everyone, with a snapshot before each deployment. If verification fails, that snapshot is restored and the rollout stops; deferring is a legitimate choice, and the advisory stays visible until it is acted on.

Flow J: customer-controlled updates (planned) A vertical flow. A new release is published with a signature, release notes and a changelog. A decision checks the signature; if it is invalid the release is rejected and reported, and nothing is installed. The customer, or an MSP administrator they delegate to, reviews the security advisories, breaking changes and known issues, then selects a rollout ring: test, pilot or broad. Approval is the decision point: a deferred release stays uninstalled and the current version keeps running while the advisory remains visible. Once approved, the release is deployed to the selected ring after a snapshot is taken. A decision checks health and verification tests; if they fail, the pre-update snapshot is restored, the rollout is halted and the failure is recorded. If verification passes, a second decision asks whether more rings remain; if yes, the flow returns to selecting the next ring; if no, every ring is updated. Planned design, not available. Main path Exceptions and recovery New release published signed · release notes · changelog Signature valid? no Release rejected reported; nothing installed yes Review the release security advisories · breaking changes · known issues Select rollout ring test · pilot · broad Approve customer or delegated MSP admin no Deferred current version keeps running; advisory stays visible Deploy to the ring snapshot taken first Verification passes? health checks · smoke tests no Roll back restore pre-update snapshot; rollout halted, failure recorded yes More rings to update? yes no All rings updated Planned design. Nothing in this flow is available yet.
Conceptual Flow J: reviewing, approving and deploying a release ring by ring, with rollback when verification fails.

Migration

The two longest flows on the page. Both follow the same staged process: understand the source, map it, rehearse, get approval, move in batches, verify. They differ in how the source is reached and what needs converting.

Flow D — Microsoft 365 migration

Nothing moves until access is granted, every identity is mapped and a dry run of the pilot batch matches on counts, sizes and permissions. Items that cannot be migrated go to an exception register with an owner and a decision; they are never dropped silently. Cutover needs the customer’s sign-off for a change window. During migration, failed items are retried and then reported; if final verification fails, mail is routed back to the source, which was never modified.

The stages in detail: Migrating from Microsoft 365 and the migration process.

Flow D: migration from Microsoft 365 (planned) A vertical flow with exception handling. Connect the source tenant through Microsoft Graph with administrator consent. A decision checks access was granted; if consent or a role is missing, the administrator grants it and the connection is retried. Discovery inventories Exchange Online, OneDrive, SharePoint, Teams and Entra ID users and groups, and a readiness report gives sizes, counts, blockers and effort. Identities are mapped from Entra ID to the Office Unbound directory; a decision checks every identity is mapped, and unmapped shared, guest or conflicting accounts are resolved by the administrator before mapping is repeated. Compatibility assessment sends unsupported items to an exception register with an owner and a decision, rather than dropping them. Batches are planned with a pilot group first. A dry run copies the pilot batch without cutting anyone over, and a validation decision compares counts, sizes, sampled content and permissions; on a mismatch the mapping or plan is fixed and batches are re-planned. Cutover is approved by the customer for a change window; if it is not approved, the source stays in service and nothing changes for users. Migration runs in batches with delta sync and the mail DNS change; item errors go to an exception queue, are retried automatically, and persistent ones go to the register. A final verification decision checks counts and user spot checks; if it fails, mail routing is pointed back to the untouched source and the batch is re-run after a fix. On success the batch is cut over, and the source is kept until agreed decommissioning. Planned design, not available. Main path Exceptions and recovery Connect source tenant Microsoft Graph · admin consent Access granted? no Consent missing scope or role not granted grant, then retry yes Discover workloads Exchange · OneDrive · SharePoint Teams · Entra ID users, groups Readiness report sizes · counts · blockers · effort Map identities Entra ID → Office Unbound directory All identities mapped? no Unmapped accounts shared, guest or conflicting administrator resolves yes Assess compatibility per item: supported or not Exception register unsupported items listed, not dropped · owner · decision Plan batches pilot group first, then waves Dry run copy pilot batch · no cutover Validate: results match? counts · sizes · permissions no Mismatch found fix mapping or plan re-plan yes Approve cutover customer sign-off · change window no Not approved source stays in service; nothing changes for users Migrate batches · delta sync · MX change Exception queue item errors retried; persistent ones go to the register Verify: complete? counts · user spot checks no Roll back cutover mail points back to the untouched source; re-run the batch after a fix yes Cut over · source retained Planned design. Nothing in this flow is available yet.
Conceptual Flow D: Microsoft 365 migration through Microsoft Graph, with a dry run, an approval gate and rollback.

Flow E — Google Workspace migration

The same structure as Flow D, with Google-specific checks. A message can carry several Gmail labels but sit in only one folder, so the administrator chooses a label policy before mail moves. Docs, Sheets and Slides are converted to Office or OpenDocument formats, and what cannot convert — Apps Script, Forms, add-ons — is listed in a conversion report. Shared Drives become team folders. Chat history through a Vault export is optional and still under evaluation.

The stages in detail: Migrating from Google Workspace.

Flow E: migration from Google Workspace (planned) A vertical flow with Google-specific discovery and compatibility checks. Connect the source with a service account and domain-wide delegation; a decision checks access, and missing scopes are granted in the Google Admin console before retrying. Discovery inventories Gmail, Calendar, Drive, Shared Drives and Chat, a readiness report follows, and identities and groups are mapped; unmapped accounts are resolved before mapping is repeated. A decision asks whether messages carry more than one Gmail label; if so, a label policy is chosen, either a copy in each matching folder or one folder plus keywords, and the flow continues. Google Docs, Sheets and Slides are exported to DOCX, XLSX and PPTX or to OpenDocument formats; items that cannot be converted, such as Apps Script, Forms and add-ons, go to a conversion report. Shared Drives map to team folders with membership mapped to groups. Chat history is optional and under evaluation, through a Vault export imported as an archive. Batches are planned and dry-run, a validation decision sends mismatches back to planning, cutover is approved by the customer, or held with the source still in service, migration runs with item errors sent to an exception queue, and a verification decision rolls mail routing back to the untouched source if checks fail. The source is retained until agreed decommissioning. Planned design, not available. Main path Exceptions and recovery Connect source domain service account with domain-wide delegation Access granted? no Scopes missing grant in the Admin console retry yes Discover workloads Gmail · Calendar · Drive Shared Drives · Chat Report and map identities readiness report · users, groups All identities mapped? no Unmapped accounts aliases, groups, suspended administrator resolves yes Convert Docs, Sheets, Slides to DOCX, XLSX, PPTX or ODF Conversion report Apps Script, Forms, add-ons not converted · layout sampled Map Shared Drives to team folders · members → groups Mail in several labels? yes Choose a label policy copy into each folder, or one folder plus keywords policy applied no Chat history optional · Vault export as archive under evaluation Plan batches and dry run pilot group first · no cutover Validate: results match? counts · sizes · permissions no Mismatch found fix mapping or plan re-plan yes Approve cutover customer sign-off · change window no Not approved source stays in service Migrate batches · delta sync · MX change Exception queue item errors retried; persistent ones reported Verify: complete? counts · user spot checks no Roll back cutover mail points back to the untouched source yes Cut over · source retained Planned design. Nothing in this flow is available yet.
Conceptual Flow E: Google Workspace migration, with the Gmail label decision, document conversion, Shared Drives and optional Chat history.
What the migration flows do not claim

These flows describe planned tooling. What can be read from each source depends on the APIs Microsoft and Google expose, and Teams and Google Chat history in particular may not be fully exportable. Conversion fidelity for complex documents will be stated after testing, not assumed.

Document engines

Office Unbound is designed to work with either Collabora Online or ONLYOFFICE Docs. Choosing one is a deployment decision, made once in configuration; each engine and edition brings its own limits and license terms, and changing later is a controlled maintenance operation.

Flow F — Selecting a document engine

The choice comes first, then a review of that engine’s license terms, edition limits and file-format behavior, because these differ and matter for the deployment. The endpoint is configured and then tested by actually opening, editing, saving and co-editing files. A failed test names its cause — TLS, the shared secret, network reach or version — and the administrator corrects the configuration and tests again. Activation is a separate, explicit confirmation.

Flow F: selecting a document engine (planned) A vertical flow for an administrator. A decision asks which engine to use, branching to Collabora Online or ONLYOFFICE Docs, which then rejoin. The administrator reviews the chosen engine’s capabilities and licensing: license terms, edition and connection limits, and file-format behavior. They configure the endpoint: its URL, the shared secret or token, and TLS. A test opens, edits and saves a test file in each format, including co-editing. A validation decision checks all the tests pass; if not, the failure is reported with its cause (TLS, secret, network reach or version) and the administrator corrects the endpoint configuration and tests again. Activation is the approval point: the administrator confirms, and users’ documents open in the chosen engine. Planned design, not available. Main path Exceptions and recovery Which engine? Collabora Online ONLYOFFICE Docs Review capabilities, license license terms · edition limits file-format behavior Configure endpoint URL · shared secret · TLS Test open · edit · save · co-edit All tests pass? no Test failed cause shown: TLS, secret, network reach or version correct and re-test yes Activate administrator confirms Documents open in the engine Planned design. Nothing in this flow is available yet.
Conceptual Flow F: choosing Collabora Online or ONLYOFFICE Docs, configuring and testing the endpoint, then activating it.

Flow G — Switching document engines

Switching is a scheduled administrative cutover, not a live swap: open sessions are drained in an approved maintenance window before the integration is pointed at the new engine. Blocking compatibility risks stop the switch before it is scheduled, and an engine that fails staging validation means the switch is called off. Because documents are stored in the file service rather than inside the engine, rolling back after a failed test means pointing the integration back; no files need restoring.

Why both engines are supported and how they differ: Document engines.

Flow G: switching document engines, a controlled cutover (planned) A vertical flow describing a scheduled administrative change, not a live swap. The administrator assesses existing editing sessions and open documents, then identifies compatibility risks such as formats, macros, layout fidelity and integrations; a blocking risk stops the switch until it is resolved or mitigated. A maintenance window is scheduled and approved, and users are notified. Sessions are drained: no new editing sessions start and editors save and close. A decision checks all sessions are closed; if some remain, editors are warned and documents are force-saved at the deadline. The new engine is validated against real files in staging; if it is not ready, the switch is called off, the current engine stays and sessions reopen. Otherwise the integration is switched to the new endpoint and tested by opening, editing, saving and co-editing. If tests fail, the integration is pointed back to the previous engine; files are unchanged because they are stored in the file service, not the engine. On success the new engine is live, and the previous one is kept until sign-off. Planned design, not available. Main path Exceptions and recovery Assess existing sessions open documents · active editors Identify compatibility risks formats · macros · fidelity integrations Blocking risk switch not scheduled until resolved or mitigated Schedule maintenance approved window · users notified Drain sessions no new sessions · editors save All sessions closed? no Sessions still open editors warned; force-save at the deadline drain again yes Validate new engine staging tests on real files New engine ready? no Call off the switch current engine stays; sessions reopen yes Switch integration → new endpoint Test open · edit · save · co-edit Tests pass? no Roll back point back to previous engine; files unchanged in storage yes New engine live Planned design. Previous engine kept until sign-off. Not a live swap.
Conceptual Flow G: a controlled engine switch with drained sessions, staging validation and rollback to the previous engine.

Tell us where these flows are wrong

If you run Microsoft 365, Google Workspace or a hosting practice today, your experience of what goes wrong is exactly what these designs need.

Share