🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 21, 2026

Slack + Instagram drafts, approved AI visuals ready

Lisa Granqvist Partner Workflow Automation Expert

You already have content ideas. What breaks is everything after that: turning one concept into on-brand visuals, chasing approvals, then rebuilding the same post three times because “the vibe is off.”

Marketing managers feel it during campaign weeks. Solo founders feel it at 11pm. And if you run a small agency, you feel it every time a client asks for “one more version.” This Slack Instagram drafts automation keeps quality control in Slack while still getting drafts published consistently.

This workflow turns a simple narrative brief into images and videos, routes them for human approval, then publishes approved drafts to Instagram (plus other channels if you want). You’ll see what it replaces, what it delivers, and what you need to run it.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: Slack + Instagram drafts, approved AI visuals ready

The Challenge: Scaling visuals without losing control

Posting consistently is hard enough. Doing it with fresh visuals, coherent style, and real approvals is where teams get stuck. One person writes a concept, another person tries to translate it into prompts, someone else generates images that don’t match the brand, then you’re back in Slack asking for revisions that come in as vague feedback. It’s not just time. It’s context switching, missed deadlines, and that subtle fear that you’ll publish something “almost right” because you’re tired of reworking it.

It adds up fast. Here’s where the process usually cracks.

  • You lose hours each week rewriting prompts because the original brief wasn’t specific enough to keep characters and lighting consistent.
  • Approvals drift across threads, DMs, and screenshots, so nobody knows which version is actually approved.
  • Manual uploading to Instagram drafts (and then to other channels) becomes a repetitive checklist that steals time from creative decisions.
  • When visuals are off, you regenerate assets one-by-one, which is slow and frankly demoralizing.

The Fix: AI-generated stories with Slack approvals and Instagram drafts

This n8n workflow builds a full visual content pipeline around one simple idea: AI can generate, but humans should approve. It starts with a narrative concept (a story, a product angle, a campaign theme) and runs it through two AI “roles.” First, a creative director model expands the idea into scenes, moods, and consistent character details. Then a prompt engineer model converts that narrative into reliable text-to-image and text-to-video prompts, so your style stays coherent across the whole set. Next, Replicate generates the actual assets (images and short videos). Every image and video lands in Slack for review, where you can approve or request regeneration. Once approved, the workflow uploads media and publishes drafts through Blotato to Instagram, Facebook, and TikTok formats.

The workflow kicks off on a schedule or manually. It loops through the scenes in batches, generates images first, then generates videos, and sorts everything by scene so the final post stays in order. Finally, it compiles media lists and pushes drafts to your publishing destinations, ready for a final caption tweak or scheduling.

What Changes: Before vs. After

Real-World Impact

Say you publish 3 visual posts a week and each one needs 6 scenes (images plus a few short videos). Manually, you might spend about 10 minutes per scene rewriting prompts and generating variations (roughly 1 hour), another 30 minutes herding approvals in Slack, and about 30 minutes uploading and setting up drafts. That’s about 2 hours per post. With this workflow, your “hands-on” work is closer to 10 minutes to submit or adjust the brief, then approvals happen inside Slack while n8n handles the generation and draft publishing in the background.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Slack for approvals and regeneration requests.
  • Replicate to generate images and videos.
  • OpenRouter API key (get it from your OpenRouter dashboard).
  • Blotato to publish drafts to Instagram and more.
  • Google Sheets to store briefs, scenes, or outputs.

Skill level: Intermediate. You’ll connect accounts, paste API keys, and adjust a few prompts and channel settings.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

A manual or scheduled start fires the run. You can trigger it on demand (for a campaign push) or run it on a schedule so content keeps shipping even during busy weeks.

The idea becomes a real narrative. OpenRouter-backed chat models generate a “director” brief with scenes and consistent details, then a second pass turns those scenes into tight prompts that are easier to reproduce.

Assets are generated and reviewed in Slack. Replicate produces images first, then videos. Each one is sent to Slack for approval. If it’s rejected, the workflow restores the prompt and regenerates until you approve.

Approved media is uploaded and turned into drafts. Blotato receives the final files and creates Instagram and Facebook drafts for videos, plus TikTok-ready slideshow drafts for image sequences (including a simple border/crop pass for consistency).

You can easily modify the scene count and the publishing destinations based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

This workflow can be started manually or on a schedule; begin by configuring the triggers that kick off the story generation.

  1. Add the Manual Start Trigger node as your primary trigger.
  2. Optionally enable the Scheduled Start Trigger node (it is disabled in the workflow). Set the Trigger at Hour to 10 if you want the schedule shown in the workflow.
  3. Connect both Manual Start Trigger and Scheduled Start Trigger to Story Director Brief.
