Make sure that you have an administrator account in both environments (Google Apps and Office 365).
Make sure that your Office 365 tenant is up and running.
Add the domain of your choice to the Office 365 tenant. It can be the same domain as Google. However, in this case, emails will be delivered into only one location (where your MX records) are pointing.
Office 365 mailboxes must exist and have Exchange licences.

Google configuration

The migration of the data does not require the user credentials (User passwords).
However, it requires to setup a service account that has access to all data and IMAP activated for all users in your organiozation.

Office 365 configuration

Cloudiway migration uses the Autodiscover process to discover Office 365 servers.
If Autodiscover is not configured, Cloudiway will automatically fail back to the default proxy servers.

Impersonation and delegation
To maximize throughput and limit Office 365 throttling, Cloudiway uses impersonation. This consists of a single admin account that has the permission to impersonate any user in order to be able to access a user mailbox without the user’s password.
Even if your account is administrator of the Office 365 tenant, it doesn’t have permission to impersonate users.
Cloudiway attempts to set the permissions automatically.
If the migration account is not administrator of the tenant, automatic impersonation assignment will fail and you will have to setup impersonation manually.

At the end of the migration, remember to switch the MX records.