by Wilbert Muza
This simple workflow allows you to get an mp4 attachment from gmail email and then upload it to Google Drive to get attachment webview link.
by David Olusola
📅 Auto-Log Calendly Bookings to Google Sheets This workflow automatically captures new Calendly bookings and saves them into a structured Google Sheet. It records all important details like invitee name, email, phone, event type, date, time, status, meeting link, and notes. No more manual copy-pasting from Calendly into your CRM or sheets. ⚙️ How It Works Calendly Booking Webhook Listens for new bookings (invitee.created event). Triggers every time someone schedules a meeting. Normalize Booking Data A Code node parses Calendly’s payload. Extracts invitee name, email, phone number, event type, time, notes, and meeting link. Ensures consistent data format for Sheets. Save Booking to Google Sheets The Google Sheets node appends a new row with the booking details. Prevents duplicate entries using append/update mode. Log Booking Success A Code node logs the successful save. Can be extended to send confirmation emails, Slack alerts, or calendar invites. 🛠️ Setup Steps 1. Create Google Sheet In Google Sheets, create a new sheet with headers: Copy the Sheet ID from the URL. Replace YOUR_GOOGLE_SHEET_ID in the workflow with your actual ID. 2. Calendly Webhook In your Calendly account: Go to Integrations → Webhooks Add a new webhook with the URL from the Webhook node in n8n. Select event type: invitee.created. 3. Google Sheets OAuth In n8n, connect your Google account credentials. Grant permission for reading/writing Sheets. 📊 Example Output (Google Sheets Row) | Name | Email | Phone | Event Type | Date | Time | Status | Meeting Link | Notes | |------------|--------------------|------------|------------|------------|-------------------|------------|-----------------------------|---------------------| | David mark | john@example.com | +123456789 | Demo Call | 2025-08-29 | 3:00 PM - 3:30 PM | Scheduled | https://zoom.us/j/123456789 | Wants to discuss AI | ⚡ With this workflow, every new Calendly booking is instantly logged into your Google Sheet, keeping your scheduling records accurate and centralized.
by Marth
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. ⚙ How It Works This workflow operates as an automated personal assistant for your calendar. It listens to your Gmail inbox for new emails. When an email arrives, it checks the subject and body for keywords like "Meeting" or "Appointment." If a match is found, the workflow extracts key details from the email and automatically creates a new event on your Google Calendar, eliminating the need for manual data entry. Setup Steps Follow these steps to get the workflow running in your n8n instance. 1. Prerequisites You'll need a working n8n instance and access to both your Gmail and Google Calendar accounts. 2. Workflow Import Import the workflow's JSON file into your n8n instance. All the necessary nodes will appear on your canvas. 3. Configure Credentials Click on the Gmail Trigger node and Google Calendar node. You will see a red error icon indicating that credentials are not set. Click on it. Click "Create new credential" and follow the instructions to connect your Gmail and Google Calendar accounts. 4. Customize the If Node This node determines which emails will trigger a calendar event. Click on the If node. Review the Value 2 field under the conditions. This is where you specify the keywords that should trigger an event. You can add more keywords by clicking "Add Condition" and using the OR operator (e.g., add call, interview, or demo). 5. Customize the Code Node This node extracts the event details from your email. The current code is a basic example using regular expressions to find a date and time. Click on the Code node. Review the code. You may need to adjust the regular expressions if your emails have a different format for dates and times. The node will output a JSON object containing the title, date, and time that will be used to create your calendar event. 6. Configure the Google Calendar Node This is the final node that creates the event. Click on the Google Calendar node. In the Calendar ID field, enter the ID of the specific calendar you want the events to be created on. You can find this in your Google Calendar settings. 7. Activate the Workflow Once all credentials and node configurations are complete, click "Save" at the top of the canvas. Finally, toggle the workflow to "Active". The workflow is now live and will automatically schedule events for you.
by Yaron Been
Generate Images from Text with IBM Granite Vision 3.3 2B AI Model 🌍 Overview This workflow uses the ibm-granite/granite-vision-3.3-2b model (hosted on Replicate) to generate AI images. It starts manually, sends a request to the Replicate API, waits for the result, and finally outputs the generated image link. Think of it as your AI art assistant — you click once, and it handles the full request/response cycle for image generation. 🟢 Section 1: Trigger & API Setup 🔗 Nodes: Manual Trigger* → Starts when you click *Execute. Set API Key** → Stores your Replicate API Key safely in the workflow. 💡 Beginner takeaway: This section is like turning the key in the ignition. You start the workflow, and it loads your credentials so you can talk to Replicate’s API. 📈 Advantage: Keeps your API key stored inside the workflow instead of hard-coding it everywhere. 🟦 Section 2: Create Prediction 🔗 Nodes: HTTP Request (Create Prediction)** → Sends a request to Replicate with the chosen model (granite-vision-3.3-2b) and input parameters (seed, temperature, max\_tokens, etc.). 💡 Beginner takeaway: This is where the workflow actually asks the AI model to generate an image. 📈 Advantage: You can tweak parameters like creativity (temperature) or randomness (seed) to control results. 🟣 Section 3: Polling & Status Check 🔗 Nodes: Extract Prediction ID (Code)** → Saves the unique job ID. Wait (2s)** → Pauses before checking status. Check Prediction Status (HTTP Request)** → Calls Replicate to see if the image is ready. If Condition (Check If Complete)** → ✅ If status = succeeded → move to result 🔄 Else → go back to Wait and check again 💡 Beginner takeaway: Since image generation takes a few seconds, this section keeps asking the AI “are you done yet?” until the image is ready. 📈 Advantage: No need to guess — the workflow waits automatically and retries until success. 🔵 Section 4: Process Result 🔗 Nodes: Process Result (Code)** → Extracts the final data: ✅ Status ✅ Output image URL ✅ Metrics (time taken, etc.) ✅ Model info 💡 Beginner takeaway: This section collects the finished image link and prepares it neatly for you. 📈 Advantage: You get structured output that you can save, display, or use in another workflow (like auto-sending images to Slack or saving to Google Drive). 📊 Final Overview Table | Section | Nodes | Purpose | Benefit | | -------------------- | ---------------------------------- | --------------------------- | --------------------------- | | 🟢 Trigger & Setup | Manual Trigger, Set API Key | Start + load credentials | Secure API key management | | 🟦 Create Prediction | HTTP Request | Ask AI to generate image | Control creativity & output | | 🟣 Polling | Extract ID, Wait, Check Status, If | Repeatedly check job status | Auto-wait until done | | 🔵 Process Result | Process Result | Extract image + details | Get clean output for reuse | 🚀 Why This Workflow is Useful Automates full API cycle** → From request to final image URL Handles delays automatically** → Keeps checking until your image is ready Customizable parameters** → Adjust creativity, randomness, and token limits Reusable** → Connect it to email, Slack, Notion, or storage for instant sharing Beginner-friendly* → Just plug in your API key and hit *Execute
by Davide
This automation retrieves company information from a Google Sheet, uses the Anymail Finder API to discover email addresses associated with each company, and then writes the results (including the email status) back into the same Google Sheet and send alert on Telegram. Key Advantages ✅ Automated Email Discovery:** No need for manual lookups—emails are found via the Anymail Finder API in bulk. 🔁 Seamless Google Sheets Integration:** Works directly with Google Sheets for input and output, allowing easy data management. 🧠 Smart Filtering:** Automatically classifies emails as valid, risky, or not found for quality control. ⚙️ Reusable & Scalable:** Can be run anytime with a manual trigger or expanded to handle thousands of records with minimal setup. 📊 Real-Time Updates:** Results are immediately reflected in your spreadsheet, streamlining lead generation and outreach workflows. 💸 Cost-Efficient:** Uses a free Anymail Finder trial or API key for testing and validation before scaling up. How it Works This automated workflow finds email addresses for a list of companies using the Anymail Finder API and updates a Google Sheets document with the results. Trigger & Data Retrieval: The workflow starts manually. It first connects to a specified Google Sheet and retrieves a list of company leads that are marked for processing (where the "PROCESSING" column is empty). Batch Processing & API Call: The list of leads is then split into batches (typically one item at a time) to be processed individually. For each company, the workflow sends the "Company Name" and "Website" to the Anymail Finder API to search for a relevant email address. Result Classification: The API's response, which includes the found email and its status (e.g., valid, risky), is passed to a Switch node. This node routes the data down different paths based on the email status. Sheet Update: Depending on the status: Valid/Risky Email: The workflow updates the original Google Sheet row. It marks the "PROCESSING" column with an "x" and writes the found email address into the "EMAIL" column. No Email Found: The workflow also updates the sheet, marking "PROCESSING" with an "x" and leaving the "EMAIL" column empty to indicate no email was found. Loop Completion: After processing each item, the workflow loops back to process the next lead in the batch until all companies have been handled. Set up Steps To use this workflow, you need to complete the following configuration steps: Duplicate the Template Sheet: Clone the provided Google Sheets template to your own Google Drive. This sheet contains the necessary columns ("COMPANY NAME", "WEBSITE", "EMAIL", "PROCESSING") for the workflow to function. Get an API Key: Sign up for a free trial at Anymail Finder to obtain your personal API key. Configure Credentials in n8n: Google Sheets: In both the "Get Leads" and update nodes, set up the Google Sheets OAuth2 credential to grant n8n access to your copied spreadsheet. Anymail Finder: In the "Email finder" HTTP Request node, create a new credential of type "HTTP Header Auth". Name it "Anymail Finder". In the "Name" field, enter Authorization. In the "Value" field, paste your Anymail Finder API key. Update Sheet ID in Nodes: In the n8n workflow, update all Google Sheets nodes ("Get Leads", "Email found", "Email not found") with the Document ID of your cloned Google Sheet. The Sheet ID can be found in your sheet's URL: https://docs.google.com/spreadsheets/d/[YOUR_SHEET_ID_HERE]/edit.... Execute: Once configured, add your list of companies and their websites to the sheet and run the workflow using the "Manual Trigger" node. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by as311
This n8n workflow monitors significant register, financial, and news-related events for German companies. It takes a list of companies (for example from a CRM or lead list), resolves them via the Implisense / German Company Data API, retrieves recent company events, normalizes and filters them by relevance (e.g. management changes, financing, M&A, insolvency), deduplicates results, and prepares structured notifications with urgency levels. The output can be routed to email, chat tools, webhooks, or downstream systems such as CRMs or data stores for continuous company monitoring and alerting. Setup steps Replace Mock Data: Change "Mock Lead Input" node to your actual lead source CRM connector (Salesforce, HubSpot, etc.) Database query CSV import Configure Credentials: Set up RapidAPI API credentials Create an account on RapidAPI (free tier available) RapidAPI Insert your RapidAPI x-rapidapi-key as password Adjust Notification: Configure your peferred Notification system if needed Connect Output: Add nodes after the 'Create Summary' node
by Oneclick AI Squad
This automated n8n workflow provides an AI-powered email classifier for support emails, automatically categorizing incoming emails and routing them to the appropriate inbox, creating a Jira task, and sending an autoresponse within minutes. Main Components IMAP Email** - Monitors incoming support emails via IMAP OpenAI** - Classifies emails into categories (billing, bug, feature) Switch** - Routes emails based on the classified category Send Billing Email** - Forwards billing-related emails to the billing inbox Send Bug Email** - Forwards bug-related emails to the bugs inbox Send Feature Email** - Forwards feature-related emails to the features inbox Create Jira Task** - Creates a task in Jira for each classified email Send Autoresponse** - Sends a confirmation email to the sender Essential Prerequisites IMAP access to the support email account OpenAI API key SMTP server credentials for sending emails Jira account with API access Customization Guide Update IMAP host and credentials in the IMAP Email node Adjust OpenAI model or prompt in the OpenAI node Modify email addresses (billing@yourdomain.com, bugs@yourdomain.com, features@yourdomain.com) in Send Email nodes Configure Jira project ID and credentials in the Create Jira Task node Change autoresponse text in the Send Autoresponse node Features 🤖 AI Classification:** Uses OpenAI to categorize emails into billing, bug, or feature 🔄 Automated Routing:** Routes emails to the correct inbox based on category 🎯 Task Creation:** Creates a Jira task for each support request 📧 Autoresponse:** Sends instant confirmation to the sender ⚡ Optimizations Made:** Streamlined email processing with single-pass classification Parameters to Configure imap_host: Your IMAP server address imap_user: IMAP username (e.g., support@yourdomain.com) imap_password: IMAP password openai_api_key: OpenAI API key smtp_host: Your SMTP server address smtp_user: SMTP username smtp_password: SMTP password jira_project_id: Your Jira project ID jira_user: Jira username jira_api_token: Jira API token How to Use Copy the JSON code from the artifact Open your n8n workspace Select “Import from JSON” or “+” → “From JSON” Paste the JSON code Configure parameters in the respective nodes with your credentials and settings Run the workflow Workflow Actions Classify:** Uses OpenAI to categorize incoming emails Route:** Forwards emails to the appropriate inbox Create:** Generates a Jira task for each email Respond:** Sends an autoresponse to the sender
by Patrick Siewert
🧾 Smart Sales Invoice Processor (Data tables Edition) Transform uploaded sales CSV files into validated, enriched invoices, all handled natively inside n8n using Data tables, validation logic, enrichment, duplicate detection, and automated email notifications. This workflow demonstrates a full ETL + business automation pattern, turning raw CSV data into structured, auditable records ready for storage and customer notifications. ✨ Features ✅ Multi-format CSV input (file upload or raw text) ✅ Validation for email, quantity, date, and required fields ✅ Automatic error handling with 400 Bad Request JSON response for invalid CSVs ✅ Product enrichment from Products Datatable ✅ Invoice creation and storage in Invoices Datatable ✅ Automated subtotal, tax, and total calculation ✅ Duplicate order detection with 409 Conflict response ✅ Ready-to-send email confirmations (simulated in this version) ✅ Fully native, no external integrations required 🧩 Use Cases E-commerce order and invoice automation Internal accounting or ERP data ingestion Migrating CSV-based legacy systems into n8n Automated business logic for B2B integrations ⚙️ Setup Instructions 1️⃣ Create two n8n Data tables Products Stores your product catalog with SKU-based pricing and tax details. | Column | Type | Example | | -------- | ------ | -------------- | | sku | String | PROD-001 | | name | String | Premium Widget | | price | Number | 49.99 | | tax_rate | Number | 0.10 | Invoices Stores validated, calculated invoices created by this workflow. | Column | Type | Example | | -------------- | -------- | ------------------------------------------- | | invoice_id | String | INV-20251103-001 | | customer_email | String | john@example.com | | order_date | Date | 2025-01-15 | | subtotal | Number | 99.98 | | total_tax | Number | 10.00 | | grand_total | Number | 109.98 | | created_at | DateTime | 2025-11-03T08:00:00Z | 2️⃣ Import Workflow Import the provided workflow JSON file into your n8n instance. 3️⃣ Test the Workflow Use cURL or Postman to send a test CSV to your endpoint. curl -X POST \ -H "Content-Type: text/csv" \ --data-binary $'sku,quantity,customer_email,order_date\nPROD-001,2,john@example.com,2025-01-15\nPROD-002,1,jane@example.com,2025-01-15' \ https://<your-n8n-url>/webhook/process-sales 📦 Example Responses ✅ Success (HTTP 200) { "success": true, "processed_at": "2025-11-04T15:36:52.899Z", "invoice_count": 1, "invoices": { "to": "john@example.com", "subject": "Invoice INV-1762270612772-1 - Order Confirmation", "body": "Dear Customer,\n\nThank you for your order!\n\nInvoice ID: INV-1762270612772-1\nOrder Date: 1/14/2025\n\nSubtotal: $99.98\nTax: $10.00\nGrand Total: $109.98\n\nThank you for your business!\n\nBest regards,\nSales Team" }, "email_notifications": [ { "to": "jane@example.com", "subject": "Invoice INV-1762270612772-2 - Order Confirmation", "body": "Dear Customer,\n\nThank you for your order!\n\nInvoice ID: INV-1762270612772-2\nOrder Date: 1/14/2025\n\nSubtotal: $89.99\nTax: $9.00\nGrand Total: $98.99\n\nThank you for your business!\n\nBest regards,\nSales Team" } ], "message": "All invoices processed and customers notified" } ❌ Validation Error (HTTP 400) Occurs when the CSV file is missing required columns or contains invalid data. { "success": false, "message": "CSV validation failed", "error": "Validation failed: [ { \"row\": 2, \"errors\": [\"Valid email is required\"] } ]" } 🧠 How It Works Webhook receives uploaded CSV or raw text Code node parses and validates data Data table node loads product info (price, tax rate) Calculation node generates invoice totals per customer Duplicate check prevents reprocessing Data table insert saves invoices Email preparation creates personalized confirmations Webhook response returns structured JSON (200 / 400 / 409) 🔐 Requirements n8n version ≥ 1.41.0 Data tables** feature enabled Publicly accessible webhook URL (for testing) (Optional) Connect a real email node (Gmail or SMTP) to send messages 🏁 Result Highlights Full CSV → Validation → Data tables → Email → JSON Response pipeline Includes built-in structured error handling (400 / 409) 100% native n8n functionality** Perfect example of Data tables + logic-based automation for business use cases
by Dmytro
Description This automation template enables you to publish content from a Google Drive folder directly to multiple social platforms — TikTok, Instagram, YouTube, LinkedIn, Telegram, Bluesky, X (Twitter), and Threads. By connecting PostPulse with n8n, you can transform a manual posting routine into a seamless automated workflow, ensuring consistent cross-platform publishing without repetitive tasks. ⚠️ *Disclaimer:* This workflow uses the community node *@postpulse/n8n-nodes-postpulse*. Make sure community nodes are enabled in your n8n instance before importing and using this template. 👉 To install it: Go to Settings → Community Nodes → Install and enter:"@postpulse/n8n-nodes-postpulse". 💡 For more details, see n8n Integration Guide: PostPulse Developers – n8n Integration. Who Is This For? Marketers** who want to manage multiple accounts at once. Creators** who store media on Google Drive and want to quickly expand it. Teams** for whom it is important to centralize the content plan and have a transparent publishing system. What Problem Does This Workflow Solve? Instead of manually uploading photos or videos to TikTok, Instagram, YouTube or other social networks, you get: Centralizing uploads:** Add your media once to Google Drive, and the system takes care of publishing it everywhere. Multi-platform posting:** Publish simultaneously to TikTok, Instagram, YouTube, LinkedIn, Telegram, Bluesky, X, and Threads. Streamlined scheduling:** Schedule future posts with PostPulse directly through n8n. Error reduction:** Avoid mistakes caused by copy-pasting across platforms. How It Works File Upload: Place your media file (image or video) into a designated Google Drive folder. File Processing: n8n automatically downloads the file and prepares it for upload. Account Retrieval: PostPulse retrieves your connected accounts (TikTok, Instagram, YouTube, etc.). Media Upload: The file is uploaded to PostPulse via n8n. Automation: PostPulse automatically distributes it to TikTok, Instagram, YouTube, LinkedIn, Telegram, Bluesky, X, and Threads. Publishing: PostPulse schedules or directly publishes the post to the selected platforms. Setup Connect PostPulse to n8n Request your OAuth client key and secret from support@post-pulse.com. Add your PostPulse account in n8n Credentials. Connect Google Drive Create a Google Cloud project. Enable the Google Drive API. Configure OAuth credentials and connect your Google Drive account to n8n. Configure Google Drive Trigger Point it to the folder where you will upload your media. Upload Media Node Add the PostPulse “Upload Media” node to process files from Google Drive. Schedule Posts Add the PostPulse “Schedule Post” node. Map content, media path, and connected account IDs. (Optional) Metadata from Google Sheets Use Google Sheets as a source of captions, hashtags, or scheduling details. Requirements Connected Accounts at PostPulse (TikTok, Instagram, YouTube, LinkedIn, Telegram, Bluesky, X, Threads). OAuth client key and secret requested from support@post-pulse.com. Google Cloud Project with the Google Drive API enabled and valid OAuth credentials. ✨ With this workflow, PostPulse and n8n become your all-in-one automation hub for social publishing.
by WeblineIndia
Zoho CRM – Social Media Engagement Tracker This workflow automatically monitors new or updated Contacts in Zoho CRM, enriches them using People Data Labs, checks public visibility across News + Reddit, calculates an engagement score and updates Zoho CRM fields accordingly. When a Contact shows high online engagement, the workflow automatically opens a Deal and logs a note to help sales teams act quickly. 🚀 Quick Implementation Import this workflow JSON into n8n. Add Zoho OAuth2 credentials & set webhook URL. Add People Data Labs API Key & GNews API Key. Ensure CRM custom fields exist-Social_Profiles,Engagement_Score,Mentions_Counts,Social_Status Update a Contact in Zoho → watch automation fire! 🔍 What It Does This automation transforms a simple Zoho CRM instance into a proactive intelligence system that detects which contacts are gaining public attention online. When a Contact is created or updated in Zoho CRM, n8n automatically retrieves verified profile data such as LinkedIn, Twitter, Facebook and GitHub using People Data Labs — eliminating manual research and spreadsheet maintenance. Next, the workflow checks whether the contact is appearing in global News platforms (via GNews) or being discussed on Reddit. It analyzes the volume and context of these public mentions to estimate how relevant, visible or influential the person may be online. Each discovered activity contributes to a calculated Engagement Score. That score and all enrichment details are written back to Zoho CRM, helping sales and marketing teams instantly identify high-potential contacts. When the score exceeds a defined threshold, the workflow even creates a Deal automatically — meaning your CRM will notify your team of hot prospects before someone else reaches them. This safeguards missed opportunities, speeds outreach and improves your entire pipeline efficiency. 🎯 Who’s It For B2B sales teams & SDRs. CRM admins improving data quality. Marketing analysts tracking brand mentions. Growth teams targeting public-facing prospects. Lead scoring, enrichment & prioritization automation. 🧩 Requirements | Tool | Purpose | |------|---------| | n8n | Workflow automation | | Zoho CRM | Contact data and CRM updates | | PDL API Key | Social profiles enrichment | | GNews API Key | Public news mention search | | Internet Access | API communication | Zoho CRM must contain these custom Contact fields: Social_Profiles Engagement_Score Mentions_Counts Social_Status ⚙️ How It Works — Setup & Configuration Steps 1️⃣ Install and Import Open n8n → Import from File Import this workflow JSON 2️⃣ Configure Authentication Assign Zoho OAuth2 credentials to all Zoho nodes Add PDL API Key in header x-api-key Add GNews API Key in query param apikey 3️⃣ Configure Zoho CRM Webhook Zoho CRM → Developer Space → Webhooks Module: Contacts URL: https://YOUR-N8N-URL/webhook/zoho-crm-new-contact Method: POST Trigger: Create + Update Test by modifying a Contact. 4️⃣ Validate CRM Field Mappings Ensure custom fields exist and allow updates 🛠 Customize Nodes | Node | Customization Options | |------|----------------------| | Engagement Scoring | Adjust weights for likes/comments/news | | IF High Engagement | Change threshold (default ≥ 200) | | Deal Creation | Customize Deal name, stage, pipeline | | Social Profiles | Add more sites: TikTok, Instagram, etc. | | Notes | Include full mention breakdown | ➕ Add-Ons / Optional Improvements | Feature | Benefit | |--------|---------| | Slack notifications | Real-time alerts for hot contacts | | Google Sheets logging | Trend reports across engagements | | Weekly re-scans | Detect new mentions automatically | | UTM tracking | Monitor marketing effectiveness | | AI sentiment scoring | Prioritize positive vs negative mentions | 💡 Use Case Examples Automatic lead prioritization for outbound sales. Identify influencers or public figures inside CRM. Detect PR opportunities from sudden news mentions. Track competitor engagement through contacts. Increase CRM intelligence without manual data entry. (And many more real-world CRM automation use cases) 🧯 Troubleshooting Guide | Issue | Reason | Solution | |------|--------|----------| | No workflow execution | Webhook not triggered | Check Zoho webhook config | | No social profiles | Contact lacks digital footprint | Test with a known public profile | | Deal not created | Score below limit | Reduce score threshold | | HTTP 401 errors | Invalid API credentials | Re-connect Zoho / update keys | | Reddit search empty | Rate limiting or mismatch | Retry + adjust keyword logic | 🤝 Need Help? This workflow is built by n8n automation developers at WeblineIndia. We can help you: Deploy this workflow into production, Integrate more CRMs & intelligence providers, Add reporting dashboards & alerts, Build custom scoring and automation logic, And so much more.
by ScoutNow
Monitor and record your personal or competitors’ social media growth with this scalable n8n automation template. Using official APIs from X (formerly Twitter) and YouTube, the workflow fetches daily follower and subscriber counts, stores them in a structured n8n Data Table, and now sends automated weekly summary emails via Gmail. Built with extensibility in mind, this workflow is ready for future updates to support additional platforms like Instagram, TikTok, LinkedIn, and more. Features 📈 Daily Social Media Tracking Automatically collects X follower counts and YouTube subscriber numbers based on usernames, not channel IDs. 📦 Data Table Logging Cleanly stores daily metrics in a dedicated n8n Data Table with timestamps. 📧 Weekly Email Reports (New) Sends a concise weekly summary of growth trends using the Gmail node. 🔁 Easy Customization Swap out usernames in a couple of fields — no deep edits required. 🛠️ Extensible Design Structure is ready to support more platforms (e.g., TikTok, Instagram, LinkedIn). 🧩 API-Based Accuracy Uses official APIs from X and YouTube for real-time, reliable data. Setup Instructions 1. Get API Credentials X API (Bearer Token)** → developer.x.com YouTube API Key** → Google Cloud Console Gmail Credentials* → Enable the *Gmail API** in your Google Cloud project and configure OAuth2 credentials for use in n8n. 2. Configure in n8n Import the template In the HTTP Request nodes: Add Bearer Auth (for X API) Add Query Auth with your YouTube API Key (?key=<your_api_key>) In the Gmail node: Connect your Gmail account via OAuth2 credentials Customize recipient email(s) and message format Edit these fields to track your accounts: xUsername → your X / Twitter handle ytChannelUsername → your YouTube channel’s username 3. Create the Data Table Inside the n8n dashboard, create a table with the following fields: | Field Name | Type | | ------------------- | -------- | | date | DateTime | | xFollowersCount | Number | | ytSubscriberCount | Number | How It Works Trigger: Daily cron node starts the workflow. Fetch X Followers: Grabs follower count using the X API. Fetch YouTube Subscribers: Retrieves sub count using the YouTube API. Store Data: Logs all values into your Data Table with a timestamp. Weekly Email Summary: Once a week, the Gmail node compiles recent data and emails a growth report. Future Expansion: The structure is ready to include more platforms. Use Cases Track your brand or competitor’s social growth daily Receive weekly email reports on follower/subscriber changes Build custom dashboards or growth charts Compare performance across platforms Generate automated growth reports Requirements X API Bearer Token YouTube API Key Gmail API Credentials Access to n8n (cloud or self-hosted) Delivery Options You can extend this template to: Post daily growth summaries to Slack or Telegram Auto-update a Google Sheet or Notion database Send more detailed weekly reports Add new platforms (Instagram, TikTok, LinkedIn, etc.) Details | Node | Function | | ------------ | ----------------------------------- | | HTTP Request | Pull data from APIs | | Cron | Trigger workflow daily | | Data Table | Store historical growth data | | Gmail | Send weekly email reports | | Set | Define usernames and settings |
by Anthony
Description This workflow automates video distribution to 9 social platforms simultaneously using Blotato's API. It includes both a scheduled publisher (checks Google Sheets for videos marked "Ready") and a subworkflow (can be called from other workflows). Perfect for creators and marketers who want to eliminate manual posting across Instagram, YouTube, TikTok, Facebook, LinkedIn, Threads, Twitter, Bluesky, and Pinterest. How It Works Scheduled Publisher Workflow Schedule Trigger – Runs daily at 10 PM (configurable). Fetch Video – Pulls video URL and description from Google Sheets where "ReadyToPost" = "Ready". Upload to Blotato – Sends video to Blotato's media service. Broadcast to 9 Platforms – Publishes simultaneously to all connected social accounts. Update Sheet – Changes "ReadyToPost" to "Finished" so it won't repost. Subworkflow: Video Publisher (Reusable) Receive Input – Gets URL, title, and description from parent workflow. Fetch Credentials – Pulls Blotato API key from n8n Data Table. Upload & Distribute – Uploads to Blotato, then posts to all platforms. Completion Signal – Returns to parent workflow when done. > 💡 Tip: The subworkflow can be called from ANY workflow - great for posting videos generated by AI workflows, webhook triggers, or manual forms. Test Workflow (Optional) Form Submission – Upload a video file with title and description. Upload to Dropbox – Generates shareable URL via "[SUB] Dropbox Upload Link" subworkflow. Trigger Publisher – Calls the subworkflow above to distribute the video. Setup Instructions Estimated Setup Time: 20-25 minutes Step 1: Blotato Account Setup Create account at Blotato Dashboard Connect all your social media accounts (most time-consuming step) Go to Settings and copy your account IDs for each platform Go to API Settings and copy your API key Step 2: Configure Workflow Update Social IDs: Open "Assign Social Media IDs" node Replace placeholder IDs with your actual Blotato account IDs: { "instagram_id": "YOUR_ID", "youtube_id": "YOUR_ID", "tiktok_id": "YOUR_ID", ... } Create Data Table: Create n8n Data Table named "Credentials" Add columns: service and token Add row: service = blotato, token = YOUR_API_KEY Set Up Google Sheet: Create sheet with columns: URL VIDEO, ReadyToPost, Description, Titre (Title) Add video data Set ReadyToPost to "Ready" for videos you want to post Connect Your Sheet: Update "Get my video" node with your Google Sheet ID > ⚙️ Pro Tip: If you don't need the scheduled version, just use the subworkflow and call it from other workflows. Use Cases AI Video Workflows:** Automatically post videos generated by Veo, Sora, or other AI models to all platforms. Content Schedulers:** Queue videos in Google Sheets, let the scheduler post them automatically. Batch Publishing:** Generate 10 videos, mark them all "Ready", and let the workflow distribute them. Marketing Campaigns:** Coordinate multi-platform launches with a single click. Agencies:** Manage multiple client accounts by swapping Blotato credentials in the Data Table. Customization Options Remove Unused Platforms:** Disconnect any social media nodes you don't use (speeds up execution). Change Schedule:** Modify the Schedule Trigger to run multiple times per day or on specific days. Different File Hosts:** Replace Dropbox with Google Drive, S3, or Cloudinary in the test workflow. Platform-Specific Captions:** Add IF nodes before each platform to customize descriptions or add hashtags. Add Approval Step:** Insert a WhatsApp or Telegram notification before posting for manual review. Watermarks:** Add a Code node to overlay branding before uploading to Blotato. Important Notes ⚠️ Two Workflows in One File: Lines 1-600: Scheduled publisher (checks Google Sheets) Lines 600+: Subworkflow (called by other workflows) ⚠️ Data Table vs. Hardcoding: Scheduled workflow: Hardcoded API keys in HTTP nodes Subworkflow: Uses Data Table for API keys (recommended approach) ⚠️ Why Use the Subworkflow? Can be called from ANY workflow Easier to manage API keys (one place to update) More flexible for complex automation systems