Use Manual Start Trigger while building and testing, then enable Scheduled Start Trigger for production runs.

Step 2: Set Up the AI Story Generation Chain

These nodes build the narrative scenes and convert them into structured AI prompts.

  1. Configure Story Director Brief with the full JSON prompt in Text (already defined in the workflow). Keep the date expression {{$now.format('dd LLLL')}} intact.
  2. Attach Primary Chat Model as the language model for Story Director Brief. Credential Required: Connect your openRouterApi credentials in Primary Chat Model.
  3. Configure Prompt Engineer Brief with the full JSON prompt in Text and keep the input expression {{ $json.data.toJsonString() }} intact.
  4. Attach Secondary Chat Model as the language model for Prompt Engineer Brief. Credential Required: Connect your openRouterApi credentials in Secondary Chat Model.
⚠️ Common Pitfall: Do not add credentials to the Story Director Brief or Prompt Engineer Brief nodes directly; credentials must be set on Primary Chat Model and Secondary Chat Model respectively.

Step 3: Split and Batch Scene Items

This section breaks the AI output into individual scenes and controls batch processing for images and videos.

  1. In Split Collection, set Field to Split Out to data so each scene becomes an item.
  2. In Item Cap, set Max Items to 3 if you want to limit output during testing (this node is disabled by default).
  3. Use Batch Through Scenes and Batch Through Images with default settings to handle batching for image and video loops.
Disable Item Cap once you are satisfied with outputs to allow full scene generation.

Step 4: Configure Image Rendering and Approval

These nodes render images via Replicate, require Slack approval, and upload approved media.

  1. In Image Render Request, set URL to https://api.replicate.com/v1/models/qwen/qwen-image/predictions and keep the JSON body with the prompt expression {{ JSON.stringify($json.text_to_image_prompt) }}. Credential Required: Connect your httpHeaderAuth credentials.
  2. Configure Slack Image Approval with Operation set to sendAndWait and Message set to =Approval required for an image: {{ $json.output[0] }}. Credential Required: Connect your slackApi credentials.
  3. In Approval Gate Image, keep the boolean check on {{ $json.data.approved }} to route approvals.
  4. In Upload Image Media, set Media URL to {{ $('Image Render Request').item.json.output.first() }}. Credential Required: Connect your blotatoApi credentials.
  5. In Assign Scene Image, keep the assignments: scene_number = {{ $('Batch Through Scenes').item.json.scene_number }}, image = {{ $json.url }}, text_to_video_prompt = {{ $('Batch Through Scenes').item.json.text_to_video_prompt }}.
  6. Keep Restore Image Prompt connected to Image Render Request for regenerate loops with {{ $('Image Render Request').item.json.input.prompt}}.
⚠️ Common Pitfall: If Slack approvals are not returned, the workflow will halt at Slack Image Approval. Verify your channel ID and Slack app permissions.

Step 5: Configure Video Rendering and Approval

This section renders the approved image into short videos and repeats the approval loop.

  1. In Video Render Request, set URL to https://api.replicate.com/v1/models/bytedance/seedance-1-lite/predictions and keep the JSON body with {{ JSON.stringify($json.text_to_video_prompt) }} and {{ $json.image }}. Credential Required: Connect your httpHeaderAuth credentials.
  2. Configure Slack Video Approval with Operation set to sendAndWait and Message set to =Approval required for a video: {{ $json.output }}. Credential Required: Connect your slackApi credentials.
  3. In Approval Gate Video, keep the boolean check on {{ $json.data.approved }} to route approvals.
  4. In Upload Video Media, set Media URL to {{ $('Video Render Request').item.json.output }}. Credential Required: Connect your blotatoApi credentials.
  5. In Assign Scene Video, keep the assignments: scene_number = {{ $('Batch Through Images').item.json.scene_number }}, video = {{ $json.url }}, image = {{ $('Batch Through Images').item.json.image }}.
  6. Keep Restore Video Prompt connected to Video Render Request for regenerate loops with {{ $('Video Render Request').item.json.input.prompt}} and {{ $('Video Render Request').item.json.input.image }}.

Step 6: Sort Scenes and Publish Drafts

