---
title: How to Connect Google Meet to WordPress with GoodMeet
description: GoodMeet creates Google Meet links and Google Calendar events through your own Google Cloud project. The app, the permissions and the secret all live in a Google account you own. No third party sits between your site and Google. The…
url: "https://sovlix.com/docs/how-to-connect-google-meet-to-wordpress-with-goodmeet/"
updated: "2026-10-02"
category: GoodMeet / Setup
---

# How to Connect Google Meet to WordPress with GoodMeet

GoodMeet creates Google Meet links and Google Calendar events through your own Google Cloud project. The app, the permissions and the secret all live in a Google account you own. No third party sits between your site and Google.

The setup takes a few screens in Google Cloud and one upload in GoodMeet. You create an OAuth client, download its JSON file, drop the file into GoodMeet and approve access once. One connection covers Google Meet, Google Calendar and, when you turn it on, Google Classroom.

By the end of this guide, you will have:

- A Google Cloud project for GoodMeet
- The Google Calendar API and Google Meet API enabled
- A configured Google Auth Platform (consent screen) with the right scopes
- A Web application OAuth client with your GoodMeet redirect URL
- The client's JSON file uploaded to GoodMeet
- Your Google account connected, so every new meeting gets a Meet link and a calendar event

**Estimated setup time:** 10 to 15 minutes. You do not need a paid Google Cloud plan or a billing account for this setup.

## Before you begin

Make sure you have:

- An administrator account on your WordPress site
- The Google account your meetings should belong to. Meetings and invites are created on this account's calendar.
- Permission to create a project in Google Cloud with that account
- A site served over **HTTPS**. Google accepts plain `http://` redirect addresses only for `localhost`.

Let's get started.

## Install and activate GoodMeet first

If GoodMeet is already active on your site, skip to Step 1.

1. In the WordPress admin menu, go to **Plugins** > **Add New Plugin**.
2. Search for **GoodMeet**.
3. Click **Install Now**, then **Activate**.

