Skip to main content

Social Command — how this works

In the app: /social

How it works

Scheduling a drafted asset fires a signed intent to n8n's social-post workflow, which calls Postiz directly and delivers what happened back to this app as a ScheduledPost row — this page never calls Postiz itself. Only content already drafted (status drafting/awaiting_approval) with a real per-platform ContentAsset shows up under "Available to schedule". This never touches a ContentPiece's own publish/veto pipeline (Content Deck's job) — a ScheduledPost is independent, per-platform tracking layered on top.

Data source

src/lib/social/scheduledPostsRepo.ts (the ScheduledPost table), written by n8n's callback via src/app/api/webhooks/n8n-social-post-result/route.ts.

Troubleshooting

A scheduled post stuck on "scheduled"? Check /tools for n8n's live/mocked status — under CALLHQ_MOCK_N8N (the default until a founder wires a live n8n), the intent is logged and mocked, so no real Postiz call ever happens and no callback ever arrives to mark it posted/failed. Postiz's own API shape hasn't been verified live yet — confirm it against this instance's own API docs before flipping CALLHQ_MOCK_N8N off for this workflow.

Vendors: n8n, postiz — check Tools for live/mocked status.

Who can see this: admin