Sunday family meal planner in Notion with grocery email
Every Sunday morning, get a five-dinner plan in your Notion meal plans database plus a categorized grocery list emailed for the week ahead.
Every Sunday at 8am local time, build my family's dinner plan for the upcoming week (Monday through Friday) and email me the grocery list. The trigger is a cron schedule.
Step 1. Call Tasty's List Tags first to confirm the valid filter slugs before searching. The dietary preferences I want applied are: under_30_minutes, vegetarian, and healthy. If any of these aren't valid slugs in the response, swap in the closest equivalent that is.
Step 2. Use Tasty's List Recipes (filtered by those tag slugs) to pick five dinner options. Rotate cuisines through the week so I don't get two similar meals back to back. For example, don't schedule Italian on both Monday and Tuesday. Tasty's List Recipes already returns ingredients, nutrition, prep time, and the recipe link inline, so don't make a second call per recipe.
Step 3. Check my Notion Meal Plans database for an existing page titled with this week's date range (formatted like "Jun 23 - Jun 29"). Use Query a Database to look it up. If one exists, update that page (Update a Page for properties, Update Page Content as Markdown to replace the body). If not, create a new page under that database (Create a Page) with the title set to the week range.
Step 4. On the Notion page, lay out Monday through Friday as a clean section per day. For each day include the recipe name, the recipe image (as an image block), the prep time, and a link back to the recipe on Tasty.
Step 5. Build a single consolidated grocery list by reasoning over the ingredients field returned by List Recipes. Group items into four sections: Produce, Protein, Dairy, and Pantry. Combine duplicate ingredients across recipes (e.g. if two recipes need garlic, list garlic once with a combined quantity). Append this grouped grocery list to the bottom of the Notion page.
Step 6. Email me the same categorized grocery list using Gmail's Send a Message. Subject line should be "Grocery list for <week range>" and the body should mirror the Produce / Protein / Dairy / Pantry sections so I can shop from my phone.
Keep it idempotent: re-running on the same Sunday must update the existing Notion page in place, never create a duplicate. The dietary preferences and the Notion Meal Plans database id should be configurable inputs so I can tweak them without editing the workflow.
Additional information
What does this prompt do?
- Picks five weeknight dinners that match the dietary preferences you care about, like quick meals, vegetarian, or healthy.
- Rotates cuisines through the week so you never eat the same style of meal two nights in a row.
- Drops a Monday-through-Friday plan into your Meal Plans Notion database with each recipe's photo, prep time, and link.
- Emails you a tidy grocery list grouped into Produce, Protein, Dairy, and Pantry so you can shop straight from your phone.
- Skips duplicates by updating the existing page when one already exists for that week.
What do I need to use this?
- A Notion workspace with a Meal Plans database to hold each week's page.
- A Gmail account to receive the grocery list email.
- A free Tasty key from RapidAPI for recipe data.
How can I customize it?
- Change which dietary filters are used (quick meals, vegetarian, gluten free, kid friendly, comfort food, and more).
- Pick a different day or time to run, like Saturday evening before your grocery run.
- Plan more or fewer dinners, or send the grocery list to a partner on cc.
Frequently asked questions
Will I get the same recipes every week?
What happens if a meal plan page for this week already exists?
Can I change which dietary preferences it uses?
Can I plan more than five dinners?
Do I need a paid Tasty plan?
Stop staring at the fridge on Sunday night.
Connect Notion, Gmail, and Tasty once, and Geni delivers your week of dinners and a categorized shopping list every Sunday morning.