Updated for 2024!
This script exports the re:Invent sessions you've flagged as favorites to iCal (.ics) format.
It generates one .ics
file for each type of session (e.g. Builders Sessions, Workshops, etc.) and an
all-sessions.ics
file with all sessions combined.
It will also generate an all-sessions.csv
file that can be opened in Excel, Google Sheets, or Numbers and,
once you've registered, a reserved.ics
file containing your reserved sessions.
You can use the --save-agenda
option to save the raw JSON response from AWS with your session details
to agenda.json
.
Steps to use:
-
Copy
config.template.json
toconfig.json
cp config.template.json config.json
-
Open your browser's Developer Tools and go to the Network tab.
-
Go to your AWS re:Invent Agenda. Make sure you're logged in.
-
Find the
myData
(https://catalog.awsevents.com/api/myData) request in the Network tab of Developer Tools. -
Copy the
cookie
,rfapiprofileid
, andrfauthotken
headers and add them toconfig.json
.You can copy the full request as a cURL request and find the
-H
values to load intoconfig.json
. Make sure to take only the values and not thecookie:
key prefix. -
Install node modules
npm install
-
Execute the script to generate the
.ics
files.
$ node sessions-to-ics.js --help
Usage: sessions-to-ics [options]
Options:
-V, --version output the version number
-o, --output-dir <dir> the output directory (default: "sessions")
-r, --reserved-only Only output reserved sessions
-a, --save-agenda Save the raw agenda JSON to <dir>/agenda.json
-h, --help display help for command
ICS files will be written to the output directory (default ./sessions
).
$ node sessions-to-ics.js -a
Retrieving agenda ...
Saving raw agenda to sessions/agenda.json
Downloaded agenda. Found 0 Reservations and 207 Interests.
Wrote 92 events to sessions/chalk-talks.ics
Wrote 66 events to sessions/breakout-sessions.ics
Wrote 34 events to sessions/workshops.ics
Wrote 9 events to sessions/gamified-learnings.ics
Wrote 1 events to sessions/innovation-talks.ics
Wrote 5 events to sessions/keynotes.ics
Wrote 207 events to sessions/all-sessions.ics
Wrote 207 events to sessions/all-sessions.csv
- Import the
*.ics
files into the Calendar of your choice.