by Nitin Garg
This n8n template transforms Upwork job postings into personalized Loom video outreach assets in under 60 seconds. Paste a job description and get a complete outreach package: video script, before/after comparison, automation flow diagram, and proposal snippet. Use cases include: AI/Automation agencies doing Upwork cold outreach, freelancers who personalize proposals with Loom videos, or anyone wanting to scale video prospecting with AI-generated scripts. Good to know Each job processed costs approximately $0.02-0.04 USD in Claude API fees (two API calls per job) Processing time is ~45-60 seconds per job The workflow uses Claude Sonnet for optimal cost/quality balance Generated scripts are starting points - review and personalize before recording How it works Submit an Upwork job via the built-in form (title, description, optional client name and URL) Claude AI analyzes the job to extract: industry classification, pain points, tools mentioned, budget/urgency signals, and competition level A second Claude call generates the complete outreach package based on the analysis All assets are saved to a Google Doc named by prospect Lead data is logged to Google Sheets for tracking Slack notification delivers the doc link and key insights What you get for each job: 90-120 second Loom video script (hook, credibility, walkthrough, CTA) Before/After process comparison with ROI calculations Automation flow diagram structure Upwork proposal opening snippet Visual prompts for Whimsical/Figma diagrams Quick reference card with pricing guidance How to use The form trigger creates a URL at your-n8n-instance/form/upwork-loom-generator Paste the full job description for best results - more context = better analysis Add the client name if visible for personalized script openings After generation, review the Google Doc and customize the script to your voice Use the visual prompts to create diagrams before recording your Loom Requirements Anthropic account** for Claude API access Google account** with Docs and Sheets enabled Slack workspace** for notifications Set up steps Anthropic credential - Create HTTP Header Auth credential with your API key (header name: x-api-key) Google credentials - Connect Google Docs and Google Sheets OAuth2 credentials Slack credential - Add Slack API credential with chat:write scope Update placeholders in nodes: Create Google Doc → Set your Google Drive folder ID Log to Google Sheets → Set your spreadsheet ID Both Slack nodes → Set your channel ID Create tracking sheet with columns: Timestamp, Prospect Name, Industry, Business Function, Pain Point, Tokens Used, Google Doc Link, Version Customising this workflow Edit the "MY BACKGROUND" section in the Claude - Generate Loom Assets node to match your experience and services Adjust industry-specific hourly rates and time savings in the prompt to match your market Modify the Loom script CTA to your preferred next step (calendar link, reply, etc.) Add additional integrations: Notion database, CRM, or calendar booking Swap Slack for Discord, Teams, or email notifications
by Santhej Kallada
In this tutorial, I’ll walk you through a step-by-step N8N workflow that combines the power of OpenAI and Claude AI to generate professional, ready-to-use lead magnet plans for any niche. This workflow helps marketers, agencies, and freelancers create engaging lead magnets — such as guides, blueprints, and checklists — with zero manual writing and complete AI automation. Who is this for? Marketers and content strategists creating high-converting lead magnets Agencies looking to scale client content deliverables Freelancers offering marketing automation services Anyone who wants to combine AI + automation for efficient content creation What problem is this workflow solving? Manually writing lead magnets can be slow and inconsistent. This workflow eliminates that by: Using OpenAI and Claude AI to co-create detailed content frameworks Automating research, structure, and formatting of lead magnet documents Allowing full customization for different industries or audiences Reducing production time from hours to minutes What this workflow does This automation connects OpenAI, Claude AI, and Google Drive (or Docs) inside n8n to produce well-structured lead magnet documents. The process includes: Collecting a topic or niche input from a form or webhook. Generating an outline and content blocks using OpenAI. Refining, expanding, and organizing the text using Claude AI. Formatting the content and converting it to clean HTML or Google Docs format. Saving or uploading the final version to Google Drive or Notion. By the end of the tutorial, you’ll have a fully automated content agent that builds lead magnet plans from scratch — ready to deliver to clients or publish instantly. Setup Create Accounts: Sign up for n8n.io. Obtain API access for OpenAI, Claude (via OpenRouter), and Google Drive API. Add API Keys in n8n: Go to Credentials and add your OpenAI and Claude API keys securely. Build the Workflow: Use a Form Trigger or Webhook Node to capture topic input. Add OpenAI Node to generate structure and section ideas. Add HTTP Request Node for Claude API (OpenRouter) to expand sections into polished paragraphs. Use a Function Node to merge sections and format them into Markdown or HTML. Add Google Drive Node to upload or store the final file. Test Your Workflow: Input a test topic (e.g., “Dental Marketing Blueprint”). Wait for the AI to generate, merge, and store your lead magnet content automatically. How to customize this workflow to your needs Modify prompt templates to fit your target audience or writing style. Integrate Notion, Airtable, or Slack for automatic delivery. Add a scheduling trigger (e.g., weekly lead magnet generation). Incorporate branding or styling logic using Markdown → HTML conversion. Expand prompts for multilingual or niche-specific lead magnets. Notes This workflow requires API keys for both OpenAI and Claude (via OpenRouter). Ensure proper handling of text formatting nodes to avoid Markdown errors. Google Drive integration requires OAuth setup in n8n credentials. Works on both n8n Cloud and self-hosted environments. 🎥 Watch the Full Tutorial 👉 YouTube Video Tutorial
by Nishant Rayan
Create Video with HeyGen and Upload to YouTube Overview This workflow automates the process of creating an AI-generated avatar video using HeyGen and directly uploading it to YouTube. By sending text input via a webhook, the workflow generates a video with a chosen avatar and voice, waits for processing, downloads the completed file, and publishes it to your configured YouTube channel. This template is ideal for automating content creation pipelines, such as daily news updates, explainer videos, or narrated scripts, without manual intervention. Use Case Marketing teams**: Automate explainer or promotional video creation from text input. Content creators**: Generate AI-based avatar videos for YouTube directly from scripts. Organizations**: Streamline video generation for announcements, product updates, or tutorials. Instead of recording and editing videos manually, this template allows you to feed text content into a webhook and have a ready-to-publish video on your YouTube channel within minutes. How It Works Webhook Trigger: The workflow starts when text content and a title are sent to the webhook endpoint. Code Node: Cleans and formats the input text by removing unnecessary newlines and returns it with the title. Set Node: Prepares HeyGen parameters, including API key, avatar ID, voice ID, title, and content. HeyGen API Call: Sends the request to generate a video with the provided avatar and voice. Wait Node: Pauses briefly to allow HeyGen to process the video. Video Status Check: Polls HeyGen to check whether the video has finished processing. Conditional Check: If the video is still processing, it loops back to wait. Once complete, it moves forward. Download Node: Retrieves the generated video file. YouTube Upload Node: Uploads the video to your YouTube channel with the provided title and default settings. Requirements HeyGen API Key**: Required to authenticate with HeyGen’s video generation API. HeyGen Avatar & Voice IDs**: Unique identifiers for the avatar and voice you want to use. YouTube OAuth2 Credentials**: Connected account for video uploads. Setup Instructions Import the Workflow: Download and import this template JSON into your n8n instance. Configure the Webhook: Copy the webhook URL from n8n and use it to send requests with title and content. Example payload: { "title": "Tech News Update", "content": "Today’s top story is about AI advancements in video generation..." } Add HeyGen Credentials: Insert your HeyGen API key in the Set Node under x-api-key. Provide your chosen avatar_id and voice_id from HeyGen. To find your HeyGen avatar_id and voice_id, first retrieve your API key from the HeyGen dashboard. With this key, you can use HeyGen’s API to look up available options: run a GET request to https://api.heygen.com/v2/avatars to see a list of avatars along with their avatar_id, and then run a GET request to https://api.heygen.com/v2/voices to see a list of voices with their voice_id. Once you’ve identified the avatar and voice you want to use, copy their IDs and paste them into the Set HeyGen Parameters node in your n8n workflow. Set Up YouTube Credentials: Connect your YouTube account in n8n using OAuth2. Ensure proper permissions are granted for video uploads. To set up YouTube credentials in n8n, go to the Google Cloud Console, enable YouTube Data API v3, and create an OAuth Client ID (choose Web Application and add the redirect URI: https://<your-n8n-domain>/rest/oauth2-credential/callback). Copy the Client ID and Client Secret, then in n8n create new credentials for YouTube OAuth2 API. Enter the values, authenticate with your Google account to grant upload permissions, and test the connection. Once complete, the YouTube node will be ready to upload videos automatically. Activate the Workflow: Once configured, enable the workflow. Sending a POST request to the webhook with title and content will trigger the full process. Notes You can adjust video dimensions (default: 1280x720) in the HeyGen API request. Processing time may vary depending on script length. The workflow uses a wait-and-poll loop until the video is ready. Default YouTube upload category is Education (28) and region is US. These can be customized in the YouTube node.
by SpaGreen Creative
Shopify Order Fulfillment & Send Tracking Link via WhatsApp Using Rapiwa API Who is this for? This n8n workflow automatically sends WhatsApp notifications to customers when their Shopify orders are fulfilled. It extracts order details, validates customer phone numbers for WhatsApp compatibility using the Rapiwa API, sends tracking information via WhatsApp, and logs all interactions in Google Sheets with appropriate verification status. What this Workflow Does This n8n workflow listens for new order fulfillments on Shopify and automatically sends a WhatsApp message with tracking details to customers. It uses the Rapiwa API to verify if the customer's number is on WhatsApp, formats all the data, sends a message, and logs everything to Google Sheets for tracking and auditing purposes. Key Features Webhook-Triggered**: Activates on new Shopify fulfillment events Phone Number Validation**: Uses Rapiwa to check WhatsApp compatibility Tracking Message Automation**: Sends real-time tracking messages via WhatsApp Data Cleaning**: Formats phone numbers and customer data Smart Branching**: Separates verified and unverified WhatsApp users Google Sheets Logging**: Stores data with status labels for all messages Rate-Limit Protection**: Wait node helps space API calls Dual Sheet Logging**: Maintains separate records for verified and unverified numbers Requirements Tools & Services An n8n instance (self-hosted or cloud) A Shopify store with REST API access enabled A Rapiwa.com account with: Valid Bearer Token Connected and verified WhatsApp number A Google Sheet with the following columns: Like this Sample Sheet Google Sheets OAuth2 credentials** set up in n8n Shopify API credentials** added to n8n Rapiwa Bearer Token** added as httpBearerAuth credentials How to Use Step-by-step Setup Connect Shopify to n8n Use the Shopify Trigger node Set event to fulfillments/create to capture new fulfillment events Extract Webhook Data Use a Code Node to format the webhook response Capture order, customer, and tracking details Fetch Complete Order Information Add an HTTP Request Node using Shopify Admin API Include the order ID to retrieve customer phone, email, and product details Clean the Phone Number Use a Code Node to: Remove non-numeric characters Format number to international standard Combine customer first and last name Batch Process Orders Use the Split In Batches node to handle customers one-by-one Validate WhatsApp Number Use Rapiwa’s /verify-whatsapp endpoint with a Bearer Token Check if number exists on WhatsApp Conditional Branching Use an If Node: If data.exists === "true" → Verified path Else → Unverified path Send WhatsApp Message Send tracking info with a personalized message: Hi [Customer Name], Good news! Your order has just been fulfilled. Tracking Number: [Tracking Number] Track your package here: [Tracking URL] Thank you for shopping with us. -Team SpaGreen Creative Log Data to Google Sheets Log verified and unverified entries in separate sheets Include all relevant customer and tracking data Add Delay Between Messages Use the Wait Node to avoid rate limits on Rapiwa API Requirements A Shopify store with API access enabled A Google Sheet with required column like this ➤ Sample Rapiwa API account**: Connected WhatsApp number Valid Bearer Token n8n** with: Shopify API credentials Rapiwa Bearer Token Google Sheets OAuth2 credentials Google Sheet Column Reference A Google Sheet formatted like this ➤ Sample | customer_id | name | email | number | tracking_company | tracking_number | tracking_url | product_title | status | |---------------|-----------------|--------------------------------|---------------|------------------|-----------------|---------------------------------------------|----------------------------------------|------------| | 8986XXXX06 | Abdul Mannan | contact@spagreen.net | 8801322827799 | Amazon Logistics | SG-OT-02 | https://traxxxG-OT-02 | S25 Ultra 5G Smartphone | verified | | 883XXX7982 | Abdul Mannan | contact@spagreen.net | 8801322827799 | Amazon Logistics | SG-OT-N03 | https://traxxxGOT-N03| Samsung Galaxy S24 Ultra | verified | Workflow Logic Summary Shopify Webhook Trigger: On order fulfillment Extract Webhook Payload Fetch Order + Customer Details Clean and Format Phone Number Split into Single-Item Batch Check WhatsApp Validity via Rapiwa If Verified: Send WhatsApp Message Log to verified sheet If Not Verified: Skip message Log to unverified sheet Add Delay with Wait Node Repeat for Next Fulfillment Customization Ideas Modify WhatsApp message to include delivery date or store contact Send different messages for different product categories Use product_type or shipping_zone to trigger separate workflows Add admin alerts for unverified numbers Store message delivery status (e.g., success, failed) Notes & Warnings Rapiwa is an unofficial WhatsApp API — delivery reliability is not guaranteed The Google Sheet column name must include the space at the end Wait node** may need longer delay for high-volume stores Always format phone numbers in international format (e.g., 8801XXXXXXXXX) Shopify API version used is 2025-07 — update as newer versions release You must comply with WhatsApp terms and data privacy laws when messaging users Useful Links Dashboard:** https://app.rapiwa.com Official Website:** https://rapiwa.com Documentation:** https://docs.rapiwa.com Support WhatsApp Support: Chat Now Discord: Join SpaGreen Community Facebook Group: SpaGreen Support Website: https://spagreen.net Developer Portfolio: Codecanyon SpaGreen
by Juan Carlos Cavero Gracia
This workflow turns any URL (news article, blog post, or even an n8n workflow page) into a vertical short video with your AI avatar explaining it ready for TikTok, Instagram Reels, and YouTube Shorts. It fetches the page, generates a tight 30–45s script and platform-optimized descriptions, captures a dynamic background of the page (animated scroll or static image), composes and renders the video with HeyGen (free split‑screen or paid clean cut‑out), and sends it to Upload-Post with an optional human review step. Note: You can generate full videos end‑to‑end using free trials—no credit card required—for all APIs used in this template (Google Gemini, ScreenshotOne, HeyGen, Upload‑Post).* Who Is This For? Creators & Marketers:** Explain articles, launches, and workflows without filming or editing. Media & Newsletters:** Turn breaking stories into clear, shareable shorts. Agencies:** Scale content creation with review gates and multi-account publishing. Founders & Product Teams:** Maintain an on-brand presence in minutes. What Problem Does It Solve? Making platform-native explainers is slow and inconsistent. This workflow: Writes the script with AI:** ~30s hook-led monologue with key facts. Optimizes per platform:** Tailored captions for TikTok, Reels, and Shorts. Generates the video automatically:** Uses the page itself as background + avatar voiceover. Publishes everywhere:** Optional review, then one-click multi-platform posting. How It Works URL Input: Paste any page to convert (article, blog, or workflow). AI Agent (Gemini): Reads the page and produces a single script (~30s) + platform-specific descriptions. Video Background: Animated scroll capture (9:16) or featured image via ScreenshotOne. HeyGen Composition & Render: Free: split-screen vertical (avatar bottom, background top). Paid: clean avatar cut‑out over video/image (background removal). Render & Poll: Waits for HeyGen to finish and retrieves the final MP4. Human Review (optional): Approve or reject in a simple form. Publish (Upload-Post): Uploads to TikTok, Instagram (Reels), and YouTube Shorts with AI-generated titles/descriptions. Setup Credentials (all offer free trials, no credit card required): HeyGen API (X-Api-Key) + your avatar_id and voice_id. ScreenshotOne API key. Upload-Post (connect your social accounts). Google Gemini (chat model). Variables in “Set Input Vars”: workflow_url: page to convert. background_removal: true (paid) or false (free). background_type: video (animated scroll) or photo (static). Publishing: Choose platforms in Upload-Post; enable review if you want to approve before posting. Requirements Accounts:** n8n, HeyGen, ScreenshotOne, Upload-Post, Google (Gemini). API Keys:** HeyGen, ScreenshotOne, Gemini; Upload-Post credentials. Assets:** An avatar and a voice available in HeyGen. Features URL → Short in minutes:** 9:16 vertical (720×1280). Pro script with hook:** Clear, natural, ~30s. Two render modes:** Split-screen (free) or clean cut‑out (paid). Background from the page:** Animated scroll or main image. Human-in-the-loop:** Approval before going live. Multi-publish:** TikTok, Instagram Reels, YouTube Shorts via Upload-Post. Start free:** Generate videos with free trials across all APIs—no credit card required.
by InfraNodus
Build a Better AI Chatbot for Your Zendesk Knowledge Portal Simple setup, no vector database needed. Uses GraphRAG to enhance user's prompts and provide high-quality and relevant up-to-date responses from your Zendesk knowledge base. Can be embedded on your Zendesk portal, also accesible via a URL. Can be customized and branded in your style. See example at support.noduslabs.com or a screenshot below: Also, compare it to the original Zendesk AI chatbot available at our other website https://infranodus.com — you will see that the quality of responses in this custom chatbot is much better than in the native Zendesk one, plus you save subscription because you won't need to activate their chat option, which is $25 per agent. Workflow Overview In this workflow, we use the n8n AI Agent Node with a custom prompt that: 1) First consults an "expert" graph from the InfraNodus GraphRAG system using the official InfraNodus GraphRAG node that will extract a reasoning ontology and a general context about your product from the graph that you create manually or automatically as described on our support portal. 2) The augmented user prompt is converted by AI agent node in a Zendesk search query that retrieves the most relevant content using their search API via n8n HTTP node. Both the results from the graph and the search results are combined and shown to the user How it works Receives a request from a user via a webhook that connects to the custom n8n chat widget. The request goes to the AI Agent node from n8n with a custom prompt (provided in the workflow) that orchestrates the following procedure: Sends the request to the knowledge graph in your InfraNodus account using the official InfraNodus GraphRAG node that contains a reasoning ontology represented as a knowledge graph based on your Zendesk knowledge support portal. Read more on how to generate this ontology here. Based on the results from InfraNodus, it reformulates the original prompt to include the reasoning logic as well as provide a fuller context to the model. Sends the request to the Zendesk search API using the n8n custom HTTP node with an enhanced search query to retrieve high-quality results. Combines Zendesk search results with InfraNodus ontology to generate a final response to the user. Sends the response back to the webhook, which is then picked up by the n8n chat widget that is shown to the user wherever the widget is embedded (e.g. on your own support portal). How to use • Get an InfraNodus API key and add it into InfraNodus GraphRAG node. • Edit the InfraNodus Graph node to provide the name of the graph that you will be using as ontology (you need to create it in InfraNodus first. • Edit the AI Agent (Support Agent) prompt to modify our custom instructions for your particular use case (do not change it too much as it works quite well and tells the agent what it should do and in what sequence). • Add the API key for your Zendesk account. In order to get it, go to your support portal Admin > Apps & Integrations > API Tokens. Usually it's located at https://noduslabs.zendesk.com/admin/apps-integrations/apis/api-tokens where instead of noduslabs you need to put the name of your support portal. Note: the official n8n Zendesk node does not have an endpoint to search and extract articles from support portal, so we use the custom HTTP node, but you can still connect to it via the Zendesk API key you have installed in your n8n. Support & Tutorials If you wan to create your own reasoning ontology graphs, please, refer to this article on generating your own knowledge graph ontologies. Specifically for this use case: Building ontology for your n8n AI chat bot. You may also be interested to watch this video that explains the logic of this approach in detail: Our support article for this workflow with real-life example: Building an embeddable AI chatbot agent for your Zendesk knowledge portal. To get support and help, contact us via support.noduslabs.com Learn more about InfraNodus at www.infranodus.com
by Jan Oberhauser
Receives data from an incoming HTTP Request (set up to use respond to webhook node) Create dummy data Convert JSON to XML which gets returned Respond to Webhook which returns the data and the content type of the data
by tanaypant
This workflow is the second of three. You can find the other workflkows here: Incident Response Workflow - Part 1 Incident Response Workflow - Part 2 Incident Response Workflow - Part 3 We have the following nodes in the workflow: Webhook node: This trigger node listens to the event when the Acknowledge button is clicked. PagerDuty node: This node changes the status of the incident report from 'Triggered' to 'Acknowledged' in PagerDuty. Mattermost node: This node publishes a message in the auxiliary channel saying that the status of the incident report has been changed to Acknowledged.
by Harshil Agrawal
This workflow generates sensor data, which is used in another workflow for managing factory incident reports. Read more about this use case and how to build both workflows with step-by-step instructions in the blog post How to automate your factory’s incident reporting. Prerequisites AMQP, an ActiveMQ connection, and credentials Nodes Interval node triggers the workflow every second. Set node set the necessary values for the items that are addeed to the queue. AMQP Sender node sends a raw message to add to the queue.
by Miquel Colomer
Do you want to control the DNS domain entries of your customers or servers? This workflow gets DNS information of any domain using the uProc Get Domain DNS records tool. You can use this workflow to check existing DNS records in real-time to ensure that any domain setup is correct. You need to add your credentials (Email and API Key - real -) located at Integration section to n8n. You can replace "Create Domain Item" with any integration containing a domain, like Google Sheets, MySQL, or Zabbix server. Every "uProc" node returns multiple items with the next fields per every item: type: Contains the DNS record type (A, ALIAS, AAAA, CERT, CNAME, MX, NAPTR, NS, PTR, SOA, SRV, TXT, URL). values: Contains the DNS record values.
by Ludwig
How it Works As n8n instances scale, teams often lose track of sub-workflows—who uses them, where they are referenced, and whether they can be safely updated. This leads to inefficiencies like unnecessary copies of workflows or reluctance to modify existing ones. This workflow solves that problem by: Fetching all workflows and identifying which ones execute others. Verifying that referenced subworkflows exist. Building a caller-subworkflow dependency graph for visibility. Automatically tagging sub-workflows based on their parent workflows. Providing a chart visualization to highlight the most-used sub-workflows. Set Up Steps Estimated time: ~10–15 minutes Set up n8n API credentials to allow access to workflows and tags. Replace instance_url with your n8n instance URL. Run the workflow to analyze dependencies and generate the graph. Review and validate assigned tags for sub-workflows. (Optional) Enable pie chart visualization to see the most-used sub-workflows. This workflow is essential for enterprise teams managing large n8n instances, preventing workflow duplication, reducing uncertainty around dependencies, and allowing safe, informed updates to sub-workflows.
by Holger
++How it Works:++ This RSS reader retrieves links from a Google Sheets file and goes through each link to retrieve the messages that are younger than 3 days, then saves them in a second Google Sheets file and then deletes all older entries in the second Google Sheets file! The retrieval can take a while due to the Google API block prevention, depending on the number of news feeds that were retrieved!==* Detailed Description is in the sticky Notes from the Workflow!*