Google Calendar Sync
Keep your Google Calendar automatically in sync with your gig diary. Add, update, or cancel a gig and the calendar updates instantly.
How it works
PB Gig Diary connects to Google Calendar using a service account — a special Google account that allows server-to-server communication without requiring you to log in each time. When you save a gig, PB Gig Diary automatically creates or updates the corresponding event in your calendar. Cancellations delete the event.
Setup overview
Setup involves three steps in Google Cloud Console, then entering the credentials in PB Gig Diary:
- Create a Google Cloud project
- Enable the Google Calendar API
- Create a service account and download the credentials file
- Share your calendar with the service account
- Enter the credentials in PB Gig Diary
Step 1 — Create a Google Cloud project
- Go to console.cloud.google.com and sign in with your Google account
- Click Select a project at the top, then New Project
- Give it a name — e.g. Gig Diary — and click Create
Step 2 — Enable the Google Calendar API
- In the Google Cloud Console, go to APIs & Services → Library
- Search for Google Calendar API and click on it
- Click Enable
Step 3 — Create a service account
- Go to APIs & Services → Credentials
- Click Create Credentials → Service account
- Give it a name — e.g. Gig Diary Sync — and click Create and continue
- Skip the optional role and user access steps — just click Done
- Click on the service account you just created, then go to the Keys tab
- Click Add Key → Create new key, choose JSON, and click Create
- A JSON file will download to your computer — keep this safe, you’ll need it shortly
Step 4 — Share your calendar with the service account
- Open the downloaded JSON file in a text editor and find the
client_emailfield — it will look likegig-diary-sync@your-project.iam.gserviceaccount.com - Go to Google Calendar and find the calendar you want to sync with
- Click the three dots next to the calendar name and choose Settings and sharing
- Scroll to Share with specific people and click Add people
- Enter the
client_emailaddress from the JSON file and set permission to Make changes to events - Click Send
Step 5 — Enter credentials in PB Gig Diary
- Go to Gig Diary → Settings → Google Calendar
- Paste the entire contents of your JSON credentials file into the Service Account JSON field
- Enter your Calendar ID — find this in Google Calendar under Settings → your calendar → Integrate calendar. It usually looks like an email address.
- Click Save Settings
- Click Test connection to verify everything is working
Calendar event details
Each gig creates a calendar event with the following information:
| Calendar field | Source |
|---|---|
| Title | Artist name @ Venue name, City. Provisional gigs are prefixed with [Provisional]. |
| Date / Time | Gig date and time. All-day if no time is set (configurable). |
| Location | Full venue address |
| Description | Age restriction, admission, public notes, venue phone |
| Colour | Configurable per artist in Settings → Google Calendar |
What triggers a sync
- Save gig — creates or updates the calendar event
- Cancel gig — deletes the calendar event
- Delete gig — deletes the calendar event
- Hide from calendar ticked — removes the event from calendar
Troubleshooting
Test connection fails
Check that the service account email has been shared with the calendar with Make changes to events permission. Also verify the Calendar ID is correct — it’s found under Google Calendar → Settings → your calendar → Integrate calendar.
Events aren’t appearing in the calendar
Make sure Hide from calendar is not ticked on the gig. Also check that the gig status is not set to Cancelled — cancelled gigs don’t create calendar events.
Getting a “permission denied” error
The service account doesn’t have permission to write to the calendar. Re-check the sharing settings in Google Calendar and make sure the permission level is Make changes to events, not just See all event details.

