Social Media Autoposter - Workflow Shows Success But Posts Not Publishing (Loop Data Flow Issue)

Problem Summary

My automated social media posting workflow executes successfully (green checkmarks, no errors in logs) but zero posts are actually publishing to LinkedIn, Facebook, or Instagram. The workflow has completed 183 “successful” executions, yet all posts remain with status=“Scheduled” in my Base44 database and nothing appears on social media platforms.

Workflow Setup

Purpose: Automated social media posting system that retrieves scheduled posts from Base44 database, filters by date/time, routes to appropriate platforms, and publishes content automatically.

Key Components:

  • Schedule trigger: Every 30 minutes (7am-8pm EST)
  • Base44 API: GET posts from SocialPost entity
  • JavaScript filter: Filters posts by status=“Scheduled”, scheduled_date=today, scheduled_time<=current_time
  • Loop structure: “Process One at a Time” loop
  • Expand to Platforms: Creates 3 items (LinkedIn, Facebook, Instagram) with targetPlatform field
  • Route by Platform: Switch/Expression node routes based on targetPlatform
  • Platform-specific posting nodes: LinkedIn Create Post, Facebook Create Post, Instagram Publish

The Core Issue

Symptoms:

  1. Workflow shows “Success” status in execution logs :white_check_mark:
  2. No error messages in recent executions
  3. Posts remain with status=“Scheduled” in Base44 (never change to “Published”)
  4. Zero posts published across all platforms
  5. Fast execution times (200-350ms) suggesting workflow exits early

What I’ve Already Fixed

:white_check_mark: Base44 API query parameter filtering (now filtering in JavaScript)
:white_check_mark: Status field mismatch between UI and database
:white_check_mark: Time format conversion (12-hour to 24-hour)
:white_check_mark: Timezone handling (EST conversion)
:white_check_mark: JavaScript syntax errors in filter code

Data Flow Observation

When testing individual nodes:

  • “Expand to Platforms” shows “No input data” when tested individually
  • “Route by Platform” shows “No output data” when tested individually
  • Posting nodes (LinkedIn/Facebook/Instagram) show “No input data”

But when running the full workflow, it shows “Success” without actually posting.

Route by Platform Configuration

Expression mode:

{{ $json.targetPlatform === 'LinkedIn' ? 0 : $json.targetPlatform === 'Facebook' ? 1 : $json.targetPlatform === 'Instagram' ? 2 : 3 }}

Routes to:

  • Output 0 → LinkedIn path
  • Output 1 → Facebook path
  • Output 2 → Instagram path
  • Output 3 → Default

Expand to Platforms Code

const post = $input.item.json;
let platforms = [];

if (post.platform.includes('All')) {
  platforms = ['LinkedIn', 'Facebook', 'Instagram'];
} else {
  if (post.platform.includes('LinkedIn')) platforms.push('LinkedIn');
  if (post.platform.includes('Facebook')) platforms.push('Facebook');
  if (post.platform.includes('Instagram')) platforms.push('Instagram');
}

return platforms.map(p => {
  let caption;
  
  if (p === 'LinkedIn') {
    caption = post.caption_linkedin || post.caption_master || post.caption || '';
  } else if (p === 'Facebook') {
    caption = post.caption_facebook || post.caption_master || post.caption || '';
  } else {
    caption = post.caption_instagram || post.caption_master || post.caption || '';
  }
  
  return {
    json: {
      ...post,
      targetPlatform: p,
      caption: caption
    }
  };
});

Questions

  1. Loop Context: In a “Process One at a Time” loop, why would downstream nodes show “No input data” when tested individually if the full workflow succeeds?

  2. Route by Platform: Is my expression syntax correct for routing based on the targetPlatform field? Should I use a different approach (Switch node vs IF nodes)?

  3. Silent Failures: Why would a workflow show “Succeeded” status but skip posting nodes without error messages? How can I enable more detailed logging?

  4. Data Flow: How can I verify that data is actually flowing through “Expand to Platforms” → “Route by Platform” → posting nodes?

