Turn every new blog post into platform-native social posts

Every weekday we find your newly published articles, write separate LinkedIn, X, Instagram, and Threads posts, and schedule them across the day.

Agentic Task
bundle.socialWordPressSlackMarketingContent GenerationNotifications & Alerts
PromptCreate

Every weekday at 8am, check my WordPress blog for newly published articles and turn each one into platform-native social posts scheduled through bundle.social. Use a cron trigger, because my WordPress site does not send outgoing notifications on its own.

Start with WordPress List Posts, filtered to published status and sorted newest first. Only take articles published after the previous run of this workflow. Keep track of the newest publish timestamp you processed and use it as the watermark for the next run. On the very first run, look back only 24 hours so the workflow does not backfill my entire blog archive. If there are no new articles, stop quietly without sending anything to Slack. For each article, keep the title, the permalink, the excerpt or opening section, and the featured image URL.

In bundle.social, call Get list of teams first to resolve the teamId. Most bundle.social endpoints need it, including uploads and posts. Handle each new article independently, so one bad article does not block the others.

For each article, take the featured image URL and pass it to bundle.social Create upload from URL, which fetches the image into the media library and returns an uploadId. Posts reference uploadId values rather than raw image URLs, so this step has to happen before the post is created. Keep the uploadId and attach it to every platform variant. If the article has no featured image, continue and schedule the variants as text only, skipping any network that requires media.

Now write the copy, and this is the part that matters most. Do not write one blob and cross-post it. Read the article and write a genuinely different variant per platform, each respecting that platform's length limit and tone. For LINKEDIN, write a professional takeaway of two or three short paragraphs that states the substantive insight rather than teasing it, then close with a genuine discussion question, staying well under 3000 characters and avoiding hashtag stuffing. For TWITTER, write a punchy hook under 280 characters that works as a standalone post, followed by a short thread of two to four additional tweets each under 280 characters, ending with the article link. For INSTAGRAM, write a warmer, more visual caption under 2200 characters with 5 to 10 relevant hashtags, and because links are not clickable in captions, point people to the link in bio rather than pasting a raw URL. For THREADS, write a shorter conversational caption under 500 characters with two or three hashtags, in a lighter register than the LinkedIn version.

Schedule everything with a single bundle.social Create post call per article. Send the shared payload plus a data object keyed by platform, using the enum values LINKEDIN, TWITTER, INSTAGRAM, and THREADS, with each platform's own text as a per-platform override in that data object. Attach the uploadId, and set the post status to scheduled rather than publishing immediately. Stagger the scheduled times across the day instead of firing everything at once: LinkedIn around 9am, X around midday, Instagram mid afternoon, and Threads late afternoon. Set a referenceKey derived from the WordPress post id so that a re-run of the workflow cannot double-schedule the same article.

Finally, send a Slack message to my marketing channel for each article, using Slack Send a Message. Include the article title and link, then the full text of every scheduled variant labelled with its platform and its scheduled time, so the team can read exactly what will go out. Close the message by noting that these are scheduled and can be edited or cancelled in bundle.social before their slot arrives. Publishing through bundle.social is asynchronous, so treat a successful Create post call as scheduled rather than published, and if the call fails for an article, say so plainly in Slack instead of reporting it as scheduled.

Example output

New article scheduled: "Why your onboarding emails get ignored" https://example.com/blog/onboarding-emails-ignored LINKEDIN, today 9:00am Most onboarding sequences fail for a boring reason: they explain the product before the customer has a problem worth solving. We looked at 40 sequences and the pattern held in almost all of them. The fix is sequencing, not copywriting. Lead with the job the user hired you for, then show the feature. What is the first email in your onboarding sequence actually asking the reader to do? TWITTER, today 12:00pm Your onboarding emails are not being ignored because they are badly written. They are being ignored because they arrive before the reader has a problem. (1/4) INSTAGRAM, today 3:00pm Onboarding emails do not get ignored because of the writing. They get ignored because of the timing. Full breakdown of 40 sequences, link in bio. #onboarding #emailmarketing #saas #customersuccess #growth THREADS, today 5:00pm 40 onboarding sequences, one repeated mistake: explaining the product before the reader has a problem worth solving. #emailmarketing #onboarding Edit or cancel any of these in bundle.social before their scheduled time.

What does this prompt do?

  • Checks your blog each weekday morning for articles published since the last check, so nothing gets promoted twice
  • Writes genuinely different copy for each network: a professional takeaway and a discussion question for LinkedIn, a punchy hook and short thread for X, and a caption with relevant hashtags for Instagram and Threads
  • Pulls in the article's featured image and attaches it to every variant, respecting each network's length limits and tone
  • Schedules the variants at staggered times through the day and sends your marketing channel a preview of every one, so the team can edit or cancel before anything goes live

What do I need to use this?

  • A WordPress blog with published articles you want promoted
  • A bundle.social account with the social accounts you want to post to already connected, such as LinkedIn, X, Instagram, and Threads
  • A Slack workspace and the channel your marketing team watches

How can I customize it?

  • Change when it runs and how the posts are spread through the day, from all at once to spaced several hours apart
  • Pick which networks to include and drop any you do not use
  • Adjust the tone, hashtag count, or have everything land as a draft for manual approval instead of a scheduled post

FAQs

Will it post the same text to every network?
No, and that is the point. Each network gets copy written for it: a considered takeaway and a discussion question on LinkedIn, a hook plus a short thread on X, and a visual caption with hashtags on Instagram and Threads. Nothing is copied and pasted between them.
Can we review the posts before they go public?
Yes. Everything is scheduled rather than published immediately, and your marketing channel gets a preview of every variant with its scheduled time and the article link. Anyone on the team can edit or cancel a post before its slot arrives.
Does this work with a self-hosted WordPress site?
Yes. It checks your blog on a schedule rather than waiting for your site to notify it, so it works on self-hosted sites without installing any extra plugins.
Will it go back and post all my old articles?
No. It only picks up articles published since the previous check, and the very first run looks back a single day, so you will not wake up to a backlog of old posts flooding your accounts.
What happens if an article has no featured image?
The post variants are still written and scheduled as text only. Networks that require an image are skipped for that article rather than failing the whole run.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Turn each week's football fixtures into a venue staffing plan

Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.

API-Sports
Google Calendar
Slack
Agentic Task
Turn 5 star Yotpo reviews into a weekly marketing content queue

Every Tuesday we pull your best new reviews, draft social captions, email testimonials and product page quotes, then stage them in Notion for approval.

Yotpo
Notion
Slack
Agentic Task
Catch bad shipping addresses before you buy the label

Every weekday morning, unfulfilled orders get an address check: harmless typos fixed automatically, risky addresses held with a note to the customer.

Shippo
Shopify
Gmail
+1
Agentic Task

Stop rewriting every blog post four times.

Publish once and let every network get copy that actually fits it, scheduled and ready for your team to approve.