Google Sheets workflow'ları
248 sonuç — tümü kaynağa bağlı n8n referansı
Find YouTube creator emails with Apify, OpenAI and Google Sheets
Quick overview This workflow searches YouTube via Apify for videos matching a keyword, deduplicates the resulting channels, scrapes each channel’s About description, uses OpenAI to extract contact email addresses, and appends channels with emails to a Google Sheets tab. How it works Starts when you manually execute the workflow. Sends a keyword-based search request to the Apify YouTube Scraper to retrieve recent YouTube results and their channel URLs. Deduplicates the results so each channel URL is processed only once. Scrapes each channel’s About/description data using an Apify YouTube Scraper request. Uses OpenAI to extract and de-obfuscate any email addresses found in the channel description. Keeps only channels where at least one email address was extracted. Appends the channel name, channel URL, extracted emails, search query, and the current date to Google Sheets. Setup Add an Apify API token using an HTTP Header Auth credential (Authorization: Bearer ) and connect it to both Apify HTTP Request steps. Add an OpenAI API key credential and choose the model name you want to use in the Configuration values. Connect your Google Sheets OAuth credential, then set the target spreadsh
Turn support emails into FAQ drafts with Gmail, OpenAI, Sheets and Docs
Quick overview This workflow monitors a Gmail inbox for new support-style emails, uses OpenAI to extract a reusable FAQ question and safe draft answer, logs results to Google Sheets, and then creates a Google Docs draft and/or Gmail review drafts for a human reviewer. How it works Polls Gmail every 5 minutes for unread emails matching the configured support-related search query. Cleans the email content by stripping quoted replies, signatures, and HTML to produce a concise plain-text body. Sends the cleaned email and product context to OpenAI to extract a structured FAQ candidate (question, draft answer, category, score, sensitivity flag, tags, and recommended action). Calculates a routing status based on the FAQ score threshold and sensitivity/recommended action, and prepares draft text for a Google Doc and reviewer email. Appends every processed email and extracted fields to a Google Sheets tab for tracking and reporting. If the candidate is strong, creates a Google Docs FAQ draft, inserts the draft content, and creates a Gmail draft notification to the reviewer with the document link. If the candidate needs manual handling, creates a Gmail draft to the reviewer with the review n
Score Salesforce playbook compliance with Google Sheets, Gemini, and Slack
Quick overview This workflow manually runs to review Salesforce opportunities listed in Google Sheets, evaluates each deal against sales playbook rules using Google Gemini, updates compliance fields in Salesforce, alerts in Slack for low scores, and logs results back to Google Sheets. How it works Starts manually and loads a list of opportunities from Google Sheets. Processes each row in batches and fetches the latest matching Opportunity record from Salesforce. Adds predefined playbook rules (including a passing score) and combines them with the opportunity data. Checks whether at least two meetings are completed, and if not, auto-generates a non-compliant evaluation without using AI. For opportunities that pass the meeting minimum, sends the opportunity details and rules to Google Gemini to produce a compliance decision, missing steps, score, reason, and risk level, then normalizes the response into structured fields. Updates the Opportunity in Salesforce with compliance status, risk, score, and timestamp, and sends a Slack alert when the compliance score is below 70. For compliant opportunities, writes the final status and compliance metrics back to a Google Sheets results tab (
Route procurement helpdesk tickets from Gmail with Groq and Slack
Quick Overview This workflow monitors a Gmail inbox for procurement requests, uses Groq (Llama 3.1) to classify and route each ticket with SLA logic, escalates high-risk items to Slack, creates a ticket via HTTP, sends an auto-reply from Gmail, and logs the full record to Google Sheets. How it works Triggers every minute when a new email arrives in a Gmail inbox. Extracts the sender, subject, body, timestamps, and Gmail thread/message IDs, and generates a procurement ticket ID. Looks up the email thread ID in Google Sheets to identify whether the request already exists. Uses Groq (Llama 3.1) to classify the request (category, urgency, sentiment, risk, team) and applies routing rules to set SLA deadlines, queues, and escalation flags. If escalation is required, posts a detailed alert to a Slack channel and creates an escalated ticket via an HTTP request; otherwise, creates a standard ticket via an HTTP request. Generates a short agent-facing status summary with Groq, emails the customer an acknowledgement and suggested reply via Gmail, and appends the full ticket and AI outputs to Google Sheets. Setup Connect your Gmail OAuth2 credential for both the inbox trigger and the customer a
Detect early payment invoice opportunities with Groq and Google Sheets
Quick Overview This workflow runs daily to fetch invoice data from an HTTP endpoint, calculate early-payment savings and annualized ROI, and use Groq (Llama 3.3) to prioritize eligible discounts. It logs eligible and expired invoices to Google Sheets and emails a digest of HIGH-priority recommendations via Gmail. How it works Runs every day at 9:00 to start an invoice scan. Fetches invoice records from an external HTTP API endpoint. Calculates potential savings, days saved by paying early, annualized ROI, and whether each invoice is still eligible before the discount deadline. Routes eligible invoices to Groq (Llama 3.3) to return a JSON decision with a YES/NO recommendation, HIGH/MEDIUM/LOW priority, and a short reason, then normalizes the AI response. Appends eligible invoice evaluations (including ROI, savings, priority, recommendation, and reason) to a Google Sheets log. Filters for invoices marked YES and HIGH priority, aggregates them into a daily batch, and emails a plain-text digest to the finance team via Gmail. Marks ineligible invoices as expired with a skip reason and appends them to a separate Google Sheets audit log. Setup Add a Groq API credential and ensure the sele
Triage supplier capacity risk with Groq, Gmail, Slack, and Google Sheets
Quick overview This workflow runs daily to pull supplier performance data from an HTTP endpoint, calculate fulfillment and delay risk metrics, use Groq (Llama 3.3) to classify supplier risk and generate mitigation actions, then notify via Gmail and Slack and log outcomes to Google Sheets. How it works Runs every day at the scheduled time. Fetches supplier performance data from an HTTP API and stops if the supplier has no orders. Normalizes the supplier fields and calculates fulfillment rate, delay, rule-based flags, and a risk score. Sends the metrics to Groq (Llama 3.3) to classify risk (Low/Medium/High) with a reason and confidence, then merges the AI result with the computed metrics (falling back to the rule-based classification if parsing fails). If the AI risk is Medium, Groq generates three mitigation actions and the workflow fetches backup supplier options from an HTTP API, then combines both into a single alert payload. Sends the mitigation actions by Gmail email and Slack message, then appends a “high risk” audit row to Google Sheets. If the AI risk is not Medium, appends a “no alert sent” audit row to Google Sheets with the assessed risk details. Setup Add Groq API creden
Qualify leads and send personalized audio follow-ups with Gemini and Smallest.ai
Quick Overview This workflow receives lead submissions via a webhook, uses Google Gemini to qualify the lead and write a personalized spoken follow-up script, and for qualified leads generates an MP3 with Smallest.ai, shares it from Google Drive, emails it via Gmail, logs outcomes to Google Sheets, and alerts sales in Slack. How it works Receives a POST webhook request containing a lead’s name, email, and message. Sends the lead details to a Google Gemini–powered AI agent to determine whether the lead is qualified and, if so, generate a short personalized audio script. Parses the agent’s JSON response and routes the workflow based on the qualified flag. If the lead is qualified, Smallest.ai synthesizes the script into an MP3 and uploads it to Google Drive. Shares the Google Drive audio file publicly and sends the lead a Gmail message with a link to listen. Appends the qualified lead record (including the audio link and timestamp) to Google Sheets and posts a notification to a Slack channel. If the lead is unqualified, appends the lead details and timestamp to Google Sheets without generating audio or sending email. Setup Enable the webhook and copy the generated /lead-capture URL i
Send Calendly meeting prep briefs with Gmail, Notion, OpenAI and Sheets
Quick Overview This workflow monitors Gmail for Calendly “New Event” emails, extracts meeting details with OpenAI, enriches the invitee with Notion CRM data, Google Sheets STR records, and SerpApi building research, then generates and schedules a meeting-prep brief email to send 30 minutes before the meeting. How it works Triggers every minute when a new Gmail message arrives and continues only if it is a Calendly notification for a new event. Uses OpenAI to extract the invitee email and meeting date/time from the email and calculates a send time 30 minutes before the meeting. Looks up the lead in a Notion database by invitee email and pulls building research via SerpApi, then uses OpenAI to extract building details from the AI Overview results. Loads STR registration data from Google Sheets and matches it to the building address to flag whether the property appears in STR records. Searches recent Gmail history in two accounts for messages involving the lead’s email address and checks whether any history exists. If email history exists, uses OpenAI to summarize the relationship and generate a concise meeting brief, then formats it as an HTML email. If no email history exists, uses
Turn LinkedIn post reactions into AI content ideas with OpenAI and Google Sheets
Quick overview This workflow runs daily to fetch your recent LinkedIn post reactions via a RapidAPI LinkedIn endpoint, uses OpenAI to turn each reacted post into a structured original content idea, and appends or updates the results in a Google Sheets idea vault without duplicates. How it works Runs every day at 08:00 using a schedule trigger. Loads configurable settings like your LinkedIn username, reaction type filter, recency window, max posts to analyze, OpenAI model, and output language. Calls the linkedin-api8 RapidAPI endpoint to retrieve posts you recently reacted to and splits the response into individual reaction items. Filters reactions to keep only the selected reaction type (or all when blank) and posts newer than the configured number of days. Limits the number of reactions sent for analysis to control cost. Sends each source post (author, reaction, text, and URL) to OpenAI to generate a structured content idea (category, angle, hook, takeaway, format, and hashtags). Saves each idea to Google Sheets using an upsert that matches on Post URL to avoid duplicate rows. Setup Create a RapidAPI subscription for linkedin-api8 and add an HTTP Header Auth credential that sends
Analyze YouTube comments with OpenAI, Google Sheets, and Gmail
Quick overview This workflow monitors a Google Sheets list of YouTube video IDs, fetches video details and top comments from the YouTube Data API, analyzes the comments with OpenAI into structured sentiment and themes, emails an HTML report via Gmail, and writes the results back to Google Sheets. How it works Triggers every minute when a row in Google Sheets is added or updated. Reads the video ID and status from the row and continues only if the status is set to “Pending”. Calls the YouTube Data API to fetch the video’s metadata and the top comment threads for that video. Flattens the comment threads, calculates basic stats (comment count and average likes), and compiles a limited comment text block for analysis. If comments exist, sends the compiled comments and video title to OpenAI to generate a structured analysis (sentiment score, sentiment breakdown, themes, questions, feedback, insights, and summary). Builds an HTML email report from the structured results, sends it to the configured recipient with Gmail, and updates the Google Sheet row with the analysis fields; if no comments exist, marks the row as “No comments”. Setup Create or duplicate a Google Sheet with at least “Vi
Qualify voicemail leads with Twilio, Google Gemini, Gmail and Google Sheets
Quick overview When a buyer or seller leaves a voicemail, this workflow transcribes it automatically, qualifies their intent using Gemini AI, sends an instant SMS acknowledgment, and alerts the agent for Hot leads — turning every missed call into a qualified lead within seconds. How it works Receives a POST webhook from Twilio when a voicemail recording and transcription are completed. Validates the voicemail by checking that the recording is completed, the transcription is completed, and the call duration is longer than 5 seconds. Extracts the transcript, caller phone number, call SID, duration, and recording URL, then sends the transcript to Google Gemini to return structured lead details, a Hot/Warm/Cold score, and draft SMS/email replies. Parses and sanitizes the Gemini JSON output, applies fallbacks if parsing fails, optionally appends a Google Calendar booking link for Hot leads, and builds an agent-ready HTML summary including the transcript and recording link. Sends an acknowledgment SMS to the caller via Twilio, and sends an acknowledgment email via Gmail only when a caller email address is available. Appends the lead details, transcript, and messaging status to a Google S
Recommend supplier consolidation with Google Sheets, Groq, Slack and Gmail
Quick overview This workflow runs weekly to read supplier spend data from Google Sheets, detect overlapping suppliers across departments, estimate potential consolidation savings, and use Groq-hosted LLM analysis to assess risk and produce recommendations that are sent to Slack and emailed via Gmail. How it works Runs every week on a scheduled trigger. Reads supplier records from a Google Sheets spreadsheet and keeps key fields like supplier name, department, spend, risk rating, and stakeholder email. Groups and normalizes supplier names to find suppliers used by multiple departments and calculates estimated savings and an opportunity level. Sends each consolidation opportunity to a Groq chat model to evaluate risk versus savings and return a JSON decision and recommendation. Parses the AI JSON output, merges it with the calculated savings data, and formats a final recommendation record. Posts the recommendation to a Slack channel and emails a formatted report to the supplier stakeholder email address. Setup Connect your Google Sheets OAuth account and update the spreadsheet ID and sheet/tab to match your supplier records. Add a Groq API credential for the chat model used to evalua
Extract and validate invoice data from Google Drive using OCR.Space, Gemini, and Google Sheets
Quick overview This workflow monitors a Google Drive folder for newly uploaded invoice files, extracts text with OCR.Space, uses Google Gemini to convert the OCR text into structured invoice fields, validates required values, then stores results in Google Sheets and sends Gmail notifications for success or manual review. How it works Triggers when a new file is created in a specified Google Drive folder. Downloads the uploaded invoice file from Google Drive and checks that the MIME type is PDF, JPG, JPEG, or PNG. Sends the file to the OCR.Space API to extract the invoice text and stops if OCR reports a processing error. Uses Google Gemini to convert the OCR text into structured JSON containing supplier, invoice metadata, amounts, currency, and line items. Validates and normalizes the extracted fields, flags missing required values, and marks the record for manual review when needed. If manual review is required, sends a Gmail alert listing missing fields; otherwise, appends key invoice fields to Google Sheets and sends a Gmail confirmation email. Setup Connect Google Drive OAuth2 credentials and set the folder ID to watch for invoice uploads. Provide an OCR.Space API key and ensure
Route supplier risk alerts from Gmail to Slack with Gemini and Google Sheets
Quick overview This workflow monitors incoming Gmail messages from suppliers, uses Google Gemini to analyze sentiment and relationship risk, generates an engagement strategy for risky emails, sends an alert to Slack, and logs the analysis and recommended response to Google Sheets. How it works Triggers every minute by checking Gmail for new incoming emails. Filters out irrelevant messages (for example newsletters, unsubscribe emails, no-reply senders, and auto-replies) and keeps only valid supplier emails. Extracts the sender, subject, and email snippet into a single text block and waits briefly to buffer processing. Sends the email text to Google Gemini to return a structured JSON analysis with sentiment score/label, intent, urgency, key concern, and deterioration risk, then normalizes these fields and derives a trend. Flags the interaction as high risk based on the deterioration risk value or a low sentiment score and waits briefly before continuing. Uses Google Gemini to generate a concise engagement strategy (recommended action, draft opening message, and follow-up timeline), then parses it and formats a Slack-ready alert. Sends the alert to a selected Slack user and appends th
Route insurance quote leads with OpenAI, Airtable, Sheets, Teams, Slack and Twilio
Quick overview This workflow receives insurance quote submissions via a webhook, normalizes and deduplicates them against Airtable and/or Google Sheets, uses OpenAI to score and classify the lead, then routes hot/warm leads to Microsoft Teams and/or Slack (plus Twilio SMS for hot leads) and logs the quote. How it works Receives an insurance quote request through a webhook endpoint. Applies configurable settings (log destination, notification channels, thresholds) and normalizes the incoming form payload into a standard quote format. Checks Airtable and/or Google Sheets for recent matching email/phone/hash entries to detect duplicate submissions. If the quote is new and has contact details, sends the quote data to OpenAI to generate a lead score, priority, underwriting flags, missing info, and recommended next steps. Routes the quote as hot, warm, or cold based on the score/priority and prepares formatted alert messages for Microsoft Teams and Slack. Posts hot/warm alerts to Microsoft Teams and/or Slack, and sends a Twilio SMS to an agent for hot leads. Creates a quote log record in Airtable and/or appends a row to Google Sheets, then returns a JSON response with logging and notific
Extract Twilio voice donation details with Groq, Gemini, and Google Sheets
Quick overview This workflow receives Twilio call recording callbacks, transcribes the audio with Groq Whisper, uses Google Gemini/Groq LLMs to extract structured donation details, and appends the results (with transcript and review flag) to Google Sheets. How it works Receives a Twilio Recording Status Callback webhook and immediately responds with TwiML (``). Captures call metadata (CallSid, caller number, recording URL/SID, and duration) and continues only if the recording exists and is at least 2 seconds long. Waits briefly for Twilio to finalize the media, then downloads the recording MP3 using Twilio HTTP Basic Auth. Sends the audio file to Groq’s Whisper transcription endpoint to generate a text transcript. Uses a LangChain prompt with Google Gemini and Groq chat models to extract donation amount, fee (if mentioned), beneficiary name, currency, a needs-review flag, and a short summary from the transcript. Parses the model output as JSON and falls back to an error summary with needs_review=yes if parsing fails. Checks Google Sheets for an existing row matching the CallSid/RecordingUrl and, if not found, appends a new row with the extracted fields, transcript, and call details
Confirm and log WhatsApp restaurant orders with Groq and Google Sheets
Quick Overview This workflow triggers on incoming WhatsApp orders, uses Groq to extract items and quantities, validates them against a live Google Sheets menu, logs the result to an orders sheet, and replies to the customer with either a clarification request or a priced confirmation (with optional VIP owner alerts). How it works Triggers when a new WhatsApp message is received on your WhatsApp Business Cloud number. Sends the message text to Groq (Llama 3.3) to extract a structured list of ordered items and quantities. Reads the latest menu (item name, price, availability) from a Google Sheets “Menu” tab. Matches extracted items to the menu, checks availability, calculates line subtotals and the total price, and compiles any validation issues. If there are issues, replies to the customer on WhatsApp asking for a corrected order and appends a “needs_clarification” entry to the Google Sheets “Orders” tab. If the order is valid, appends a “confirmed” entry to the Google Sheets “Orders” tab and sends a WhatsApp confirmation with the item summary and total. If the confirmed total meets or exceeds the VIP threshold, sends a separate WhatsApp notification to the owner number. Setup Conne
Detect revenue leakage with Salesforce, Google Sheets, Gemini, and Slack
Quick overview This workflow manually audits Closed Won Salesforce opportunities against billed amounts in Google Sheets, uses Google Gemini to analyze any revenue gap, then alerts a Slack user and writes an audit note back to the Salesforce opportunity. How it works Starts when you run the workflow manually. Fetches up to 20 Salesforce opportunities where the stage is "Closed Won" and processes them in batches with a short delay to reduce API pressure. Looks up matching billing rows in Google Sheets and totals the billed amount for the same Deal ID, then calculates the missing revenue versus the Salesforce Amount. For deals with a positive revenue gap, sends the discrepancy details to Google Gemini to classify severity and generate a root cause, recommendation, and Salesforce-ready audit note. Parses the Gemini JSON response and builds a formatted Slack message containing the deal, gap, severity, and recommended action. Sends the Slack alert and updates the Salesforce opportunity description with the audit note and the expected, billed, and missing amounts. Setup Add credentials for Salesforce OAuth2, Google Sheets OAuth2, Google Gemini (PaLM) API, and Slack OAuth2. In Salesforce,
Monitor ride surge events and analyze ride errors with Sheets, Slack and Gemini
Quick overview This workflow pulls ride events and error records from Google Sheets, detects surge pricing and long waits, and notifies via Slack. For error records, it uses Google Gemini with real-time traffic and weather API lookups to diagnose the issue and send recommended actions to Slack. How it works Runs manually and reads ride records from a Google Sheets spreadsheet. Processes the rows one by one with a short delay and routes each record based on whether its type is an event or an error. For event records, checks if the ride price is more than 1.5× the normal price and the wait time is over 10 minutes. If surge conditions are met, sends a surge and delay notification to Slack and records a surge-alert log entry. If surge conditions are not met, records a normal “no alert needed” log entry. For error records, structures the ride and error context and asks Google Gemini to generate an incident summary, probable cause, and recommended actions, calling traffic and weather APIs as needed. Parses the Gemini response into JSON and posts the formatted error report to Slack. Setup Connect Google Sheets OAuth credentials and set the correct spreadsheet and sheet tab in the Google S
Route meeting action items to Slack using Gmail, OpenAI, and Google Sheets
Quick overview This workflow watches a Gmail label for new meeting transcript emails, extracts the transcript, uses OpenAI to generate a summary and action items, routes urgent items to the right Slack channel, and logs the meeting and action items to Google Sheets. How it works Triggers every minute when an unread email arrives in Gmail with the label Transcripts. Applies your configured Google Sheets and Slack settings, then extracts meeting metadata and transcript text from the email body. Reads the existing meeting log from Google Sheets and skips processing if the email matches a previously logged message ID or meeting hash. Sends the transcript to OpenAI to produce a JSON analysis including summary, decisions, risks, and structured action items. Parses and normalizes the action items, then routes the result as urgent, standard, or FYI based on priority and due date threshold. Posts a formatted message to the appropriate Slack channel when action items exist, otherwise marks the run as FYI. Appends the meeting record to the Meetings sheet and writes each extracted action item as a separate row in the ActionItems sheet. Setup Connect credentials for Gmail OAuth2, Google Sheets
Create TikTok carousel posts with Upload Post, Google Sheets, Gemini, GPT-4.1
Quick overview This workflow runs daily to pull TikTok post and profile analytics from Upload Post, updates a Google Sheets performance log, uses Google Gemini and OpenAI to generate a new carousel concept and caption, creates four images via fal.ai, publishes to TikTok, and updates a persistent “Agent Skill” sheet. How it works Runs on a daily schedule (or manually) and loads product, Upload Post, and Google Sheets configuration values. Reads the Google Sheets “Performance Log,” selects posts missing stats or posted recently, fetches TikTok post analytics from the Upload Post API, and writes updated metrics back to the sheet. Aggregates the refreshed history, fetches TikTok profile analytics from Upload Post, reads the “Agent Skill” sheet, and compiles a single context summary. Uses Google Gemini (via a structured JSON output) to generate a TikTok carousel plan including caption, strategy notes, four slide prompts, hashtags, and an engagement question. Sends the four prompts to fal.ai to generate four 9:16 PNG carousel images and collects their hosted image URLs. Uses OpenAI (GPT-4.1) to write a short TikTok photo-post description, publishes the carousel to TikTok via Upload Post
Post TikTok, YouTube Shorts and Instagram Reels with Airtable, OpenAI and Google
Quick Overview This workflow runs on a schedule, pulls the next publish-ready video from Airtable, uses OpenAI, Google Gemini, and CloudConvert to generate a transcript, title, description, tags, and hashtags, then uploads to YouTube Shorts, posts an Instagram Reel via Meta Graph API, and queues TikTok publishing via Google Sheets. How it works Runs on a schedule (or manually) and waits a random number of minutes to stagger posting. Searches Airtable for content marked Publish = true and Status = “In Publish Queue”, then selects a single record to process. Downloads the video, converts it to MP3 with CloudConvert, and transcribes the audio with OpenAI. Uses OpenAI and Google Gemini to extract a main keyword, generate a YouTube-optimized title, and create YouTube tags, hashtags, and a full YouTube description, then derives a shorter content-only caption for Instagram/TikTok. Uploads the video to tmpfiles.org to generate a direct file URL and updates the Airtable record with the generated metadata and set Status = “Published”. Uploads the video to YouTube with the generated title, description, and tags. Creates and publishes an Instagram Reel via the Meta (Facebook) Graph API after a
Score LinkedIn job matches with OpenAI, Google Sheets, Slack, and Apify
Quick overview Runs fetch_cat/linkedin-jobs-scraper daily to collect recent LinkedIn jobs, scores each listing against your candidate profile with OpenAI, saves qualified matches to Google Sheets, and sends the five strongest results to Slack without redelivering previously processed job IDs. How it works Runs on a daily schedule (or via manual trigger) and ensures an n8n Data Table exists to track which LinkedIn job IDs have already been delivered. Runs the FetchCat LinkedIn Jobs Scraper (fetch_cat/linkedin-jobs-scraper) through Apify's API using your configured keywords and location, waits for the Actor run to finish, and downloads up to 10 structured job records from its dataset. Normalizes the scraped job records, caps the list to 10 items, and skips any jobs that already exist in the delivery ledger. Sends the remaining jobs to OpenAI in one structured request to score each job against your candidate profile and filters out results below the minimum score. Appends or updates qualified matches in Google Sheets (upserting by LinkedIn job ID) and formats a Slack message containing the five highest-scoring jobs. Posts the digest to your chosen Slack channel and records the deliver
Create and approve AI social posts with OpenAI, Telegram and Blotato
Quick overview This workflow runs daily to generate an AI-written social post and DALL·E image with OpenAI, sends it to Telegram for approval, and—if approved—publishes it to LinkedIn, X, Instagram, Facebook, and Threads via Blotato while logging outcomes to Google Sheets. How it works Runs every 24 hours on a schedule trigger. Uses OpenAI to generate a single content topic (title, angle, and hook) based on your niche, audience, and language settings. Uses OpenAI to write one social post with a separate hashtag line and an image prompt in your specified tone and style. Uses OpenAI Images (DALL·E) to generate a matching image and extracts a shareable image URL. Sends the post text, hashtags, and image link to Telegram and waits for you to approve or skip within the configured time window. If approved, publishes the post with the image to LinkedIn, X, Instagram, Facebook, and Threads using Blotato and appends a “Published” log row to Google Sheets. If skipped or not approved, appends a “Skipped” log row to Google Sheets. Setup Add OpenAI API credentials and ensure the selected chat model and image model in the configuration match models available to your account. Add Telegram credent