The moment it happens
Add event sign-ups to the calendar invite
Everyone who registers through your form is added to the event in Google Calendar and gets a confirmation email.
- Runs
- The moment it happens
- Apps
- Gmail, Google Calendar
- AI
- Not needed
- Access
- Calendar write; Gmail gmail.send
Send this to your assistant
Create a ClickRuntime automation: when my registration form posts a sign-up, add the person as a guest on the event and email them a confirmation.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A community organiser runs a monthly evening workshop. People sign up through a simple form, and she then adds each email to the calendar event by hand and sends a confirmation. Some people never get the invite, turn up without the room details, or forget the date altogether.
This automation adds each new sign-up to the calendar event and confirms their place straight away, so every attendee has the event in their own calendar with the details and any updates.
What you get out of it
Fewer no-shows
An event in someone's own calendar, with reminders, is far more likely to be remembered than a line in a confirmation email.
Changes reach everyone
If the time or room changes, updating the event notifies every registered guest, with no separate mailing.
Instant confirmation
People know their place is booked the moment they sign up, which cuts down follow-up emails asking if it worked.
An accurate guest list
The event's guest list is the registration list, so you can see who is coming without merging spreadsheets.
How it works
What happens, step by step
Your registration form sends each new sign-up to ClickRuntime.
ClickRuntime opens the event in your Google Calendar and checks whether the person is already a guest.
If not, it adds them to the event so they receive the calendar invite.
It emails them a confirmation from your Gmail account with the date, time and place.
Before it runs live
- Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
- Connect Google Calendar
- Paste your automation's link into the other app's webhook settings
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 Gmail and Google Calendar steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
import base64
from email.mime.text import MIMEText
from clickruntime import on_event, credentials
EVENT_ID = "your-event-id"
def send(gmail, to, subject, text, thread=None):
msg = MIMEText(text)
msg["to"], msg["subject"] = to, subject
body = {"raw": base64.urlsafe_b64encode(msg.as_bytes()).decode()}
if thread:
body["threadId"] = thread
gmail.users().messages().send(userId="me", body=body).execute()
@on_event
def handle(event):
p = event.json or {}
email, name = p["email"].strip().lower(), p.get("name", "")
creds = Credentials(credentials.connection("google", "work"))
cal = build("calendar", "v3", credentials=creds, cache_discovery=False).events()
ev = cal.get(calendarId="primary", eventId=EVENT_ID).execute()
guests = ev.get("attendees", [])
if all(g["email"].lower() != email for g in guests):
cal.patch(calendarId="primary", eventId=EVENT_ID, sendUpdates="all",
body={"attendees": guests + [{"email": email, "displayName": name}]}).execute()
when = ev["start"].get("dateTime", ev["start"].get("date"))
send(build("gmail", "v1", credentials=creds, cache_discovery=False), email, f"You're registered: {ev['summary']}",
f"Hi {name},\n\nYour place at {ev['summary']} is confirmed.\nWhen: {when}\nWhere: {ev.get('location', 'see invite')}\n\nSee you there.")
return {"guests": len(guests) + 1}FAQ
Common questions
Will guests see each other's email addresses?
Can I cap the number of places?
What if someone registers twice?
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
Check booking requests against your calendar and book the good fits
When someone asks for an appointment, it is checked against your criteria and your calendar, booked if it fits, and the person gets a confirmation or a polite decline.
See how it worksBook interviews automatically when you shortlist a candidate
When you shortlist a candidate, the next free 45-minute slot is booked on your calendar with a Meet link and the candidate gets an invitation email.
See how it worksGet a research brief before every external meeting
An hour before any meeting with people outside your company, you get an email about who they are, recent news and what you last discussed.
See how it worksKeep exploring
Set up “Add event sign-ups to the calendar invite” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.