Quick overview This workflow takes a product photo sent via Telegram, uses OpenAI Vision to describe it and OpenAI to write a short-form video ad prompt, generates a vertical video via AtlasCloud, then (after two approvals in Telegram) publishes the Short to YouTube via Blotato. How it works Triggers when a user sends a product photo (optionally with a caption/campaign) to a Telegram bot. Downloads the image from Telegram and uses OpenAI Vision to extract an advertising-focused product description. Uses OpenAI to generate a single cinematic text-to-video prompt plus a YouTube Shorts title and description. Sends the proposed prompt to Telegram and waits for your approval before proceeding. If approved, requests video generation from AtlasCloud and polls the render status until the video is completed. Sends the generated video back to Telegram for preview and waits for a second approval to publish. If approved, publishes the video to YouTube as an unlisted Short via Blotato and notifies you in Telegram (otherwise it stops and sends a decline message). Setup Create and connect a Telegram bot credential, then start a chat with the bot so it can receive photos and send approval prompts.
Tags
Related workflows
See all AI Automation→Report workflow errors to Asana tasks with Google Chat and Grok 4.5 analysis
Quick overview When a monitored workflow fails, this reads its Description field to find the owning client and assignee, looks them up in Asana, analyses the error with Grok 4.5, and creates an assigned task with a severity-based due date. Repeat failures comment on the existing task. How it works Any workflow that names this one as its error workflow triggers it on failure. There is no production trigger by design. The error payload only carries a workflow ID, so an HTTP Request calls the n8n API to read that workflow's own Description field, which holds a small JSON object naming the client and the assignee. Asana projects and users are fetched live and matched by name, so no GID is ever hardcoded. A failed match raises a warning that travels downstream instead of failing silently. Asana is searched for an open task covering the same workflow and node. If one exists, a comment carrying the new execution ID is added rather than a duplicate task. For a new error, Grok 4.5 via OpenRouter returns a root cause, a solution, concrete steps, a severity, and a category, held to a fixed shape by a structured output parser. Severity sets the due date: Critical today, High tomorrow, Medium i
Draft personalized cold emails from Google Sheets using Gemini and HubSpot
Quick overview This workflow batch-processes leads from Google Sheets, researches each person and company using Tavily plus Google Gemini, drafts a personalized cold email, then creates/updates the contact in HubSpot with a research note and a saved email draft before marking the lead as Done in the sheet. How it works Runs manually and sets a batch size that controls how many leads to process per run. Reads leads from Google Sheets, skips rows already marked as Done, and normalizes the selected batch into clean lead fields. Processes the batch one lead at a time and uses Tavily search (last 60 days) with Google Gemini to extract the most recent public activity, pain points, and a personalization hook. Cleans and parses the research JSON so it can be reused reliably downstream. Uses Google Gemini to draft a 90–120 word cold outreach email (subject and body) that incorporates the research and offers a free “Automated LinkedIn Post Creator” n8n workflow. Creates or reuses the HubSpot contact, logs a HubSpot note with the research and drafted email, and saves the email as a HubSpot engagement in DRAFT status. Updates the matching row in Google Sheets (by Email) to set Status to “Done
Create Instagram carousels and TikTok slideshows with OpenAI and PostFast
Quick overview This workflow runs on a Mon/Wed/Fri schedule to generate an Instagram carousel or TikTok slideshow using OpenAI (GPT-4o-mini and gpt-image-1), sends the slides to Telegram for approval, and only then uploads the images and schedules the post via PostFast. How it works Runs every Monday, Wednesday, and Friday at 8am and loads your brand, topics, slide count, platform filter, and Telegram chat ID. Retrieves your connected social accounts from PostFast and keeps only accounts that are connected and match the selected platforms. Uses OpenAI (gpt-4o-mini) to write a carousel as strict JSON containing a caption and slide-by-slide headings, body text, and visual descriptions. Builds per-slide image prompts and uses OpenAI (gpt-image-1) to generate a 1024×1536 portrait image for each slide. Sends the generated slide images to Telegram and waits for you to approve or decline posting. If approved, requests per-account upload URLs from PostFast, uploads each slide image to the provided storage URLs, and schedules one PostFast social post per account with the slides in order and the generated caption. Setup Install and enable the PostFast community node (n8n-nodes-postfast) and