Skip to content

Command Palette

Search for a command to run...

Documentation

Importing Fixtures from ICS

Bulk-import your season's fixtures from a federation or league calendar feed using an ICS file or URL.

4 min readUpdated May 7, 2026

Most leagues and federations publish your fixture list as a calendar feed. Instead of typing every game by hand, point Planner.coach at the feed and the whole season lands in your calendar in one step.

Why import fixtures?

  • No manual entry. A full season of games comes in with one click.
  • Mid-season changes. When a fixture is rescheduled, re-import the feed -- existing fixtures are skipped and only the new or changed ones come through.
  • Powers the rest of the platform. Imported fixtures feed the AI Coach's match-week awareness and unlock fixture-anchored season phases.

Where to start

Open the Calendar (/calendar) and click Import Fixtures in the header (look for the upload icon next to the view controls).

You'll be asked to choose between two import paths.

Path 1: Upload an .ics file

If your federation's site lets you download a calendar export, choose Upload .ics file and pick the .ics or .ical file from your computer. Most platforms (The FA Full-Time, GotSport, TeamSnap, and similar) offer an export button somewhere in your team's schedule view.

Path 2: Paste a calendar feed URL

If your federation publishes a subscribe link instead -- usually labelled "Add to calendar" or "Subscribe" -- choose Paste calendar feed URL and drop the link in.

Both https://... and webcal://... URLs work. webcal:// is automatically rewritten to https:// before fetching.

Heads up: the URL is fetched once at import time. We don't keep polling it for updates -- if the federation changes a fixture later, come back and re-import. Duplicates are filtered out automatically (see below), so this is safe.

"Our team name" -- opponent inference

Before parsing, you can enter Our team name. This is used to work out who the opponent is in titles like "Lakers vs Bulls". If you enter "Lakers", the opponent is parsed as "Bulls". Leave it blank if you'd rather review opponents manually in the preview.

Pick the event type

Choose whether the batch should come in as Game Day events (single matches) or Tournament events (multi-game days). You can switch individual events to a different type later by editing them on the calendar.

Preview before you commit

Once the file or URL is parsed, you'll see a preview table of every fixture detected -- kickoff time, opponent, competition tag, and location. Each row has an include/exclude checkbox.

This is where you can prune anything you don't want -- for example, age groups you don't coach, or pre-season friendlies that don't belong on this calendar. Uncheck them and only the selected rows will be imported.

Click Import and the fixtures land on your calendar.

What gets imported

For each fixture we capture:

  • Kickoff time -- timed events store the kickoff in UTC; all-day events come in as all-day.
  • Opponent -- inferred from the title using your team name when provided.
  • Competition -- inferred from keywords in the event title or description: "cup", "friendly", "tournament", or "league". Otherwise left blank for you to set.
  • Location -- if the source feed includes one.

You can edit any of these on the event afterwards.

Re-importing is safe

Every event from an ICS feed carries a unique identifier (ics_uid). Planner.coach uses that ID to deduplicate on re-import -- so if your federation updates the schedule mid-season, just upload the file or refetch the URL again. Existing fixtures are skipped, only new ones are added.

Where to find your federation's ICS feed

Most fixture platforms expose a calendar feed somewhere in your team's account area -- look for a Subscribe, Add to calendar, or Export schedule link. Common spots:

  • The schedule or fixtures page for your team.
  • Your account settings under "Calendar" or "Notifications."
  • The "Share" or "Export" menu on the league page.

If your platform offers both an .ics download and a subscribe URL, either will work. Use the URL if you expect the schedule to change -- you can re-import without leaving the app.

What it unlocks

Once your fixtures are in the calendar, two periodization features become much more useful:

  • Fixture-anchored season phases -- snap a Taper or Competition phase to a specific match. See Match-Week Planning.
  • AI Coach match-week awareness -- ask the assistant for a Tuesday session and it'll know you play Saturday. See Getting Started with AI.

See the Calendar Overview for the full set of calendar features, or jump straight to Match-Week Planning to use your new fixtures for periodization.

Ready to start planning?

Create your free account and plan your first session in minutes.