Google Cloud Storage & Speech API V2 Transcription for Recordings/Voicemail on 3CX V20

Notes:

  • Steps 1 and 2 can be skipped if you already have a GCloud account with appropriate rights and Google buckets.
  • We provide a wizard driven integration for Google services, this document serves as a limited guide for anyone wishing to set-up this component manually.

Step 1 Necessary Account Access

To configure Google storage buckets, go to “IAM & Admin” > “IAM” in your Google Cloud dashboard and verify that your account has at minimum these roles assigned:

Configuring Google Cloud Storage for 3CX  - Permissions

  • “Service Account Admin”.
  • “Service Account Key Admin”.
  • “Project IAM Admin”.
  • “Storage Admin”.

Step 2 Creating a Storage Bucket

You can skip this part if you already have Storage Buckets configured on your project

If you have an active subscription with configured payment options, proceed to create a new storage bucket under your Google cloud project :

From the main navigation menu, select “Storage” > “Browser” and click on “Create Bucket” to create a new storage bucket.

Configuring Google Cloud Storage for 3CX - Create a bucket

  1. On the "Create a bucket" page, configure:
  2. Name - enter a globally unique permanent name.
  3. Where to store data - select storage location type according to your requirements.
  4. Storage class - select the appropriate storage class for your use.
  5. Access control - set how to control access to the objects in the storage bucket.
  6. Advanced settings - optionally set encryption and retention policy preferences for the storage bucket.
  7. Click on “Create” to set up the new storage bucket.
  8. After creating your storage bucket, you can click on “Create folder” to add new folders for keeping backups and archived recordings in, e.g. “3cx_backups”.

Proceed to use your saved JSON key and set the configured Google Cloud storage bucket as a location to store 3CX backups and archive recordings.

Important: Stored backup files or archived recordings in the “Hold” state or stored/archived due to effective retention policy, cannot be deleted or overwritten by the PBX.

Step 3 Enable Cloud Speech-to-Text API for your project

From the Google Console, navigate to APIs & Services > Library and search for Cloud Speech-to-Text API. Select it and click Enable.

Configuring Google Cloud Storage for 3CX - Enable Speech-to-Text

Step 4 Create a Service Account and Key with Storage and Speech Access

Creating a Service Account and key with Storage and Speech Access

Creating a Service Account and key with Storage and Speech Access

In your GCloud Project, Navigate to IAM & Admin > Service Accounts and click on Create Service Account. Give it a name and click Create and Continue.

In IAM & Admin > Service Accounts and click on “Create Service Account”

Add the following Roles to your Service Account and click on Continue and then Done:

  1. Storage Admin
  2. Cloud Speech Administrator

Adding Roles in your Service Account

Edit the newly created Service Account and select the Keys tab, then Add Key

Select the “Keys” tab, then click “Add Key”

Select the JSON type and click on Create.

Creating private key

A json file will be downloaded. Save it somewhere safe as you will not be able to download it again.

Step 5 Enable Remote Archiving and Enable Transcription

  1. To configure 3CX to use transcription for voicemails and/or recordings, go to Admin Console > System > Storage.
  2. Enable "Remote Data Storage & Archive" and select "Google Storage" for Location Type (Required).
  3. Upload the json file downloaded in the previous step, in the Private Key (JSON type) field and select a Folder/Path within your Google Storage Bucket.
  4. Enable the “Recordings” and “Voicemails” checkboxes to enable auto archive to Google Storage.
  5. Save, then go to Admin > Integrations > Transcription.
  6. Select Google Speech as the transcription engine
  7. Select the Speech Language dropdown to set the transcription language.
  8. Select what to transcribe:
  1. “Voicemails Only” - restrict to voicemails.
  2. “Recordings Only” - restrict to recordings .
  3. “Both Voicemails and Recordings”
  1. Click “OK” to apply the settings. After enabling Voicemail Transcription, the transcripted text is included in the email body for received voicemails. Additionally, in the 3CX Web Client’s Voicemail/Recordings sections, the transcripted text is displayed next to each voicemail/rec.

After enabling Voicemail Transcription, the transcripted text is included in the email body for received voicemails. Additionally, in the 3CX Web Client’s Voicemail/Recordings sections, the transcripted text is displayed next to each voicemail/rec.

Recordings are transcribed fully at the time of remote archiving (immediately / on scheduled time). 3CX includes Archive to the Bucket and therefore, the file can be transcribed in full.

See Also

Last Updated

This document was last updated on 10 September 2026

www.3cx.com/docs/manual/google-speech-api-v2/