After batching completes, the workflow sorts media, compiles URLs, and publishes drafts to social platforms.

  1. In Order by Scene, ensure the sort field is scene_number.
  2. In Compile Media Lists, keep the summaries for video and image with aggregation concatenate and separator , .
  3. Order by Scene outputs to both Compile Media Lists and Batch For Slideshow in parallel.
  4. Compile Media Lists outputs to both Publish Instagram Draft and Publish Facebook Draft in parallel. Credential Required: Connect your blotatoApi credentials for both nodes.
  5. In Publish Instagram Draft and Publish Facebook Draft, keep Post Content Text set to {{ $('Story Director Brief').item.json.data[0].life_reassuring_quote }} and Post Content Media URLs set to {{ $json.concatenated_video }}.
  6. In Compile Slide URLs, keep the url aggregation set to concatenate with separator , , then connect to Publish TikTok Draft. Credential Required: Connect your blotatoApi credentials for Publish TikTok Draft.
  7. In Publish TikTok Draft, set Post Content Text to skeletal life and Post Content Media URLs to {{ $json.concatenated_url }}.

Step 7: Generate Slideshow Images

This path fetches images, edits them for slides, and uploads them for TikTok slideshow drafting.

  1. In Batch For Slideshow, keep default batch settings to iterate through images.
  2. In Fetch Image File, set URL to {{ $json.image }} to download the image for editing.
  3. In Add Image Borders, set Border Width to 0 and Border Height to 230.
  4. In Crop Image Fit, set Width to 1080, Height to 1920, and Operation to crop.
  5. In Upload Slide Images, set Resource to media and enable Use Binary Data. Credential Required: Connect your blotatoApi credentials.

Step 8: Test and Activate Your Workflow

Run an end-to-end test to verify the approvals, uploads, and draft publishing.

  1. Click Execute Workflow from Manual Start Trigger to test the full pipeline.
  2. Approve the image in Slack Image Approval and confirm that Upload Image Media returns a media URL.
  3. Approve the video in Slack Video Approval and confirm that Upload Video Media returns a media URL.
  4. Verify that drafts are created in Publish Instagram Draft, Publish Facebook Draft, and Publish TikTok Draft.
  5. When satisfied, enable Scheduled Start Trigger to run daily and toggle the workflow to Active.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • OpenRouter credentials can expire or your model access may change. If things break, check your OpenRouter key and model availability in the OpenRouter dashboard first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Blotato publishing can fail if the connected Instagram account permissions change. When drafts stop appearing, re-check the social account connection inside Blotato before you touch anything in n8n.

Common Questions

How quickly can I implement this Slack Instagram drafts automation?

About an hour if your accounts and API keys are ready.

Can non-technical teams implement this Slack Instagram drafts automation?

Yes. No coding required, but someone should be comfortable pasting API keys and testing a few runs in n8n.

Is n8n free to use for this Slack Instagram drafts workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenRouter and Replicate usage, which can be a few dollars per week depending on how many assets you generate.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

How do I adapt this Slack Instagram drafts solution to my specific challenges?

You can swap the “director” and “prompt engineer” models in the OpenRouter chat model nodes without changing the rest of the flow. Common tweaks include adjusting the scene count in the split/limit nodes, changing the Slack approval channel, and publishing only to Instagram by disabling the Facebook or TikTok draft nodes in Blotato.

Why is my Slack connection failing in this workflow?

Usually it’s a revoked Slack token or missing channel permissions. Reconnect Slack in n8n, then confirm the bot is invited to the approval channel you selected. If approvals post but buttons or actions don’t work, double-check that interactive message permissions are still enabled for your Slack app.

What’s the capacity of this Slack Instagram drafts solution?

On a small cloud plan, most teams comfortably run dozens of posts a month, because the heavy lift is waiting on AI generation and human approvals. If you self-host, you’re mainly limited by your server and the rate limits of OpenRouter, Replicate, and Slack. Practically, the workflow is happiest when you batch scenes (it already does) and keep a reasonable cap so you don’t flood your approval channel.

Is this Slack Instagram drafts automation better than using Zapier or Make?

Often, yes. This workflow uses loops, branching approvals, and “regenerate until approved” logic, and those are awkward (or expensive) in many no-code tools. n8n also gives you a self-hosting path, which is a big deal when you scale executions. Zapier or Make can still be fine for simple “send to Slack, then post” drafts. But if you want consistent prompts, batching, and a real approval gate, n8n fits the job better. Talk to an automation expert if you want help choosing.

This is what content scale looks like when you keep the human “taste” part, and automate the rest. Set it up once, then let Slack approvals drive clean Instagram drafts week after week.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal