Mushthaq.com
Mushthaq.com
Marketing Strategy & Execution
Feature Plan

Events Calendar Module.

How it will work, what you'll manage, and what your visitors will see. Review this before I put the quote together.

Prepared For
The Salesforce Trainers
Mark Christie
Status
For your review
Quote follows your feedback
Built On
Your existing site
Astro, Tina CMS, Google Meet
01
The Idea

In One Paragraph

You run your training sessions on Google Meet. This module puts those sessions on your website as a proper events calendar, so people can browse what's coming up, look back at what you've run before, and register to attend.

The important part: the Google Meet link is never shown on the website. Visitors see the event, the date, and what it covers. They register with their details, and only then does the join link arrive in their inbox. That way you know who's coming, and you build a contact list every time you run a session.

You add the event
One form in Tina CMS. Live on the site within a minute.
They register
Name, email, phone, company, position. Nothing more.
The rest is automatic
Confirmation, join link, reminders, your spreadsheet.
02
How It Works

Three Journeys

Click through each one to see the full sequence.

Your side — about 3 minutes per event
1

Create the meeting in Google Calendar You

Set up the session in your Google Calendar the way you normally would. Google generates the Meet link automatically when you add Google Meet to the event.

Why this way: the event lives on your own calendar, where you want it anyway. It also means Meet's host controls stay yours, including recording and attendance reports through your Workspace account.
2

Open Tina CMS and add the event You

Same editor you already use for blog posts. Click "Events", then "New Event", and fill in the form: title, description, date, time, category, image, and so on.

3

Paste in the Meet link You

One field, marked clearly as private. Copy the link from your calendar invite and paste it here. This is the only field on the form that never appears on the website.

4

Hit save You

That's it. Your part is done.

5

The site updates itself Automatic

Within about a minute the event appears on the calendar, on the upcoming events section of the homepage, and in its own page with a registration button. Nothing else for you to do.

Visitor side — what your audience experiences
1

They find the calendar Visitor

Either from the main navigation, a link in one of your emails, a social post, or by landing on it from a Google search. Events show up in search results with the date and time attached, the way concert and webinar listings do.

2

They browse and filter Visitor

Switch between a list and a month calendar, search by keyword, filter by category, and look back through past sessions. Everything they'd expect from a professional training calendar.

3

They open the event page Visitor

Full description, date and time in their own timezone, who's running it, what they'll learn, and a clear Register button. No join link anywhere on this page.

4

They fill in the registration form Visitor

Name, email, phone, company, and position. Plus a tick box asking whether they'd like to hear from you about future sessions and insights.

On that tick box: Canadian anti-spam law requires people to actively opt in before you add them to a marketing list. It'll be there, unticked, worded clearly. In practice most people registering for a free session tick it, so your list still grows with every event.
5

The confirmation email arrives Automatic

Within seconds. Branded to match your site, containing the event details and the Google Meet join link. A calendar file is attached, so one click drops the session into their own Outlook or Google Calendar with the link already inside it.

6

Reminders before the session Automatic

One the day before, one an hour before with the join link right at the top. This matters more than it sounds: free online sessions typically lose a large share of registrants to people simply forgetting. Reminders are the cheapest attendance you'll ever buy.

Behind the scenes — nobody has to do anything

Every signup lands in your Google Sheet Automatic

A row per registration with name, email, phone, company, position, which event, and when they signed up. No notification emails cluttering your inbox. Open the sheet whenever you want to see who's coming, sort it, or export it.

Opt-ins flow into your email list Automatic

Anyone who ticks the box is added to your email platform and tagged by which event they attended. That feeds straight into the email marketing side of the retainer, so your newsletter list grows every time you run a session.

Events move to the archive on their own Automatic

Once a session has finished it drops out of "Upcoming" and into "Past Events" without you touching it. The past archive stays live and indexed, which is quietly valuable: it shows a track record of consistent training delivery to anyone evaluating you.

Spam protection on the form Automatic

Invisible bot filtering so you get real registrations rather than junk. Genuine visitors won't see anything at all — no puzzles, no image grids.

