Turn Gravity Forms event registrations into calendar invites and confirmations
Every 15 minutes, new sign-ups on your Gravity Forms event registration page become calendar invites for the attendee plus a confirmation email with the join link.
Build a deterministic code workflow that turns new Gravity Forms event registrations into Google Calendar invites and Gmail confirmation emails. No reasoning required — every field maps one-to-one.
Trigger: a cron that fires every 15 minutes.
Step 1 — Pull new registrations from Gravity Forms. Call the "List Entries by Form" operation against my event/webinar registration form (the form ID should be a workflow input). Use a search filter on date_created so only entries created since the last successful run are returned. Persist the last-processed timestamp in workflow state so each run starts from where the last one left off. Page through results if there are more than one page worth.
Step 2 — For each new entry, read the structured fields by field ID: attendee name, attendee email, the chosen session date and time (stored in a form field — assume it's a single combined start datetime, with end derived by adding the event duration which is also an input), the event name, and the join URL (stored in an admin-only form field). Be defensive about Gravity Forms' field ID format (e.g. "1.3" sub-fields for Name).
Step 3 — Call Google Calendar "Create Event" on a shared events calendar (calendar ID is a workflow input). Set the event title to "[Event name] — [Attendee name]", start and end times from the form field, add the attendee as an invitee on the event so Google sends them the native calendar invite, and put the join URL in the event description and (if available) the conferencing/location field.
Step 4 — Call Gmail "Send a Message" to the attendee from the connected Gmail account. Subject should be "You're registered for [Event name]". Body should include the event title, the date and time in a human-readable format, the calendar event link returned by Google Calendar in step 3, and the join URL from the form. Keep the email plain and brand-neutral — the user will customize the copy later.
Step 5 — Mark the entry as processed. Update the last-processed timestamp in workflow state to the max date_created across this batch so the next run only pulls entries after it. If a single entry fails (bad email, missing date), log it, skip that entry, and continue the batch — do not block the rest of the registrations.
Workflow inputs to expose: Gravity Forms form ID, Google Calendar ID, event duration in minutes, the field IDs for attendee name, attendee email, session start datetime, event name, and join URL. Default the duration to 60 minutes.
This is a pure code workflow — no LLM reasoning steps. Every field maps directly from the Gravity Forms entry to the calendar event and the confirmation email.
Additional information
What does this prompt do?
- Watches your Gravity Forms event or webinar registration form for new entries and processes only the ones that arrived since the last run.
- Creates a Google Calendar event on a shared events calendar for each registrant, with the attendee added as an invitee and the title set to the event name plus their name.
- Sends the attendee a confirmation email from Gmail with the event title, date, time, calendar link, and a join URL pulled straight from your form.
- Runs end to end without copy-paste or judgement calls, so the same fields always end up in the same places.
What do I need to use this?
- A WordPress site with the Gravity Forms plugin and an admin REST API key, plus the form ID for your event registration form.
- A Google account with permission to create events on the shared events calendar you want to use.
- A Gmail account to send confirmation emails from. Most teams use a shared inbox like events@yourcompany.com.
- Your registration form already collecting the attendee name, email, session date and time, and a join URL field (admin-only is fine).
How can I customize it?
- Change how often it checks for new registrations. The default is every 15 minutes, but you can run it every 5 minutes for high-volume events or hourly for slower ones.
- Edit the calendar event title format, the body of the confirmation email, the sender name, or whether you also cc your events team.
- Swap the shared events calendar for a per-host calendar, or pick a different form if you run multiple events through Gravity Forms.
Frequently asked questions
Do I need a Zapier or Make account for this?
Will the attendee actually get a Google Calendar invite in their inbox?
What stops the same registrant from getting invited twice?
Can I use this for multiple events or webinars at once?
Does this work with Gravity Forms on any WordPress host?
Stop copy-pasting registrations into your calendar.
Connect Gravity Forms, Google Calendar, and Gmail once, and every new sign-up turns into an invite and a confirmation email on its own.