by M Sayed
Telegram Restaurant Bot Workflow This workflow creates a Telegram bot that fetches the top 5 rated restaurants for any specified area in Egypt using SerpAPI's Google Maps search. It's designed to provide quick, detailed, and richly formatted information directly in your chat. Key Features Simple Command Trigger**: Activate the search with a straightforward command (e.g., التحرير) Real-Time Restaurant Data**: Utilizes SerpAPI to pull live data, ratings, and details from Google Maps Top 5 Ranking**: Automatically sorts restaurants by their rating in descending order and presents the top five Richly Formatted Replies**: Generates a clean, user-friendly Markdown message with essential details: Rating ⭐ Phone Number ☎️ Website 🌐 Service Options (Dine-in ✅ | Takeaway ❌) A direct link to the location on a map 📍 Arabic Language Focused**: The workflow is initially configured to process requests and format replies in Arabic How It Works A user sends a place name like التحرير to the Telegram bot The Parse Area node extracts the location name from the message text The Geocode (Nominatim) node finds the geographic coordinates for the area (this can be adapted for more precise location searches) The Find Restaurants (SerpAPI) node uses this area to perform a Google Maps search The Format Reply node processes the search results. It sorts them by rating, takes the top 5, and builds a detailed Markdown-formatted string The Send to Telegram node delivers the final formatted message back to the user who made the request Setup Telegram**: Configure your credentials in the Telegram Trigger and Send to Telegram nodes SerpAPI**: Add your free or paid API key in the Find Restaurants (SerpAPI) HTTP Request node
by Eduard
This n8n workflow template simplifies processing of media group messages sent by users in Telegram. It caches image album messages using Data Tables, and then sends them to a Nano Banana model for processing. This template showcases n8n's new Data Tables feature as a powerful caching layer to process entire image albums from Telegram. How it works Media Group handling**: captures all images and the shared caption when user sends an album via Telegram. Data Table caching**: stores all incoming messages in a Data Table to prevent data loss and allow for batch processing. Scheduled processing**: a timer trigger periodically finds and processes completed image albums from the cache. Multi-modal AI**: sends the full set of images and the text prompt to the NanoBanana model via OpenRouter. User feedback**: automatically notifies the user when processing begins and when the result is ready. How to use Import the workflow template into your n8n instance. Create a new Data Table with the following columns (all of type String): chat_id, message_id, media_group, message, status. Configure your Telegram credentials and connect your bot. Update the "prepare user messages" node with your Telegram bot token to create the image download links. Set up your OpenRouter credentials. Activate the workflow. Now you can send a group of images with a caption to your Telegram bot. Requirements An n8n instance (cloud or self-hosted) with Data Tables enabled. Minimal n8n version is 1.113 A Telegram account and a Telegram bot token. An OpenRouter account with access to the NanoBanana model. Customizing this workflow Adjust the processing schedule: modify the **Schedule Trigger node to change how often the workflow checks for new media groups to process. Handle other message types: The workflow handles only the media groups. You can easily build logic for text messages, documents, or commands by adding nodes instead of the placeholder node ("Process other messages as usual"**). Extend the functionality**: add more nodes after the AI generates an image to perform different actions, such as saving the file, sending it to another service, or creating a social media post.
by teaker
2 telegram Description Description Description
by amudhan
n8nConf Companion workflow for blog post
by Jason
Upload invoices from Gmail to Google Drive daily
by Yaron Been
This workflow automatically converts static images into dynamic videos using AI-powered animation. It saves you hours of video editing by transforming product photos, marketing images, or any static visuals into engaging video content perfect for social media and advertising campaigns. Overview This workflow automates the entire image-to-video generation process using the WAN-VIDEO 2.5 model via Replicate API. Simply provide an image URL and a text prompt describing the desired motion, and the workflow handles the video creation, status monitoring, and delivery of your animated content - typically ready in 30-120 seconds. Tools Used n8n**: The automation platform that orchestrates the workflow Replicate API**: Powers the WAN-VIDEO 2.5 AI model for image-to-video generation Status Monitoring**: Automated checking system with intelligent retry logic Error Handling**: Built-in resilience with comprehensive error management How to Install Import the Workflow: Download the .json file and import it into your n8n instance Get Replicate API Key: Sign up at replicate.com and copy your API token Configure API Token: Replace the placeholder in the "Set API Token" node Add Your Image: Update the seed image URL in the "Add Seed Image and Prompt" node Customize Prompt: Write your desired video motion description and run the workflow Use Cases E-commerce Teams**: Animate product photos for dynamic social media ads Content Creators**: Transform static images into engaging video content for TikTok/Instagram Marketing Agencies**: Create eye-catching video ads from client product photos Educational Content**: Bring diagrams and infographics to life with motion Social Media Managers**: Generate video content at scale from existing image libraries Connect with Me Website**: https://www.nofluff.online YouTube**: https://www.youtube.com/@YaronBeen/videos LinkedIn**: https://www.linkedin.com/in/yaronbeen/ ROASPIG**: Check out ROASPIG.com for scalable media generation and automation solutions #n8n #automation #ai #videogeneration #imagetovideo #replicate #contentcreation #socialmediacontent
by Piotr Sobolewski
**How it works ** This intelligent workflow acts as your personal shopping assistant, helping you quickly research products and find potential purchasing options based on your detailed descriptions. It automatically: Takes your natural language product description (e.g., "a durable, lightweight hiking backpack for multi-day trips with good ventilation"). Uses AI to generate optimized search queries to find relevant products online. Executes these searches across Google's index. Analyzes the top search results (titles and snippets) using AI to identify common product types, features, and potential retailers. Compiles a concise summary report with key insights and direct links to relevant product pages. Delivers the full report to your inbox, guiding you to the next steps for purchasing. Save time on product research and get smarter recommendations for your next purchase! Set up steps Setting up this workflow is more advanced than previous ones due to integrating with a specialized search API, typically taking around 30-60 minutes. You'll need to: Set up a Google Custom Search Engine (CSE): This involves creating a CSE in your Google Cloud Platform and obtaining an API Key and Search Engine ID. Detailed instructions are provided within the workflow. Obtain API keys for your preferred AI service (e.g., OpenAI, Google AI). Connect your preferred email service (e.g., Gmail) to receive the report. Provide a clear and detailed description of the product you're looking for. All detailed setup instructions and specific configuration guidance, including the CSE setup, are provided within the workflow itself using sticky notes.
by Rahul Joshi
Description Stop losing warm leads in the noise. This automation analyzes your lead engagement data, calculates priority scores based on activity and last contact date, and automatically queues your top 10 leads for follow-up in ClickUp — complete with suggested send times based on timezone. ⚡ What This Template Does Pulls lead data from Google Sheets (e.g., name, engagement, last contact date, timezone). 📄 Calculates days since last contact to measure lead freshness. ⏰ Combines engagement score and recency into a weighted priority score. 📊 Sorts and filters top 10 leads for immediate follow-up. 🔝 Suggests best time to reach out based on each lead’s timezone. 🌍 Creates corresponding ClickUp tasks with lead details. 🗂️ Updates the Google Sheet to mark leads as queued. ✅ Key Benefits Automatically identify high-priority leads daily. 🎯 Increase conversion rates with timely, personalized follow-ups. ⏱️ Eliminate manual sorting and spreadsheet filtering. 🚫 Keep sales teams organized with ClickUp task automation. 💼 Works perfectly for SDRs, account managers, and B2B teams. 🤝 Features Google Sheets integration for real-time lead updates. 📊 Smart recency calculator (days since last contact). ⏰ Weighted priority formula (70% engagement, 30% recency). 🧮 ClickUp task creation for seamless team coordination. 🔗 Timezone-based follow-up time suggestion. 🌐 Configurable limit (Top 10 leads — adjustable). ⚙️ Automatic sheet update with queue status tracking. 📋 Requirements n8n instance (cloud or self-hosted). 🧰 Google Sheet with columns: Lead Name, Engagement_Score, Last_Contact_Date, Timezone, Email. 📑 Connected Google Sheets and ClickUp credentials in n8n. 🔐 Active ClickUp workspace with accessible list or space ID. 🧭 Target Audience Sales and marketing teams managing large lead lists. 📈 B2B organizations using ClickUp for pipeline tracking. 🧩 SDRs who need to prioritize outreach daily. 🗓️ Agencies managing multiple clients and follow-up cadences. 🤝 Step-by-Step Setup Instructions (Concise) Create or connect a Google Sheet with all required headers. 📋 Update node credentials for Google Sheets and ClickUp. 🔑 Adjust weightage logic or maxItems count if needed. ⚙️ Test workflow using the manual trigger. ▶️ (Optional) Schedule it to run daily for auto-prioritization. ⏰ Review ClickUp tasks and follow up with top leads. 📨 Security Best Practices Share the Google Sheet only with the n8n Google account (Editor). 🔒 Keep ClickUp API credentials encrypted within n8n. 🛡️ Review ClickUp task creation permissions before activation. ✅ Regularly clean archived leads from the Google Sheet. 🧹
by Yusei Miyakoshi
Who’s it for Teams and operators who record meetings/interviews and want fast, standardized, action-oriented minutes—without writing code. New n8n users welcome. What it does / How it works On form submission, the workflow ingests an audio file and basic metadata, transcribes the audio with OpenAI, summarizes it into concise minutes (key points, next actions with owner & due date, and counterpart concerns/requests), then creates a Google Doc (if missing) and appends the minutes. Sticky notes on the canvas explain each step and required inputs. How to set up Connect OpenAI via Credentials (never hardcode API keys). Connect Google (OAuth2) with Docs/Drive scopes. Replace any hardcoded Drive folder ID with an env var (e.g., MINUTES_FOLDER_ID). In the Form Trigger, keep the audio upload field and optional metadata (Manager, Partner, Situation). Test with a short audio sample (30–120 sec), then iterate on the summary prompt. Paste this description into a yellow sticky note at the top of the canvas. Requirements n8n (Cloud or self-hosted) OpenAI credential with transcription + LLM access Google account with Docs/Drive access and available storage How to customize the workflow Tweak the prompt tone, length, or sections (e.g., add “Risks/Blockers”). Change the document title pattern or parent folder. Add Slack or email notifications after the Doc is updated. Log executions to Google Sheets for weekly reporting and audits. Security & publishing tips remove personal IDs (folder IDs, real emails) before sharing; keep node names descriptive; retain sticky notes for setup guidance.
by FabioInTech
📝 Automated Blog Post Publishing from Airtable to Hashnode This workflow streamlines your content publishing process by automatically creating draft blog posts on Hashnode from content stored in Airtable. Perfect for content creators, marketing teams, and developers who want to maintain a consistent publishing schedule while managing multiple Hashnode publications from a centralized database. 🎯 Who's it for Content creators** managing multiple blog publications Marketing teams** coordinating content across different Hashnode accounts Developers** looking to automate their technical blog publishing workflow Agencies** managing content for multiple clients on Hashnode ⚙️ How it works The workflow operates in a simple 7-step process: Retrieves unpublished posts from your Airtable database (filtered by "Not Published" status) Processes each post individually using a loop to handle multiple posts Fetches the publication ID from Hashnode using the provided domain Validates the publication exists before proceeding with post creation Creates draft posts on Hashnode with the title and markdown content Updates post status to "Published" in Airtable upon successful creation Handles errors by marking failed posts with "Error" status for easy troubleshooting 📋 Requirements Airtable Setup: Your Airtable table must include these columns: Title - The blog post title Content_markdown - Full blog post content in Markdown format Hashnode_Token - Your Hashnode API authentication token HashNode_Publication_Domain - Your publication's domain (e.g., "yourblog.hashnode.dev") Status - Publication status ("Not Published", "Published", or "Error") Hashnode Requirements: Valid Hashnode account with API access Publication domain configured API token with draft creation permissions 🔧 How to set up Configure Airtable credentials in the "Get Posts" and "Update Post" nodes Set your Airtable base and table IDs to match your setup Ensure your Airtable table contains all required columns listed above Add your content with status "Not Published" to trigger the workflow Test the workflow with a single post before processing multiple items 🎨 How to customize the workflow Modify the filter criteria** in the "Get Posts" node to target different post statuses Add content validation** before posting (word count, required fields, etc.) Include post scheduling** by adding date/time conditions Extend with notifications** using Slack, Discord, or email nodes Add SEO optimization** by including meta descriptions and tags Create published post tracking** by storing Hashnode draft IDs in Airtable 💡 Need Help? Join the Discord or ask in the Forum!
by Robert Breen
This workflow looks inside a Google Drive folder, parses each PDF invoice with PDF.co’s AI Invoice Parser, and appends vendor, amount, dates, and a link to the file into a Google Sheet. ⚙️ Setup Instructions 1) Connect Google Drive (OAuth2) In n8n → Credentials → New → Google Drive (OAuth2) Sign in to the Google account that owns your invoice PDFs and allow access. In the Get Parent Folder ID node, set your search to the folder name (e.g., n8n Invoices). In Get Invoice ID’s, ensure Filter → folderId uses the ID from the previous node (already wired in this template). > Tip: The workflow builds a Drive link like > https://drive.google.com/file/d/<FILE_ID> > Make sure those files are at least viewable via link (e.g., Anyone with the link – Viewer) so PDF.co can fetch them. 2) Connect PDF.co (AI Invoice Parser) Create a PDF.co account and copy your API Key. In n8n → Credentials → New → PDF.co API, paste your key and Save. In the AI Invoice Parser node, keep URL mapped to the Drive link coming from Convert to URL. The node is already set to use your PDF.co credentials. > What it does: Sends each Drive file URL to PDF.co’s AI Invoice Parser and returns structured JSON (vendor, totals, dates, line items, etc.). The next Set Fields node maps those fields to simple columns for Sheets. 3) Connect Google Sheets (OAuth2) In n8n → Credentials → New → Google Sheets (OAuth2) Log in with your Google account and grant access. In the Store Data in Google Sheets node, select your Spreadsheet and Sheet (this template is set to: Spreadsheet: Invoice Template (1a6QBIQkr7RsZtUZBi87NwhwgTbnr5hQl4J_ZOkr3F1U) Tab: Due (gid: 1002294955) The node is configured to Append or Update by Url so repeats won’t duplicate. Expected columns on the Due tab: Url (Drive link we generated) Vendor Invoice Date Total Due Date ▶️ How to Run Put your PDF invoices in the “n8n Invoices” folder (or the folder name you used). Click Execute Workflow in n8n. Watch items flow: Get Parent Folder ID → finds folder Get Invoice ID’s → lists files in that folder Convert to URL → turns each file ID into a shareable link AI Invoice Parser → extracts JSON from each PDF Set Fields → maps fields for Sheets Store Data in Google Sheets → appends/updates the Due sheet 🧩 Troubleshooting PDF.co can’t fetch the file:* Ensure your Drive file link is accessible (e.g., *Anyone with the link – Viewer**), or use a URL that PDF.co can reach. No rows added:* Confirm the *Google Sheets* credential is selected and the *Sheet tab** (gid) matches your target. Wrong folder:* Update the search string in *Get Parent Folder ID** to match your Drive folder name. 📬 Contact Need help customizing this (e.g., auto-sharing Drive links, enriching the Sheet, or pushing to Slack/Email)? 📧 robert@ynteractive.com 🔗 Robert Breen 🌐 ynteractive.com
by Rosh Ragel
Ask Client for Billing Details and Automatically Generate an Invoice in QuickBooks What It Does This workflow allows you to quickly generate and send invoices by collecting missing billing details from clients through an automated form and email sequence. It integrates Microsoft Outlook and QuickBooks Online to handle the full billing flow: from request to invoice, reducing manual data entry and time wasted switching between apps. Perfect for freelancers, service providers, or teams that want to streamline invoicing without going back and forth with clients. Prerequisites Microsoft Outlook credential QuickBooks Online OAuth2 credential How It Works Trigger: Manually start the workflow by filling out a form with the client’s email, invoice amount, description, and product. Send Request Email: A pre-written email is sent to the client asking them to provide their billing details. Collect Info: The client submits their billing name and address via a hosted form. Add/Find Client in QuickBooks: If the client doesn't exist, a new record is created; otherwise, the existing client is used. Generate Invoice: A QuickBooks invoice is created using the submitted info and selected product. Send Invoice: The invoice is automatically emailed to the client using QuickBooks' native interface. Example Use Cases Freelancers requesting billing info before sending an invoice Small businesses invoicing new clients without manual QuickBooks entry Sales or ops teams who want to request billing info via email with just a few clicks Automating follow-up for new customer onboarding or service requests Setup Instructions Connect your Outlook and QuickBooks credentials Add your products to the dropdown list in the Enter Client Details node ⚠️ Make sure the product names exactly match the items in QuickBooks Select the tax code in the Create A New Invoice node Customize the email message in the Send Invoice Request Outlook node to reflect your brand voice How to Use Copy the public URL from the Enter Client Details node (this way you don't have to trigger the workflow manually inside n8n) Each time you need to invoice a client, open the form and fill in: Client’s email Product/service name Invoice amount and description The client receives an email prompting them to fill in their billing info Once submitted, the system creates and sends a QuickBooks invoice automatically Customization Options Add support for multiple line items Automatically send reminder emails if the form isn't completed within a day Add internal logging (Google Sheets, Airtable, etc.) for sent/paid invoices Why It's Useful This workflow removes friction from your billing process. Instead of chasing clients for info and copying data into QuickBooks, you send one email and automation does the rest. It saves time, reduces errors, and makes invoicing feel seamless — while still keeping you in control.