Search engines get the structured data Automatic

Each event is published in the format Google understands as an event, so listings can show the date, time, and location directly in search results and in Google's event listings.

03
The Key Mechanic

Public Page vs Private Link

This is the part that makes the whole thing work, so it's worth being clear about exactly where the line sits.

Visible to everyone

On the website

  • Event title and full description
  • Date, start and end time
  • Category and topic tags
  • Who's running it
  • Featured image
  • A Register button
Registered attendees only

Sent by email

  • The Google Meet join link
  • Calendar file with the link embedded
  • Joining instructions
  • Reminder emails before the session
The link is stored privately and never written into any public page or file. It's only ever sent to an email address that has registered.
One honest caveat
Emailing the link controls who gets it, but it can't stop someone forwarding it on. For sessions where that matters, Google Meet's own host controls are the real safeguard. Turning on the setting that makes people knock to enter means nobody joins until you let them in. Worth switching on for anything sensitive.
04
Your Controls

The Event Form in Tina

Everything you fill in when creating an event. Same editor you already use for blog posts.

Event title
Full description
Short summary
Date
Start and end time
Timezone
Category
Tags
Featured image
Host or trainer
What attendees will learn
Feature on homepage
Registration open or closed
Cancelled or postponed
SEO title and description
Google Meet link (private)
The dark field is the only one that never reaches the website. Everything else is public once you publish.
05
The Calendar

What Visitors Can Do

List view

Upcoming sessions in date order, grouped by month, with image, category, time and summary.

Month view

A traditional calendar grid. Sessions marked on their dates, tap any day to see what's on.

Event pages

Its own page per session with full detail, host, and registration. Shareable and searchable.

Search

Type a keyword and find matching sessions instantly, without the page reloading.

Filters

Narrow by category, topic, or host. Filtered views can be shared as a link.

Past events archive

Everything you've run, still browsable. Proof of a consistent training record.

Works on any device

Designed for phones first, since that's where most people will open your emails and links.

Upcoming events blocks

Show the next few sessions on the homepage, service pages, or in the footer.

06
Scope

What's In This Build

The full calendar
List and month views, event pages, search, filters, past events archive, category pages.
Event management in Tina
The full event form, plus reusable host records so you set them up once.
Registration system
Form, secure storage, spam protection, and the consent checkbox.
Automated emails
Branded confirmation with the Meet link, calendar attachment, and two reminders per event.
Google Sheet sync
Every registration written to your sheet automatically.
Email list integration
Opt-ins added and tagged in your email platform.
Search visibility
Event structured data so sessions can appear in Google's event results.
Deliberately Left Out

Not in this build

These can be added later if you ever need them. Leaving them out keeps this build focused and affordable.

Paid tickets — no payments, all sessions free
Seat limits and waitlists — register as many as want to come
Recurring event series — each session created individually
Automatic Meet link creation — you paste it in, which takes seconds
Venue and map features — everything is online
07
Your Input

A Few Things to Confirm

Answer these and I'll finalise the quote.

1
What should the section be called?
Events, Training, Classes, or Academy? It sets the web address, so easier to decide now than change later.
2
What categories do you want?
For example: ProSell, Salesforce Adoption, Sales Leadership, Platform Training. These become the filters visitors use.
3
Roughly how many sessions a month?
One or two, or closer to weekly? It won't change the build much, but it tells me how much the filtering will actually get used.
4
Is it always you hosting?
If colleagues ever run sessions, I'll set up host profiles so their name and photo appear on the relevant events.
5
Should past sessions link to recordings?
Your Workspace account can record Meet sessions. If you want past events to offer the recording, that's a small addition worth including now.
6
Anything here you'd change?
This is a plan, not a final decision. If something's missing or unnecessary, tell me before I price it.
What Happens Next

Once you've had a look

1
Send your feedback
Answer the questions above and flag anything you'd change.
2
I finalise the quote
Priced against exactly what's agreed here, with a delivery timeline.
3
Build and launch
Then I'll walk you through creating your first event together.