Turn new recipe posts into shoppable Instacart links

Every morning, your latest recipes get a one-click Instacart shopping link added right under the recipe card, and your back catalog gets filled in too.

Agentic Task
InstacartWordPressSlack BotMarketingOperationsContent GenerationData SyncNotifications & Alerts
PromptCreate

Every morning at 7am, find my newly published recipe posts on WordPress, turn each one into a shoppable Instacart page, and link that page back into the post automatically.

Use WordPress List Posts to pull published posts in my Recipes category from the last 24 hours. In the same run, also sweep older posts in the Recipes category that do not yet contain an Instacart link, so the archive gets backfilled over time. Work the backfill in small batches, no more than five older posts per run, so the site is never hammered. Before touching any post, check the body for an existing instacart.com link and skip the post if one is already there. That check is what keeps repeat runs from double-inserting, so apply it to the new posts and the backfill sweep alike.

For each post that passes the check, read the post body and extract the ingredient list with quantities and units, plus the numbered instructions. Ingredients may live in a recipe card, a bulleted list, or plain paragraphs, so parse whatever formatting the post actually uses instead of assuming a fixed template. Also grab the featured image URL, the author name, the number of servings, and the cooking time when the post states them.

Normalize the ingredients before sending them to Instacart. Instacart accepts only these units: each, lb, oz, g, kg, ml, L, cup, tbsp, tsp, gallon. Convert messy blog units into that set. Turn fractional quantities like "1 1/2 cups" into a decimal quantity of 1.5 with the unit cup, map spelled-out units like "tablespoon" and "teaspoons" onto tbsp and tsp, and fall back to a quantity of 1 with the unit each when an ingredient carries no meaningful measurement. Leave pantry staples off the shoppable list entirely, including water, salt, and pepper, so readers are not asked to buy things they already have.

Call Instacart Create Recipe Page with the recipe title, image URL, author, servings, cooking time, the normalized ingredients with their measurements, and the numbered instructions. Set the link to expire in 365 days, the maximum, since these posts are evergreen. The response comes back with a products_link_url. Reuse that stored URL rather than regenerating a page for a post that already has one.

Use WordPress Update a Post to insert a "Shop these ingredients on Instacart" link into the post body directly beneath the recipe card, or directly beneath the ingredient list when the post has no recipe card. Preserve the rest of the body exactly as it was and change nothing else about the post.

After each post is updated, send a message to my content channel in Slack with the post title and the new Instacart link. If a post has no ingredient list that can be parsed, or Instacart rejects the ingredients, skip that post and call it out in the Slack message rather than writing a broken link into the site.

What does this prompt do?

  • Checks your blog each morning for recipes published in the last day, and works through older recipes that do not have a shopping link yet.
  • Reads the ingredient list and the steps straight out of your post, so it works with whatever recipe format you already use.
  • Creates an Instacart page where readers pick their own nearby store and add every ingredient to a cart in one click.
  • Adds a "Shop these ingredients on Instacart" link under your recipe and posts the title and link to your content channel in Slack.

What do I need to use this?

  • A WordPress blog you can log in to, with your recipes filed under a category such as Recipes
  • An Instacart developer account that can create shoppable recipe pages
  • A Slack workspace and the channel where you want the daily updates to land
  • Recipes written with a clear ingredient list and numbered steps in the body of the post

How can I customize it?

  • Change the 7am run time, or run it more than once a day if you publish often.
  • Point it at a different category, or at several, if your recipes are not all filed under Recipes.
  • Reword the button text, or add your own pantry staples to the skip list beyond water, salt, and pepper.

FAQs

Will this work with my recipe card plugin?
Yes. It reads the ingredients and steps out of the post itself rather than relying on one particular plugin, so it works whether you use a recipe card, a custom template, or plain formatted text.
What happens if it runs twice on the same recipe?
Nothing. Any post that already has an Instacart link is skipped, so the link is never added twice no matter how many times it runs.
Will it ask my readers to buy water, salt, and pepper?
No. Common pantry staples are left off the shopping list so readers are not asked to buy things already sitting in their kitchen.
How far back does it go through my old recipes?
It works through the archive gradually, handling a small batch of older recipes each morning until every one has a shopping link.
Do readers have to shop at one specific store?
No. Readers choose their own nearby store on the Instacart page, then add the whole ingredient list to their cart in one click.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Replay failed SQS messages when a bug fix is merged

When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.

Amazon SQS
GitHub
Slack Bot
Agentic Task

Turn every recipe you publish into a shoppable link.

Set it up once and every new post, plus your whole back catalog, gets a one-click ingredient cart without you touching the HTML.