This doc captures the n8n workflows that feed the IHNYC RC landing site with dynamic content.
Overview
Pipelines currently cover:
- Members roster data (
/members-data.json) and headshots (/members/*) - House updates feed (
/updates-data.json)
Both outputs are committed into the repo so Cloudflare Pages redeploys the static site.
Members roster pipeline (Notion → members-data.json + headshots)
Outputs
members-data.json is an array of:
[
{
"role": "President",
"name": "First Last",
"property_bio": "Short bio text",
"property_headshot": ["https://.../members/headshot.jpg"]
}
]Headshots are stored under ihnyc-rc-landing/members/ and referenced by relative URLs in the JSON.
Notion pull requirements
- Use a Notion Get All (or Get Many) node with Return All enabled.
- Avoid filters that hide rows in the database view.
- Ensure field names align with the Notion properties used in the code node.
Image handling (critical)
Notion file URLs expire. The workflow downloads each headshot and uploads it to the repo so the site uses permanent URLs.
Typical workflow (high level)
- Manual Trigger (or Notion Trigger)
- Notion: Get All Pages
- Code: Extract fields and headshot URLs
- Split In Batches (batch size 1)
- IF: Has headshot URL?
- HTTP Request: Download image
- Set Binary Data: Normalize filename
- GitHub: Upload image to
/members/ - Merge: Combine items
- Code: Build members-data.json
- GitHub: Commit JSON file
Quick start prerequisites
- n8n instance (cloud or self-hosted)
- Notion integration + database id
- GitHub PAT with
reposcope for commits
House updates pipeline (Notion → updates-data.json)
Expected JSON shape
[
{
"week_of": "November 24, 2025",
"updates": [
{
"id": "2025-11-24|unique-slug",
"title": "Update Title",
"body": "Markdown-formatted body text",
"category": "dining",
"department": "Dining Hall"
}
]
}
]Typical workflow (high level)
- Notion: Get database pages from “House Updates”
- Code: Normalize fields into the expected JSON structure
- GitHub: Commit
updates-data.json
Operational notes
- Use n8n credentials for Notion and GitHub; do not embed secrets in code nodes.
- Keep API limits in mind for Notion and GitHub when running large batches.
- If a headshot link disappears on the site, re-run the pipeline to refresh the image in GitHub.