Every 15 minutes
Invite new sheet registrants to your calendar event
Each new email in your registrations sheet is added as a guest to your event and gets a calendar invite.
- Runs
- Every 15 minutes
- Apps
- Google Calendar, Google Sheets
- AI
- Not needed
- Access
- Sheet edit; Calendar read+write
Send this to your assistant
Create a ClickRuntime automation: when a new row appears in my registrations sheet, add that email as a guest to my event in Google Calendar.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A trainer runs a free monthly webinar. Sign-ups go into a Google Sheet from a form, and before each session she copies the new email addresses into the calendar invite. If she misses a few, those people never get the link and email to complain.
Adding each registrant to the event as soon as they sign up means everyone gets the invite, the link and any later time changes automatically.
What you get out of it
Nobody misses the joining link
Each registrant gets a calendar invite with the video link, so it is in their calendar instead of buried in an email.
Time changes reach everyone
If you move the event, every guest gets the update, which a one-off confirmation email cannot do.
No copying addresses
The weekly job of pasting emails into the guest list goes away, along with the typos that come with it.
The sheet shows who was invited
Each row is marked once its invite is sent, so you can see at a glance that everyone is on the list.
How it works
What happens, step by step
Every few minutes ClickRuntime checks your registrations sheet for new rows.
It skips rows already marked as invited.
It adds each new email address as a guest on your Google Calendar event and sends them the invite.
The row is marked as invited in the sheet.
Before it runs live
- Connect Google Calendar
- Connect your Google Sheets account and pick the spreadsheets it may use
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Google Calendar and Google Sheets steps into one automation
Under the hood
The code that runs this automation
from googleapiclient.discovery import build
from google.oauth2.credentials import Credentials
from clickruntime import on_trigger, credentials, report_fetched
SHEET_ID, EVENT_ID = "your-spreadsheet-id", "your-event-id"
@on_trigger
def run(event):
creds = Credentials(credentials.connection("google", "work"))
values = build("sheets", "v4", credentials=creds, cache_discovery=False).spreadsheets().values()
rows = values.get(spreadsheetId=SHEET_ID, range="Registrations!A2:C").execute().get("values", [])
new = [(i + 2, r[1]) for i, r in enumerate(rows) if len(r) > 1 and (len(r) < 3 or r[2] != "invited")]
report_fetched(len(new))
if not new:
return {"summary": "No new registrations"}
cal = build("calendar", "v3", credentials=creds, cache_discovery=False).events()
ev = cal.get(calendarId="primary", eventId=EVENT_ID).execute()
guests = ev.get("attendees", []) + [{"email": email} for _, email in new]
cal.patch(calendarId="primary", eventId=EVENT_ID, body={"attendees": guests}, sendUpdates="all").execute()
for row, _ in new:
values.update(spreadsheetId=SHEET_ID, range=f"Registrations!C{row}", valueInputOption="RAW", body={"values": [["invited"]]}).execute()
return {"invited": len(new)}FAQ
Common questions
Will guests see each other's email addresses?
Is there a limit on guests?
Can I use a different event each month?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Put unpaid bills from a sheet into your calendar on their due dates
Every unpaid bill in your sheet shows up in your calendar on its due date with a reminder, and the event updates if the amount changes.
See how it worksKeep a Google Sheet of every work calendar event
Your sheet always lists every event on your work calendar with its title, time, guests and status, and updates when events change.
See how it worksFill cancelled appointments from your waitlist sheet
When an appointment is cancelled, you get an email naming the next person on your waitlist to offer the slot to.
See how it worksKeep exploring
Set up “Invite new sheet registrants to your calendar event” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.