Environment

  • Timezone: EST/New York (server may be Europe/Berlin)
  • External Services: Base44 API, LinkedIn API, Facebook API, Instagram API
  • Workflow Schedule: Every 30 minutes, 7am-8pm EST
  • Expected: 9-12 posts per day across 3 platforms

What I Need

  1. Workflow audit to identify why posting nodes aren’t receiving data
  2. Execution analysis of successful runs to see actual data flow
  3. Guidance on testing nodes within loop context
  4. Best practices for error handling and debugging in complex loop workflows

This is a production automation critical to our business operations. Any assistance would be greatly appreciated!

Would you consider sharing the full workflow with us to receive best possible assistance?
Also, what is the role of Base44 in your setup? Is it providing a frontend to put in the details of the posts?

Also, if you’re interested in a one on one call, send me a DM. I’ve built several content automation workflows in the past.

183 grüne Läufe und nichts live bedeutet fast immer, dass die Publish-Nodes nie ein Item gesehen haben. nicht LinkedIn, das Posts frisst. leerer Lauf, immer noch erfolgreich.

fixiere eine Ausführung.

schau dir die Item-Counts nach Base44 an, dann nach dem Filter. diese 200-350ms Läufe fallen auf. wenn beide Counts null sind, würde ich noch nicht mal die OAuth-Logs öffnen. nichts hat die APIs erreicht.

meine Vermutung ist der Filter. Status-Schreibweise, Datum-Zeitzone oder der Zeitvergleich. ein Leerzeichen am Ende von Scheduled hat mich mal erwischt. hat mich peinlich lange gekostet.

wenn der Filter Items ausspuckt, erst dann Expand to Platforms treffen. testet diesen Node nicht allein von der Mitte des Canvas aus. er sieht leer aus, wenn nichts angekommen ist. fixiert eine echte geplante Zeile und achtet auf 3 Items mit gesetztem targetPlatform.

vor dem Switch targetPlatform in ein Set dumpen. linkedin vs LinkedIn spült alles zum Default. einfache Falle. ich bin beim ersten Mal davon ausgegangen, dass es auch OAuth war.

nur nachdem ein Item eindeutig einen create-post Node trifft, würde ich den Response Body lesen. grün kann nur bedeuten, dass die Anfrage akzeptiert wurde. schreib id + Raw Response zurück zu Base44, dann flip Published. Zeilen bleiben auf Scheduled stecken? publish ist wahrscheinlich nie gelaufen.

noch eins: Medien immer noch öffentlich zum Feuer-Zeitpunkt. signierte URLs, die beim Planen funktionieren und bis zum Nachmittag sterben, sind nervig.

fix zuerst den Filter. ernsthaft. fasst OAuth nicht an, bis der Filter funktioniert.

sobald ein Netzwerk tatsächlich postet und Status schreibt, wird multi-platform expand viel weniger verflucht. wenn später der Schmerz ein Zeile zu einem Haufen Netzwerke mit Retries ist, hat mir geholfen: Intake in n8n und blotato auf dem letzten Hop. aber nicht der Bug, den du heute hast.

Die Ausführungszeit von 200-350 ms ist die Antwort, und es lohnt sich zu erklären, warum: nichts Nachgelagertes wurde ausgeführt. In n8n führt ein Node, der null Elemente erhält, keinen Fehler aus, er wird einfach nicht ausgeführt, und der Durchlauf endet immer noch als Erfolg. 183 grüne Ausführungen, die nichts veröffentlicht haben, bedeuten, dass etwas Vorgelagertes null Elemente aussendet und alles danach stillschweigend übersprungen wird.

Debugge also nicht die Posting-Nodes. Finde heraus, wo die Elemente verloren gehen, in dieser Reihenfolge.

  1. Öffne eine der erfolgreichen Ausführungen und lies die Elementanzahl auf jedem Node von links nach rechts. Der erste Node mit 0 Elementen außen ist dein Bug; alles zu seiner Rechten ist unschuldig. Eine Minute, und die Vermutungen enden.
  2. Überprüfe die Loop-Verdrahtung, denn deine Symptome deuten direkt darauf hin. Split In Batches („Process One at a Time