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

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 DrillFlow builds everything right here in your browser. Your links are never stored or sent anywhere. They go straight into a copy box for your own Google account.
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 → SettingsSync 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 SyncSync Schedule to Your Calendar.
  3. Choose “Send Link and Instructions” to email yourself the link.
  4. Open the email, copy the URL, paste it into a feed row below.

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 (it stays in your browser) and into your own script.

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

Create the calendar it all goes into

Everything above gets merged into one new, empty Google calendar of its own. Making it takes about a minute, and it is the one bit of setup that makes everything later easy.

  1. Open Google Calendar settings on a computer.
  2. On the left, click Add calendarCreate new calendar.
  3. Name it something like Family Sports and click Create calendar.
  4. Click your new calendar in the left list, scroll to Integrate calendar, and copy its Calendar ID (it looks like abc123…@group.calendar.google.com).
📺 While you are in there: make it public. Two clicks.
In the same settings screen, under Access permissions for events, tick “Make available to public” and choose “See all event details.”
This is the trick that lets the TV display run with no Google sign-in at all: no popups, no passwords typed with a TV remote, nothing that expires. It is also what makes family share links possible. Heads up: public means anyone who has this calendar’s ID can view its events, including personal ones you added in Step 1. For a family schedule on the kitchen TV, that is usually exactly what you want. Prefer to keep it private? You can, the TV will just need a Google sign-in instead.

Use a new, empty calendar. Never pick a calendar you already added as a link in Step 1: the merger would copy events into the same calendar it reads from, and everything would show up twice. We check for this as you type.

Prefer to skip this and use your everyday Gmail calendar?

You can paste your own Gmail address here instead, and the merged events will land on your main calendar. Two trade-offs: the TV display will then need a Google sign-in on the TV (sign-in popups can be flaky on TV browsers), and family share links are not available, because those need a calendar that can safely be made public. And never use a calendar you also added as a link in Step 1.

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 with your links baked in, and saves your setup so the Display page can find it. Then it’s a three-minute paste into your own Google account.

🔒 Your saved setup is private to your account and only visible to you.

Managing your calendar later

Adding or removing a team

Your feed links aren’t stored on DrillFlow (that keeps your private calendar links off our servers). To change teams 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) and 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).