by V3 Code Studio
Odoo Customers API – Export to JSON or Excel provides a simple way to fetch customer records from your Odoo database and get them back either as a structured JSON response or a downloadable Excel (.xlsx) file. ⚙️ What it does Listens for HTTP GET requests on the endpoint /api/v1/get-customers. Checks for the required name parameter and builds a search filter automatically. Queries the res.partner model to return only customer contacts (is_company = false). Delivers results in JSON by default, or as an Excel (.xlsx) export when response_format=excel is included. 📥 Parameters name — Required. Used for partial matching on customer names (via Odoo’s Like filter). response_format — Optional. Accepts json (default) or excel. 🔗 Examples Excel Example GET /api/v1/get-customers?name=Demo&response_format=excel JSON Example GET /api/v1/get-customers?name=Demo&response_format=json 🧩 Default fields display_name, name, email, phone, mobile, parent_id, company_id, country_code, country_id 🛠️ Setup Open the Odoo node and connect your Odoo API credentials. Adjust the fieldsList in the node if you want to include more data fields (e.g., address, city, or VAT). Trigger the flow from its webhook URL or run it manually inside n8n to test the output. 💡 Notes Built and tested for n8n v1.108.2+
by Paul Roussel
Automated workflow to remove video backgrounds and composite foreground video on static image backgrounds. Perfect for creating branded content, professional presentations, and consistent visual branding across your videos. How it works • Upload inputs: Provide foreground video URL and background image URL (both must be publicly accessible) • Remove background: API automatically removes video background with AI-powered segmentation • Composite on image: Video is centered on custom image background with aspect ratio preserved • Save to Drive: Final composed video is automatically uploaded to Google Drive with shareable link Set up steps ⏱️ Total setup time: ~7 minutes • Get VideoBGRemover API Key (~2 min): Visit https://videobgremover.com/api-management, sign up, and copy your API key • Add API key to n8n (~2 min): Go to Settings → Variables, add VIDEOBGREMOVER_KEY with your API key as value. Find the api key -> https://videobgremover.com/n8n • Connect Google Drive (~2 min): Click "Upload to Google Drive" node, click "Connect", and authorize n8n • Test workflow (~1 min): Use manual trigger with sample URLs provided in the "Sample URLs (Edit Here)" node Use cases: Branded content with company backgrounds and logos Product demos with custom imagery or brand colors AI avatars on professional office/studio backgrounds Social media content requiring consistent visual branding Profile videos with custom scenes or patterns Presentation videos with company branding Pricing: VideoBGRemover API charges $0.50-$2.00 per minute of video processed. Free trial credits available. Triggers: Webhook (for automation) or Manual (for testing) Processing time: Typically 3-5 minutes per minute of video
by David Olusola
🌐 Crypto + FX Micro-API (Webhook JSON) 📌 Overview Spin up a tiny, serverless-style API from n8n that returns BTC/ETH prices & 24h changes plus USD→EUR and USD→NGN from public, no-key data sources. Ideal for dashboards, low-code apps, or internal tools that just need a simple JSON feed. ⚙️ How it works Webhook (GET /crypto-fx) — entrypoint for your client/app. HTTP: ExchangeRate-API — USD-base FX rates (no API key). HTTP: CoinGecko — BTC/ETH prices + 24h % change (no API key). Merge — combines payloads. Code (v2) — shapes a clean JSON: btc.price, btc.change_24h eth.price, eth.change_24h usd_eur, usd_ngn, ts (ISO timestamp) Respond to Webhook — returns the JSON with HTTP 200. 🛠 Setup Guide 1) Webhook path & URL In the Webhook node, confirm HTTP Method = GET and Path = crypto-fx. Use the Test URL while building; switch to Production URL for live usage. 2) Test the endpoint Curl: curl -s https://<your-n8n-host>/webhook/crypto-fx Browser / fetch(): fetch('https://<your-n8n-host>/webhook/crypto-fx') .then(r => r.json()) .then(data => console.log(data)) 3) Response mapping (already wired) Respond to Webhook → Response Body is set to {{$json}}. The Code node outputs the exact JSON structure shown above, so no extra mapping is required. 🔐 Security (recommended) Add a Webhook Secret (query header check in Code node) or IP allowlist via your reverse proxy. If embedding in public sites, proxy through your backend and apply rate-limit/cache headers there. 🚀 Usage ideas Frontend dashboards (Chart.js, ECharts). HomeAssistant / Node-RED info panels. Google Apps Script to store the JSON into Sheets on a timer. 🎛 Customization More coins: extend CoinGecko ids= (e.g., bitcoin,ethereum,solana). More FX: read additional codes from fx.rates and add to the payload. Timestamps: convert ts to your preferred timezone on client side. CORS: if calling from browsers, add CORS headers in Respond (options → headers). 🧩 Troubleshooting Empty/partial JSON: run the two HTTP nodes once to verify responses. 429s / rate limiting: add a short Wait node or cache outputs. Wrong URL: ensure you’re using Production URL outside the n8n editor. Security errors: if you add a secret, return 401 when it’s missing/invalid.
by 1Shot API
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Dollar Cost Averaging with Uniswap V3 This workflow lets you set up an scheduled workflow to dollar cost average (DCA) into any token on a custom schedule using 1Shot API and the Uniswap V3 protocol. Choose your schedule input token and output token and optionally configure the workflow to send you notifications in Telegram everytime your workflow completes a swap. YouTube Tutorial You can watch the full end-to-end tutorial for this workflow on our YouTube channel. Wallet Delegation Importantly, this workflow uses Metamasks Delegation Framework which lets you DCA from an account you custody whithout ever exporting your private key or giving up control of your assets. Setup Create a free 1Shot API account, provision a server wallet to relay transactions, and generate an API key to connect to n8n. Import the following Uniswap contracts into your 1Shot API account for the chain you want to swap on: QuoterV2, SwapRouter02, and the token pool (needed to compute time-weighted average price (TWAP). Import the approve function for the ERC-20 token you want to use to purchase your target asset (this should be the token0 or token1 of the pool you imported in step 2). Click on the server wallet details you created, fund it with enough gas tokens to pay for your transactions, then generate a delegation for the SwapRouter02 contract and the ERC-20 token from steps 2 and 3. Import the DCA workflow and use your 1Shot API key/secret to create a credential. Point the 1Shot API nodes at the appropriate smart contract functions you imported in steps 2 and 3. In the Swap Configs node, set the amount of the in token you want to spend on each purchase - for example, if you are using USDC (which has 6 decimals) and you want to purchase $10 every purchase, then amountDCA should be 10000000. Also set the correct addresses for the SwapRouterV2, token0, token1 and fee of the pool you are using. Lastly, set the frequency of your DCA in the trigger node and activate! Optional Telegram Notifications You can configure a Telegarm bot to notifiy you everytime the workflow completes to send you a transaction has and you remaining balance in your purchasing funds.
by Aitor | 1Node
This workflow connects JotForm submissions to Vapi AI, triggering a personalized outbound call via an AI voice assistant immediately after a user submits your form. Requirements JotForm A JotForm account JotForm API credentials** enabled in n8n A published JotForm form with a phone number field Vapi A Vapi account with credit A connected phone number for making calls An assistant created and ready for outbound calls Your Vapi API key Workflow Steps 1. JotForm Trigger Starts the workflow when a new form submission is received. 2. Information Extractor Formats the phone number** with a +, country code, and full number (e.g., +391234567890) for compatibility with Vapi. 4. Set Fields for Vapi Configure these fields: phone_number_id: ID of the Vapi number used for the call assistant_id: ID of the Vapi assistant api_key: Your Vapi API key 5. Start Outbound Vapi Call Sends a POST request to https://api.vapi.ai/call with: The formatted phone number All required Vapi fields Any additional info mapped from the form, for personalization Customization Add more form fields:** Include extra data (such as name, appointment time) and add to the Vapi payload. Conditional logic:** Use n8n filter nodes to control if/when calls are made. Dynamic assistant selection:** Route submissions to different assistants or numbers based on user responses. Notes Ensure phone numbers are formatted correctly in the extractor node to prevent call errors. Any field from your form can be passed in the API payload and used in the assistant's script. Need Help? For additional resources or help, visit 1 Node.
by Moe Ahad
How it works: This flow checks the user's Google calender of events from Sunday to Saturday of current week, to determine how many hours have been booked each day. If a day has over 6 hours booked, it blocks out the remaining work hours for dedicated focus time. The flow assumes 8 work hours per day. For example, if the Monday of this week has 6.5 hours booked (for meetings, tasks etc.), it automatically blocks off the remaining 1.5 hours for dedicated focus time, so external users can see and not book new events for those hours. Benefit: Prevents users from being overloaded with meetings and gives time for dedicated deep work/focus time. Set up steps: Update start time of the "Schedule Trigger," this is the time the flow will run daily. Note: the workflow assumes a 9AM-5PM work schedule so it's recommended to schedule the flow to trigger before 9AM. Update the credentials for the "Get Full Weeks Events" and "Create Focus Time Event" nodes. Use your Google credentials so the workflow can connect to your Google calendar.
by Katie Allred
🤖 AI Instagram Meme Generator Automatically create and post viral memes to Instagram every 12 hours with AI-powered captions and bulletproof reliability Transform your Instagram presence with this enterprise-grade workflow that generates viral memes, creates engaging captions, and posts everything on schedule - complete with error handling and performance tracking! 🌟 What This Workflow Does This premium n8n workflow creates a complete meme automation pipeline with professional-grade reliability: 🎨 Generate Viral Memes - Uses MagicHour AI to create trending, shareable memes optimized for Instagram 📝 Write Engaging Captions - OpenAI GPT-4 analyzes each meme and crafts viral captions with strategic hashtags 📅 Smart Scheduling - Late API posts to Instagram with optimal timing (5 minutes after generation) ✅ Error Handling - Built-in validation and retry logic ensures 99% reliability 📊 Performance Tracking - Optional logging to monitor success rates and engagement 🔄 Continuous Operation - Runs every 12 hours with automatic error recovery Perfect for: Content creators, social media managers, influencers, businesses, agencies managing multiple accounts 🚀 Key Features 🛡️ Enterprise-Grade Reliability Smart Error Handling**: Validates each step before proceeding Automatic Retries**: HTTP requests retry 2-3 times on failure Graceful Failures**: Informative error messages and automatic recovery Timeout Protection**: Prevents hanging on slow API responses 🎯 Viral Content Optimization AI-Powered Generation**: Uses latest MagicHour AI for trending memes Engagement-Focused Captions**: GPT-4 crafts captions for maximum interaction Strategic Hashtags**: Automatically includes relevant, trending hashtags Call-to-Action Integration**: Built-in CTAs to boost engagement ⚙️ Professional Features Visual Node Design**: Emoji-labeled nodes for easy navigation Detailed Documentation**: Every node includes helpful notes Success Logging**: Track performance and optimize content Account Validation**: Verifies connections before posting 🔧 Easy Customization Flexible Scheduling**: Change from 12 hours to any interval Content Themes**: Easily modify meme topics for your niche Multi-Platform Ready**: Built on Late API for future expansion Timezone Support**: Configure for your local posting times 📋 Prerequisites Required Services n8n (free) - Workflow automation platform MagicHour - AI meme generation service (magichour.ai) OpenAI - GPT-4 for caption generation (platform.openai.com) Late - Social media automation (getlate.dev) Instagram Business Account - Connected through Late API Keys Needed MagicHour API key (starts with mhk_live_) OpenAI API key (requires billing setup) Late API key + Profile ID + Instagram Account ID 🛠️ Complete Setup Guide Step 1: Acquire API Access 🎨 MagicHour Setup Visit MagicHour.ai Create account and verify email Navigate to API settings in dashboard Generate API key (save securely - starts with mhk_live_) Add credits to your account for meme generation 🧠 OpenAI Configuration Go to OpenAI Platform Create account and complete verification Add payment method (required for API access) Navigate to API Keys section Create new secret key and copy immediately Verify GPT-4 access in your account settings 🚀 Late API Setup Visit GetLate.dev and sign up Connect Instagram business/creator account Go to API section and generate API key Copy Profile ID from account settings Note Instagram Account ID from connected accounts Test connection with a manual post Step 2: Import & Configure Workflow Import the Enhanced Workflow Download the enhanced JSON workflow file Open n8n in your browser or desktop app Click "Import from file" in the workflows section Select the downloaded JSON file Click "Import workflow" - you'll see emoji-labeled nodes Configure API Credentials 🎨 MagicHour API Credentials: Click on the "🎨 Generate Meme" node Click credential dropdown → "Create New" Select "HTTP Header Auth" Configure: Name: MagicHour API Header Name: Authorization Header Value: Bearer YOUR_MAGICHOUR_API_KEY Test connection and save 🧠 OpenAI API Credentials: Click on the "📝 Generate AI Caption" node Click credential dropdown → "Create New" Select "OpenAI" Enter your OpenAI API key Test with a simple prompt and save 🚀 Late API Credentials: Click any Late node (👤, 🔗, or 📱) Click credential dropdown → "Create New" Select "HTTP Header Auth" Configure: Name: Late API Header Name: Authorization Header Value: Bearer YOUR_LATE_API_KEY Save credentials Step 3: Customize Workflow Settings 🔗 Update Late Account Information Click "🔗 Get Connected Accounts" node Update query parameter: profileId: Replace YOUR_LATE_PROFILE_ID with your actual Profile ID Click "📱 Post to Instagram" node Update JSON body: accountId: Replace YOUR_INSTAGRAM_ACCOUNT_ID with your Instagram Account ID timezone: Change to your timezone (e.g., "America/Los_Angeles", "Europe/London") 🎨 Customize Meme Content Click "🎨 Generate Meme" node Edit the topic in JSON body to match your brand: Example Niche Topics: // Fitness/Health "topic": "Create funny, motivational fitness memes about gym struggles, workout wins, and healthy lifestyle humor that fitness enthusiasts will love and share" // Business/Entrepreneurship "topic": "Generate relatable business and entrepreneur memes about startup life, work-from-home struggles, and success mindset that professionals will engage with" // Pet/Animal Content "topic": "Make adorable and funny pet memes featuring cats, dogs, and animal behavior that pet owners find irresistibly shareable" // Gaming Content "topic": "Create gaming memes about popular video games, streaming culture, and gamer life that the gaming community will love" // General Viral Content (default) "topic": "Create a funny, relatable meme that would go viral on Instagram. Focus on everyday situations, trending topics, or universal experiences that people can relate to. Keep it light-hearted and shareable." 📅 Adjust Posting Schedule Click "📅 Schedule Trigger" node and modify: Every 6 hours**: "hoursInterval": 6 Daily**: "hoursInterval": 24 Twice daily**: "hoursInterval": 12 (recommended) Weekly**: "hoursInterval": 168 Step 4: Test Your Workflow Manual Test Run Click "Execute Workflow" button in top-right Watch the flow: 🎨 Generate Meme: Should create meme request ⏳ Wait: 20-second pause for generation 🖼️ Get Image: Retrieves completed meme ✅ Check Image: Validates successful generation 📝 Caption: Creates AI-powered caption 👤/🔗 Late Setup: Validates account connections 📱 Post: Schedules to Instagram 📊 Log: Records successful execution Troubleshoot Failed Nodes Red nodes indicate errors: 🎨 Generation fails**: Check MagicHour API key and credits 📝 Caption fails**: Verify OpenAI API key and billing 📱 Posting fails**: Confirm Late credentials and Instagram connection ✅ Validation fails**: Meme generation unsuccessful - will retry next run Step 5: Activate Automation Toggle workflow to "Active" (switch in top-right) Verify green status indicator Check execution log for successful runs Monitor Instagram for your first automated post ⚙️ Advanced Customization 🎯 Content Strategy Optimization Multi-Theme Approach Create multiple workflows for different content pillars: Duplicate this workflow 3-4 times Customize meme topics for each: Morning motivation (6 AM posts) Midday humor (12 PM posts) Evening entertainment (6 PM posts) Weekend lifestyle (varies) Seasonal Content Modify topics for holidays/events: // Holiday themed "topic": "Create funny holiday memes about [Christmas/Halloween/Valentine's] that are festive but relatable to everyone" // Current events (update monthly) "topic": "Generate memes about current trends and pop culture moments that are happening right now" 📝 Caption Enhancement Customize Caption Style Modify the OpenAI prompt in "📝 Generate AI Caption": // For Professional Brands "Analyze this meme and write a professional yet engaging Instagram caption. Keep it clean, brand-safe, and include 3-5 business-relevant hashtags. Add a subtle call-to-action." // For Casual/Fun Brands "Write a super casual, fun Instagram caption for this meme. Use internet slang, trending phrases, and 6-8 viral hashtags. Make it feel like it's from a friend." // For Educational Content "Create an educational Instagram caption that uses this meme to teach a valuable lesson. Include learning-focused hashtags and encourage discussion in comments." 📊 Performance Tracking Enhanced Logging Setup Click "📊 Log Success" node Replace httpbin.org URL with your logging service: Google Sheets: Use n8n Google Sheets node Airtable: Log to content calendar base Slack: Send success notifications Discord: Post to team channel Analytics Integration Add Instagram analytics tracking: Install Instagram Basic Display API Create new workflow to fetch post performance Track: Likes, comments, shares, reach Optimize: Adjust posting times based on data 🔧 Troubleshooting Guide Common Issues & Solutions 🚨 "Meme generation failed" Error Check**: MagicHour account credits Verify**: API key format (Bearer mhk_live_...) Solution**: Add credits or regenerate API key 🚨 "Caption generation timeout" Check**: OpenAI billing status Verify**: GPT-4 model access Solution**: Upgrade OpenAI plan or switch to GPT-3.5 🚨 "Instagram posting failed" Check**: Instagram account type (must be Business/Creator) Verify**: Late connection status Solution**: Reconnect Instagram in Late dashboard 🚨 "Workflow stops unexpectedly" Check**: Node error messages in execution log Verify**: All credentials are properly configured Solution**: Re-run manual test and fix identified issues Performance Optimization Improve Success Rate: Monitor** execution history weekly Adjust** wait time if generation often fails Update** meme topics based on trending content Test** different posting times for your audience Boost Engagement: Analyze** which meme styles perform best A/B test** different caption styles Adjust** hashtag strategy based on reach Engage** with comments to boost algorithm ranking 📈 Expected Results & ROI 🎯 Performance Metrics After 30 days of automation, expect: 60+ high-quality memes** posted automatically 15-25% increase** in follower growth 40-60% improvement** in engagement rate 10+ hours saved** per week on content creation Consistent posting** improving algorithm favorability 💰 Return on Investment Time Savings Calculation: Manual meme creation**: 30 minutes per post Caption writing**: 10 minutes per post Scheduling/posting**: 5 minutes per post Total manual time: 45 minutes × 60 posts = **45 hours/month With automation: Setup time**: 2 hours (one-time) Monthly monitoring**: 1 hour Total automated time: **3 hours/month ROI: Save 42 hours monthly = $2,100+ value (at $50/hour rate) 🚀 Scaling Opportunities Expand your success: Add more platforms via Late (TikTok, Twitter, LinkedIn) Create niche-specific workflows for different audiences Build content series with themed meme campaigns Integrate with email marketing for cross-platform promotion Offer as a service to other creators/businesses 🏆 Pro Tips for Maximum Success 🎨 Content Optimization Study viral memes** weekly and update your prompts Use trending hashtags** but keep them relevant Post consistently** - algorithm favors regular content Engage authentically** - respond to comments quickly 📱 Instagram Best Practices Optimal posting times**: Test 9-11 AM and 7-9 PM in your timezone Stories integration**: Manually reshare your best memes to Stories Cross-promotion**: Share on other platforms to drive Instagram traffic Community building**: Use memes to start conversations 🔄 Workflow Maintenance Monthly reviews**: Check performance and adjust prompts API monitoring**: Ensure all services remain connected Content audits**: Remove or update outdated topics Backup strategy**: Export workflow settings regularly 🎯 Competition Entry This workflow is my submission for the Late September 2025 n8n Arena Competition! Why This Workflow Wins: ✅ Solves real problems - Saves 40+ hours monthly ✅ Uses Late API extensively - Multi-endpoint integration ✅ Professional quality - Enterprise-grade error handling ✅ Highly customizable - Works for any niche or brand ✅ Comprehensive documentation - Easy setup for anyone ✅ Proven ROI - Measurable time and money savings Help This Workflow Succeed: ⭐ Star it on n8n.io if you find it useful 🔄 Share with fellow creators and businesses 💬 Leave feedback to help improve it 📸 Tag us in your automated memes (@getlatedev) Let's automate our way to Instagram success together! 🚀 Built with ❤️ for the n8n community by a creator who believes in the power of automation. Questions? Reach out anytime! 🌟 What's Next? Coming Soon: Advanced version with: Multi-platform posting (TikTok, Twitter, LinkedIn) A/B testing for captions Sentiment analysis for optimal timing Integration with Instagram analytics Custom meme template uploads Stay tuned for updates! ⚡
by Davide
This automation creates a fully integrated pipeline to generate AI-powered videos, store them, and publish them on TikTok — all automatically. It connects OpenAI Sora 2, and Postiz (for TikTok publishing) to streamline content creation. Key Benefits ✅ Full Automation – From text prompt to TikTok upload, everything happens automatically with no manual intervention once set up. ✅ Centralized Control – Google Sheets acts as a simple dashboard to manage prompts, durations, and generated results. ✅ AI-Powered Creativity – Uses OpenAI Sora 2 for realistic video generation and GPT-5 for optimized titles. ✅ Social Media Integration – Seamlessly posts videos to TikTok via Postiz, ready for your audience. ✅ Scalable & Customizable – Can easily be extended to other platforms like YouTube, Instagram, or LinkedIn. ✅ Time-Saving – Eliminates repetitive steps like manual video uploads or caption writing. How it works This workflow automates the end-to-end process of generating AI videos and publishing them to TikTok. It is triggered either manually or on a recurring schedule. Trigger & Data Fetch: The workflow starts by checking a specified Form for new entries. It looks for rows where a video has been requested (a "PROMPT" is filled) but not yet generated (the "VIDEO" column is empty). AI Video Generation: For each new prompt found, the workflow sends a request to the Fal.ai Sora 2 model to generate a video. It then enters a polling loop, repeatedly checking the status of the generation request every 60 seconds until the video is "COMPLETED". Post-Processing & Upload: Once the video is ready, the workflow performs several actions in parallel: Fetch Video & Store: It retrieves the final video URL, downloads the video file Generate Title: It uses the OpenAI GPT-4o-mini model to analyze the original prompt and generate an optimized, engaging title for the video. Publish to TikTok: The video file is uploaded to Postiz, a social media scheduling tool, which then automatically publishes it to a connected TikTok channel, using the AI-generated title as the post's caption. Set up steps To make this workflow functional, you need to complete the following configuration steps: Prepare the Google Sheet: Create a Form with at least "PROMPT", "DURATION", and "VIDEO" fields. Configure Fal.ai for Video Generation: Create an account at Fal.ai and obtain your API key. In both the "Create Video" and "Get status" HTTP Request nodes, set up the "Header Auth" credential. Set the Name to Authorization and the Value to Key YOUR_API_KEY. Set up TikTok Publishing via Postiz: Create an account on Postiz and connect your TikTok account to get a Channel ID. Obtain your Postiz API key. In the "Upload Video to Postiz" and "TikTok" (Postiz) nodes, configure the API credentials. In the "TikTok" node, replace the placeholder "XXX" in the integrationId field with your actual TikTok Channel ID from Postiz. (Optional) Configure AI Title Generation: The "Generate title" node uses OpenAI. Ensure you have valid OpenAI API credentials configured in n8n for this node to work. Need help customizing? Contact me for consulting and support or add me on Linkedin. Header 2
by Lucas Walter
AI Video Generator for eCommerce Product Catalogs Transform static product images from any online store into engaging animated videos using Google's Veo 3.1 AI. Simply submit a catalog page URL and automatically generate professional product showcase videos where models pose and move to display clothing and fashion items from multiple angles - perfect for elevating product pages with dynamic content that increases conversion rates. How it works Submit any eCommerce catalog page URL** through a simple web form (works with Shopify, WooCommerce, and most online stores) Automatically scrapes product listings** using Firecrawl to extract product titles and high-quality images Batch processes product images** with intelligent iteration through your catalog inventory Generates 8-second animated videos** using Google Veo 3.1 where models wearing the clothing strike multiple poses to showcase fit and style Polls for completion status** and automatically downloads finished videos when ready Organizes assets in Google Drive** with source images and output videos in a structured folder system The workflow creates professional product videos that show garments from different angles with natural model movements, giving shoppers a much better sense of how items look and fit compared to static photos alone. Set up steps Connect API credentials: Firecrawl account for web scraping, Google Gemini/Veo API for video generation, Google Drive for asset storage Create Google Drive output folder where source images and generated videos will be automatically saved Configure folder ID in the workflow to point to your designated Drive location Adjust product limit (optional) to control how many catalog items to process per run Deploy the form webhook to get your submission URL for catalog page processing Time investment: ~15-20 minutes for API setup and configuration, then just submit catalog URLs to automatically generate video content for your entire product line. Requirements: Firecrawl account for web scraping, Google Cloud account with Veo 3.1 API access (currently in preview), Google Drive account. Works best with fashion and apparel catalogs. Note: Video generation takes approximately 10 seconds per product as Veo processes each request. The workflow includes automatic polling to handle the async video generation process.
by Mohammed Abid
Shopify Order Data to Airtable This n8n template demonstrates how to capture incoming Shopify order webhooks, transform the data into a structured format, and insert each product line item as a separate record in an Airtable sheet. It provides both high-level order information and detailed product-level metrics, making it ideal for analytics, reporting, inventory management, and customer insights. Good to Know Airtable API Rate Limits: By default, Airtable allows 5 requests per second per base. Consider batching or adding delays if you process high volumes of orders. Shopify Webhook Configuration: Ensure you have configured the orders/create webhook in your Shopify Admin to point to the n8n webhook node. Field Mapping: The template maps standard Shopify fields; if your store uses custom order or line item properties, update the Function nodes accordingly. How It Works Webhook Trigger: A Shopify orders/create webhook fires when a new order is placed. Normalize Order Data: The Function node extracts core order, customer, shipping, and billing details and computes financial totals (subtotal, tax, shipping, discounts). Line Item Breakdown: A second Function node builds an array of objects—one per line item—calculating per-item totals, tax/shipping allocation, and product attributes (color, size, material). Check Customer Record: Optionally check against an Airtable "Customers" sheet to flag new vs existing customers. Auto-Increment Record ID: A Function node generates a running serial number for each Airtable record. Insert Records: The Airtable node writes each line item object into the target base and table, creating rich records with both order-level and product-level details. How to Use Clone the Template: Click "Use Template" in your n8n instance to import this workflow. Configure Credentials: Shopify Trigger: Add your Shopify store domain and webhook secret. Airtable Node: Set up your Airtable API key and select the base and table. Review Field Names: Match the field names in the Function nodes to the columns in your Airtable table. Activate Workflow: Turn on the workflow and place a test order in your Shopify store. Verify Records: Check your Airtable sheet to see the new order and its line items. Requirements n8n@latest Shopify Store with orders/create webhook configured Airtable Account with a base and table ready to receive records Customizing This Workflow Add Custom Fields: Extend the Functions to include additional Shopify metafields, discounts, or customer tags. Alternative Destinations: Replace the Airtable node with Google Sheets, Supabase, or another database by swapping in the corresponding node. Error Handling: Insert If/Wait nodes to retry on API failures or send notifications on errors. Multi-Currency Support: Adapt the currency logic to convert totals based on dynamic exchange rates. Shopify Customer Append/Update to Airtable This n8n template shows how to take incoming Shopify customer webhooks (create or update), check if the customer exists in your Airtable "Customers" sheet, append new details or update existing records, and maintain a clean customer database. Good to Know Airtable API Rate Limits: Airtable limits to 5 requests per second. Use batch lookups or add delays for high throughput. Shopify Webhook Events: Configure both customers/create and customers/update webhooks in Shopify Admin. Unique Identifier: Ensure the "Customer ID" field in Airtable matches the Shopify customer.id for reliable updates. How It Works Webhook Trigger: Fires on Shopify customers/create or customers/update events. Extract Customer Data: A Function node normalizes name, email, phone, and address fields from the webhook payload. Fetch Existing Records: The Airtable node lists all records from the "Customers" table to find a matching Customer ID. Identify Match: A Function node compares the incoming customer.id to existing records and flags found vs. not found. Return Last Row: Ensures serial numbering continuity by grabbing the last record's serial in Airtable. Auto-Increment Serial: A Function node increments the serial number (S No) for new records. Upsert Record: Depending on match result, the Airtable node either updates the existing record or creates a new one with full details. How to Use Import the Workflow: Click "Use Template" in n8n. Set Credentials: Shopify: Add store domain and webhook secret. Airtable: Provide API key and select base/table. Ensure Field Alignment: The Airtable table must have fields: Customer ID, Name, Email, Phone, Address, and S No. Activate: Enable the workflow and test by creating or updating a customer in Shopify. Verify: Your Airtable sheet will show appended or updated customer records with correct serial numbering. Requirements n8n@latest Shopify Store with customers/create and customers/update webhooks Airtable Account with a "Customers" table Customizing This Workflow Extra Fields: Modify the Function nodes to include Shopify metafields or tags. Alternative Databases: Swap in Google Sheets, Supabase, or SQL nodes. Error Notification: Add a Slack or email node to alert on webhook or API errors. Batch Processing: Use the SplitInBatches node to handle large customer syncs.
by Paolo Ronco
A complete workflow to create, send, and verify digital certificates fully automated with n8n.Perfect for courses, events, onboarding, internal training, or product education. Visit my website for the: full deploy guide) See my Templates on Github: paoloronco/n8n-templates) Example-certificate ✔ 1. Certificate Generation When a POST webhook request arrives, the workflow: reads name, surname, course, and email generates a unique Certification ID saves everything in the Data Table ✔ 2. Data Storage Every issued certificate is recorded in an n8n Data Table containing: Name Surname CertificationID This creates a permanent, searchable certificate registry. ✔ 3. PDF Creation Uses PDF Generator API to create a professional PDF certificate from an HTML template: fully customizable (layout, colors, branding) includes candidate data, course, ID, and date ✔ 4. Email Delivery The workflow automatically sends the certificate to the recipient using Gmail OAuth2 with: a predefined subject the PDF attached a customizable message ✔ 5. Verification System A public endpoint /certificationscheck allows: validation of Certification IDs returning the candidate’s name and surname if valid responding with ok: true/false ✔ 6. Included Mini Verification Website A ready-to-use HTML file allows users to: enter a Certification ID verify its authenticity view name and surname if the certificate exists Fully customizable (CSS, texts, branding). 🛠 Requirements Before using this workflow, you must have: n8n Data Table with ID fields: Name (string) Surname (string) CertificationID (string) PDF Generator API accountCredentials set in n8n as pdfGeneratorApi. Gmail OAuth2 credentialsConfigured in n8n as gmailOAuth2. Ability to call HTTP POST endpoints from your website, backend, forms, etc. 🚀 Installation 1. Import workflow In n8n: Go to Workflows → Import Paste the JSON provided in this repository 2. Configure Data Table Update the following nodes to point to your Data Table: Insert_Certificaton Find_Certification_By_ID Find_Certification_By_ID1 Make sure the Data Table has the fields: | Field | Type | | --- | --- | | Name | string | | Surname | string | | CertificationID | string | 3. Configure Credentials In the workflow: Node Generate_PDF → set PDF Generator API credentials Node Email_Certification → set Gmail OAuth2 credentials 4. Activate Workflow Click Activate in n8n. 🔧 How the Workflow Works 🧩 1. Webhook /certifications Receives candidate data and triggers the workflow. POST https://YOUR-N8N-DOMAIN.com/webhook/certification Headers: name: John surname: Doe course: email: john.doe@example.com 🧩 2. Unique ID Generation A Code node creates a random alphanumeric ID.If it already exists, a new one is generated. 🧩 3. Data Table Insert Stores the certificate data for future lookup. 🧩 4. PDF Generation Builds a PDF from the (fully editable) HTML template. 🧩 5. Email Sending Delivers the certificate to the candidate. 🔍 Certificate Verification (/certificationscheck) API Behavior Send a POST request https://YOUR-N8N-DOMAIN.com/webhook/certificationcheck with header id: CERTIFICATION-ID. Valid ID: { "ok": "true", "name": "John", "surname": "Doe" } Invalid ID: { "ok": "false" } This request can be made manually (from tools like Postman, cURL, or your backend), or automatically through the HTML verification page included in the GitHub repository (the Cerification_Check.html template) found in your project files
by Dariusz Koryto
Get automated weather updates delivered directly to your Telegram chat at scheduled intervals. This workflow fetches current weather data from OpenWeatherMap and sends formatted weather reports via a Telegram bot. Use Cases Daily morning weather briefings Regular weather monitoring for outdoor activities Automated weather alerts for specific locations Personal weather assistant for travel planning Prerequisites Before setting up this workflow, ensure you have: An OpenWeatherMap API account (free tier available) A Telegram bot token Your Telegram chat ID n8n instance (cloud or self-hosted) Setup Instructions Step 1: Create OpenWeatherMap Account Go to OpenWeatherMap and sign up for a free account Navigate to the API keys section in your account Copy your API key (you'll need this for the workflow configuration) Step 2: Create Telegram Bot Open Telegram and search for @BotFather Start a chat and use the /newbot command Follow the prompts to create your bot and get the bot token Save the bot token securely Step 3: Get Your Telegram Chat ID Start a conversation with your newly created bot Send any message to the bot Visit https://api.telegram.org/bot<YourBOTToken>/getUpdates in your browser Look for your chat ID in the response (it will be a number like 123456789) Step 4: Configure the Workflow Import this workflow into your n8n instance Configure each node with your credentials: Schedule Trigger Node Set your preferred schedule (default: daily at 8:00 AM) Use cron expression format (e.g., 0 8 * * * for 8 AM daily) Get Weather Node Add your OpenWeatherMap credentials Update the cityName parameter to your desired location Format: "CityName,CountryCode" (e.g., "London,UK") Send a text message Node Add your Telegram bot credentials (bot token) Replace XXXXXXX in the chatId field with your actual chat ID Customization Options Location Settings In the "Get Weather" node, modify the cityName parameter to change the location. You can specify: City name only: "Paris" City with country: "Paris,FR" City with state and country: "Miami,FL,US" Schedule Frequency In the "Schedule Trigger" node, adjust the cron expression: Every 6 hours: 0 */6 * * * Twice daily (8 AM & 6 PM): 0 8,18 * * * Weekly on Mondays at 9 AM: 0 9 * * 1 Message Format In the "Format Weather" node, you can customize the message template by modifying the message variable in the function code. Current format includes: Current temperature with "feels like" temperature Min/max temperatures for the day Weather description and precipitation Wind speed and direction Cloud coverage percentage Sunrise and sunset times Language Support In the "Get Weather" node, change the language parameter to get weather descriptions in different languages: English: "en" Spanish: "es" French: "fr" German: "de" Polish: "pl" Troubleshooting Common Issues Weather data not updating: Verify your OpenWeatherMap API key is valid and active Check if you've exceeded your API rate limits Ensure the city name format is correct Messages not being sent: Confirm your Telegram bot token is correct Verify the chat ID is accurate (should be a number, not username) Make sure you've started a conversation with your bot Workflow not triggering: Check if the workflow is activated (toggle switch should be ON) Verify the cron expression syntax is correct Ensure your n8n instance is running continuously Testing the Workflow Use the "Test workflow" button to run manually Check each node's output for errors Verify the final message format in Telegram Node Descriptions Schedule Trigger Automatically starts the workflow based on a cron schedule. Runs at specified intervals to fetch fresh weather data. Get Weather Connects to OpenWeatherMap API to retrieve current weather conditions for the specified location. Format Weather Processes the raw weather data and creates a user-friendly message with emojis and organized information. Send a text message Delivers the formatted weather report to your Telegram chat using the configured bot. Additional Features You can extend this workflow by: Adding weather alerts for specific conditions (temperature thresholds, rain warnings) Including weather forecasts for multiple days Sending reports to multiple chat recipients Adding location-based emoji selection Integrating with other notification channels (email, Slack, Discord) Security Notes Keep your API keys and bot tokens secure Don't share your chat ID publicly Consider using n8n's credential system for storing sensitive information Regularly rotate your API keys for better security Special thanks to Arkadiusz, the only person who supports me in n8n mission to make automation great again.