Weekly economic calendar in Google Calendar

Every Friday afternoon, drop next week's market-moving releases (CPI, jobs, FOMC, GDP) straight onto your Google Calendar with phone notifications baked in.

Deterministic Code
FRED (St. Louis Fed)Google CalendarFinancePersonal ProductivityResearch & MonitoringData SyncNotifications & Alerts
PromptCreate

Build a code workflow that populates my Google Calendar each week with upcoming high-impact U.S. economic data releases from FRED. Pure deterministic pipeline, no LLM step.

Trigger: cron, every Friday at 4:00pm America/New_York.

Inputs (prompt the user for these as workflow inputs so they can edit later):

1) release_allowlist: an editable list of FRED release IDs the user cares about. Default it to the standard market-movers: Consumer Price Index, Producer Price Index, Employment Situation, FOMC Statement / H.15 Selected Interest Rates, Gross Domestic Product, Personal Income and Outlays (PCE), Advance Monthly Sales for Retail and Food Services, ISM Report on Business (Manufacturing and Services), New Residential Construction (Housing Starts), and Job Openings and Labor Turnover (JOLTS). Resolve names to FRED release IDs by calling FRED's Get All Releases once and matching on title, then store the resolved IDs as the default.

2) calendar_id: which Google Calendar to write to. Default 'primary'.

3) default_publication_times: a small lookup of release_id -> local time in America/New_York. Seed it with BLS releases (CPI, PPI, Employment Situation, JOLTS) at 08:30, BEA releases (GDP, PCE) at 08:30, Census releases (Retail Sales, Housing Starts) at 08:30, ISM at 10:00, and FOMC at 14:00. Anything not in the lookup falls back to 09:00 ET.

Steps:

Step 1. Call FRED 'Get All Releases Dates' with realtime_start = today, realtime_end = today + 7 days, include_release_dates_with_no_data = true, order_by = release_date, sort_order = asc, limit = 1000. This gives the global release calendar for the next 7 days.

Step 2. Filter the returned release dates to only those whose release_id is in release_allowlist. Drop anything in the past.

Step 3. For each remaining release date, look up the publication time from default_publication_times (fallback 09:00 ET). Construct a 30-minute event in America/New_York timezone.

Step 4. Deduplicate. Before creating, call Google Calendar 'List Events' for that calendar with timeMin = start of release_date (ET), timeMax = end of release_date (ET), q = release name, singleEvents = true. If an event with the same summary already exists on that date, skip.

Step 5. Call Google Calendar 'Create Event' on calendar_id with: summary = release name (e.g. 'CPI Release'), start.dateTime and end.dateTime as RFC3339 in America/New_York, description = a short line plus the FRED release page link 'https://fred.stlouisfed.org/release?rid=' + release_id and the release_id itself, source.title = 'FRED', source.url = the release page URL.

Output: a structured summary of which events were created and which were skipped as duplicates. No notifications needed beyond the calendar entries themselves (Google Calendar's own reminders handle phone alerts).

Notes: FRED requires file_type=json and api_key on every request. Dates are case-sensitive YYYY-MM-DD. Missing values come back as the literal string '.', not null. Google Calendar uses RFC3339 datetimes with timezone offset, and 'primary' is a valid calendar id.

Additional information

What does this prompt do?
  • Pulls next week's release schedule from the St. Louis Fed (FRED), the official source for U.S. economic data.
  • Filters down to the releases that actually move markets: CPI, PPI, Employment Situation, FOMC announcements, GDP, PCE, Retail Sales, ISM, Housing Starts, JOLTS.
  • Creates a 30-minute event on your Google Calendar for each release at its standard publication time, with a link to the FRED page in the description.
  • Skips releases already on your calendar so you can safely run it every week without duplicates.
What do I need to use this?
  • A free FRED account (St. Louis Fed) for the release schedule.
  • A Google account with permission to create events on your calendar.
  • A short list of the releases you care about. We start you with the usual market-movers and you can edit it anytime.
How can I customize it?
  • Edit the watchlist of releases. Add anything FRED publishes (e.g. Industrial Production, Consumer Sentiment, Beige Book) or trim it down to just the FOMC weeks.
  • Change the schedule. Friday 4pm ET is a clean prep slot, but you can run it Sunday night or every weekday morning.
  • Pick a different calendar. Send the events to a dedicated 'Markets' calendar so they don't clutter your main one.
  • Adjust the default times. The standard slots (8:30am ET for BLS and BEA data, 10am ET for Census and ISM, 2pm ET for the Fed) cover most releases, but you can override any of them.

Frequently asked questions

Do I need a paid FRED subscription?
No. FRED is free. You just sign up at the St. Louis Fed site, request an API key, and paste it in once.
Will it create duplicate events if it runs twice in the same week?
No. Before adding an event, it checks the target date for an event with the same title and skips it if one already exists.
Can I have it post to a separate calendar instead of my main one?
Yes. Pick any calendar your Google account can write to. A dedicated 'Markets' or 'Econ' calendar is a common setup so the events stay out of your work view.
What about international data like ECB or BOJ decisions?
FRED carries some international series but the release calendar is U.S.-centric. For ECB or BOJ schedules you'd want a different source.
How do I get a phone notification when a release drops?
Google Calendar handles that. Set your default event notifications on the chosen calendar (e.g. 10 minutes before) and every event this workflow creates inherits them.

Stop hunting for next week's CPI date.

Connect FRED and Google Calendar once, and Geni drops the upcoming week of market-movers on your calendar every Friday.