Ir al contenido principal
Google Calendar · free on every plan

Save the event once. The 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.

Google Calendar Written on save

Thursday Night Jazz

the event name

Calendar: 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.

Two-way Push notifications Pick the calendar Per schedule Venue from an address Delete policy Selfhost ready Free plan

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.

Each field on a Google Calendar entry, what Event Schedule writes into it, and whether an edit made in Google Calendar comes back
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

Free

Permission 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

Free

The 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

Free

Connect 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

To Google Calendar

Events you publish here are written to the calendar you picked. Nothing in that calendar touches your schedule.

From Google Calendar

Entries in that calendar become events on your schedule. Useful when the calendar is already where you book.

Both directions Chosen

The one most people pick. Save it in either place and the other one catches up.

No sync

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

Free

Google 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

Free

A channel can lapse and a single notification can go missing, so an incremental sweep runs every fifteen minutes as well, and the channel is renewed daily.

If it is deleted there

Free

Your 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.

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

Free

They 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

Free

These 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

Free

Public 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

Free

Nobody 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 wants the schedule's iCal feed instead, which their calendar re-reads on its own.

How the feed works

Everything else

The small print, in full.

Write the entry the way you read it

Free

By 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

Free

Nothing 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

Free

An 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

Free

The 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

Pro

An 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

Free

Create 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 guide

Free forever. Upgrade when you're ready.

$0
Scheduling, calendar sync, newsletters, and 25 tickets a month
$9/mo
Unlimited tickets, QR check-in, event graphics, and no branding

Zero platform fees on ticket sales. You only pay Stripe's processing fee.

See all plans

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.

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.

.eventschedule.com
Get started free

No credit card required