Operations Guide

Social Media Content Pipeline

A fully automated system that discovers travel news, researches stories, generates platform-specific posts with professional imagery, and publishes to LinkedIn, Facebook, Instagram, and X — all with one emoji click.

Runs daily at 7:00 AM ET
5 stories per cycle
4 platforms per story
Approval via Slack

What This System Does

The Social Media Content Pipeline eliminates the manual work of creating daily social media content. Every morning, it scans travel industry news, selects the most compelling stories, researches them in depth, generates professional imagery, and writes tailored posts for each platform — all before you finish your first cup of coffee.

Your role is editorial: review the stories that appear in Slack, and approve the ones you like with a single emoji reaction. Everything else is automatic.

The 30-Second Version
  1. Every morning at 7 AM, the system generates 5 fully-written stories with images
  2. Stories appear in Slack as individual messages in #content-review
  3. You react with ✔️ to approve a story
  4. Posts go to Buffer (for scheduled publishing) and Nexus (for records)
  5. A 🚀 emoji confirms the story was queued successfully
📸
Screenshot 1
The #content-review channel showing 5 stories with images, ready for approval

Architecture at a Glance

The system runs as two connected workflows in n8n (our automation platform):

Workflow 1 — Content Generation

Social Media Content Pipeline

Runs on a daily schedule. Discovers news, selects stories, researches topics, generates images, writes posts, and delivers everything to Slack for review.

Workflow 2 — Approval & Publishing

Emoji Approve > Buffer Publish

Event-driven. Listens for emoji reactions on Slack messages. When you approve a story, it extracts the posts, sends them to Buffer for scheduling, saves them to Nexus, and confirms with a rocket emoji.

📸
Screenshot 2
The n8n workflow editor showing both workflows in the sidebar

Technology Stack

ComponentTechnologyPurpose
Automationn8nOrchestrates the entire pipeline
AI WritingClaude SonnetStory selection and post composition
AI FilteringClaude HaikuHeadline relevance scoring
ResearchPerplexityDeep-dive story research
Stock PhotosUnsplashProfessional destination photography
AI ImagesReplicate FLUXCustom conceptual imagery
TrendsGoogle TrendsTrending travel topics
ReviewSlackStory delivery and approval interface
PublishingBufferScheduled multi-platform posting
RecordsNexus CRMPost archival and analytics

Platform Strategy

Each platform gets a uniquely tailored post — not just truncated copies. The AI understands the voice, audience, and rules for each channel.

LinkedIn

Shane's professional voice. Industry analysis, expert insights, thought leadership. Ends with a Slack Connect invitation. No hard sell.

Max 1,248 chars

Facebook Group

"Luxury Eco-Adventure Travel" group. Pure value — no self-promotion, no CTAs, no mentions of Travel Tamers. Knowledgeable member sharing insights.

Group rules apply

Instagram

Visual-first, emotional, destination-focused. Short paragraphs with heavy hashtags (10-15). Ends with a DM call-to-action.

Requires image

X (Twitter)

Punchy and concise. Lead with a key stat or insight. 2-3 hashtags max. Designed for engagement and retweets.

Max 280 chars

Important: The Facebook group has strict no-promotion rules. Posts are written as a knowledgeable travel enthusiast sharing insights with peers — never as a brand. Questions are encouraged to spark discussion.

Stage 1: Daily Content Generation

Every morning at 7:00 AM Eastern, the pipeline kicks off automatically. Here's what happens behind the scenes, step by step.

📸
Screenshot 3
The n8n workflow editor showing the full content pipeline with all 16 nodes

Step 1: News Aggregation

The pipeline starts by pulling all messages from the #feed-travel-news Slack channel. This channel is populated by RSS feeds and curated news sources covering the luxury travel industry.

Typically, 100-200 headlines arrive overnight. The system collects them all and extracts the headline text, stripping URLs and formatting.

📸
Screenshot 4
The #feed-travel-news channel showing incoming travel headlines from RSS feeds

Step 2: AI Filtering & Story Selection

1

Google Trends Context

Fetches current trending travel topics to inform story selection.

Google Trends via Playwright
2

Claude Haiku: Headline Filtering

A fast AI pass that scores all 100-200 headlines for relevance, filtering down to ~30 candidates. Factors in trending topics and premium travel focus.

Claude Haiku 4.5
3

Claude Sonnet: Story Selection

A deeper AI analysis that selects the top 5 most compelling stories. Considers newsworthiness, brand alignment, audience interest, and diversity of topics.

Claude Sonnet

Quality over quantity: If the AI can't find 5 compelling stories, the pipeline publishes fewer rather than filling with low-quality content.

