by Jonathan
Task: Create a simple API endpoint using the Webhook and Respond to Webhook nodes Why: You can prototype or replace a backend process with a single workflow Main use cases: Replace backend logic with a workflow
by Robert Breen
Beginner AI Agent Duo: Lead‑Qualifier Task Automator & Ecommerce Chatbot Status: Ready for Use ✅ Note: This template is built entirely with official n8n nodes—no community‑node installation required. 📝 Description This template demonstrates two beginner‑friendly AI‑agent patterns that cover the most common use cases: | Agent | Purpose | Flow Highlights | |-------|---------|-----------------| | Lead‑Qualifier Task Automator | Classifies phone‑call transcripts to decide if the caller is a good bulk‑order lead. | Manual Trigger → Code (sample data) → AI Agent (GPT‑4o‑mini) → Structured Output Parser → Set (clean fields) | | Ecommerce Chatbot | Answers customer questions about products, bulk pricing, shipping, and returns. | Chat Trigger (webhook) → AI Agent (GPT‑4o‑mini) with Memory → If node → Order‑placed reply or no‑op | Both agents run on GPT‑4o‑mini and use n8n’s LangChain‑powered nodes for quick, low‑code configuration. ⚙️ How to Install & Run Import the Workflow In n8n, go to Workflows → Import from File or Paste JSON, then save. Add Your OpenAI API Key Go to Credentials → New → OpenAI API. Paste your key from <https://platform.openai.com>. Select this credential in both OpenAI Chat Model nodes. (Optional) Select a Different Model Default model is gpt‑4o‑mini. Change to GPT‑4o, GPT‑3.5‑turbo, or any available model in each OpenAI node. Test the Lead‑Qualifier Agent Click Activate. Press Test workflow. The Code node feeds four sample transcripts; the AI Agent returns JSON like: { "Name": "Jordan Lee", "Is Good Lead": "Yes", "Reasoning": "Customer requests 300 custom mugs, indicating a bulk order." } Test the Ecommerce Chatbot Copy the Webhook URL from the When chat message received trigger. POST a payload like: { "message": "Hi, do you offer discounts if I buy 120 notebooks?" } The AI Agent replies with bulk‑pricing info. If the customer confirms an order, it appends *; the If node then sends “Your order has been placed”. 🧩 Customization Ideas Refine Qualification Logic** Edit the Task Agent’s system prompt to match your own lead criteria. Save Leads Automatically** Add Google Sheets, Airtable, or a database node after the Set node. Expand the Chatbot** Connect inventory APIs, payment gateways, or CRM integrations. Adjust Memory Length* Change the *Simple Memory node’s window to retain more conversation context. 🤝 Connect with Me Description I’m Robert Breen, founder of Ynteractive — a consulting firm that helps businesses automate operations using n8n, AI agents, and custom workflows. I’ve helped clients build everything from intelligent chatbots to complex sales automations, and I’m always excited to collaborate or support new projects. If you found this workflow helpful or want to talk through an idea, I’d love to hear from you. Links 🌐 Website: https://www.ynteractive.com 📺 YouTube: @ynteractivetraining 💼 LinkedIn: https://www.linkedin.com/in/robert-breen 📬 Email: rbreen@ynteractive.com
by digi-stud.io
Airtable Hierarchical Record Fetcher Description This n8n workflow retrieves an Airtable record along with its related child records in a hierarchical structure. It can fetch up to 3 levels of linked records and assembles them into a comprehensive JSON object, making it ideal for complex data relationships and nested record structures. Features Multi-level Record Fetching**: Retrieves parent record, linked child records (level 2), and optionally grandchild records (level 3) API Call Optimization**: Uses Airtable's filterByFormula to minimize API calls by fetching multiple related records in single requests Selective Level 3 Fetching**: Only fetches level 3 records for specified linked fields to optimize performance Rich Text Processing**: Converts Airtable's pseudo-markdown rich text fields to HTML format Hierarchical JSON Output**: Organizes all data in a structured, nested JSON format Flexible Configuration**: Customizable depth and field selection per execution Input Parameters The workflow accepts a JSON array with the following structure: [ { "base_id": "appN8nPMGoLNuzUbY", "table_id": "tblLVOwpYIe0fGQ52", "record_id": "reczMh1Pp5l94HdYf", "level_3": [ "fldRaFra1rLta66cD", "fld3FxCaYk8AVaEHt" ], "to_html": true } ] Parameter Details | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | base_id | string | Yes | Airtable base identifier | | table_id | string | Yes | Airtable table identifier for the main record | | record_id | string | Yes | Airtable record identifier to fetch | | level_3 | array | No | Array of field IDs from level 2 records for which to fetch level 3 children | | to_html | boolean | No | Convert rich text fields from pseudo-markdown to HTML (default: false). This requires marked npm package. | Output Structure The workflow returns a hierarchical JSON object with the following structure: { "id": "recXXXXXXX", "field_1": ..., "field_2": ..., "level2_child": [ { "id": "recXXXXXXX", "field_a": ..., "field_b": ..., "level3_child": [ { "id": "recXXXXXXX", "field_y": ..., "field_z": ..., }, ... ] }, ... ] } `
by Caio Garvil
Automate Colombian Cashflow Data Extraction to Google Sheets with AI Who’s it for This workflow is designed for finance professionals, accountants, small business owners in Colombia, or anyone needing to automate the extraction of invoice data and its entry into Google Sheets. It's particularly useful for handling Colombian tax and legal specifics. How it works / What it does This workflow automates the process of extracting critical data from invoices and receipts (PDFs and JPEGs) and organizing it in a Google Sheet: Triggers:** The workflow initiates when a new file is created or an existing file is updated in a designated Google Drive folder. File Handling:** It first downloads the detected file. Routing:** A "Switch" node intelligently routes the file based on its extension – one path for PDFs and another for JPEGs. Data Extraction:** For PDF files, it directly extracts all text content from the document. For JPEG image files, it utilizes an AI Agent (Azure OpenAI) to process the image and extract its textual content. AI-Powered Reasoning:** Two "Reasoning Agent" nodes (Azure OpenAI Chat Models) act as a specialized "Colombian Tax and Legal Extraction Agent". They parse the extracted text from invoices to pull out structured data in JSON format, including: Vendor name. Modification date. Line items with detailed description, sub_total, iva_value, total_amount, category, and sub_category. Specific Colombian tax fields like Retefuente and ReteICA. The number of items generated. Output Parsing:** A "Structured Output Parser" node ensures that the AI's output strictly adheres to a predefined JSON schema, guaranteeing consistent data formatting. Data Preparation:** "Edit Field" nodes ensure the AI's extracted data is in a valid format. Item Splitting:** "Split data" nodes separate the 'items' array from the AI's output, allowing each individual line item from the invoice to be processed as a separate entry for the Google Sheet. Google Sheet Integration:** Finally, "Fill Template" nodes append the fully processed invoice data (per line item) into your designated Google Sheet. How to set up Google Drive Credentials: Ensure you have configured your Google Drive OAuth2 API credentials in n8n. Azure OpenAI Credentials: Set up your Azure OpenAI API credentials, ensuring access to models like gpt-4o. Or you can simply use your traditional OpenAI or others LLMs. Google Sheets Credentials: Configure your Google Sheets OAuth2 API credentials. Google Drive Folder ID: In the "1a. Updated file trigger" and "1b. Created file trigger" nodes, update the folderToWatch parameter with your specific Google Drive Folder ID. Google Sheet ID and Sheet Name: In the "8. Fill Template" and "8. Fill Template1" nodes, update the documentId and sheetName parameters with your specific Google Sheet ID and the name of the sheet where data should be appended. Requirements An active n8n instance. A Google Drive account for file uploads. A Google Sheets account for data storage. An Azure OpenAI account with access to chat models (e.g., gpt-4o) for the "Azure OpenAI Chat Model" nodes and "Extract Data Agent". How to customize the workflow AI Extraction Prompts:** Modify the prompt instructions in the "5. Reasoning Agent" and "5. Reasoning Agent1" nodes if you need to extract different data points or change the output format. Google Sheet Column Mappings:** Adjust the columns mapping in the "8. Fill Template" and "8. Fill Template1" nodes to match your specific Google Sheet headers and data requirements. File Types:** Extend the "3. Route" node to handle additional file types (e.g., DOCX, PNG) by adding new conditions and corresponding extraction nodes.
by WeblineIndia
This n8n workflow automatically sends a Telegram message whenever a new event is added to Google Calendar. It extracts key event details such as event name, description, event creator, start date, end date, and location and forwards them to a specified Telegram chat. This ensures you stay updated on all newly scheduled events directly from Telegram. Prerequisites Before setting up the workflow, ensure the following: Google Account with Google Calendar Access: The Google Calendar API must be enabled. Telegram Bot: Create a bot using BotFather on Telegram. Telegram Chat ID: Retrieve the Chat ID (personal chat or group). Use OAuth2 for Google Calendar and a Bot Token for Telegram. Steps Step 1: Google Calendar Trigger Node (Event Created Event) Click "Add Node" and search for Google Calendar. Select "Google Calendar Trigger" and add it to the workflow. Authenticate with your Google Account. Select "Event Created" as the trigger type. Choose the specific calendar to monitor. Click "Execute Node" to test the connection. Click "Save". Step 2: Telegram Node (Send Message Action) Click "Add Node" and search for Telegram. Select "Send Message" as the action. Authenticate using your Telegram Bot Token. Set the Chat ID (personal or group chat). Format the message using details from Google Calendar Trigger and set the message in text. Click "Execute Node" to test. Click "Save". Step 3: Connect & Test the Workflow Link Google Calendar Trigger → Telegram Send Message. Execute the workflow manually. Create a test event in Google Calendar. Check Telegram to see if the event details appear. n8n Workflow Created by WeblineIndia This workflow is built by the AI development team at WeblineIndia. We help businesses automate processes, reduce repetitive work, and scale faster. Need something custom? You can hire AI developers to build workflows tailored to your needs.
by Tom
This workflow provides a simple approach to counting the items returned by a node. It uses a Set node with the Execute Once option: The expression uses $input.all() (documented here) to fetch all incoming items at once, and .length (documented for example here) to count them.
by Omer Fayyaz
AI Recipe Generator from Pantry Items using FatSecret API This workflow creates an intelligent WhatsApp cooking assistant that transforms pantry ingredients into personalized recipe suggestions using AI and the FatSecret Recipes API What Makes This Different: AI-Powered Recipe Discovery** - Uses Google Gemini AI to understand user intent and dietary preferences Smart Ingredient Analysis** - Automatically extracts ingredients, dietary restrictions, and cooking constraints FatSecret API Integration** - Leverages comprehensive recipe database with nutritional information WhatsApp Native Experience** - Seamless chat interface for recipe discovery Contextual Memory** - Remembers conversation context for better user experience Intelligent Parameter Mapping** - AI automatically maps user requests to API parameters Key Benefits of AI-Driven Architecture: Natural Language Understanding** - Users can describe what they have in plain English Personalized Recommendations** - Considers dietary restrictions, time constraints, and preferences Eliminates Manual Search** - No need to manually input specific ingredients or filters Scalable Recipe Database** - Access to thousands of recipes through FatSecret API Conversational Interface** - Natural chat flow instead of form-based inputs Smart Context Management** - Remembers previous requests for better follow-up suggestions Who's it for This template is designed for food delivery services, meal planning apps, nutritionists, cooking enthusiasts, and businesses looking to provide intelligent recipe recommendations. It's perfect for companies who want to engage customers through WhatsApp with personalized cooking assistance, helping users discover new recipes based on available ingredients and preferences. How it works / What it does This workflow creates an intelligent WhatsApp cooking assistant that transforms simple ingredient lists into personalized recipe suggestions. The system: Receives WhatsApp messages through webhook triggers Analyzes user input using Google Gemini AI to extract ingredients, dietary needs, and preferences Maps user requests to FatSecret API parameters automatically Searches recipe database based on extracted criteria (ingredients, calories, time, cuisine, etc.) Processes API results to format recipe suggestions with images and nutritional info Maintains conversation context using memory buffer for better user experience Sends formatted responses back to users via WhatsApp Key Innovation: AI-Powered Parameter Extraction - Unlike traditional recipe apps that require users to fill out forms or select from predefined options, this system understands natural language requests and automatically maps them to the appropriate API parameters, making recipe discovery as simple as texting a friend. How to set up 1. Configure WhatsApp Business API Set up WhatsApp Business API credentials Configure webhook endpoints for message reception Set up phone number ID and recipient handling Ensure proper message sending permissions 2. Configure Google Gemini AI Set up Google Gemini (PaLM) API credentials Ensure proper API access and quota limits Configure the AI model for recipe-related conversations Test the AI's understanding of cooking terminology 3. Configure FatSecret API Set up FatSecret OAuth2 API credentials Ensure access to the Recipes Search v3 endpoint Configure proper authentication and rate limiting Test API connectivity and response handling 4. Set up Memory Management Configure the memory buffer for conversation context Set appropriate session key mapping for user identification Adjust context window length based on expected conversation depth Test memory persistence across multiple messages 5. Test the Integration Send test messages through WhatsApp to verify end-to-end functionality Test various ingredient combinations and dietary restrictions Verify recipe suggestions are relevant and properly formatted Check that context memory works across multiple interactions Requirements WhatsApp Business API** account with webhook capabilities Google Gemini AI** API access for natural language processing FatSecret API** credentials for recipe database access n8n instance** with proper webhook and HTTP request capabilities Active internet connection** for real-time API interactions How to customize the workflow Modify Recipe Search Parameters Adjust the number of results returned (currently set to 5) Add more filtering options (cuisine types, cooking methods, difficulty levels) Implement pagination for browsing through more recipe options Add sorting preferences (newest, oldest, calorie-based, popularity) Enhance AI Capabilities Train the AI on specific dietary restrictions or cuisine preferences Add support for multiple languages Implement recipe rating and review integration Add nutritional goal tracking and meal planning features Expand Recipe Sources Integrate with additional recipe APIs (Spoonacular, Edamam, etc.) Add support for user-generated recipes Implement recipe bookmarking and favorites Add shopping list generation from selected recipes Improve User Experience Add recipe step-by-step instructions Implement cooking timer and progress tracking Add recipe sharing capabilities Implement user preference learning over time Business Features Add recipe monetization options Implement affiliate marketing for ingredients Add restaurant delivery integration Implement meal kit subscription services Key Features Natural language processing** - Understands cooking requests in plain English Intelligent parameter mapping** - AI automatically extracts search criteria Comprehensive recipe database** - Access to thousands of recipes via FatSecret API WhatsApp native interface** - Seamless chat experience for recipe discovery Contextual memory** - Remembers conversation history for better recommendations Dietary restriction support** - Handles allergies, preferences, and special diets Nutritional information** - Provides calorie counts and macro details Image integration** - Shows recipe photos when available Technical Architecture Highlights AI-Powered Processing Google Gemini integration** - Advanced natural language understanding Smart parameter extraction** - Automatic mapping of user requests to API calls Contextual memory** - Conversation history management for better user experience Intelligent fallbacks** - Graceful handling of unclear or incomplete requests API Integration Excellence FatSecret Recipes API** - Comprehensive recipe database with nutritional data OAuth2 authentication** - Secure and reliable API access Parameter optimization** - Efficient API calls with relevant search criteria Response processing** - Clean formatting of recipe suggestions WhatsApp Integration Webhook-based triggers** - Real-time message reception Message formatting** - Clean, readable recipe presentations User identification** - Proper session management for multiple users Error handling** - Graceful fallbacks for failed operations Performance Optimizations Efficient API calls** - Single request per user message Memory management** - Optimized conversation context storage Response caching** - Reduced API calls for repeated requests Scalable architecture** - Handles multiple concurrent users Use Cases Food delivery platforms** requiring recipe recommendation engines Meal planning services** needing ingredient-based recipe discovery Nutrition and wellness apps** requiring dietary-specific suggestions Cooking schools** offering personalized recipe guidance Grocery stores** helping customers plan meals around available ingredients Restaurant chains** providing recipe inspiration for home cooking Health coaches** offering personalized meal suggestions Social cooking communities** sharing recipe ideas and inspiration Business Value Customer Engagement** - Interactive recipe discovery increases user retention Personalization** - AI-driven recommendations improve user satisfaction Operational Efficiency** - Automated recipe suggestions reduce manual support Revenue Generation** - Recipe recommendations can drive ingredient sales Brand Differentiation** - AI-powered cooking assistant sets services apart Data Insights** - User preferences provide valuable market intelligence Scalability** - Handles multiple users simultaneously without performance degradation This template revolutionizes recipe discovery by combining the power of AI natural language processing with comprehensive recipe databases, creating an intuitive WhatsApp experience that makes cooking inspiration as simple as having a conversation with a knowledgeable chef friend.
by Wolfgang Renner
🧠 Business Card Scanner – Automate Contact Extraction This workflow automates the process of extracting contact details from business cards (PDF or image) and saving them directly into an n8n Data Table. No more manual data entry — just upload a card and let AI do the rest. ⚙️ How It Works Upload the business card via a web form (PDF or image). The uploaded file is converted to Base64 for processing. The Base64 data is sent to the Mistral OCR API, which extracts text from the image. The OCR output is parsed into JSON. An AI Agent (OpenAI GPT-4o-mini) interprets the extracted text and converts it into structured business card information (e.g., name, company, email, phone). The Structured Output Parser validates and aligns the data with a predefined schema. The workflow upserts (inserts or updates) the contact details into an n8n Data Table named business cards, using the email address as the unique identifier. ✅ Result: Seamless digitization of business cards into structured, searchable contact data. 🧩 Prerequisites Before importing the workflow, make sure you have the following: n8n Instance with access to the Data Table feature OpenAI Platform account and API key (configured in n8n) Mistral AI account and API key (configured in n8n) 🛠️ Setup Steps Import the Workflow Download and import the JSON file into your n8n instance. Create a Data Table Name it business_cards (or adjust the workflow accordingly). Add the following fields: firstname name company jobdescription phone mobil email street postcode place web Configure API Credentials Mistral OCR API → Add your API key under HTTP Bearer Auth. OpenAI API → Add your API key under OpenAI Credentials. Model: gpt-4o-mini (recommended for speed and low cost). Activate the Web Form Trigger Enable the trigger node to make the business card upload form accessible via a public URL. Test the Workflow Upload a sample business card. Confirm that extracted contact data automatically appears in your Data Table. 💡 Example JSON Output { "firstname": "Anna", "name": "Müller", "company": "NextGen Tech GmbH", "jobdescription": "Head of Marketing", "email": "anna.mueller@nextgen.tech", "phone": "+49 821 1234567", "mobil": "+49 170 9876543", "street": "Schillerstraße 12", "postcode": "86150", "place": "Augsburg", "web": "https://nextgen.tech" }
by Eduard
The workflow starts by listening for messages from Telegram users. The message is then processed, and based on its content, different actions are taken. If it's a regular chat message, the workflow generates a response using the OpenAI API and sends it back to the user. If it's a command to create an image, the workflow generates an image using the OpenAI API and sends the image to the user. If the command is unsupported, an error message is sent. Throughout the workflow, there are additional nodes for displaying notes and simulating typing actions.
by Rahi
WABA Message Journey Flow Documentation This document outlines the automated workflow for sending WhatsApp messages to contacts, triggered hourly and managed through disposition and message count logic. The workflow is designed to ensure contacts receive messages based on their status and the frequency of previous interactions. Trigger and Data Retrieval The journey begins with a time-based trigger and data retrieval from the Supabase contacts table. Trigger: A "Schedule Trigger3" node initiates the workflow every hour. This ensures that the system regularly checks for contacts requiring messages. Get Contacts: The "Get many rows1" node (Supabase) then retrieves all relevant contact data from the contacts_ampere table in Supabase. This brings in contact details such as name, phone, Disposition, Count, and last_message_sent. Disposition-Based Segregation After retrieving the contacts, the workflow segregates them based on their Disposition status. Disposition Switch: The "Disposition Switch" node acts as the primary routing mechanism. It evaluates the Disposition field of each contact and directs them to different branches of the workflow based on predefined categories. Case 0: new_lead: Contacts with the disposition new_lead are routed to the "Count Switch" for further processing. Cases 1-4: The workflow also includes branches for test_ride, Booking, walk_in, and Sale dispositions, though the detailed logic for these branches is not fully laid out in the provided JSON beyond the switch nodes ("Switch2", "Switch3", "Switch4", "Switch5"). The documentation focuses on the new_lead disposition's detailed flow, which can be replicated for others. Message Count Logic (for new_lead Disposition) For contacts identified as new_lead, the workflow uses a "Count Switch" to determine which message in the sequence should be sent. Count Switch: This node evaluates the Count field for each new_lead contact. This Count likely represents the number of messages already sent to the contact within this specific journey. Count = 0: Directs to "Loop Over Items1" (first message in sequence). Count = 1: Directs to "Loop Over Items2" (second message in sequence). Count = 2: Directs to "Loop Over Items3" (third message in sequence). Count = 3: Directs to "Loop Over Items4" (fourth message in sequence). Looping and Interval Check Each "Loop Over Items" node processes contacts in batches and incorporates an "If Interval" check (except for Loop Over Items1). Loop Over Items (e.g., "Loop Over Items1", "Loop Over Items2", "Loop Over Items3", "Loop Over Items4"): These nodes iterate through the contacts received from the "Count Switch" output. Interval Logic: "If Interval" (for Count = 1 from "Loop Over Items2"): Checks if the interval is greater than or equal to 4. This interval value is handled by a separate Supabase cron job, which updates it every minute based on Current time - last api hit time in hours. "If Interval1" (for Count = 2 from "Loop Over Items3"): Checks if the interval is exactly 24 hours. "If2" (for Count = 3 from "Loop Over Items4"): Checks if the interval is exactly 24 hours. Sending WhatsApp Messages If a contact passes the interval check (or immediately for Count = 0), a WhatsApp message is sent using the Gallabox API. HTTP Request Nodes (e.g., "new_lead_0", "new_lead_", "new_lead_3", "new_lead_2"): These nodes are responsible for sending the actual WhatsApp messages via the Gallabox API. They are configured with: Method: POST URL: https://server.gallabox.com/devapi/messages/whatsapp Authentication: apiKey and apiSecret are used in the headers. Body: Contains channelId, channelType (whatsapp), and recipient (including name and phone). WhatsApp Message Content: Includes type: "template" and templateName (e.g., testing_rahi, wu_2, testing_rahi_1). The bodyValues dynamically insert the contact's name and other details. Some messages also include buttonValues for quick replies (e.g., "Show me Brochure"). Logging and Updating Contact Status After a message is sent (or attempted), the workflow logs the interaction and updates the contact's record. Create Logs (e.g., "Create Logs", "Create Logs1", "Create Logs2", "Create Logs3"): These Supabase nodes record details of the message send attempt into the logs_nurture_ampere table. This includes: message_id (from the Gallabox API response body) phone and name of the contact disposition and mes_count (which is Count + 1 from the contacts table) last_sent (timestamp from Gallabox API response headers) status_code and status_message (from Gallabox API response or error). These nodes are configured to "continueRegularOutput" on error, meaning the workflow will attempt to proceed even if logging fails. Status Code Check (e.g., "If StatusCode", "If StatusCode 202", "If StatusCode 203", "If StatusCode 204"): Immediately after attempting to create a log, an "If" node checks if the status_code from the message send attempt is "202" (indicating acceptance by the messaging service). Update Contact Row (e.g., "Update a row1", "Update a row2", "Update a row3", "Update a row4"): If the status code is 202, these Supabase nodes update the contacts_ampere table for the specific contact. The Count for the contact is incremented by 1 (Count + 1). The last_message_sent field is updated with the date from the Gallabox API response headers. These nodes are also configured to "continueRegularOutput" on error. This structured flow ensures that contacts are nurtured through a sequence of WhatsApp messages, with each interaction logged and the contact's status updated for future reference and continuation of the journey.
by Juan Carlos Cavero Gracia
This automation template is an AI-powered booking agent that schedules property viewings and reserves restaurant tables for you, all coordinated through Telegram. It checks your calendar to avoid conflicts, places the calls on your behalf, negotiates times, confirms details, and delivers a crisp summary back to Telegram—hands-free. Note: This workflow uses a voice-calling provider for outbound calls, your calendar for availability, and Telegram for notifications. Usage costs depend on your telephony provider, call duration, and any API usage.* Who Is This For? Home Buyers & Renters:** Queue up and confirm viewings without calling around. Real Estate Agents & Property Managers:** Automate client viewing scheduling and confirmations. Relocation Specialists & Assistants:** Coordinate multi-property tours with calendar-aware logic. Busy Professionals:** Let AI handle restaurant bookings and post-viewing meals. Concierge & Ops Teams:** Standardize bookings with structured logs and Telegram updates. What Problem Does This Workflow Solve? Scheduling property viewings and restaurant tables often means endless calls, conflicts, and coordination. This workflow removes the friction by: AI Phone Calls on Your Behalf:** Natural voice calls to agents/venues to secure slots. Calendar-Aware Booking:** Checks your real-time availability and avoids overlaps. Preference Handling:** Location, budget, party size, time windows, language, and notes. Instant Telegram Summaries:** Clear outcomes (confirmed, waitlist, action needed) and quick next steps. Scalable Coordination:** Handles multiple properties and dining options with fallback logic. How It Works Intent Capture (Telegram): You send a simple message (e.g., “Viewings tomorrow 17:00–20:00, Eixample, 2-bed; table for 4 at 21:30 near there”). Calendar Check: Reads free/busy blocks and suggests viable windows or alternatives. AI Calling: Places outbound calls to listing agents/restaurants, negotiates slots, and confirms. Result Parsing: Extracts confirmed time, address, contact name, reservation name, and special instructions. Telegram Delivery: Sends a concise recap plus optional quick-reply buttons (confirm/cancel/map/nav). Optional Calendar Hold: Adds confirmed bookings to your calendar and blocks time. Logging (Optional): Writes outcomes to a sheet/database for tracking and analytics. Setup Telephony Provider: Connect your AI calling service (API key). Configure voice/language. Calendar Access: Link Google Calendar (or similar). Grant read (and optionally write) access. Telegram Bot: Create a bot with BotFather and add the bot token to credentials. Environment/Credentials: Store calling API token, calendar credentials, Telegram token in n8n. Preferences: Set defaults for viewings (areas, price range, time windows) and dining (party size, cuisine, budget). Test Run: Trial a single booking to verify calling, calendar sync, and Telegram delivery. Requirements Accounts:** n8n, telephony provider, calendar account, Telegram bot. API Keys:** Telephony API token, Calendar credentials, Telegram bot token. Permissions:** Calendar read (and write if auto-blocking); outbound calls enabled. Budget:** Telephony per-minute fees and minor API costs where applicable. Features Dual-Domain Booking:** Property viewings + restaurant tables in one flow. Calendar Intelligence:** Checks conflicts and proposes best-fit time slots. Telegram-Native UX:** Simple prompts, instant confirmations, and quick actions. Preference Profiles:** Time windows, neighborhoods, max budget, language, and notes. Fallbacks & Alternatives:** Suggests nearby times/venues if first choice is unavailable. Multilingual Voice:** Configure voice and language to match region/venue. Structured Logs:** Optional recording of outcomes for reporting and audits. Extensible:** Add CRM, maps, SMS, or payment links as needed. Automate your day from tours to tables: message your intent on Telegram, and let the AI book, confirm, and keep your calendar clean—so you just show up on time.
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.