📅 Calendar Setup

One calendar. Every schedule.

Merge every team’s schedule (TeamSnap, GameChanger, Spordle, even your own personal calendar) into one calendar that keeps itself up to date, with drive times, a leave-the-house alert and the weather on every event. Put it on the kitchen TV, and send each family a link that just works.

Watch the 5-minute setup video
1You set it up onceAbout five minutes, right here. You’re the only one who ever does this part.
2One calendar, always in syncGames move, practices change, and your calendar quietly follows along.
3Families just get a linkNo app, no account, no setup for them. They open it and see their team.
🔒 Private by design. Calendar links can contain personal access tokens, so treat them like passwords. DrillFlow builds your script right here in your browser, for your own Google account. On a Coach or Association plan, your setup (these links and your home address) is also saved to your DrillFlow account, so the Display page and family share links can use it. Only your account can read it.
1

Add your schedules

Every schedule app can hand you a calendar link. Paste one link per team below, then keep going: add every kid’s team, your own personal calendar so family plans show up too, even a pro team like the Canucks for fun.

🧭 Where do I find my link?

Pick where your schedule lives and we’ll show you exactly where the link is.

More detail and troubleshooting for every app

TeamSnap (do this on a computer, not the app)

  1. Log into TeamSnap on the web.
  2. Click your roster name to enter the team site.
  3. Open the Schedule tab → Settings → Sync Calendar / Export.
  4. Copy the calendar link (ends in .ics). Paste it into a feed row below.

Tip: on multiple TeamSnap teams? There’s a combined link for all of them.

Backup: TeamSnap: Subscribe to a team schedule

GameChanger (do this in the mobile app)

  1. Open the GameChanger app, tap your team on the Home tab.
  2. Tap the gear icon (top right) → Schedule Sync → Sync Schedule to Your Calendar.
  3. Tap Copy Calendar Link, then paste it into a feed row below (it’s long and starts with webcal://).

Note: parent/guardian and staff accounts get games AND practices; “fan” accounts only get games.

Backup: GameChanger: Integrating your personal calendar

Spordle (needs Spordle Premium, the diamond badge on your team)

  1. Open the Spordle app and tap the Teams icon (jersey) at the bottom.
  2. Open your team’s Schedule.
  3. Tap the add / calendar icon in the top-right corner.
  4. Copy the subscription link it gives you and paste it into a feed row below.

This link updates automatically when games change, just like TeamSnap and GameChanger.

Note: to add a Spordle link to Google, use Google Calendar on the web, not the phone app.

No diamond badge? Free Spordle teams don’t offer a live calendar link, so this tool can’t keep that team updated automatically. If the same schedule is also in TeamSnap or GameChanger, use that link instead.

Backup: Spordle FAQ

Your own personal calendar (so family plans show up alongside hockey)

  1. Open Google Calendar settings (the ⚙ gear → Settings in Google Calendar).
  2. Under Settings for my calendars on the left, click your calendar to open its Settings and sharing.
  3. Scroll to the Integrate calendar section.
  4. Copy the Secret address in iCal format. Use the secret address, not the public one: personal calendars are usually private, and the public address only works if you make the whole calendar public (don’t).
  5. Paste it into a feed row below. A good “Whose schedule” label is just your name.

Then tick Personal calendar on that feed row. Personal events keep their own titles (Dentist, Piano recital) instead of being renamed to a name + team label.

Keep that address to yourself. Anyone who has it can read the calendar, so only paste it here and into your own script. (On a paid plan it is saved with your setup, which only your account can read.)

A pro team’s schedule (a fun extra, like the Vancouver Canucks)

  1. Search the web for <team name> schedule ical or look for “Add to calendar” / “Sync schedule” on the team’s official schedule page.
  2. Copy the subscribe link. It’ll start with webcal:// or end in .ics.
  3. Paste it into a feed row below with a label like Canucks and its own colour.

Game nights land on the kitchen TV right next to practices. Highly recommended.

💡 The Short team label you give each feed matters later: it’s what powers per-team share links for your families: U9 families can get a U9-only link, and U11 families get theirs.

👀 What every event will look like

Paste your first schedule link above and a sample event will appear here.

2

Where should it all go?

Pick one. You can change it later, but the kitchen TV display and the family share links only work with the second one.

3

Home base

So every event can tell you the drive time and exactly when to leave the house.

4

Timing & extras

How early do you like to be? We add this on top of the live drive time to set your leave-the-house alert. The defaults suit most families, so feel free to just move on.


5

Create your calendar

One click builds your personal sync script. Then it’s a two-minute paste into your own Google account, once: on a Coach or Association plan the script reads your teams from here on every sync, and your setup is saved so the Display page can find it.

Managing your calendar later

Adding or removing a team

No re-paste needed: your script reads your teams from DrillFlow on every sync. Add, remove or fix a team in step 1, press Save my setup, and your calendar follows within 3 hours (or press Run in Apps Script to sync now).

Your script keeps its own copy of your feed links, so changing a team means updating the script. You have two options:

  • Easiest for one change: open your script at script.google.com and find the CALENDARS_TO_MERGE section near the top. Edit the line for that team to change the link, or delete the whole line to remove a team. Then save.
  • Or: come back here, fill out the form again with your full set of teams, and paste the new script over the old one.

When you remove a team, its events clear themselves off your calendar automatically over the next sync or two. You don’t have to delete them by hand.

My calendar stopped updating

Calendar links from TeamSnap and GameChanger can expire, or a team admin can reset them. When that happens the script emails you a heads-up. To fix it, get a fresh link from the app (see the walkthroughs in step 1), then paste it into that team’s row here and press Save my setup. No re-paste needed.update that one line in your script, or regenerate here and repaste.

Start fresh / clean everything out

If things ever look messy, open your script, choose wipeAllSyncedEvents from the function dropdown, and Run it. That removes only the events this tool created. Your own personal calendar events are never touched. Then run mergeCalendars to rebuild. Note: it clears in batches of 50, so a large calendar may need wipeAllSyncedEvents run a couple of times.

Other tweaks

To change how early you arrive, your home address, or which events get weather: regenerate here with new settings and repaste, or edit the CONFIG values at the top of your script. To pause syncing entirely, delete the trigger in your Apps Script (Triggers, the clock icon in the left sidebar).