Auto-share new Ghost posts to LinkedIn and Buffer
Turn every new Ghost post into a LinkedIn caption and a queued Buffer post, then drop a recap in your Slack marketing channel.
Integrations
Ghost
LinkedIn
Buffer
Slack Bot
Type
Categories
- Marketing
Build an agent workflow that turns every newly published Ghost post into platform-tailored social distribution so I stop hand-writing captions.
Trigger: cron, every 15 minutes.
On each tick, use Ghost's Browse Posts (Admin API) operation and filter by published_at within the last 15 minutes to pick up freshly published posts. Include the primary_tag and feature_image fields so the agent has the context it needs to write good captions.
For each post returned, skip it if it carries the tag 'internal' or the tag 'draft-only'. Private content must never get distributed.
For each remaining post, have the agent draft two captions using the post title, excerpt, primary tag, and feature image as source material:
1. A short, conversational LinkedIn caption written for the feed. Two to four sentences, opens with a hook in the first line, ends with a soft call to action, no hashtag spam.
2. A queue-friendly caption sized for other social channels (around 250 characters), punchy and link-forward, suitable for X, Threads, Mastodon, Bluesky, or Facebook.
Then, in order:
a. Call LinkedIn's Create Post action with the LinkedIn caption as the commentary and the Ghost post URL attached so the link unfurls.
b. Call Buffer's Create Post action in queue mode (scheduling mode = queue) to add the second caption to the connected channel the user designates at setup, including the same Ghost post URL in the body.
c. Call Slack Bot's Send a Message action to post a recap to the marketing channel the user designates at setup. The recap should include: the Ghost post title as a link, the LinkedIn caption that was published, the Buffer caption that was queued and which Buffer channel it landed in, and a one-line note like 'Shipped to LinkedIn and Buffer'. Keep it compact so the team can react with emoji.
If any step fails for a given post (caption draft, LinkedIn post, Buffer queue), surface the failure in the same Slack recap with what worked and what did not, and do not retry the successful steps on the next run so we never double-post.
Keep an internal record of which Ghost post IDs have already been processed so a post that briefly appears in two consecutive 15-minute windows is only distributed once.
What it does
- Watches your Ghost site every 15 minutes for newly published posts.
- Drafts a short, conversational LinkedIn caption tuned for the feed and publishes it with the post link.
- Drafts a second caption shaped for other social channels and queues it in Buffer with the same link.
- Posts a recap in your Slack marketing channel showing the post title, both captions, and the live URL.
- Quietly skips posts you tag internal or draft-only so private writing never goes out.
What you’ll need
- A Ghost site with admin access so the workflow can see newly published posts.
- A LinkedIn account where the post should be shared.
- A Buffer account with at least one connected social channel for the queue.
- A Slack workspace and the channel you want recap messages sent to.
How to customize it
- Change how often the workflow checks Ghost for new posts.
- Adjust which tags keep a post off social (the default is internal and draft-only).
- Pick a different Slack channel, or send the recap to a thread instead.
- Tweak the caption style: punchier, more formal, more emoji, or longer.
Use cases
- Content Generation
- Notifications & Alerts