[![Add Plugins screen with the GoodMeet search result highlighted](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-00-install-goodmeet.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-00-install-goodmeet.webp)
Installing the free GoodMeet plugin from the WordPress plugin directory.

**Tip:** After activation, **GoodMeet** > **Get Started** lists your setup milestones. The **Connect Google** milestone opens the same screen as Step 1, and shows a tick once you finish this guide.

[![The Get Started milestones with Connect Google highlighted](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-00-get-started-connect-google.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-00-get-started-connect-google.webp)
Get Started shows a tick once Google is connected.

Now comes the main part: setting up Google Cloud and connecting it to GoodMeet.

## Step 1: Open the Connect screen in GoodMeet

Everything GoodMeet needs from Google goes into one card on this screen, so open it first and keep it open in its own tab.

1. In the WordPress admin menu, go to **GoodMeet** > **Settings**.
2. Click **Connect** at the top of the settings list.
3. Find the **Google Cloud Credentials** card.

[![GoodMeet Settings with Connect selected](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-01-open-connect-tab.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-01-open-connect-tab.webp)
Connect is the first section in GoodMeet Settings.

You come back to this tab twice: to copy the redirect URL, and to upload the JSON file.

## Step 2: Open the built-in setup guide

The card carries a short version of this guide and your site's exact redirect URL. It makes a handy reference while you work in Google Cloud.

1. On the **Google Cloud Credentials** card, click **Where do I get this file?**
2. Check that the card now lists four steps, starting with **Open the Google Cloud console**.

[![The Google Cloud Credentials card with the setup guide open](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-02-open-setup-guide.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-02-open-setup-guide.webp)
The setup guide is your quick reference while you work in Google Cloud.

## Step 3: Create a Google Cloud project

A project holds the APIs, the consent screen and the OAuth client for GoodMeet. Keeping them in a project of their own makes them easy to find and manage later.

1. On the card, click **Open the Google Cloud console**. You can also go to `https://console.cloud.google.com/`.

[![The Open the Google Cloud console button on the credentials card](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-03-open-google-cloud-console.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-03-open-google-cloud-console.webp)
The button opens the Google Cloud credentials page in a new tab.

1. Sign in with the Google account your meetings belong to.
2. Click the project selector in the top bar, then click **New project**.

[![Google Cloud project selector with the New project button highlighted](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-03a-new-project-button.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-03a-new-project-button.webp)
Open the project selector at the top of the console, then click New project.

1. Enter a clear **Project name**, for example `GoodMeet`.
2. Choose your organization or location if Google asks, then click **Create**.
3. Check that the new project is selected in the top bar before you continue.

[![New Project form with GoodMeet typed as the project name](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-03b-new-project-form.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-03b-new-project-form.webp)
Name the project GoodMeet. Google fills in a project ID for you.

## Step 4: Enable the Google APIs

GoodMeet creates every Meet link through the Google Calendar API, so nothing works until that API is on. The Google Meet API adds co-hosts and attendance in GoodMeet Pro.

1. In Google Cloud, open the menu and go to **APIs & Services** > **Library**.
2. Search for **Google Calendar API**, open it and click **Enable**.
3. Search for **Google Meet API**, open it and click **Enable**.
4. If you use Google Classroom with GoodMeet, also enable **Google Classroom API**.

[![Google Calendar API page in the API Library](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-04-enable-calendar-api.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-04-enable-calendar-api.webp)
Once the API is on, the button reads Manage and you see API Enabled, as here.

For Google Classroom, search for **Google Classroom API** and click **Enable** the same way.

[![Google Classroom API page with API Enabled and the Manage button highlighted](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-04b-enable-classroom-api.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-04b-enable-classroom-api.webp)
Google Classroom API is on: the button reads Manage and the page shows API Enabled.

**Important:** Enable the APIs in the same project that holds your OAuth client. An API enabled in another project does not count.

## Step 5: Set up the Google Auth Platform

This is the screen people see when they approve access, so Google asks who the app belongs to. Google now calls it **Google Auth Platform**. Some accounts still show **OAuth consent screen** under **APIs & Services**.

1. Go to **Google Auth Platform** > **Overview** and click **Get started**.
2. Under **App information**, enter an **App name**, for example `GoodMeet`, and pick a **User support email**. Click **Next**.
3. Under **Audience**, choose **External** for most sites. Choose **Internal** only if every user is in your own Google Workspace organization. Click **Next**.
4. Under **Contact information**, enter an email address for Google's notices. Click **Next**.
5. Read the **Google API Services: User Data Policy**, tick the box to agree, click **Continue**, then **Create**.

[![Google Auth Platform Branding page with the App information fields](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-05-auth-platform.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-05-auth-platform.webp)
On a new project the Get started wizard asks for this. On a project you already set up, the same App information sits under Branding.

**Note:** The app name appears on Google's approval screen in Step 11, so use a name you will recognize.

## Step 6: Add the data access scopes

Scopes are the permissions GoodMeet asks for. Listing them here keeps Google's approval screen predictable, with no surprise requests later.

1. Go to **Google Auth Platform** > **Data Access** and click **Add or remove scopes**.
2. Add the scopes below. If you cannot find one in the list, paste it into **Manually add scopes**.

```
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/meetings.space.created
https://www.googleapis.com/auth/meetings.space.readonly
https://www.googleapis.com/auth/meetings.space.settings
https://www.googleapis.com/auth/userinfo.email
openid
```

Using Google Classroom? Add these four as well:

```
https://www.googleapis.com/auth/classroom.courses.readonly
https://www.googleapis.com/auth/classroom.rosters.readonly
https://www.googleapis.com/auth/classroom.profile.emails
https://www.googleapis.com/auth/classroom.announcements
```

1. Click **Update**, then **Save**.

[![Update selected scopes panel filtered to Google Calendar API scopes](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-06-data-access-scopes.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-06-data-access-scopes.webp)
Filter by calendar to find the Google Calendar API scopes, tick the ones listed above, then click Update.

**Note:** These are the exact scopes GoodMeet requests. Google asks for any scope you skip here anyway, at approval time.

## Step 7: Add yourself as a test user

A new **External** app starts in testing mode, and only test users can approve it. Without this step, Google blocks your own approval in Step 11.

1. Go to **Google Auth Platform** > **Audience**.
2. Under **Test users**, click **Add users**.
3. Enter the Google account email you will connect, then click **Save**.

[![Google Auth Platform Audience page with the Test users section and the Add users button highlighted](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-07-add-test-users.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-07-add-test-users.webp)
Add the Google account you will connect as a test user while the app is in Testing.

**Important:** Skip this and Google stops the approval with **Error 403: access_denied**.

## Step 8: Copy the redirect URL from GoodMeet

After you approve access, Google sends you back to this address. Google only accepts addresses you register in advance, so the URL in Google Cloud must match the one GoodMeet uses, character for character.

1. Go back to the GoodMeet tab.
2. In the setup guide, find step 3, **Add the redirect URL below to it**.
3. Click **Copy** under the redirect URL.

[![The redirect URL field and Copy button in the setup guide](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-04-copy-redirect-url.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-04-copy-redirect-url.webp)
The full URL is shown. Copy it with the button so nothing is mistyped.

The URL looks like this:

```
https://brightpath.example.com/wp-admin/admin.php?page=goodmeet-settings&platform=google-meet
```

Your actual URL may look different. Always copy it from your own GoodMeet settings.

**Important:** Never type or edit this URL by hand. Google needs an exact match, including `https`, `www`, the path and both query parameters.

## Step 9: Create a Web application OAuth client

The OAuth client is what GoodMeet signs in with. It must be a **Web application** client, because only that type has a redirect URL for your site.

1. In Google Cloud, go to **Google Auth Platform** > **Clients** and click **Create client**.
2. Set **Application type** to **Web application**.
3. Enter a **Name**, for example `GoodMeet web client`.
4. Leave **Authorized JavaScript origins** empty.
5. Under **Authorized redirect URIs**, click **Add URI** and paste the URL from Step 8.
6. Click **Create**.

[![Create OAuth client ID form with Web application selected and a redirect URI added](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-09-create-oauth-client.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-09-create-oauth-client.webp)
Choose Web application, name it, and paste the redirect URL you copied from GoodMeet under Authorized redirect URIs.

## Step 10: Download the JSON file and upload it to GoodMeet

The JSON file carries the client ID and client secret. GoodMeet reads both from the file, so there is nothing to copy and paste by hand.

1. In the dialog that shows the new client, click **Download JSON**. Google names the file `client_secret_….json`.

[![Google OAuth client created dialog with the Download JSON button highlighted](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-10-download-json.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-10-download-json.webp)
Download the JSON file right away. GoodMeet reads the client ID and secret from it.

**Important:** Google may show the full client secret only once. Download the JSON before you close the dialog. If you lose it, add a new secret on the client's page and download the file again.

1. In the GoodMeet tab, drag the file onto **Drop the JSON file here**, or click **Choose a file** and pick it.
2. Wait for the message **Credential Uploaded Successfully.**

[![The drop zone for the Google JSON file on the credentials card](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-05-upload-json-file.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-05-upload-json-file.webp)
GoodMeet reads the client ID and secret from the file.

**Security note:** Keep the JSON file to yourself. It carries the secret for your Google project. Delete your local copy once GoodMeet shows it as uploaded.

## Step 11: Approve access on Google

The file tells GoodMeet which app to use. Now the Google account itself has to say yes, once, so GoodMeet can create events on its calendar.

After the upload, the card shows **Credentials uploaded** and the next step, **Approve access on Google**.

1. Click **Continue to Google**.

[![The credentials card after upload with the Continue to Google button](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-06-continue-to-google.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-06-continue-to-google.webp)
Reset credentials removes the file if you uploaded the wrong one.

1. Choose the Google account you added as a test user. Click **Use another account** if it is not listed.

[![Google Choose an account screen with one account highlighted](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-11a-choose-account.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-11a-choose-account.webp)
Pick the Google account that should own the meetings.

1. If Google warns that it has not verified the app, read the next section, then click **Continue**.
2. Review the permissions. Check the app name and the account, then click **Continue** to allow access.

[![Google sign-in screen with the Continue button highlighted](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-11b-signing-back-in.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-11b-signing-back-in.webp)
Check the account, then click Continue. The first time you connect, Google lists each permission before this button.

**Important:** Only approve when the app name, account and permissions are the ones you set up.

## Step 12: Confirm the connection

Google sends you back to **GoodMeet** > **Settings**, and the card shows the result straight away.

1. Check that the **Google Cloud Credentials** card shows **Connected**.
2. Check that **Google services** lists **Google Meet** and **Google Calendar** as **Connected**.
3. Look at **Google Classroom**. It shows **Allowed**, **Needs permission** or **Off**, depending on your Classroom setup.

[![The Connect screen showing the connected credentials and Google services](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-07-confirm-connected.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-07-confirm-connected.webp)
Open the card with Edit to see Google Meet is connected.

**Tip:** If Classroom shows **Needs permission**, click **Allow access**. Google asks once more, for the Classroom scopes only, on the same account. Meet and Calendar stay connected.

## Google hasn't verified this app

A new **External** app shows a warning that Google has not verified it. This does not mean the app is unsafe. It means Google has not reviewed it for public use.

For your own site, you do not need verification. To get past the warning:

1. Keep the app in testing mode, with every connecting account added as a test user.
2. Continue only if you recognize the project and created the OAuth client yourself.
3. Click **Continue**. If Google shows **Advanced** instead, click it, then click **Go to** followed by your app name.

**Note:** In testing mode, Google may expire the approval after seven days. If the connection drops, click **Continue to Google** on the card to approve again, or publish the app under **Audience**.

Publishing the app for production is a separate Google process. Google may ask for a verified domain, a home page, a privacy policy, terms of service, and a reason for each sensitive scope.

## Troubleshooting

### Error 400: redirect_uri_mismatch

The redirect URL saved in Google Cloud does not exactly match the one GoodMeet sends.

Check that:

- You copied the URL with **Copy** in GoodMeet, not by hand.
- You pasted it under **Authorized redirect URIs**, not **Authorized JavaScript origins**.
- `https` and `www` match your site address exactly.
- The client belongs to the same project you set up in this guide.

After you fix it, click **Save** in Google Cloud and wait a few minutes. Google can take a moment to pick up the change.

### Error 403: access_denied

The app is in testing mode and the account is not a test user, or someone clicked **Cancel** on Google's screen.

Check that:

- The account is listed under **Google Auth Platform** > **Audience** > **Test users**.
- You pick that same account after clicking **Continue to Google** again.

### Error 401: invalid_client

The uploaded JSON belongs to a client that was deleted, or its secret was reset in Google Cloud.

1. In GoodMeet, click **Reset credentials**.
2. In Google Cloud, download a fresh JSON from your **Web application** client.
3. Upload the new file and approve access again.

### "This file is not an OAuth client file. Download the JSON for a Web application client."

GoodMeet rejected the file because it is not an OAuth client file. A service account key or a **Desktop app** client is the usual mix-up.

[![The error under the drop zone after uploading the wrong JSON file](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-08-wrong-file-error.webp)](https://sovlix.com/wp-content/uploads/2026/10/goodmeet-connect-google-account-08-wrong-file-error.webp)
The message appears under the drop zone. The card keeps asking for the right file.

Check that:

- You downloaded the JSON from **Google Auth Platform** > **Clients**, for your **Web application** client.
- The file contains `client_id`, `client_secret`, `project_id`, `auth_uri` and `token_uri`.

### "That is not a .json file. Pick the one Google Cloud downloaded."

The file you dropped does not end in `.json`.

Check that:

- You upload the `client_secret_….json` file Google downloaded.
- The file was not renamed, zipped or opened and saved in another program.

### New meetings fail with "Could not create the meeting"

GoodMeet shows this when Google refuses the request. The notice on the form names the reason, and Google's own message sits underneath it.

Check that:

- The **Google Calendar API** is enabled in the project that holds your OAuth client. Go to **APIs & Services** > **Library** > **Google Calendar API** and click **Enable** if needed.
- The card in **GoodMeet** > **Settings** > **Connect** still shows **Connected**. If the notice offers **Connect Google Meet** or **Reconnect Google Meet**, click it and approve access again.

### Google shows the approval screen every time

This is expected. GoodMeet always asks Google for consent, so Google issues a long-lived refresh token. Review the screen and click **Continue**.

## Frequently asked questions

### Do I need a paid Google Cloud account?

**No.** Creating the project and the OAuth client, and enabling these APIs, does not need billing. Google's usage limits still apply.

### Can I paste a Client ID and Client Secret instead of a file?

**No.** GoodMeet takes the JSON file Google downloads and reads the client ID and secret from it.

### Which Google account do meetings use?

The account you approve in Step 11. Meetings, Meet links and invites are created on that account's Google Calendar.

### How do I switch to a different Google account?

Open the **Google Cloud Credentials** card with **Edit** and click **Use a different account**. Pick the new account in Google's chooser and approve access. If the app is in testing mode, add the new account as a test user first.

Your uploaded JSON file stays as it is. Meetings created earlier stay on the old account's calendar.

### Do I need a second connection for Google Classroom?

**No.** Classroom uses the same connection. Turn it on, then click **Allow access** in **Google services** to add its permissions.

### What happens if I click Reset credentials?

GoodMeet deletes the uploaded file and the Google token. New meetings cannot get Meet links until you upload a file and approve access again.

## Security best practices

- Never share the JSON file or client secret in screenshots, support tickets, email or code repositories.
- Give administrator access only to people you trust. Only administrators can upload or reset credentials.
- Remove test users and OAuth clients you no longer use.
- If the secret leaks, add a new secret in Google Cloud, delete the old one, and upload a fresh JSON file.
- Keep GoodMeet, WordPress and your other plugins up to date.
- Review connected apps from time to time at `https://myaccount.google.com/permissions`.

## You're ready to create meetings with Google Meet

Your site now talks to Google through your own Google Cloud project. Every new meeting gets a Google Meet link and a Google Calendar event. The client, the APIs, the test users and the secret stay in your own project. Next, create your first meeting, or connect your classes and courses.

- [How to create your first Google Meet meeting with GoodMeet](https://sovlix.com/docs/how-to-create-a-google-meet-meeting-in-wordpress/)
- [How to let instructors create meetings from the front end](https://sovlix.com/docs/how-to-let-instructors-create-meetings-from-the-front-end/)
- [How to use Google Classroom with GoodMeet](https://sovlix.com/docs/how-to-use-google-classroom-with-wordpress/)
