🎬 Create daily branded content visuals from Google Sheets with Canvora and Slack

⚑ 7 views · 🎬 Content Creation & Video

Description

Quick overview

This workflow runs daily, reads a Google Sheets content calendar for the next row marked todo, sends the idea to Canvora to generate branded visuals, then posts the finished image links (or a failure/timeout alert) to a Slack channel.

How it works

  1. Runs every day at 8am on a schedule.
  2. Reads rows from a Google Sheets spreadsheet and keeps only items where the status column equals todo.
  3. Takes the first eligible row and submits its idea (plus optional format, language, and brandId) to the Canvora Generations API.
  4. Waits 30 seconds and repeatedly polls Canvora for the generation status until it completes or a timeout threshold is reached.
  5. If the generation completes successfully (including partial success), sorts the returned outputs and posts a Slack message with ordered image links and a Canvora review URL.
  6. If the generation fails, is cancelled, or times out, posts a Slack alert with the status and a link to the Canvora dashboard.

Setup

  1. Connect Google Sheets credentials and select the target spreadsheet and sheet in the Google Sheets read step.
  2. Create a Canvora account, generate an API key, and add an HTTP Header Auth credential that sends X-API-Key: <your key> for the Canvora requests.
  3. Connect Slack credentials and set the destination channel for the review and failure notifications (for example, #content).
  4. Ensure your Google Sheet has headers that match the workflow fields (idea, format, language, brandId, status) and mark rows you want processed with status=todo.
  5. Adjust the schedule time and the timeout/polling behavior if you want a different daily run time or maximum wait duration.

Requirements

Customization

Additional info

Example output (from the sheet row β€œ5 hidden costs of running a small restaurant” – real run):

Visual generated from a single spreadsheet row

πŸ”— Nodes Used

Google Sheets, HTTP Request, Slack, Schedule Trigger, Filter

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup