View Categories

How to Embed Google Meet Meetings with Shortcodes

Your visitors may never find a meeting’s own page if they spend their time on a course page or a landing page. Shortcodes put meetings on those pages instead. You can show a list of meetings, one meeting with its countdown, a form for instructors, or the instructor and student dashboards.

Below you will find every GoodMeet shortcode, what it shows and who sees what. The Embed Meeting button in the classic editor and the GoodMeet block are covered too. It is written for administrators and editors who build pages.

By the end of this guide, you will have:

  • A page that lists your meetings
  • One meeting embedded on a page, with its countdown and join button
  • The dashboard shortcodes, copied from Settings > Page setup
  • A meeting embedded from the classic editor, if you use it
  • A clear picture of what each visitor sees

Estimated setup time: 5 minutes per page. Shortcodes never change your meetings; removing one only removes it from that page.

Before you begin #

Make sure you have:

  • GoodMeet installed and activated, with your Google account connected
  • An account that can edit pages, such as Administrator or Editor
  • At least one published meeting
  • GoodMeet Pro activated, for the Pro shortcodes marked in the list below

All GoodMeet shortcodes #

Use this list to pick the shortcode you need. The steps after it show where to copy each one.

[goodmeet-google-meeting-list]

What it shows: A searchable, sortable table of meetings with Topic, Start Time and a Meeting Link button to each meeting page. Ten meetings per page.

Attributes: None.

Who sees what: Each viewer sees only the published meetings they may open, by the same Page access rule as the meeting page. The list never shows passwords or meeting settings.

Plan: Free

[goodmeet-google-meeting id="123"]

What it shows: One meeting: countdown (Time to go), JOIN NOW button, description and a Details box with topic, host, start time, duration and time zone.

Attributes: id (required, the meeting ID). hide_details="yes" hides the Details box. hide_timer="yes" hides the countdown. hide_calendar="yes" hides the add-to-calendar box.

Who sees what: Viewers who may open the meeting see it in full. Everyone else sees the meeting’s access message instead of the join button.

Plan: Free. hide_calendar and the calendar box require Pro.

[goodmeet_frontend-meeting]

What it shows: The meeting form and meeting list for people who host meetings from the front end.

Attributes: None.

Who sees what: Logged-in users with front-end meeting access see the form. Logged-out visitors see Log in to create a meeting. and a Log in button.

Plan: Pro

[goodmeet_instructor]

What it shows: The instructor dashboard: Overview, Meetings, Classes, Students, Attendance and Settings.

Attributes: None.

Who sees what: Instructors see their dashboard. Other logged-in users see the apply-to-teach panel. Logged-out visitors see the sign-in form.

Plan: Pro

[goodmeet_my_classes]

What it shows: The student dashboard: Overview, Schedule, My classes, Attendance and Account.

Attributes: None.

Who sees what: Logged-in users see their own classes and meetings. Logged-out visitors see the sign-in form.

Plan: Pro

[goodmeet_dashboard]

What it shows: One page for everyone: instructors get the instructor dashboard, everyone else gets the student dashboard.

Attributes: None.

Who sees what: Same as the two dashboards above, picked by role.

Plan: Pro

[goodmeet_login]

What it shows: The class sign-in box, with Log in, optional Create account and optional Sign in with Google.

Attributes: redirect="https://…" sets where users land after logging in. By default they land on the student dashboard.

Who sees what: Logged-out visitors see the form. Logged-in users see You are all set with Go to my classes and Log out.

Plan: Pro

[goodmeet_classes]

What it shows: The class catalog: one card per Google Classroom class that is open for enrollment, with its next live session.

Attributes: columns="3" sets 1 to 4 columns. per_page="12" sets cards per page, up to 48.

Who sees what: Everyone. Students already in a class see Go to class.

Plan: Pro, with Google Classroom turned on

Note: hide_details and hide_timer accept yes, 1 or true. hide_calendar only accepts yes.

Step 1: Open the Shortcodes screen #

GoodMeet keeps the meeting list shortcode on its own settings screen, ready to copy.

  1. In the WordPress admin menu, go to GoodMeet > Settings.
  2. In the settings menu on the left, click Shortcodes.
  3. Check that the heading reads Put GoodMeet on any page or post.
GoodMeet Settings with Shortcodes highlighted in the left menu
The Shortcodes screen lists the meeting list shortcode. The other shortcodes live next to the feature they belong to.

Step 2: Copy the meeting list shortcode #

Copying avoids typing mistakes, which are the most common reason a shortcode shows as plain text.

  1. Under Google Meeting List, click Copy.
Google Meeting List row with the Copy button highlighted
This shortcode takes no attributes. Paste it exactly as copied.

The shortcode on your clipboard looks like this:

[goodmeet-google-meeting-list]

Step 3: Find the dashboard shortcodes #

The dashboard shortcodes sit with the dashboard pages they belong to, so you can see which page already uses them.

  1. In the same settings menu, click Page setup under Frontend.
  2. Under Dashboard pages, find the shortcode under each row: [goodmeet_instructor] for the Instructor dashboard and [goodmeet_my_classes] for the Student dashboard.
  3. Click Copy next to the one you need. Use View and Edit to open the page GoodMeet already uses.
Dashboard pages card with the instructor and student dashboard shortcodes
Pick an existing page in the dropdown, or paste the shortcode on a new page and pick that page here.

Tip: [goodmeet_frontend-meeting] is on the Frontend Meetings screen. [goodmeet_login] is on the Classroom screen. See How to let instructors create meetings from the front end and How to run Google Classroom classes from WordPress.

Step 4: Paste the shortcode on a page #

A Shortcode block shows the shortcode text in the editor and the real output on the live page.

  1. Go to Pages and edit the page, or click Add New Page.
  2. In the block editor, add a Shortcode block and paste the shortcode into it.
  3. To show one meeting, type the single meeting shortcode with the meeting ID, as in the example below. The ID is the number after /meeting/edit/ in the address bar when you edit the meeting.
  4. Click Publish or Update, then view the page.
[goodmeet-google-meeting id="754" hide_calendar="yes"]

Your actual meeting ID will be different. Always copy it from your own meeting.

Block editor with a Shortcode block holding the front-end meeting shortcode
Use one Shortcode block per shortcode.

Tip: In the classic editor, you can paste the shortcode straight into the text.

Step 5: Embed a meeting from the classic editor (optional) #

The Embed Meeting button writes the single meeting shortcode for you. Use it where WordPress shows the classic editor toolbar, such as the Classic Editor plugin, a Classic block, or an LMS course builder.

  1. Switch the editor to Visual.
  2. Click the toolbar button with the video icon. Its tooltip reads Embed Meeting.
Classic editor toolbar with the Embed Meeting button highlighted
Here the button sits in a WooCommerce product description, next to other plugins’ buttons.
  1. In the Embed Meeting dialog, pick a meeting in Select a meeting.
  2. Click OK. GoodMeet inserts [goodmeet-google-meeting id="…" hide_details="no" hide_timer="no" hide_calendar="no"/].
  3. Change any no to yes to hide that part.
Embed Meeting dialog with Company All-Hands selected
Long meeting names are cut off in the list. Open the list to read the full names.

Note: Requires GoodMeet Pro. The button shows for users who can edit posts or pages and have the visual editor turned on in their profile.

Step 6: Use the Google Meet block (optional) #

The block is a quick way to drop a join button into a block page.

  1. In the block editor, open the block inserter and search for Google Meet (goodmeet). It is in the Embed category.
  2. In the block settings on the right, pick a meeting in Select A Meeting.
  3. Tick Link Only ? to show only a Join meeting button. Leave it off to show a table with Meeting ID, Topic, Start Time, Timezone and Join Link.
  4. Click Publish or Update.

Important: The block saves a copy of the meeting details into the page. If you change the meeting later, select it again in the block and update the page. For details that stay current, use [goodmeet-google-meeting id="…"] instead.

What visitors see #

The meeting list #

Each visitor sees only the meetings they are allowed to open. A meeting set to logged-in users, or to certain roles, stays out of the list for everyone else. Meeting Link opens the meeting page in a new tab.

Meeting list on a page with Topic, Start Time and Meeting Link buttons
Front-end view of the meeting list for a logged-out visitor.

A single embedded meeting #

The embed follows the same Page access rule as the meeting’s own page. Visitors with access see the countdown and JOIN NOW. A logged-out visitor on a members-only meeting sees Login Required with a Log in button. A logged-in visitor without the right role sees Access Denied. On a paid meeting, visitors see Buy now, and logged-in buyers see You have a ticket for this meeting. instead.

Front-end meeting form, logged out #

A page with [goodmeet_frontend-meeting] asks logged-out visitors to log in. After logging in, they come back to the same page and see the meeting form.

Host Meetings page asking a logged-out visitor to log in
The button style comes from your theme.

Class sign-in #

A page with [goodmeet_login] shows the sign-in box. [goodmeet_instructor], [goodmeet_my_classes] and [goodmeet_dashboard] show the same box to logged-out visitors.

Class Sign In page with the Google button and the email and password form
The Google button’s language comes from Google, so it can differ from your site language.

Instructor dashboard #

An instructor who opens the [goodmeet_instructor] page sees their next class, this week’s sessions and attendance at a glance.

Instructor dashboard showing the next class, stats, this week and coming up
The status pill at the top right shows whether Google is connected. Here it reads Google not connected, so class and student counts stay at zero.

For the student dashboard and the class catalog, see the screenshots in How to run Google Classroom classes from WordPress.

Security note: Embeds never open a gap in your access rules. To limit who can join, set Page access on the meeting itself; the list and the embed both follow it. See How to control who can see meetings and who can co-host.

Benefits of GoodMeet shortcodes #

  • Meetings on pages people already read: add a meeting to a course, product or landing page.
  • Changes show everywhere: the shortcodes read the live meeting, so a new time or description updates every page that embeds it.
  • Access rules still apply: lists and embeds follow each meeting’s Page access rule and never show passwords.
  • Nothing to break: removing a shortcode removes it from that page only. The meeting stays as it is.

Troubleshooting #

The page shows “Please use correct shortcode” #

The shortcode has no id, the ID is not a meeting, or the meeting is not published.

Check that:

  • The shortcode includes the meeting ID, for example [goodmeet-google-meeting id="754"].
  • The meeting is published, not a draft.

The shortcode shows as plain text on the page #

The shortcode belongs to GoodMeet Pro, or to a feature that is turned off.

  1. Activate GoodMeet Pro.
  2. For the meeting form, turn on Let members create meetings in GoodMeet > Frontend Meetings.

The meeting list says “No meetings available.” #

There is no published meeting this viewer may open. Meetings limited by Page access stay hidden from visitors without access.

Check that:

  • At least one meeting is published.
  • The meeting’s Page access lets this visitor in. Open the page in a private window to see it as a logged-out visitor.

The embedded meeting shows “Login Required” or “Access Denied” #

The embed follows the meeting’s Page access rule. Change Page access on the meeting if this visitor should see the join button, or log in with an account that has access.

The class catalog says “No classes are open for enrollment right now.” #

No Google Classroom class is linked to a course or product, or Google is not connected. Check Settings > Connect, then link a class as shown in How to run Google Classroom classes from WordPress.

The student dashboard says “Your classes cannot be shown right now” #

GoodMeet cannot reach Google Classroom, usually because the Google account is disconnected. Reconnect Google in Settings > Connect. Students do not need to do anything.

hide_calendar does not hide the calendar box #

hide_calendar only accepts the value yes. Write hide_calendar="yes".

Google Meet (goodmeet) is missing from the block inserter #

Another plugin limits which blocks the editor offers. On a site with MultiVendorX active, the GoodMeet block is left out. Use a Shortcode block with [goodmeet-google-meeting id="…"] instead.

Frequently asked questions #

Can I use more than one GoodMeet shortcode on a page? #

Yes. For example, put [goodmeet-google-meeting id="…"] for a featured meeting above [goodmeet-google-meeting-list].

Does the meeting list show past meetings? #

Yes. It lists every published meeting the viewer may open. Sort by Start Time or use Search to find one.

Does the meeting list show meeting passwords? #

No. It shows only the topic, start time and a link to the meeting page.

Can a visitor without access join through an embed? #

No. The embed shows the same access message as the meeting page, without the join button.

Do shortcodes work in widgets? #

Yes. Add a Shortcode block to a widget area and paste the shortcode.

Will students see Google setup messages on the dashboards? #

No. Only administrators and instructors see Google connection messages.

You’re ready to put meetings on any page #

You can now place meetings, the meeting form and the dashboards on any page. Each embed follows the Page access you set on the meeting. Next, decide who can open each meeting and who co-hosts it.

Powered by BetterDocs