Save the event once. The Google Calendar invitation writes itself.
Pick a calendar and a direction once, and every event you publish keeps an entry in Google Calendar, and keeps it right. Move it in Google and the change comes back. Type an address there and it becomes a venue here.
Thursday Night Jazz
the event nameCalendar: Gigs
- When
- Thu, Sep 17 · 8:00 to 10:00 PM start time + duration
- Where
- The Blue Note, 131 W 3rd St the venue on the event
- Details
- Doors at 7:30. Trio plus guests. description, or your template
- Zone
- America/New_York the schedule's timezone
- Shown
- Public private for an unlisted event
One entry per event. The blue notes name where each line came from: you filled those in once, over here. Edit it in either place and the other side catches up.
The fields
What the invitation carries.
Seven fields cross, and five of them cross back. This is the whole list, so there is nothing to discover later.
| On the entry | Written from | Comes back |
|---|---|---|
| Title | The event name. | Yes |
| Description | The event description, or the calendar template you write for this schedule. | Yes |
| Start | The start date and time, stamped in the schedule's timezone. | Yes |
| End | The start plus the event's duration. There is no separate end field to keep in step. | Yes |
| Location | The address of the venue on the event. | Yes |
| Time zone | The schedule's timezone, so an entry does not drift for anybody reading it elsewhere. | Set here |
| Visibility | Public, or private when the event is unlisted. | Stays as set here |
An address that arrives in the Location field is matched against the venues you already have, and becomes a new venue only when none of them fit.
Guest lists and attendees are not on the list, in either direction. Who is coming lives in Event Schedule, on registrations and tickets, and is never written into somebody's calendar entry.
The reply
You say yes to Google once.
Connecting is Google's own consent screen, in your account settings. No password of yours is stored here, and the connection is yours to end.
What Google is asked for
FreePermission to read your calendars and to manage calendar events, plus your name and email so the connection has an owner. That is the whole request, and Google shows it to you before you agree.
It stays connected
FreeThe connection is offline, so the access token is refreshed in the background before it lapses. You are not asked to sign in again every few hours, and sync does not quietly stop while you sleep.
One account, every schedule
FreeConnect the Google account once. After that each schedule chooses its own calendar and its own direction, and disconnecting is one link in the same settings page.
Running your own install? Point it at your own Google client and the same flow is yours. Selfhost setup
The direction
Set per schedule, not per account.
A band schedule and a venue diary want different things from the same Google account. So the direction, and the calendar it points at, both live on the schedule.
- The calendar list is read from your Google account, so you pick a real calendar by name rather than pasting an id.
- Leave it unset and the schedule uses your primary calendar, which is what most people want on day one.
- Change your mind and there is a re-send button on the same tab that writes every published event out again.
Sync direction
Events you publish here are written to the calendar you picked. Nothing in that calendar touches your schedule.
Entries in that calendar become events on your schedule. Useful when the calendar is already where you book.
The one most people pick. Save it in either place and the other one catches up.
Where a newly connected schedule sits until you choose one of the other three. Connected, but nothing moves.
Four settings, one radio group, saved with the rest of the schedule. A new schedule starts on no sync, so nothing leaves until you say which way. Turning inbound sync on is what asks Google to start notifying us.
The channel
Somebody drags it to Friday. Now what?
Google does not wait to be asked. When inbound sync is on, it holds a notification channel for that calendar and calls us the moment something changes.
The notification
FreeGoogle posts to Event Schedule when the calendar changes, and only the changes since last time are read. Seconds, not a poll on the hour.
The backstop
FreeA channel can lapse and a single notification can go missing, so an incremental sweep runs every fifteen minutes as well, and a daily check renews the channel before it expires.
If it is deleted there
FreeYour call, per schedule: keep the event here, mark it cancelled so guests stop seeing it, or delete it here too. It defaults to keeping it, which is the choice you can undo. An event with ticket sales on it is hidden rather than deleted.
Being straight about two things
A recurring event is written out as a single entry at the series start, not as a Google repeat rule, so a whole run does not appear date by date in Google. And an inbound entry arrives as a plain event, without your recurrence or your ticket types. If what you want is every date of a run on somebody's calendar, that is the iCal feed, not this.
The distribution list
The same entry, on everybody's calendar.
This one is Google only, and it costs nothing. Anybody who follows your schedule, and any team member on it, can point it at a Google Calendar of their own, so the entry is written there as well as wherever the schedule itself syncs.
Thursday Night Jazz
Thu, Sep 17 · 8:00 PM
Ada · Team member
ada@ · Work
Thursday Night Jazz
Thu, Sep 17 · 8:00 PM
Marco · Follower
marco@ · Personal
Thursday Night Jazz
Thu, Sep 17 · 8:00 PM
Priya · Follower
priya@ · Primary
Each person picks their own
FreeThey connect their own Google account and choose which of their calendars receives your schedule, from their own following list. Nobody sees anybody else's calendar, and turning it back off takes the entries that were written off their calendar again.
It works even when the schedule does not sync
FreeThese copies are written on each person's own account. If the schedule itself is set to no sync, the people who asked for the entry still get it, and unpublishing the event removes it from their calendars as well.
Following is free and open to anybody with an account; adding team members beyond yourself is an Enterprise feature, capped at five. Outlook and CalDAV connect at the schedule level only, so this part is a Google thing.
Your audience
They can take one too.
Add to Google Calendar
FreePublic event pages carry an Add to Calendar menu, except where the page is already leading with a Register or Buy tickets button. On a ticketed page it sits with the venue details instead. The Google item opens a new Google Calendar entry with the title, the date, the address and the details already filled in.
On a recurring event the link is built for the date they are looking at, so a Thursday in October is a Thursday in October and not the first night of the run.
No account, and no strings
FreeNobody signs up to take a copy, and nothing is tracked back to them. Being straight about it: a copy is a copy. If you move the start time afterwards, their entry does not hear about it.
Anybody who wants to stay current can take the live version instead: Subscribe to all events from your schedule, offered in the Add to Calendar menu and beside the email sign-up. It is the schedule's iCal feed, and Google Calendar keeps re-reading it, so a date you move moves on their calendar too.
How calendar subscriptions workEverything else
The small print, in full.
Write the entry the way you read it
FreeBy default the Google entry carries the event's own description. Give the schedule a calendar template instead and every entry is written to that shape, from the event's real values.
{event_name} · {time} to {end_time} · {venue}, {city} · {price} · {url}
A line whose values are all empty is dropped rather than left as stray punctuation, so a gig with no venue does not arrive with a dangling separator.
Drafts stay home
FreeNothing leaves while an event is a draft. Publish it and the entry appears; unpublish it and the entry is taken away again.
Unlisted goes out private
FreeAn unlisted event is written to Google marked private, so it is not offered up to anybody browsing a shared calendar.
Put them all on the right calendar
FreeThe schedule owner has a re-send button that walks every published event and puts it on the calendar the schedule points at now. It is the fix for a calendar you switched, or a batch you wrote before you connected.
Events already sitting on that calendar are left alone and the rest are moved across, so pressing it twice costs nothing. It only pushes, never imports, and it needs sync to Google switched on first. An old copy it can no longer reach stays where it is, and it says so before it runs.
Bookings are protected
ProAn appointment somebody booked with you is owned here, not by the calendar, so an inbound edit never rewrites the guest's own notes or drags the booking back to its old time.
Selfhosted, on your own client
FreeCreate an OAuth client in the Google Cloud Console, add your own callback as an authorized redirect URI, and put the client id, secret and redirect in your environment file. Nothing is proxied through us. Push notifications need your install reachable over HTTPS; without that, the fifteen-minute sweep still does the job.
Read the selfhost guideFree forever. Upgrade when you're ready.
Zero platform fees on ticket sales, on every plan. The only deduction is your payment processor's own.
Everything you need to publish a schedule, and enough selling to find out whether you need more.
- Unlimited events, sub-schedules and recurring dates
- Two-way Google, Outlook and CalDAV sync
- 25 paid tickets a month, each one scanned at the door
No expiry, and no card asked for.
The ceilings come off, and the rest of the selling kit arrives with them.
- Unlimited ticket sales and the live check-in dashboard
- Promo codes, add-ons, passes and gift cards
- The REST API, webhooks, and no Event Schedule branding
7-day free trial, cancel any time.
For a room with a seating chart, a team, and a domain of its own.
- Reserved seating, drawn once and reused every date
- Your own domain, and up to five team members
- Internal and unlisted events, and 1,000 newsletter recipients
Included free on every selfhosted install.
Related features
Frequently asked questions
Common questions about Google Calendar sync.
Is two-way sync available on the free plan?
Yes. Google Calendar sync is available on all plans, including the free plan. You can push events to Google, pull events from Google, or sync both ways at no cost.
How quickly do changes sync?
Outbound, the entry is written when you save the event. Inbound, Google sends a push notification to Event Schedule and the change is read within seconds. An incremental sweep every fifteen minutes is the backstop, so a notification that never arrives costs you a quarter of an hour rather than the change itself.
Can I sync multiple schedules to different Google Calendars?
Yes. Each schedule picks its own Google Calendar and its own direction, from the one Google account you connected. That lets you keep a band schedule, a venue diary and your own week in separate calendars.
What happens to a recurring event?
A recurring event is written to Google Calendar as a single entry at the series start, not as a Google repeat rule. If you want every date of a run to land on a calendar, the schedule's iCal feed is the better road: it publishes one entry per date for the next ninety days, and a subscribed calendar re-reads it on its own.
If I delete an entry in Google Calendar, what happens here?
Whatever you told it to do. Each schedule has a policy for events deleted in the connected calendar: keep the event here, mark it cancelled so guests stop seeing it, or delete it here as well. It defaults to keeping the event, because that is the choice you can undo. Delete has one brake: an event with ticket sales on it is hidden instead, so its sales records survive.
I connected after I had already added events. Do the old ones go across?
Not on their own. Connecting starts the sync from that moment, so events you save afterwards are written out and the ones already on the schedule sit where they are. The re-send button on the schedule's calendar tab is what backfills them: it walks every published event and puts it on the calendar the schedule points at now. It is owner-only, it needs a direction that pushes, and it runs in the background rather than making you wait.
What happens to the entries in Google if I disconnect?
They stay. Disconnecting closes the notification channels, clears each schedule's direction and calendar choice, and drops the tokens, so nothing further is written or read. It deliberately does not go back through Google deleting what it wrote, because that is not a decision worth making on your behalf. If you reconnect later, use the re-send button to bring the two back into step.
Can guests subscribe to my whole schedule in Google Calendar?
Yes, and that is a separate thing from sync, with nothing to connect on your side. Your pages offer Subscribe to all events from your schedule, in the Add to Calendar menu and beside the email sign-up. It is the schedule's live iCal feed, so Google Calendar adds it as a calendar of its own and keeps re-reading it: a date you move moves for them too, though Google can take several hours to notice. It carries your public events, with each date of a recurring event for the next ninety days, and it asks for no email address and no account.
Does Google Calendar sync work with selfhosted Event Schedule?
Yes. A selfhosted install uses its own Google OAuth credentials: create a client in the Google Cloud Console, add your callback URL as an authorized redirect URI, and set the client id, secret and redirect in your environment file. Push notifications also need your install to be reachable over HTTPS. Full setup instructions are in the selfhosted documentation.
Google Calendar
Your first event
Written the moment you save it.
Free on every plan
Connect Google. Send the first one.
Pick a name, connect the calendar you already keep open, and the next event you save is on it.
No credit card required
Related
Keep exploring
Outlook Calendar
Two-way sync with Outlook and Microsoft 365, plus Teams links.
Read moreCalDAV
Sync with any CalDAV-compatible calendar server.
Read moreCalendar Sync
Two-way sync with Google Calendar, Outlook and any CalDAV server.
Read morePricing
See what is included on Free, Pro, and Enterprise plans.
Read more