Your shifts in Google Calendar, automatically
MLSE and Rogers Centre shifts show up in your Google Calendar with the event name and venue, and update by themselves. Free. About 15–20 minutes, once. Tick each step as you go; this page remembers your progress.
No GitHub account? Create a free one (2 min), then type the username here. It only fills in the buttons below; it isn't sent anywhere.
0 of 8 steps done
Check your work logins · 2 min
Type them by hand (no autofill). The sync uses exactly what works here.
Open MLSE WorkForce Log in with your User ID and password.
Open Rogers ESS Venue LEGENDSTBJ, then your employee number and PIN, then View My Schedule.
Supervisor or a different ESS screen? If your shifts aren't under "View My Schedule", the Rogers part may not read them. MLSE still works.
Copy your MLSE calendar link · 1 min
- In MLSE WorkForce, click My Calendar (pick your job if it asks).
- Top right, beside Print Calendar, click Subscribe, and copy the link.
- Paste it into your Notes app as "Feed link". You'll need it when adding your private details.
Make a "Work Shifts" calendar · 1 min
- Name it Work Shifts and click Create calendar.
- Click it in the left list, then scroll to Integrate calendar.
- Copy the Calendar ID (it ends with
@group.calendar.google.com) into Notes as "Calendar ID".
Keep this tab open. You'll share the calendar two steps from now.
Create the Google "robot" that writes to your calendar · 5 min
Use the same Google account. No credit card needed; skip any free-trial offer. Do these four buttons in order:
- ① Create project Name it
shift-sync, click Create, then wait about 10 seconds. - ② Turn on Calendar API Check the top bar shows shift-sync, then click Enable.
- ③ Create the robot Name it
calendar-sync, then Create and continue, Continue, Done. - ④ Get its key Click the robot's email, then Keys, Add key, Create new key, JSON, Create. A
.jsonfile downloads. Also copy the robot's email (ends with.iam.gserviceaccount.com) into Notes.
"Key creation is disabled"? You're on a work or school Google account. Use a personal @gmail.com account instead.
Let the robot write to "Work Shifts" · 1 min
- Click Work Shifts on the left, then Share with specific people or groups, then Add people and groups.
- Paste the robot email, set Make changes to events, then Send. A "can't send email" warning is fine.
Get your own copy of the sync · 30 sec
Make sure Private is selected (it keeps your shifts private), then click Create repository. All the code is already in it.
Add your private details · 3 min
For each one, paste the Name, put the value in Secret, click Add secret, then reopen the button for the next one. Type passwords and PINs by hand.
| GCAL_SERVICE_KEY | Open the downloaded .json in Notepad or TextEdit, then select all and copy |
| CALENDAR_ID | Calendar ID from Notes |
| MLSE_ICS_URL | Feed link from Notes |
| MLSE_USER | MLSE User ID |
| MLSE_PASS | MLSE password |
| ESS_USER | ESS employee number |
| ESS_PIN | ESS PIN |
Afterwards you can delete the .json file from Downloads and clear your Notes.
Safety cap, then run it · 3 min
- $0 safety cap Choose Product-level budget, then Actions, then Next. Set the amount to
0, tick Stop usage when budget limit is reached, then Create budget. GitHub can then never charge you. - Run it now If asked, enable workflows. Then Run workflow, then Run workflow.
- After about 2 minutes, open the run. Its Summary shows a ✅ / ❌ checklist of anything that still needs fixing.
- MLSE: run it once more a minute later. The second run adds the event names.
Rogers off-season: it only checks ESS at 10 AM and 4 PM. To test now, add a secret ROGERS_FORCE_CHECK with value 1, run, then delete that secret.