Step 3: Research & Image Acquisition

Once the top 5 stories are selected, three things happen in parallel for each story:

A

Perplexity Research

Each story gets a deep research pass — current facts, industry context, traveler perspectives, pricing trends. This becomes the factual backbone of each post.

Perplexity Sonar
B

Unsplash: Stock Photography (2 per story)

Professional destination and travel photography. These high-quality photos build trust and credibility. The system fetches 2 photos per story for variety.

Unsplash API
C

FLUX: AI-Generated Imagery (1 per story)

Custom conceptual images that complement the stock photos — artistic interpretations, mood pieces, or abstract travel concepts that no stock photo could capture.

Replicate FLUX Schnell

Image ratio: Each story gets approximately 2 Unsplash photos and 1 FLUX image — a ~2:1 ratio that prioritizes real photography for trust while adding AI creativity.

📸
Screenshot 5
A story message in Slack showing 2 Unsplash photos and 1 FLUX-generated image together

Step 4: Post Composition

Claude Sonnet takes the research, images, and story context and writes 4 platform-specific posts per story. Each post is crafted for its platform's unique voice, audience, and format — not just truncated from a single draft.

PlatformVoiceKey Rules
LinkedIn Shane's professional voice Expert analysis, industry insights, ends with Slack Connect CTA
Facebook Group Knowledgeable enthusiast Zero self-promotion, no brand mentions, spark discussion
Instagram Visual & emotional Short paragraphs, DM CTA, 10-15 hashtags
X Punchy & concise Key stat + insight, 2-3 hashtags, under 280 chars

Step 5: Slack Delivery

The finished stories are posted to the #content-review Slack channel as 5 separate messages — one per story. Each message includes:

  • Story header with the headline
  • Hero image (Unsplash photo, prominent at top)
  • Key facts bullet list from research
  • All 4 platform posts (LinkedIn, Instagram, Facebook, X)
  • Additional images (second Unsplash + FLUX image)
📸
Screenshot 6
A single story message in #content-review, showing the hero image, key facts, platform posts, and additional images at the bottom

Timing: The full pipeline typically completes in 3-5 minutes. The longest step is FLUX image generation (12-second rate limit between images). Stories arrive in your channel by approximately 7:05 AM.

Stage 2: Review & Publish

This is where you come in. The stories are waiting in Slack. Your job is to review them and decide which ones go out.

Reviewing Stories

Open #content-review in Slack. You'll see 5 individual story messages. For each one, consider:

  • Is the story relevant? Does it align with our brand and audience?
  • Are the facts accurate? Check key claims against the research.
  • Is the tone right? LinkedIn should feel expert, Facebook should feel conversational (not promotional), Instagram should feel inspiring.
  • Are the images appropriate? Do they complement the story?
  • Is the Facebook post group-safe? Zero brand mentions, zero self-promotion.
📸
Screenshot 7
Reading through a story — the platform-specific posts visible below the hero image and key facts

Approving a Story

To approve a story for publishing, simply react to the Slack message with the heavy check mark emoji ✔️.

✔️
:heavy_check_mark: — Approve. All platform posts (LinkedIn, Facebook, Instagram) will be sent to Buffer and saved to Nexus.
:x: — Reject. (Reserved for future automation — not yet wired.)
:alphabet-white-question: — Needs clarification. (Reserved for future automation — not yet wired.)
📸
Screenshot 8
Hovering over a story message, about to click the heavy check mark emoji to approve

What happens after you approve

1

Posts extracted from Slack blocks

The system reads the approved message and extracts each platform's post text and all images.

2

Queued in Buffer

Each platform post is sent to Buffer with all images attached. LinkedIn is auto-truncated to 1,248 characters. Instagram posts include images (required by the platform).

Buffer GraphQL API
3

Saved to Nexus

All 4 platform posts are saved to the Nexus social_posts table with images, headline, and source tracking.

Nexus CRM API
4

Rocket emoji confirmation

A 🚀 emoji appears on the message, confirming everything was queued successfully.

📸
Screenshot 9
An approved story showing both the ✔️ (your approval) and 🚀 (system confirmation) emoji reactions

Requesting a Rewrite

If a story's posts aren't quite right but the topic is good, you can request a rewrite instead of approving.

X Emoji — React with this to request a rewrite. Claude will read the original, write a completely fresh take with a different angle and hook, and post it as a thread reply. A ✏️ emoji confirms the rewrite was posted.

After the rewrite appears as a thread reply, you can review the new version. If you like it, approve the original message with ✔️ — the system will pick up the latest content.

