Skip to Content
Import DataOrganisation

Import Organisation Data

Organisation import migrates all users’ data from your existing provider into EUnifyer. This requires admin-level credentials and is designed for IT administrators moving an entire company.

Go to eunifyer.app/switch  and click the Organisation tab to get started. You need imports:manage permission (available to organisation admins).

For importing your own personal data only, see Personal Import.


Overview

The organisation import wizard walks you through five steps:

  1. Upload Credentials — Provide admin-level API credentials for your provider
  2. Discover Users — EUnifyer scans your provider and lists all users and groups
  3. Map Roles — Assign EUnifyer roles to discovered groups
  4. Select Data Types — Choose what to import (mail, calendar, contacts, files)
  5. Review & Start — Confirm and launch the import

Each user is imported in parallel. Individual users authorise access to their own data via an invite link (for providers that require per-user consent, like Zoho).


Google Workspace

Prerequisites

You need a Google Cloud service account with domain-wide delegation enabled.

Step 1 — Create a Service Account

  1. Go to Google Cloud Console IAM & AdminService Accounts
  2. Click Create Service Account
  3. Name it (e.g. eunifyer-migration) and click Create
  4. Skip the optional permissions steps and click Done
  5. Click the new service account → KeysAdd KeyCreate new keyJSON
  6. Download the JSON key file

Step 2 — Enable Domain-Wide Delegation

  1. On the service account page, click Edit → enable Domain-wide Delegation
  2. Note the Client ID shown
  3. Go to Google Admin Console SecurityAPI ControlsDomain-wide Delegation
  4. Click Add new and enter:
    • Client ID: the service account’s client ID
    • OAuth scopes:
      https://www.googleapis.com/auth/gmail.readonly, https://www.googleapis.com/auth/calendar.readonly, https://www.googleapis.com/auth/contacts.readonly, https://www.googleapis.com/auth/drive.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/admin.directory.group.readonly
  5. Click Authorise

Step 3 — Upload to EUnifyer

  1. In the Organisation Import wizard, select Google Workspace
  2. Enter the admin email (a super admin in your Google Workspace)
  3. Paste the JSON key file contents
  4. Click Upload & Validate

EUnifyer will verify it can list users in your domain.


Microsoft 365

Prerequisites

You need an Azure AD app registration with application-level permissions.

Step 1 — Register an App

  1. Go to Azure Portal Azure Active DirectoryApp registrationsNew registration
  2. Name it (e.g. EUnifyer Migration)
  3. Set Supported account types to “Accounts in this organisational directory only”
  4. Click Register

Step 2 — Add API Permissions

  1. Go to API permissionsAdd a permissionMicrosoft GraphApplication permissions
  2. Add these permissions:
    • User.Read.All
    • Group.Read.All
    • Mail.Read
    • Calendars.Read
    • Contacts.Read
    • Files.Read.All
  3. Click Grant admin consent for your organisation

Step 3 — Create a Client Secret

  1. Go to Certificates & secretsNew client secret
  2. Set an expiry and click Add
  3. Copy the Value (you won’t see it again)

Step 4 — Upload to EUnifyer

  1. In the Organisation Import wizard, select Microsoft 365
  2. Enter your Tenant ID (found in Azure AD → Overview)
  3. Enter the Client ID (Application ID from the app registration)
  4. Enter the Client Secret (the value you just copied)
  5. Click Upload & Validate

EUnifyer will verify it can list users in your tenant.


Zoho Workplace

Zoho organisation import works differently from Google and Microsoft. Zoho does not support admin impersonation for individual user data (mail, calendar, contacts, files), so the import uses a two-phase approach:

  1. Discovery — An admin uses a Self Client grant token to discover all users and groups in the organisation
  2. Per-user authorisation — Each user individually authorises access to their own data via an OAuth link

This means the admin sets up discovery, but each user must click an invite link to authorise their personal data import.

Prerequisites

You need two Zoho API Console apps:

  • A Self Client — for org-level discovery (listing users and groups)
  • A Server Client — for per-user OAuth redirect flow (already configured by your platform admin)

Why two clients? The Self Client generates grant tokens that can carry org-level scopes (ZohoMail.partner.organization.READ). The Server Client handles the standard OAuth redirect flow when individual users authorise access to their own data.

Step 1 — Create a Self Client

  1. Go to Zoho API Console  (use .zoho.eu for EU, .zoho.com for US)
  2. Click Add ClientSelf Client (NOT Server Client — Server Client can’t get org-level scopes)
  3. A new Self Client will be created — note the Client ID and Client Secret

Step 2 — Generate a Grant Token

  1. Open the Self Client you just created
  2. In the Generate Code tab, enter these scopes (all on one line, comma-separated):
    ZohoMail.partner.organization.READ,ZohoMail.organization.accounts.READ,ZohoMail.organization.groups.READ,ZohoMail.accounts.READ,ZohoMail.messages.READ,ZohoMail.folders.READ,ZohoCalendar.calendar.READ,ZohoCalendar.event.READ,ZohoContacts.contactapi.READ
  3. Set Duration to 10 minutes
  4. Add a description (e.g. “EUnifyer migration”)
  5. Click Create
  6. Copy the generated grant token

