Amit Mehta
I'm a workflow automation expert with 15+ years in IT industry. I build smart, scalable n8n workflows for AI automation, marketing, CRM, and SaaS integrations. My focus is on simplifying business processes with tools like OpenAI, WhatsApp, Gmail, and Airtable. I help teams and solopreneurs automate smarter, reduce manual tasks, and grow fasterβone workflow at a time.
Templates by Amit Mehta
YouTube comment scraper & analyzer with GPT-4o + email summary report
How it Works This workflow automates the collection and analysis of YouTube comments from a video and sends a summary report via email, using Google Sheets, the YouTube API, OpenAI (GPT-4o), and Gmail. Whether you're a content creator, brand manager, or social media analyst, this workflow helps you automate sentiment analysis and receive insights directly in your inbox β all triggered from a simple spreadsheet. π― Use Case Ideal for: YouTubers monitoring audience sentiment Marketing teams analyzing campaign feedback Community managers summarizing engagement Setup Instructions Upload the Spreadsheet File name: Youtube_Video Sheet structure: | ID | Video Title | YouTube Video ID | Status | Add video IDs and set their Status as Pending Configure Google Sheets Nodes Connect your Google account to: Pick Video IDs from Google Sheet Update Status on Google Sheet Add API Credentials YouTube API Key β for comment + video scraping nodes OpenAI API Key β for analyzing comments Gmail Account β for sending the summary email Activate the Workflow Once live, the workflow will: Watch for new or updated rows in the spreadsheet Scrape comments using the YouTube API Analyze sentiment and key themes via GPT-4o Send a formatted HTML email with the summary Update the spreadsheet status to Mail sent π Workflow Logic Trigger: New/updated row in Google Sheet Retrieve: YouTube video metadata + comments Analyze: Comments using GPT-4o Email: Summary report via Gmail Update: Spreadsheet status to Mail sent π§© Node Descriptions | Node Name | Description | |-----------|-------------| | Pick Video IDs from Google Sheet | Watches the spreadsheet and retrieves pending video IDs | | If | Checks whether status is 'Pending' | | Limit | Restricts the number of processed rows | | Set Video Details | Prepares video info (e.g., title, channel) | | Get YouTube Video Details | Fetches metadata (title, channel, etc.) | | Get YouTube Video Comments | Pulls top-level comments using YouTube API | | Prepare Comments Data | Formats comment text for OpenAI | | AI Agent | Summarizes comments using OpenAI's GPT-4o | | Prepare HTML for Email | Converts summary into HTML for email body | | Gmail Account Configuration | Sends the email report via Gmail | | Update Status on Google Sheet | Marks the row as 'Mail sent' | π οΈ Customization Tips Change the AI prompt for tone, length, or custom metrics Send results to Slack or Telegram instead of Gmail Export summaries to Notion, Airtable, or PDF Schedule it daily/weekly for recurring analysis π Suggested Sticky Notes for Workflow | Node/Section | Sticky Note Content | |--------------|---------------------| | Pick Video IDs from Google Sheet | "Triggers on new YouTube videos in your spreadsheet" | | AI Agent | "Uses OpenAI to generate an analysis summary β customize prompt as needed" | | Gmail | "Sends summary report β you can update subject, recipients, or style" | | Update Status | "Marks video as processed to avoid duplicate runs" | π Required Files | File Name | Purpose | |-----------|---------| | Youtube_Video | Google Sheet to hold YouTube video IDs and status | | YoutubeCommentScraper.json | Main n8n workflow export for this automation | π§ͺ Testing Tips Add one test video with a valid YouTube video ID and status = Pending Monitor the workflow logs to confirm API responses Confirm summary delivery in your inbox Verify that status updates in the sheet π· Suggested Tags & Categories YouTube OpenAI Automation Marketing Email Analytics
Automated news summarizer with GPT-4o + email delivery
How it Works This workflow fetches top news headlines every 10 minutes from NewsAPI, summarizes them using OpenAI's GPT-4o model, and sends a concise email digest to a list of recipients defined in a Google Spreadsheet. It's ideal for anyone who wants to stay updated with the latest news in a short, digestible format. π― Use Case Professionals who want summarized daily news Newsletters or internal communication updates Teams that require contextual summaries of the latest events Setup Instructions Upload the Spreadsheet File name: Emails Column: Email with recipient addresses Configure Google Sheets Nodes Connect your Google account to: Email List Send Email Add API Credentials NewsAPI Key β for fetching top headlines OpenAI API Key β for summarizing headlines Gmail Account β for sending the email digest Activate the Workflow Once active, the workflow runs every 10 minutes via a cron trigger Summarized news is sent to the list of emails in the spreadsheet π Workflow Logic Trigger: Every 10 minutes via Cron Fetch News: HTTP request to NewsAPI for top headlines Summarize: Headlines are passed to OpenAI's GPT-4o for 5-bullet summary Read Recipients: Google Sheet is used to collect email recipients Send Email: Summary is formatted and sent via Gmail π§© Node Descriptions | Node Name | Description | |-----------|-------------| | Cron | Triggers the workflow every 10 minutes. | | HTTP Request - NewsAPI | Fetches top news headlines using NewsAPI. | | Set | Formats or structures raw news data before processing. | | AI Agent | Summarizes the news content using OpenAI into 5 bullet points. | | Email List | Reads recipient email addresses from the 'Emails' Google Spreadsheet. | | Send Email | Sends the email digest to all recipients using Gmail. | π οΈ Customization Tips Modify the AI prompt for tone, length, or content type Send summaries to Slack, Telegram, or Notion instead of Gmail Adjust cron interval for more/less frequent updates Change email formatting (HTML vs plain text) π Required Files | File Name | Purpose | |-----------|---------| | Emails spreadsheet | Google Sheet containing the list of email recipients | | daily_news.json | Main n8n workflow file to automate daily news digest | π§ͺ Testing Tips Add 1β2 test email addresses in your spreadsheet Temporarily change the Cron node to run every minute for testing Check email inbox for delivery and formatting Inspect the execution logs for API errors or formatting issues π· Suggested Tags & Categories News OpenAI Automation Email Digest Marketing
AI-powered multi-platform social media content factory with dynamic system prompts & GPT-4o
Automated Social Media Content Publishing Factory + System Prompt Composition This workflow is a powerful automation for creating and publishing social media content. It uses AI to generate content and images based on external prompts and schemas, and routes the final posts to various social media platforms. How it Works This workflow operates as a "Content Publishing Factory". It generates platform-optimized content for platforms like LinkedIn, Instagram, Facebook, X (Twitter), Threads, and YouTube Shorts. A key feature is its dynamic system prompt and output schema composition, which pulls content from external Google Docs to ensure consistency. The workflow can also create images to match the content and send the final draft for approval via email before publishing. Use Cases Centralized Content Management: Store and manage all system prompts and schemas in Google Docs for easy team collaboration and version control. Brand Consistency: Ensure a consistent brand voice across all social media platforms by centralizing brand guidelines and content rules. Automated Publishing: Automate content creation, image generation, and publishing, reducing manual effort and design bottlenecks. Fact-checking and Contextual Relevance: Incorporate real-time research and fact-checking into content to ensure accuracy and relevance. Setup Instructions Google Docs: Create two Google Docs: one for the social media schema and one for the system prompt, and update the respective node IDs in the workflow. API Credentials: Provide credentials for the following services: OpenAI: For the AI agents and content creation. SerpAPI: For the web search tool to perform research. Gmail: For sending content for approval and notifications. Google Drive: For archiving images and final posts. Social Media Platforms: You'll need credentials for the platforms you wish to publish to (X, Instagram, Facebook, LinkedIn, etc.). Image Hosting: The workflow uses imgbb.com to host generated images, requiring an API key. Workflow Logic Routing Agent: The Social Media Router Agent receives a user prompt and uses a toolWorkflow node to route the request to the appropriate content generation workflow. Prompt & Schema Composition: The workflow fetches the system prompt and platform-specific schemas from Google Docs, parses them, and composes a dynamic prompt for the AI agent. Content Creation: The Social Media Content Creator agent uses the composed prompt and a web search tool to generate platform-optimized content and an image suggestion. Image Generation & Archiving: The workflow generates an image from the AI suggestion using an external service and archives both the image and the final post content in Google Drive. Approval Process: The draft content is sent to a Gmail address for approval. Publishing: If the content is approved, the Social Media Publishing Router node directs the content to the correct publishing node for the specified platform (e.g., X Post, Instagram Image, Facebook Post, etc.). Node Descriptions | Node Name | Description | |-----------|-------------| | When chat message received | A trigger node that initiates the workflow based on a chat message. | | Social Media System Prompt | A Google Docs node that retrieves the main system prompt for the AI agent. | | Social Media Schema | A Google Docs node that retrieves the JSON schema for each social media platform's output. | | Social Media Content Creator | An AI agent that generates content based on user prompts, system prompts, and schemas, using a web search tool for research. | | pollinations.ai1 | An HTTP Request node that generates an image from a text prompt using an external service. | | Gmail User for Approval | Sends a draft of the social media post for approval and pauses the workflow until a decision is made. | | Social Media Publishing Router | A Switch node that routes the workflow to the correct publishing node based on the user's selected platform. | | X Post, Instagram Post, Facebook Post, LinkedIn Post | These nodes publish the final, approved content to their respective social media platforms. | Customization Tips You can replace the pollinations.ai image generation service with any other online service that produces an image file. Replace the gpt-4o and gpt-4o-mini models with other LLMs and web search tools to suit your needs. Adjust the content and parameters for each social media platform to better fit your brand and audience. Suggested Sticky Notes for Workflow Start Here: "Update all Social Media Platform Credentials as required. Adjust parameters and content for each platform to suit your needs". External System Prompt and Schema: "Create Google Doc for the Social Media Schema and copy the provided schema. Update the Google Doc ID in the Social Media Schema node.". Create Post Image: "Replace pollinations.ai with any online image generation service that produces an image file you can download". Social Media Content Creator: "Replace Chat model with other LLMs and test out the results. Add more tools or try other web search tools to suit your use case." Testing Tips Start the workflow with a manual trigger and verify that the social media content and a related image are generated and sent for approval via Gmail. Approve the content in the Gmail email to test the publishing side of the workflow. Check the specified social media accounts to confirm that the post was published correctly. Suggested Tags & Categories SocialMedia Automation AI ContentCreation Publishing GoogleDocs OpenAI
AI-Powered Cold Calling Automation with Vapi.ai, GPT-4o & Google Sheets
πAI-Powered Cold Calling Automation with Vapi.ai, GPT-4o & Google Sheets Overview Transform your lead list into an AI-powered calling machine. This workflow automates your entire cold calling process using Vapi's conversational AI to initiate calls, qualify leads, capture detailed insights, and manage intelligent follow-ups - achieving 10x more calls than manual efforts while maintaining personalized, professional conversations. Built for sales teams, recruiters, and customer success professionals who need to scale outreach without sacrificing quality or adding headcount. π― Use Cases Sales & Business Development Lead Qualification: Auto-dial new leads to assess interest and budget Demo Scheduling: Book meetings with qualified prospects automatically Re-engagement: Win back cold leads with personalized outreach Product Launches: Announce new features to your entire customer base Recruitment & HR Candidate Screening: Conduct first-round interviews at scale Interview Scheduling: Coordinate availability without back-and-forth Reference Checks: Automate reference verification calls Offer Follow-ups: Ensure candidates received and understood offers Customer Success Onboarding Calls: Welcome new customers with consistent messaging Renewal Reminders: Proactively reach out before contract expiration Upsell Campaigns: Identify expansion opportunities through conversations NPS Surveys: Gather voice feedback for authentic insights Market Research Customer Interviews: Collect qualitative feedback at scale Product Validation: Test new concepts with target audiences Competitive Intelligence: Understand why customers chose competitors Industry Surveys: Gather market trends through conversational data βοΈ How it Works The workflow operates through two parallel processes: Process 1: Call Initiation (Manual/On-Demand) Trigger: Manual start or scheduled batch processing Lead Retrieval: Fetches leads marked "Pending" or "Retry Scheduled" from Google Sheets Validation: Checks retry count (max 5 attempts) and routes accordingly API Call: Sends request to Vapi with lead details and AI assistant configuration Status Update: Marks lead as "Call Initiated" with unique call ID Batch Processing: Loops through all eligible leads with controlled pacing Process 2: Result Collection (Every 10 Minutes) Schedule Trigger: Automatic execution every 10 minutes Active Call Check: Identifies all "Call Initiated" records Result Fetching: Retrieves call outcomes from Vapi API Data Processing: Extracts recordings, transcripts, summaries, and interest scores Sheet Update: Writes complete results or schedules retry for missed calls Team Notification: Sends Slack alerts on batch completion π Setup Instructions Prerequisites n8n Instance: Version 1.0.0+ (self-hosted or cloud) Google Account: With Sheets API enabled Vapi Account: Active subscription with API access Slack Workspace: Optional, for notifications Step 1: Prepare Your Lead Database Create a Google Sheet with these exact columns (case-sensitive): Customer_id | Name | Phone Number | Email | Status | Recording URL | Transcript | Summary | Interest | Call Duration | Retry count | Last attempt | Call ID Initial Setup: Customer_id: Unique identifier (e.g., LEAD001) Name: Full name for personalization Phone Number: International format (+14155551234) Email: For follow-up campaigns Status: Set to "Pending" Retry count: Set to 0 Other fields: Leave empty (auto-populated) Step 2: Configure Vapi AI Assistant Create Your AI Voice Agent Log into vapi.ai Navigate to Assistants β Create New Design your conversation flow Configure voice settings (gender, accent, speed) Set up objection handling Save and copy the Assistant ID Set Up Phone Number Go to Phone Numbers β Purchase/Import Select local or toll-free number Configure caller ID settings Copy the Phone Number ID Step 3: Import & Configure Workflow Import to n8n Download Coldcallingloop.json In n8n: Import β From File Select the JSON file Connect Credentials Google Sheets: OAuth2 authentication Vapi API: HTTP Header Auth Name: Authorization Value: Bearer YOURAPIKEY Slack: OAuth2 (optional) Update Configuration All Google Sheets nodes: Select your spreadsheet HTTP Request nodes: Update assistantId and phoneNumberId Slack nodes: Choose notification channels Step 4: Test & Deploy Add test lead with your phone number Execute workflow manually Answer call and complete conversation Verify results in Google Sheet Activate workflow for production π Workflow Logic Explained Status Flow Diagram [New Lead: Pending] β [Call Initiated] β [Completed/Failed] β [Retry Scheduled] β (if failed & retry < 5) Key Decision Points Retry Limit Check (If1 Node) Condition: Retry count β€ 5 True: Proceed with call False: Mark as "Max Retries Reached" Call Completion Check (If2 Node) Validates: Recording exists, transcript available, analysis complete Success: Update with full results Failure: Schedule retry with incremented counter Status Routing (If4 Node) "Pending": Direct to call queue "Retry Scheduled": Add wait period before calling π Node Reference Guide Core Processing Nodes | Node | Type | Purpose | Configuration | |------|------|---------|---------------| | Get Leads from Sheet1 | Google Sheets | Fetches eligible leads | Filter: Status = "Pending" OR "Retry Scheduled" | | HTTP Request | HTTP | Initiates Vapi call | POST to api.vapi.ai/call with assistant config | | Loop Over Items | Split In Batches | Processes leads individually | Batch size: 1, ensures sequential processing | | Get Call Data | HTTP | Retrieves call results | GET from api.vapi.ai/call?id={callId} | | Edit Fields2 | Set | Formats result data | Maps Vapi response to sheet columns | Status Management Nodes | Node | Updates | Trigger | |------|---------|---------| | Update Status - Calling1 | "Call Initiated" | After successful API call | | Update Status - Calling | "Done" + results | When call completed successfully | | Update Status - for Missed call | "Retry Scheduled" | When call failed/no answer | | Update Status - Calling3 | "Retry Done" | After retry limit reached | Control Flow Nodes | Node | Function | Logic | |------|----------|-------| | If1 | Retry validation | Checks retry count β€ 5 | | If2 | Result validation | Verifies call completion | | Wait | Retry delay | Pauses before retry attempt | | Merge | Path combination | Unifies success/retry flows | π οΈ Customization Guide Modify Retry Strategy javascript // Add to Code node for progressive delays const retryCount = $json["Retry count"]; const delays = { 1: 30, // 30 minutes 2: 120, // 2 hours 3: 1440, // Next day 4: 2880, // 2 days 5: 10080 // 1 week }; return { waitMinutes: delays[retryCount] || 60 }; Add Business Hours Check javascript // Add before HTTP Request node const now = new Date(); const hour = now.getHours(); const day = now.getDay(); const isWeekday = day >= 1 && day <= 5; const isBusinessHours = hour >= 9 && hour <= 17; if (!isWeekday || !isBusinessHours) { throw new Error('Outside calling hours'); } Enhance Lead Context json { "assistantId": "your-assistant-id", "phoneNumberId": "your-phone-id", "customer": { "number": "+{{ $json['Phone Number'] }}", "name": "{{ $json.Name }}", "customData": { "company": "{{ $json.Company }}", "lastPurchase": "{{ $json['Last Purchase Date'] }}", "accountValue": "{{ $json['Account Value'] }}", "preferredProduct": "{{ $json['Product Interest'] }}" } } } π‘ Sticky Notes Configuration Note 1: Status Progression Location: Near Google Sheets nodes π LEAD STATUS FLOW: Pending β Call Initiated β Done/Retry Scheduled Retry Scheduled β Call Initiated β Done/Failed β οΈ Max retries: 5 attempts β Failed = No answer after 5 tries β Done = Call completed with results Note 2: Phone Format Requirements Location: Near HTTP Request nodes π± PHONE NUMBER FORMAT: β Correct: +14155551234 β Wrong: (415) 555-1234 β Wrong: 415-555-1234 Must include: Plus sign (+) Country code No spaces or symbols Note 3: Vapi Setup Checklist Location: At workflow start π§ VAPI CONFIGURATION: β‘ Assistant ID copied from Vapi β‘ Phone Number ID from Vapi β‘ API Key in credentials β‘ Credits available β‘ Assistant tested in playground Note 4: Performance Guidelines Location: Near Loop nodes β‘ OPTIMIZATION TIPS: β’ Batch size: 10-20 leads β’ Call hours: 9 AM - 5 PM local β’ Delay between calls: 5 seconds β’ Monthly archive old records β’ Monitor Vapi credit usage Common Issues & Solutions π΄ "Authentication Failed" Cause: Expired or invalid credentials Fix: Re-authenticate Google Sheets OAuth Verify Vapi API key is active Check credential permissions π΄ "Call Not Initiating" Cause: Invalid phone format or Vapi configuration Fix: Ensure phone includes country code Verify Vapi account has credits Test assistant in Vapi playground Check assistant and phone IDs π΄ "Missing Results" Cause: Call still processing or webhook failure Fix: Wait 3-5 minutes for processing Check Vapi dashboard directly Verify Get Call Data node query Review If2 conditions π΄ "Infinite Loop" Cause: Status not updating correctly Fix: Check retry count increment logic Verify status update mappings Clear test data and restart π΄ "No Slack Notifications" Cause: Bot permissions or channel access Fix: Invite bot to channel Verify OAuth scopes Test Slack node individually π Required Files & Resources | File | Description | Location | |------|-------------|----------| | Coldcallingloop.json | Complete workflow configuration | Main workflow file | | lead_template.xlsx | Google Sheets template with headers | Sample data file | π·οΈ Tags & Categories Primary Category Sales & Marketing Automation Workflow Tags cold-calling vapi-ai voice-automation lead-generation ai-sales google-sheets outbound-calling sales-automation conversational-ai crm-automation Use Case Tags b2b-sales recruitment customer-success market-research appointment-setting lead-qualification follow-up-automation Integration Tags vapi google-sheets slack voice-ai telephony π Future Enhancements Planned Features CRM Integration: Direct sync with Salesforce/HubSpot Multi-language: Support for 10+ languages SMS Follow-up: Automated text after calls Analytics Dashboard: Real-time performance metrics Sentiment Analysis: Emotional intelligence scoring Community Roadmap Webhook support for real-time updates Custom voice training options A/B testing for scripts Predictive best time to call Integration with calendar systems π Support & Resources Support email : amitswba@gmail.com
Google Sheets duplication & enrichment automation
How it Works This workflow reads sheet details from a source Google Spreadsheet, creates a new spreadsheet, replicates the sheet structure, enriches the content by reading data, and writes it into the corresponding sheets in the new spreadsheet. The process is looped for every sheet, providing an automated way to duplicate and transform structured data. π― Use Case Automate duplication and data enrichment for multi-sheet Google Spreadsheets Replicate templates across new documents with consistent formatting Data team workflows requiring repetitive structured Google Sheets setup Setup Instructions Required Google Sheets You must have a source spreadsheet with multiple sheets. The destination spreadsheet will be created automatically. API Credentials Google Sheets OAuth2 β connect to both read and write spreadsheets. HTTP Request Auth β if external API headers are needed. Configure Fields in Write Sheet Ensure you define appropriate columns and mapping for the destination sheet. π Workflow Logic Manual Trigger: Starts the flow on user demand. Create New Spreadsheet: Generates a blank spreadsheet. HTTP Request: Retrieves all sheet names from the source spreadsheet. JavaScript Code: Extracts titles and metadata from the HTTP response. Loop Over Sheets: Iterates through each sheet retrieved. Delete Default Sheet: Removes the placeholder 'Sheet1'. Create Sheets: Replicates each original sheet in the new document. Read Spreadsheet1: Pulls data from the matching original sheet. Write Sheet: Appends the data to the newly created sheets. π§© Node Descriptions | Node Name | Description | |-----------|-------------| | Manual Trigger | Starts the workflow manually by user test. | | Create New Spreadsheet | Creates a new Google Spreadsheet for output. | | HTTP Request | Fetches metadata from the source spreadsheet including sheet names. | | Code | Processes sheet metadata into a list for iteration. | | Loop Over Items | Loops over each sheet to replicate and populate. | | Google Sheets2 | Deletes the default 'Sheet1' from the new spreadsheet. | | Create Sheets | Creates a new sheet matching each source sheet. | | Read Spreadsheet1 | Reads data from the source sheet. | | Write sheet | Writes the data into the corresponding new sheet. | π οΈ Customization Tips Adjust the Google Sheet title to be dynamic or user-input driven Add filtering logic before writing data Append custom audit columns like 'Timestamp' or 'Processed By' Enable logging or Slack alerts after each sheet is created π Required Files | File Name | Purpose | |-----------|---------| | Myworkflow4.json | Main workflow JSON file for sheet duplication and enrichment | π§ͺ Testing Tips Test with a spreadsheet containing 2β3 simple sheets Validate whether all sheets are duplicated Check if columns and data structure remain intact Watch for authentication issues in Google Sheets nodes π· Suggested Tags & Categories GoogleSheets Automation DataEnrichment Workflow Spreadsheet
Auto-generate SEO product titles & descriptions with GPT-4o-mini for Printify
N8N Workflow: Printify Automation - Update Title and Description - AlexK1919 This workflow automates the process of getting products from Printify, generating new titles and descriptions using OpenAI, and updating those products. How it Works This workflow automatically retrieves a list of products from a Printify store, processes them to generate new titles and descriptions based on brand guidelines and custom instructions, and then updates the products on Printify with the new information. It also interacts with Google Sheets to track the status of the products being processed. The workflow can be triggered both manually or by an update in a Google Sheet. Use Cases E-commerce Automation: Automating content updates for a Printify store. Marketing & SEO: Generating SEO-friendly or seasonal content for products using AI. Product Management: Batch-updating product titles and descriptions without manual effort. Setup Instructions Printify API Credentials: Set up httpHeaderAuth credentials for Printify to allow the workflow to get and update products. OpenAI API Credentials: Provide an API key for OpenAI in the openAiApi credentials. Google Sheets Credentials: The workflow requires two separate Google Sheets credentials: one for the trigger (googleSheetsTriggerOAuth2Api) and another for appending/updating data (googleSheetsOAuth2Api). Google Sheets Setup: You need a Google Sheet to store product information and track the status of the updates. The workflow is linked to a specific spreadsheet. Brand Guidelines: The Brand Guidelines + Custom Instructions node must be updated with your specific brand details and any custom instructions for the AI. Workflow Logic Trigger: The workflow can be triggered manually or by an update in a Google Sheet when the upload column is changed to "yes". Get Product Info: It fetches the shop ID and then a list of all products from Printify. Process Products: The product data is split, and the workflow loops through each product. AI Content Generation: For each product, the Generate Title and Desc node uses OpenAI to create a new title and description based on the original content, brand guidelines, and custom instructions. Google Sheets Update: The workflow appends the product information and a "Product Processing" status to a Google Sheet. It then updates the row with the newly generated title and description, and changes the status to "Option added". Printify Update: The Printify - Update Product node sends a PUT request to the Printify API to apply the new title and description to the product. Node Descriptions | Node Name | Description | |-----------|-------------| | When clicking 'Test workflow' | A manual trigger for testing the workflow. | | Google Sheets Trigger | An automated trigger that starts the workflow when the upload column in the Google Sheet is updated. | | Printify - Get Shops | Fetches the list of shops associated with the Printify account. | | Printify - Get Products | Retrieves all products from the specified Printify shop. | | Brand Guidelines + Custom Instructions | A Set node to store brand guidelines and custom instructions for the AI. | | Generate Title and Desc | An OpenAI node that generates a new title and description based on the provided inputs. | | GS - Add Product Option | Appends a new row to a Google Sheet to track the processing status of a product. | | Update Product Option | Updates an existing row in the Google Sheet with the new product information and status. | | Printify - Update Product | A PUT request to the Printify API to update a product with new information. | Customization Tips You can swap out the Printify API calls with similar services like Printful or Vistaprint. Modify the Brand Guidelines + Custom Instructions node to change the brand name, tone, or specific instructions for the AI. Change the number of options the workflow should generate by modifying the Number of Options node. You can change the OpenAI model used in the Generate Title and Desc node, for example, from gpt-4o-mini to another model. Suggested Sticky Notes for Workflow "Update your Brand Guidelines before running this workflow. You can also add custom instructions for the AI node." "You can swap out the API calls to similar services like Printful, Vistaprint, etc." "Set the Number of Options you'd like for the Title and Description" Required Files 1V1gcK6vyczRqdZCPrintifyAutomation-UpdateTitleandDescription-_AlexK1919.json: The main n8n workflow export for this automation. The Google Sheets template for this workflow. Testing Tips Run the workflow with the manual trigger to see the flow from start to finish. Change the upload column in the Google Sheet to "yes" to test the automated trigger. Verify that the new titles and descriptions are correctly updated on Printify. Suggested Tags & Categories Printify OpenAI
Extract and analyze web data with Bright Data & Google Gemini
This workflow performs structured data extraction and data mining from a web page by combining the capabilities of Bright Data and Google Gemini. How it Works This workflow focuses on extracting structured data from a web page using Bright Data's Web Unlocker Product. It then uses n8n's AI capabilities, specifically Google Gemini Flash Exp, for information extraction and custom sentiment analysis. The results are sent to webhooks and saved as local files. Use Cases Data Mining: Automating the process of extracting and analyzing data from websites. Web Scraping: Gathering structured data for market research, competitive analysis, or content aggregation. Sentiment Analysis: Performing custom sentiment analysis on unstructured text. Setup Instructions Bright Data Credentials: You need to have an account and a Web Unlocker zone with Bright Data. Update the Header Auth account credentials in the Perform Bright Data Web Request node. Google Gemini Credentials: Provide your Google Gemini(PaLM) Api account credentials for the AI-related nodes. Configure URL and Zone: In the Set URL and Bright Data Zone node, set the web URL you want to scrape and your Bright Data zone. Update Webhook: Update the Webhook Notification URL in the relevant HTTP Request nodes. Workflow Logic Trigger: The workflow is triggered manually. Set Parameters: It sets the target URL and the Bright Data zone. Web Request: The workflow performs a web request to the specified URL using Bright Data's Web Unlocker. The output is formatted as markdown. Data Extraction & Analysis: The markdown content is then processed by multiple AI nodes to: Extract textual data from the markdown. Perform topic analysis with a structured response. Analyze trends by location and category with a structured response. Output: The extracted data and analysis are sent to webhooks and saved as JSON files on disk. Node Descriptions | Node Name | Description | |-----------|-------------| | When clicking 'Test workflow' | A manual trigger node to start the workflow. | | Set URL and Bright Data Zone | A Set node to define the URL to be scraped and the Bright Data zone to be used. | | Perform Bright Data Web Request | An httpRequest node that performs the web request to Bright Data's API to retrieve the content. | | Markdown to Textual Data Extractor | An AI node that uses Google Gemini to convert markdown content into plain text. | | Google Gemini Chat Model | A node representing the Google Gemini model used for the data extraction. | | Topic Extractor with the structured response | An AI node that performs topic analysis and outputs the results in a structured JSON format. | | Trends by location and category with the structured response | An AI node that analyzes and clusters emerging trends by location and category, outputting a structured JSON. | | Initiate a Webhook Notification... | These nodes send the output of the AI analysis to a webhook. | | Create a binary file... | Function nodes that convert the JSON output into binary format for writing to a file. | | Write the topics/trends file to disk | readWriteFile nodes that save the binary data to a local file (d:\topics.json and d:\trends.json). | Customization Tips Change the web URL in the Set URL and Bright Data Zone node to scrape different websites. Modify the AI prompts in the AI nodes to customize the analysis (e.g., change the sentiment analysis criteria). Adjust the output path in the readWriteFile nodes to save the files to a different location. Suggested Sticky Notes for Workflow Note: "This workflow deals with the structured data extraction by utilizing Bright Data Web Unlocker Product... Please make sure to set the web URL of your interest within the 'Set URL and Bright Data Zone' node and update the Webhook Notification URL". LLM Usages: "Google Gemini Flash Exp model is being used... Information Extraction is being used for the handling the custom sentiment analysis with the structured response". Required Files 1GOrjyc9mtZCMvCrStructuredDataExtract,DataMiningwithBrightData&Google_Gemini.json: The main n8n workflow export for this automation. Testing Tips Run the workflow and check the webhook to verify that the extracted data is being sent correctly. Confirm that the d:\topics.json and d:\trends.json files are created on your disk with the expected structured data. Suggested Tags & Categories Engineering AI
Automate paid Zoom meetings with Stripe, Gmail & Google Sheets tracking
Streamline Your Zoom Meetings with Secure, Automated Stripe Payments This comprehensive workflow automates the entire process of setting up a paid online event, from scheduling a Zoom meeting and creating a Stripe payment link to tracking participants and sending confirmation emails. How it Works This workflow has two primary, distinct branches: Event Creation and Participant Registration. Event Creation Flow (Triggered via Form): An administrator submits details (title, price, date/time) via a form. The workflow creates a new Zoom meeting with a unique password. It creates a Stripe Product and a Payment Link. A dedicated Google Sheet tab is created for tracking participants. An email is sent to the event organizer with all the details, including the Zoom link, payment link, and participant list URL. Participant Registration Flow (Triggered via Stripe Webhook): A webhook is triggered when a Stripe payment is completed (checkout.session.completed). The participant's details are added to the dedicated Google Sheet tab. A confirmation email is sent to the participant with the Zoom link and password. A notification email is sent to the event organizer about the new registration. Use Cases Webinar Sales: Automate setup and registration for paid webinars. Consulting/Coaching Sessions: Streamline the booking and payment process for group coaching calls. Online Classes: Handle registration, payment, and access distribution for online courses or classes. Setup Instructions Credentials: Add credentials for: Zoom: For creating the meeting. Google: You need both Gmail and Google Sheets credentials. Stripe: For creating products and handling payment webhooks. Google Sheet: Create a new, blank Google Sheet to hold meeting and participant information. Config Node: Fill the Config node with: currency (e.g., EUR). sheet_url (the URL of the Google Sheet you created). teacher_email (the organizer/host's email). Workflow Logic The workflow splits into two logical parts handled by an if node: Part A: Event Creation (Triggered by Creation Form) Trigger: Creation Form (Form Trigger). Check: if is creation flow (If) evaluates to true. Zoom: Create Zoom meeting creates the session. Stripe Product: Create Stripe Product creates a product and price in Stripe. Stripe Link: Create payment link generates the public payment link, embedding Zoom and sheet metadata. Google Sheet: Create participant list creates a new sheet tab for the event. Email Host: Send email to teacher notifies the host of the successful setup. Part B: Participant Registration (Triggered by On payment) Trigger: On payment (Stripe Trigger - checkout.session.completed). Format: Format participant extracts customer details. Google Sheet: Add participant to list appends the new participant's info to the event's sheet. Email Participant: Send confirmation to participant sends the Zoom access details. Email Host: Notify teacher sends a registration alert. Node Descriptions | Node Name | Description | |-----------|-------------| | Creation Form | A form trigger used to input the event's required details (title, price, start date/time). | | On payment | A Stripe trigger that listens for the checkout.session.completed event, indicating a successful payment. | | Create Zoom meeting | Creates a new Zoom meeting, calculating the start time based on the form inputs. | | Create Stripe Product | Posts to the Stripe API to create a new product and price based on the form data. | | Create payment link | Creates a Stripe Payment Link, embedding Zoom meeting and Google Sheet ID metadata. | | Create participant list | Creates a new tab (named dynamically) in the configured Google Sheet for event tracking. | | Add participant to list | Appends a new row to the event's Google Sheet tab upon payment completion. | | Send email to teacher / Notify teacher | Sends emails to the host/organizer for creation confirmation and new participant registration, respectively. | | Send confirmation to participant | Sends the welcome email to the paying customer with the Zoom access details retrieved from the Stripe metadata. | Customization Tips Email Content: You are encouraged to adapt the email contents in the Gmail nodes to fit your branding and tone. Currency: Change the currency in the Config node. Zoom Password: The password is set to a random 4-character string; you can modify the logic in the Create Zoom meeting node. Stripe Price: The price is sent to Stripe in the smallest currency unit (e.g., cents, * 100). Suggested Sticky Notes for Workflow Setup: "Add Your credentials [Zoom, Google, Stripe]. Note: For Google, you need to add Gmail and Google Sheet. Create a new Google Sheet. Keep this sheet blank for now. And fill the config node." Creation Form: "Your journey to easy event management starts here. Click this node, copy the production URL, and keep it handy. It's your personal admin tool for quickly creating new meetings." Customize: "Feel free to adapt email contents to your needs." Config: "Setup your flow". Required Files 2DT5BW5tOdy87AUlStreamlineYourZoomMeetingswithSecure,AutomatedStripe_Payments.json: The n8n workflow export file. A new, blank Google Sheet (URL configured in the Config node). Testing Tips Test Creation: Run the Creation Form to trigger the Part A flow. Verify that a Zoom meeting and Stripe Payment Link are created, a new Google Sheet tab appears, and the host receives the setup email. Test Registration: Simulate a successful payment to the generated Stripe link to trigger the Part B flow. Verify that the participant is added to the Google Sheet, receives the confirmation email with Zoom details, and the host receives the notification. Suggested Tags & Categories Stripe Zoom Payment E-commerce GoogleSheets Gmail Automation Webinar