📸
Screenshot 10
A story with the X emoji, showing a thread reply with the rewritten content and a pencil emoji

Buffer & Nexus

Approved stories flow to two destinations:

Publishing

Buffer

Posts are added to your Buffer queue with "automatic" scheduling — Buffer determines the optimal time to publish based on your audience. Each platform (Facebook, LinkedIn, Instagram) gets its own post with all images attached. You can review and adjust timing in the Buffer dashboard.

Records & Analytics

Nexus CRM

Every approved post is saved to the social_posts table in Nexus with platform, content, images, story headline, and source tracking. This creates a complete archive of all published content and enables future engagement analytics.

📸
Screenshot 11
The Buffer dashboard showing queued posts from the pipeline, with images and scheduled times
📸
Screenshot 12
Nexus CRM social posts view showing archived content with platform tags and images

Emoji Reference

Quick reference for all emoji interactions in the system:

EmojiActionWhoResult
✔️ Approve You Posts sent to Buffer + Nexus
Request Rewrite You Claude rewrites with fresh angle, posts as thread reply
🚀 Queued System Confirms posts were successfully sent to Buffer
✏️ Rewrite Ready System Confirms a rewrite was posted as a thread reply

Note: Only react to messages in #content-review. Reactions in other channels are ignored by the system. Each story is a separate message — approve them individually.

Troubleshooting

No stories appeared this morning

The pipeline may have failed or found fewer than 5 compelling stories. Check #automation-errors for any error messages. Common causes:

  • Slack API issue — the bot couldn't read #feed-travel-news
  • Claude API timeout — the writing step can take up to 5 minutes for complex stories
  • No news — if the feed channel was quiet, there may not be enough headlines

You can manually trigger the pipeline from the n8n dashboard by opening the "Social Media Content Pipeline" workflow and clicking "Execute Workflow".

I approved a story but didn't get the rocket emoji

The approval workflow may have encountered an error. Check #automation-errors. Common causes:

  • Buffer API error — the post content may be too long for a platform, or the API is down
  • Wrong emoji — make sure you're using the heavy check mark (✔️), not the white check mark or other variants
  • Wrong channel — the system only watches #content-review

Stories have no images

Image issues are usually caused by API rate limits:

  • Unsplash — 50 requests/hour limit. If exceeded, stories will have fewer or no stock photos.
  • FLUX (Replicate) — Rate-limited with 12-second delays between generations. If the service is slow, some AI images may not generate.

The next pipeline run (tomorrow morning or manual trigger) should work normally once rate limits reset.

Posts aren't appearing in Buffer

Check the Buffer dashboard directly. Posts may be queued but not yet scheduled. Also verify:

  • Buffer channels are connected — Facebook, LinkedIn, and Instagram must all be linked in Buffer
  • Buffer token is valid — tokens can expire; check #automation-errors for auth failures
  • Instagram requires images — if the story had no images, the Instagram post will be skipped

How do I run the pipeline manually?

  1. Go to automations.traveltamers.com
  2. Open "Social Media Content Pipeline" from the workflow list
  3. Click the orange "Execute Workflow" button
  4. Wait 3-5 minutes for stories to appear in #content-review

Configuration Reference

These environment variables power the pipeline. They're set in the n8n Docker container on the VPS.

Content Generation Variables

VariablePurpose
SLACK_BOT_TOKENSlack API access for reading and posting
ANTHROPIC_API_KEYClaude API for filtering and writing
PERPLEXITY_API_KEYPerplexity for story research
REPLICATE_API_TOKENFLUX image generation
UNSPLASH_ACCESS_KEYStock photography
SLACK_CHANNEL_CONTENT_REVIEWChannel ID for #content-review

Publishing Variables

VariablePurpose
BUFFER_ACCESS_TOKENBuffer API for scheduling posts
BUFFER_PROFILE_FACEBOOKFacebook channel ID in Buffer
BUFFER_PROFILE_LINKEDINLinkedIn channel ID in Buffer
BUFFER_PROFILE_INSTAGRAMInstagram channel ID in Buffer
NEXUS_CRM_URLNexus API base URL
NEXUS_SERVICE_TOKENJWT for Nexus API authentication

Slack Channel IDs

ChannelIDPurpose
#content-reviewC0AKYDBNAKYStory delivery and approval
#automation-errorsC0ALDC9FGDPError alerts
#feed-travel-news(configured in workflow)News source channel

Travel Tamers Social Media Content Pipeline — Built with n8n, Claude, Perplexity, Unsplash, FLUX, Buffer & Nexus
Dark Sanctuary Design System