Load Open Holidays calendars into Snowflake
Load public holiday calendars by country from Open Holidays into your own Snowflake account with OWOX Data Marts, then join the dates to your orders and ad spend to tell a real drop in demand from a calendar effect. Read it from Snowflake.
A regional holiday empties one region's sales, and the Snowflake report shows it as a company-wide dip.
Paste this into your AI assistant. It loads Open Holidays calendars into Snowflake as a Data Mart with the nationwide and regional scope fields, ready to join to sales by date and region.
The prompt
Read https://www.owox.com/ai-agent-setup.md and follow it to set up OWOX Data Marts for me, starting from /connectors/open-holidays-connector-to-snowflake.md. The task: load Open Holidays national and regional holidays for our countries into Snowflake and split last month's sales by holiday type, nationwide versus regional. Tag the links you give me with utm_campaign=ai-task and utm_term=data-foundation. Use what you know about my context and goals
Open Holidays Endpoints
1 Open Holidays endpoints you can import. Each lands in its own table in your data warehouse.
Why keep a holiday calendar next to your sales and ad spend
A dip in the week of a public holiday looks like lost demand until someone checks the calendar. With the dates in your warehouse, the check is a join, not a guess. The calendar sits in your own Snowflake account, beside your own tables.
- Flag every order and ad day that fell on a holiday
- Separate a national holiday from a regional one with one field
- Compare a dip with the calendar before anyone calls it a trend
Step 1: Connect Open Holidays and pick the fields
Create a Data Mart on Snowflake and pick Open Holidays as the source. The source needs no credentials, so there is no token or service account to set up. Then tick the fields.
- One endpoint, Public Holidays, with 7 fields to choose from
- A time series: every holiday row carries its date, ready to filter in Snowflake
Step 2: Load Open Holidays calendars into a Snowflake table
Choose your Snowflake database; the schema and table are pre-filled and editable. Run it and the first load lands in your own Snowflake account.
- Each row is one holiday with its date, name, type and scope
Step 3: Read the output schema in plain words
After the first run you get the output schema: every field with a plain description. Your quality checks can read it too.
- name is the holiday's name in the language you requested
- nationwide is true or false, so a regional holiday cannot pass for a national one
Step 4: Link the calendar to your own tables
The calendar does not need other Open Holidays tables. It needs yours: describe each join once in your model and write it as plain SQL in Snowflake.
- orders.order_date joins to the holiday date, for the country you loaded, as a plain JOIN in a Snowflake query
- ad_spend.date joins the same way, so spend is read against the same calendar
Step 5: Schedule the refresh and backfill history
Set it once. A scheduled refresh keeps your Snowflake table current, and a manual backfill loads any past period.
- Backfill a custom start and end date to cover the periods you want to explain
- Run History shows every load into your Snowflake schema
Step 6: Reuse the same calendar everywhere
One Snowflake table feeds your model, , , assistants like Claude and ChatGPT, and scheduled AI insights in Slack or email.
- Every report flags holidays the same way, so the totals agree
- Ask an AI assistant whether last week's dip fell on a holiday and get an answer from the table
- 0.41.0Rotating a warehouse key is one change: Storages share reusable Credentials
- 0.41.0Shared SQL logic stays in one place: build a Data Mart on top of another
- 0.39.0Reload a year of history in one backfill, not twelve
- 0.37.0Clearer connector errors, and custom connectors that handle more APIs
- 0.37.0Preview data no longer fails on out-of-range dates
Why OWOX for Open Holidays in Snowflake
Someone checking each dip against a holiday list by hand gets an answer once. OWOX keeps the calendar in the table where your orders and ad spend already are, so every report can check it.
- Inside your account. The table lives in your Snowflake account, next to the tables you already query and under your own roles.
- Your SQL, your account. Analysts reach the table with Snowflake SQL they already write, and the join lives in the Data Mart.
- Calendar by country. The holidays come from Open Holidays by country, with their regional and temporal scope.
- History you can use. Backfill past years, so last year's dip can be explained too.
- Ready for a data model. The date is what the join runs on, so linking holidays to orders and ad spend is one line in your model.
You are booked. The invitation is on its way to , with the calendar invite and the meeting link.