Google Workspace Integration for 3CX Phone System
- Introduction
- Configuring Google Integration
- Step 1: Super Admin Role In Workspace
- Step 2: Organization Level Roles on Google Console
- Step 3: Disabling Enforcement of Service Account Key Creation - If Applicable
- Step 4: Integrate PBX with Google
- Enabling Synchronization
- Select Sync Options
- Additional Features
- Google Cloud for Remote Storage
- Google Speech for Transcription
- Use Google Workspace to Send Emails
- Google ReCaptcha
- Technical Info & FAQ
- Real Time vs Daily Sync
- Calendar Sync Statuses
- User and Contact Data Sync
- Existing Google Storage Configuration
- Limitations & Known Issues
- See Also
Introduction
3CX can integrate with Google to provide the following functionality:
- Sync User Accounts from Google Workspace.
- Sync User’s personal contacts with the 3CX personal phonebook (one way).
- 3CX Profile status is changed based on Google Calendar events. i.e. if you are in a meeting your status will be set to busy.
- Create and use Google Buckets for 3CX Phone System Remote Storage.
- Use Google Speech for transcription of recordings and voicemails.
- Use Google Workspace accounts to send emails.
- Enabling Google SSO for allowing users to sign in Web Client using their Google credentials (Needs to be configured separately on the created Google Project).
- Enabling Google ReCaptcha to protect from automated attacks and abuse.
Configuring Google Integration
Step 1: Super Admin Role In Workspace
In order for the integration to work, the signing-in user must have the Super Admin Role in the Workspace. Follow the steps below to grant the Super Admin Role to the user you will use to authenticate Google Integration to your PBX.
- Login to https://admin.google.com/
- Navigate to Directory > Users.
- Edit the User you want to elevate to Super Admin and open section Admin roles and privileges.
- Enable Super Admin Role for the user you will be using to authenticate Google Integration and click on Save.
Step 2: Organization Level Roles on Google Console
Additionally, in case you plan to enable the following features, you need to give the Billing Account Administrator IAM role to your user in Google Console.
- Use Google Cloud for 3CX Phone System remote storage.
- Use Transcription for recordings and voicemails.
To do this, follow these steps:
- Login to https://console.cloud.google.com
- Ensure you are operating at the Organization level. You can select the organization by clicking the drop-down menu at the top of the page.
- In the left-hand navigation menu, go to IAM & Admin > IAM.
- Click on Grant Access.
- On the opened right panel > New Principals Field add the email address of the user authenticating to Google integration.
- Under Assign Roles, Add the Billing Account Administrator role as shown in the screenshot.
- Save.
Step 3: Disabling Enforcement of Service Account Key Creation - If Applicable
Depending on the creation date of your Google account, the disableServiceAccountKeyCreation organization policy may be enforced by default, prohibiting the account Key Creation for your account.
In this case you may get an error complaining about key creation not allowed, while integrating Google to your PBX.
To overcome this, you may need to stop the enforcement of this policy using the following steps:
Note: To manage Organization Policies on your Google account, you need to login to Google Console with a user having the Organization Policy Administrator role.
- In Google Console, navigate to IAM & Admin > Organization Policies.
- Search for iam.disableServiceAccountKeyCreation if you are using the legacy version of the constraint or iam.managed.disableServiceAccountKeyCreation if you are using the new version of the constraint.
- Open Disable service account key creation and click on Manage Policy.
- Under Policy Source Select Override parent’s policy.
- Under Rules Add a rule with Enforcement = Off.
- Click Set Policy.
Step 4: Integrate PBX with Google
- In your PBX Admin Console, navigate to Integrations > Google and click on Configure.
- You will be navigated to the following integration page. Select all needed features you plan to use and click Connect.
- Authenticate using the user you gave all relevant roles and permissions on previous steps when prompted to login to your Google Account.
- If prompted, select All to allow 3CX to access the required resources and click Continue.
- During the authentication process (Only if first time login with a new user), in case you receive the message about accepting the terms of service, follow these steps. If you don’t get this message you can skip to step 9 below.
- Navigate to https://console.developers.google.com/terms/appsadmin.
- You should have received a request for accepting the terms of service.
- Click on Accept and repeat the authentication process on 4.2 step above.
- Once authentication is completed you will be presented with the following page.
- Copy the generated Client ID and click the link to Open the Domain-wide Delegation in Admin Panel.
- Click on Add New in API Clients, give the Client ID you copied above and fill in all the OAuth scopes values listed on previous screen (copy them directly from page).
- Once done Click on Authorize.
- Click the Back Button on the previous screen and you will be redirected to the PBX Admin Console where Google Workspace integration will show as configured providing you the Project ID generated by the above process.
Enabling Synchronization
After finalizing the Google Integration with the PBX you can proceed to synchronize the users from Google to 3CX:
- In the 3CX Admin Console, go to Users and click on Google.
- Enable Sync Google Users to synchronize users from Google to 3CX. The synchronization is one-way (Google to 3CX) and happens immediately when you save the configuration and then once per day, during the night.
- You can set a starting extension number to be assigned to Imported Google users. Otherwise it will use the first available extension.
- You don’t have to sync all users. You can exclude certain users or specify only a particular set of users to sync. Click the Add button to configure.
Select Sync Options
After enabling user synchronization, you can select what to sync for the imported Google users
- Enable SSO to allow users to login to the web client using their Google Credentials (Needs to be configured separately. See how here).
- Sync Google User Photos to 3CX as a user Avatar by enabling Sync user photo.
- You can enable the option to Sync Personal Contacts which will sync Google User’s Contacts to the 3CX Personal Phonebook. This is a one-way synchronization. Contacts need to be managed and updated from Google.
- Enable Use calendar events as presence to automatically update 3CX users’ status based on their Google Calendars scheduled meetings. So if you are in a scheduled meeting your phone will not ring. At the end of the Google Calendar Entry 3CX switches the profile back to the previous status. If a 3CX Business Trip/Lunch profile is selected, changes from calendar information are ignored.
The mapping of Google Calendar Meeting Types to 3CX Profiles is as follows:
- Event > Do Not Disturb
- Focus Time > Do Not Disturb
- Out of Office > Away
Additional Features
Google Cloud for Remote Storage
Configuring Google Integration on your 3CX, if given the appropriate permissions during the configuration process, 3CX will automatically create a Google bucket to your Google Cloud project and configure your 3CX Storage settings accordingly.
Then you can just navigate to Admin Console > System > Storage and select which data you want to store on this remote Google Location. You can select to store remotely your Chat Files, Faxes, Recordings, Voicemails and Backups as needed.
Google Speech for Transcription
If relevant permissions are selected, you can enable Google Speech transcription using the Google Configuration automatically created by the Integration process.
Once you finalize the Google Integration and storage is configured on 3CX, just navigate to Admin Console > Integrations > Transcription and enable transcription using Google Speech for your preferred Language.
Use Google Workspace to Send Emails
Given the proper rights during the integration process, 3CX will automatically configure your System Email Settings to use the integrated Google Workspace account for sending system Emails.
Google ReCaptcha
Once you configure Google Integration with the relevant permission during the configuration process, you can enable Google ReCaptcha from Admin Console > Integrations > Google to run in the background protecting 3CX from automated attacks and abuse.
Technical Info & FAQ
Real Time vs Daily Sync
The following data is synced real time with changes on Google:
- User’s First Name
- User’s Last Name
- User’s Photo
- User’s Work Phone
- New user created in workspace
- Suspend/Delete User in Workspace > Disables 3CX Extension
- Unsuspend User in Workspace > Enables 3CX Extension
- Calendar events
Rest of the Data that we do not listen to live changes, PBX will sync once per day. Daily Sync is controlled by parameter GW_SYNC_TIME. It stores the time of the day in a 24 hour format: HH:MM:SS, where the PBX will resync all data from Google.
Calendar Sync Statuses
Creating an entry in Google Calendar will sync presence of the user as following:
- Event > DND
- Out of Office > Away
- Focus time > DND
User and Contact Data Sync
For synced users we sync the following info from Google:
- First Name
- Last Name
- Phone(Work) to user’s Mobile in 3CX
- Photo
For synced contacts we sync the following info from Google:
- First Name
- Last Name
- Photo
- Company
- Title
- Mobile
- Mobile2
- Home
- Business
- Business2
- Email
To properly sync this contact info you need to tag them in Google Contacts as shown in the screenshot below.
Existing Google Storage Configuration
In case you already have Google Storage enabled, during the integration process, the wizard will inform you and won’t reconfigure it for you.
Limitations & Known Issues
- Company contacts do not exist
- Gmail has a maximum attachment size of 25Mb per message
- There is no way to listen to changes in personal contacts
- Creating contacts from Web Client to Google will be available with the future release
See Also
Last Updated
This document was last updated on 19 February 2025
https://www.3cx.com/docs/manual/google-workspace/