Important: Grant tokens expire in ~10 minutes, but the backend exchanges them immediately for long-lived refresh tokens. You don’t need to rush — just paste the token into EUnifyer promptly after generating it.

Step 3 — Upload to EUnifyer

  1. In the Organisation Import wizard (Back Office → Switch → Organisation Import), select Zoho Workplace
  2. Paste the Grant Token you just generated
  3. Click Upload & Validate

EUnifyer exchanges the grant token for access and refresh tokens, then verifies it can access your Zoho organisation’s user list.

Step 4 — Discover Users & Map Roles

Once credentials are validated, EUnifyer uses the org-level scopes to discover all users and groups via the Zoho Mail Organisation API. Review the discovered users and map groups to EUnifyer roles.

Step 5 — Per-User Authorisation

Because Zoho doesn’t support admin impersonation for individual user data, each user must authorise access separately:

  • Copy invite link — Click the 3-dot menu (⋮) next to a user and select “Copy invite link”, then share it manually (e.g. via email or chat)
  • Send invite email — Click “Send invite” to have EUnifyer email the user directly

When a user clicks the link, they are taken through the Zoho OAuth consent screen. Once they authorise, their data import starts automatically in the background.

Environment Variables

Your platform admin needs to configure these environment variables:

# Server Client (for per-user OAuth redirect flow) ZOHO_IMPORT_CLIENT_ID=your_server_client_id ZOHO_IMPORT_CLIENT_SECRET=your_server_client_secret # Self Client (for org-level discovery via grant token) ZOHO_ORG_CLIENT_ID=your_self_client_id ZOHO_ORG_CLIENT_SECRET=your_self_client_secret

The Self Client and Server Client are different apps in Zoho API Console with different client IDs/secrets.

Zoho Region Domains

Use the correct domain for your Zoho data centre:

RegionAPI ConsoleToken Endpoint
Europeapi-console.zoho.euaccounts.zoho.eu
USapi-console.zoho.comaccounts.zoho.com
Indiaapi-console.zoho.inaccounts.zoho.in
Australiaapi-console.zoho.com.auaccounts.zoho.com.au

Note: EUnifyer is currently configured for the EU region (.zoho.eu). Contact your platform admin if your Zoho account is in a different region.


After Upload — The Import Flow

Once your credentials are validated, the wizard continues:

Discover Users

EUnifyer scans your provider and shows all users and groups. Review the list to confirm everyone is included.

Map Roles

Map your provider’s groups to EUnifyer roles. For example, your “Administrators” group can be mapped to the EUnifyer Admin role.

Select Data Types

Choose which data to import:

  • Mail — Email messages and folders
  • Calendar — Events, attendees, and recurrence
  • Contacts — Address book entries
  • Files — Documents and folder structure

Review & Start

Confirm the import settings and click Start Import. You can monitor progress from the wizard or from AdminImports.


Monitoring & Management

Progress View

The import shows real-time progress per user:

  • Completed — Users fully imported
  • Failed — Users that encountered errors (can be retried)
  • Skipped — Users that were already imported

Admin Imports Page

For detailed per-job status, go to eunifyer.app/admin/imports . Each user’s individual data-type imports are listed with item counts and error details.

Managing Credentials

You can manage your stored admin credentials from the Organisation Import wizard:

  • Reuse — Click an existing credential to start a new import without re-uploading
  • Delete — Remove a credential you no longer need using the Delete button

Keeping Data in Sync

After your import finishes, EUnifyer automatically turns on continuous sync for the credential you used. This keeps your imported data up to date — new contacts, calendar events, files, and mail from the source provider are pulled into EUnifyer on a daily schedule.

How it works

  • Sync is one-way only: source → EUnifyer. Anything you create or edit inside EUnifyer stays in EUnifyer and is never sent back to the source provider.
  • Only data for already-imported users is synced. If new users join your organisation, run a new organisation import to bring them in.
  • EUnifyer fetches only new and changed items each run (where the provider supports it), so syncs are fast.

Turning sync on or off

You can manage sync from two places:

  1. Import progress page — After your import completes, a green banner shows “Continuous sync is active” with an enable/disable toggle.
  2. Admin → Data Sync — The sync dashboard lists all active sync configurations with history, schedule, and controls.

Disabling sync stops future scheduled runs but keeps all your imported data as-is. You can re-enable it at any time.

What gets synced

DataSynced?
ContactsYes — new and updated entries
CalendarYes — new and updated events
FilesYes — new files and folders
MailYes — new messages
RolesNo — roles are set once during import

Sync is not a backup

Sync mirrors data from your old provider into EUnifyer. It does not back up EUnifyer data to the source. If you delete something in EUnifyer, it stays deleted — the sync will not bring it back.


Troubleshooting

ProblemSolution
”Invalid OAuth scope”Make sure you included all required scopes — especially ZohoMail.organization.READ for Zoho
Credential validation failedDouble-check the admin email has admin access in the source provider
Google: “Not authorised”Verify domain-wide delegation is enabled and the scopes are added in Google Admin Console
Microsoft: “Insufficient privileges”Ensure admin consent was granted for all API permissions in Azure AD
Zoho: “401”The access token may have expired — generate a new code and exchange it for fresh tokens
Users not discoveredConfirm the admin account has permission to list all users in the organisation
Import stalled on a userCheck AdminImports for error details on that user’s jobs