by Irfan Handoko
Pizza Ordering Chatbot with OpenAI - Menu, Orders & Status Tracking Introduction This workflow template is designed to automate order processing for a pizza store using OpenAI and n8n. The chatbot acts as a virtual assistant to handle customer inquiries related to menu details, order placement, and order status tracking. Features The chatbot provides an interactive experience for customers by performing the following functions: Menu Inquiry: When a customer asks about the menu, the chatbot responds with a list of available pizzas, prices, and additional options. Order Placement: If a customer places an order, the chatbot confirms order details, provides a summary, informs the customer that the order is being processed, and expresses gratitude. Order Status Tracking: If a customer asks about their order status, the chatbot retrieves details such as order date, pizza type, and quantity, providing real-time updates. Prerequisites Before setting up the workflow, ensure you have the following: OpenAI account** (Sign up here) OpenAI API key** to interact with GPT-3.5 n8n instance** running locally or on a server (Installation Guide) Configuration Steps Step 1: Set Up OpenAI API Credentials Log in to OpenAI's website. Navigate to API Keys under your account settings. Click Create API Key and copy the key for later use. Step 2: Configure OpenAI Node in n8n Open n8n and create a new workflow. Click Add Node and search for OpenAI. Select OpenAI from the list. In the OpenAI node settings, click "Create New" under the Credentials section. Enter a name for the credentials (e.g., "PizzaBot OpenAI Key"). Paste your API Key into the field. Click Save. Step 3: Set Up the Chatbot Logic Connect the AI Agent Builder Node to the OpenAI Node and HTTP Request Node. Configure the OpenAI Node with the following settings: Model: gpt-3.5-turbo Prompt: Provide dynamic text based on customer inquiries (e.g., "List available pizzas," "Place an order for Margherita pizza," "Check my order status"). Temperature: Adjust based on desired creativity (recommended: 0.7). Max Tokens: Limit response length (recommended: 150). Add multiple HTTP Request Node: For Get Products: Fetch stored menu data and return details. For Order Product: Capture order details, generate an order ID, and confirm with the customer. For Get Order: Retrieve order details based on the order ID and display progress. Step 4: Testing and Deployment Click Execute Workflow to test the chatbot. Open the Chat Message node, then copy the chat URL to access the chatbot in your browser. Interact with the chatbot by asking different queries (e.g., "What pizzas do you have?" or "I want to order a Pepperoni pizza"). Verify responses and adjust prompts or configurations as needed. Deploy the workflow and integrate it with a messaging platform (e.g., Telegram, WhatsApp, or a website chatbot). Conclusion This n8n workflow enables a fully functional pizza ordering chatbot using OpenAI's GPT-3.5. Customers can view menus, place orders, and track their order status efficiently. You can further customize the chatbot by refining prompts, adding new features, or integrating with external databases for order management. ๐ Happy automating!
by Agent Circle
This n8n template helps you automatically discover, analyze, and track trending topics and videos on YouTube using an AI-powered agent. Use cases are many: This workflow is perfect for YouTube creators needing fresh video ideas, digital marketers scouting new campaign topics, social media managers who want to catch trends early, and researchers who want to analyze whatโs viral. How It Works The workflow starts whenever a chat message is received (e.g., a trend question, a topic prompt, or a request for insights). Incoming chat is routed to the AI Agent โ Trend Explorer node: First, the agent triggers the Workflow โ YouTube Search tool to gather the latest trending topics and keywords from YouTube. Next, the agent supplies this real-time YouTube data to the OpenAI Chat Model for deep analysis, trend interpretation, and unique insights. To provide context-aware answers and track ongoing interests, the agent also references a Simple Memory module, recalling past queries, and user instructions. Finally, the result is a fast, data-driven, and smart trend report delivered instantly to your chat. How To Set Up Download the workflow package (including 2 .json files) and import it into your n8n interface. Set up necessary access in the following components of the AI Agent - Trend Explorer node: OpenAI Chat Model: allows API connection for trend insights. Workflow โ YouTube Search: searches for trending videos based on the query. Simple Memory (optional): enhances experience for ongoing sessions. Start by sending a chat message on n8n. Check the response from the AI agent in the same chat box. Ask follow-ups, explore deeper, or trigger new searches - all in one chat thread. Requirements n8n instance (self-hosted or cloud). Set up API access to OpenAI Chat Model for chat-based AI. How To Customize Connect to your favorite chat platforms**: Easily integrate with additional chat triggers such as Telegram, Slack, or your preferred messaging app. Choose your preferred AI model**: If you want a different viewpoint, simply swap OpenAI Chat Model for Google Gemini, Claude, or any compatible LLM model in your workflow. Upgrade memory for smarter conversations: For long-term recall or more advanced, context-aware chats, replace **Simple Memory with a vector database like Pinecone or Redis. Need Help? If youโd like this workflow customized to fit your tools and platforms availability, or if youโre looking to build a tailored AI Agent for your own business - please feel free to reach out to Agent Circle. Weโre always here to support and help you to bring automation ideas to life. Join our community on different platforms for support, inspiration and tips from others. Website: https://www.agentcircle.ai/ Etsy: https://www.etsy.com/shop/AgentCircle Gumroad: http://agentcircle.gumroad.com/ Discord Global: https://discord.gg/d8SkCzKwnP FB Page Global: https://www.facebook.com/agentcircle/ FB Group Global: https://www.facebook.com/groups/aiagentcircle/ X: https://x.com/agent_circle YouTube: https://www.youtube.com/@agentcircle LinkedIn: https://www.linkedin.com/company/agentcircle
by Yaron Been
Ndreca Hunyuan3d 2 Test AI Generator Description None Overview This n8n workflow integrates with the Replicate API to use the ndreca/hunyuan3d-2-test model. This powerful AI model can generate high-quality other content based on your inputs. Features Easy integration with Replicate API Automated status checking and result retrieval Support for all model parameters Error handling and retry logic Clean output formatting Parameters Required Parameters image** (string): Input image for generating 3D shape Optional Parameters seed** (integer, default: 1234): Random seed for generation steps** (integer, default: 50): Number of inference steps num_chunks** (integer, default: 200000): Number of chunks for mesh generation max_facenum** (integer, default: 40000): Maximum number of faces for mesh generation guidance_scale** (number, default: 5.5): Guidance scale for generation octree_resolution** (string, default: 512): Octree resolution for mesh generation remove_background** (boolean, default: True): Whether to remove background from input image How to Use Set up your Replicate API key in the workflow Configure the required parameters for your use case Run the workflow to generate other content Access the generated output from the final node API Reference Model: ndreca/hunyuan3d-2-test API Endpoint: https://api.replicate.com/v1/predictions Requirements Replicate API key n8n instance Basic understanding of other generation parameters
by Akhil Varma Gadiraju
Automated Daily Outlook Calendar Meeting Digest Overall Goal This workflow automatically runs at a scheduled time (daily at 8 AM by default), calculates the current day's date range, fetches all calendar events from a specified Microsoft Outlook account for that day, formats these events into a user-friendly HTML email, and then sends this digest to a designated email address. How it Works (Step-by-Step Breakdown): Node: Schedule Trigger (Schedule Trigger Node) Type:** n8n-nodes-base.scheduleTrigger Purpose:** Automatically starts the workflow at a predefined time. Configuration:** Rule > Interval > Trigger At Hour: 8 (Triggers every day at 8:00 AM according to the n8n server's timezone) Output:** Triggers the workflow execution at the scheduled time. Node: Code (Code Node) Type:** n8n-nodes-base.code Purpose:** Dynamically calculates the start and end timestamps for "today," based on when the workflow is triggered. Configuration (JS Code):** Gets the current date and time (workflow runtime). Sets today to beginning of current day (00:00:00). Sets tomorrow to beginning of next day (00:00:00). Converts these to ISO string format (e.g., 2023-10-27T00:00:00Z). Output:** JSON object with today and tomorrow ISO date strings. Node: Microsoft Outlook (Microsoft Outlook Node) Type:** n8n-nodes-base.microsoftOutlook Purpose:** Fetch calendar events from Outlook within the calculated date range. Configuration:** Resource: Event Filters (Custom): start/dateTime ge '{{$json.today}}' and start/dateTime lt '{{$json.tomorrow}}' (OData filter to fetch events starting on or after today and before tomorrow, i.e., all today's events.) Output:** List of event objects from Outlook. Node: Edit Fields (Set Node) Type:** n8n-nodes-base.set Purpose:** Transform and simplify the event data structure from Outlook. Configuration:** Maps fields from Outlook event to new field names: id subject description (from bodyPreview) meeting_start meeting_end attendees meeting_organizer meeting_organizer_email meeting_link Output:** List of JSON objects with simplified meeting details. Node: Generate HTML (Code Node) Type:** n8n-nodes-base.code Purpose:** Generate a single HTML email body summarizing all meetings and create the email subject line. Configuration (JS Code):** Processes all meeting items from "Edit Fields" node. Defines generateMeetingReminderEmail function to format each meeting into an HTML "card." Escapes HTML special characters, formats times, attendees, etc. Concatenates all cards into a full HTML document. Generates subject line (e.g., "๐๏ธ Your Meetings Today โ Friday, Oct 27"). Output:** JSON object with: { "subject": "email subject string", "html": "generated HTML content string" } Node: Send Email (Email Send Node) Type:** n8n-nodes-base.emailSend Purpose:** Send the generated HTML digest email to the designated recipient. Configuration:** From Email: test@gmail.com To Email: akhilgadiraju@gmail.com Subject: {{ $json.subject }} (dynamic from Generate HTML node) HTML: {{ $json.html }} (dynamic from Generate HTML node) Output:** Email sending status. Sticky Notes Update Time:** Near "Schedule Trigger" node; configure trigger time as needed. Update Email Details:** Near "Send Email" node; change sender and receiver email addresses. How to Customize It Schedule (Schedule Trigger node):** Modify the trigger hour, minutes, or days of week to change when the workflow runs. Date Range (Code node):** Adjust JS to change date range (e.g., next business day, upcoming week). Outlook Calendar (Microsoft Outlook node):** Specify Calendar ID or refine OData filters for event selection. Event Details (Edit Fields node):** Add/remove/modify event fields extracted. Email Appearance and Content (Generate HTML node):** Change CSS styling, meeting details, or subject line logic. No Meetings Scenario:** Use an "If" node after "Edit Fields" to handle no-meeting days (e.g., send "No meetings today!" email or skip email). Email Recipients (Send Email node):** Update "From" and "To" emails; multiple recipients separated by commas. Error Handling Use "Error Trigger" nodes to catch and handle failures (Outlook API, SMTP errors). Send alerts or log errors accordingly. Use Cases Automated Daily Personal Meeting Briefing:** Get daily email summaries of your meetings. Automated Team Meeting Digest:** Send daily team calendar digest emails. Proactive Daily Planning:** Automatically stay informed of your dayโs schedule. Required Credentials Add these credentials in your n8n instance under Credentials: Microsoft Outlook (OAuth2 API):** Used by: "Microsoft Outlook" node Credential Name in Workflow: Outlook (ID: JcYqVJwcwZIhB8oy) Requires OAuth2 with Calendars.Read permission. SMTP:** Used by: "Send Email" node Credential Name in Workflow: SMTP account (ID: vCexcphurglwGBfk) Requires SMTP server details (host, port, username, password). Ensure these credentials are configured correctly with required permissions. Activate the workflow for scheduled execution. Made with โค๏ธ using n8n by Akhil.
by Mobder
This workflow automatically connects to a Cloudflare R2 bucket (via S3-compatible API), filters out files older than 14 days, deletes them, and then sends a Telegram notification for each deletion. It runs on a daily schedule. ๐ Schedule Trigger Executes the workflow once a day at a specified hour (e.g., 9 AM). ๐ฆ S3 Node โ List Files Retrieves all objects from a specific folder (prefix) in a Cloudflare R2 bucket using the S3 API. ๐ Code Node โ Filter Files Older Than 2 Weeks Filters the retrieved files by comparing their LastModified timestamps to the current date. Files older than 14 days (2 weeks) are selected for deletion. ๐๏ธ S3 Node โ Delete File Deletes each filtered file from the R2 bucket. ๐จ Telegram Node โ Notify Deletion Sends a Telegram message with the name of the deleted file to a specified chat ID. The message includes:
by Lucas Walter
Who's it for This template is perfect for sales professionals, marketers, and business developers who need to quickly gather contact information from company websites. Whether you're building prospect lists, researching potential partners, or collecting leads for outreach campaigns, this automation saves hours of manual email hunting. What it does This workflow automatically discovers and extracts email addresses from any website by: Taking a website URL as input through a simple form Using Firecrawl's mapping API to find relevant pages (about, contact, team pages) Batch scraping those pages to extract email addresses Intelligently handling common email obfuscations like "(at)" and "(dot)" Returning a clean, deduplicated list of valid email addresses The automation handles rate limiting, retries failed requests, and filters out invalid or hidden email addresses to ensure you get quality results. How to set up Get Firecrawl API access: Sign up at firecrawl.dev and obtain your API key Configure credentials: In n8n, create a new HTTP Header Auth credential named "Firecrawl" with: Header Name: Authorization Header Value: Bearer YOUR_API_KEY Import the workflow: Copy the workflow JSON into your n8n instance Test the form: Activate the workflow and test with a sample website URL How to customize the workflow Search parameters: Modify the search parameter in the map_website node to target different page types (currently searches for "about contact company authors team") Extraction limits: Adjust the limit parameter to scrape more or fewer pages per website Retry logic: The workflow includes retry logic with a 12-attempt limit - modify the check_retry_count node to change this Output format: The set_result node formats the final output - customize this to match your preferred data structure Email validation: The JSON schema in start_batch_scrape defines how emails are extracted - modify the prompt or schema for different extraction rules The workflow is designed to be reliable and handle common edge cases like rate limiting and failed requests, making it production-ready for regular use.
by scrapeless official
Brief Overview This automation template helps you track the latest real estate listings from the LoopNet platform. By using Scrapeless to scrape property listings, n8n to orchestrate the workflow, and Google Sheets to store the results, you can build a real estate data pipeline that runs automatically on a weekly schedule. How It Works Trigger on a Schedule:** The workflow runs automatically every week (can be adjusted to every 6 hours, daily, etc.). Scrape Property Listings:** Scrapeless crawls the LoopNet real estate website and returns structured Markdown data. Extract & Parse Content:** JavaScript nodes use regex to parse property titles, links, sizes, year built from Markdown. Flatten Data:** Each property listing becomes a single row with structured fields. Save to Google Sheets:** Property data is appended to your Google Sheet for easy analysis, sharing, and reporting. Features No-code, automated real estate listing scraper. Scrapes and structures the latest commercial property listings (for sale or lease). Saves structured listing data directly to Google Sheets. Fully automated, scheduled scrapingโno manual scraping is required. Extensible: Add filters, deduplication, Slack/Email notifications, or multi-city scraping. Requirements Scrapeless API Key:** Sign up on the Scrapeless Dashboard. Go to Settings โ API Key Management โ Create API Key, then copy the generated key. n8n Instance:** Self-hosted or n8n.cloud account. Google Account:** For Google Sheets API access. Target Site:** This template is configured for LoopNet real estate listings but can be adapted for other property platforms like Crexi. Installation Deploy n8n on your preferred platform. Install the Scrapeless node from the community marketplace. Import this workflow JSON file into your n8n workspace. Create and add your Scrapeless API Key in n8nโs credential manager. Connect your Google Sheets account in n8n. Update the target LoopNet URL and Google Sheet details. Usage This automated real estate scraper is ideal for: | Industry / Role | Use Case | | ---------------------- | ----------------------------------------------------------------- | | Real Estate Agencies | Monitor new commercial properties and streamline lead generation. | | Market Research Teams | Track market dynamics and property availability in real-time. | | BI/Data Analysts | Automate data collection for dashboards and market insights. | | Investors | Keep tabs on the latest commercial property opportunities. | | Automation Enthusiasts | Example use case for learning web scraping + automation. | Output Example
by Akhil Varma Gadiraju
Bulk Contact Deletion from HubSpot via Uploaded Excel / CSV File This workflow allows you to automate the deletion of HubSpot contacts based on email addresses provided in an uploaded Excel (.xlsx) file. It's ideal for bulk-cleaning outdated or invalid contact data. โ Prerequisites Before using this workflow, ensure you have the following: A valid HubSpot App Token with permissions to search and delete contacts. An Excel (.xlsx) file with a column labeled emails containing the contact emails to be deleted. n8n self-hosted or cloud environment with: Webhook node enabled and accessible. HubSpot node credentials configured. Basic familiarity with n8n node configuration for custom adjustments (optional). ๐Sample Document Download ๐ง n8n Workflow: Delete HubSpot Contacts from an Uploaded Excel File This n8n workflow allows you to upload an Excel file containing contact email addresses. It will check each one in HubSpot and delete the contact if it exists. ๐ Workflow Overview ๐ฅ 1. Trigger via Webhook (POST) The workflow starts when a .xlsx file is uploaded via an HTTP POST request to the webhook. This Excel file should contain a column with contact email addresses. ๐ 2. Extract Data from Excel The uploaded file is parsed, and its rows are converted into structured JSON items, making each email address available for further processing. ๐งน 3. Normalize Data The data is cleaned and normalized โ for example, mapping column headers (e.g., emails) into a standard email field, ensuring consistent downstream logic. ๐ 4. Loop Through Contacts Each row (contact) is processed individually using batch looping. This allows for fine-grained error handling and sequential processing. ๐ 5. Search for Contact in HubSpot For each contact, a search query is made in HubSpot based on the email address. The workflow only fetches the first result (if any). ๐งช 6. Check if Contact Exists An IF condition checks whether the contact was found (i.e., if a HubSpot contact ID exists): โ Yes โ proceed to delete the contact. โ No โ skip deletion and continue to the next. ๐๏ธ 7. Delete Contact If a contact exists, it is deleted from HubSpot using its internal contact ID. ๐ ๏ธ 8. Optional Placeholder for Post-Processing A placeholder node named โReplace Meโ is included for any custom logic you may want to add after the deletion step, such as: Logging Notifications Writing to external storage โ Use Cases Bulk delete old or bounced email addresses from HubSpot. Clean up contacts based on external suppression lists. Automate regular CRM hygiene processes. ๐ก Suggested Enhancements โ๏ธ Log results to Google Sheets or a database ๐ฌ Send completion report via email or Slack ๐ Add retry logic for temporary API failures ๐ Validate email format before making requests ๐ Requirements n8n (self-hosted or cloud) HubSpot App Token (set up in n8n credentials) Excel file (.xlsx) with a column for email ๐ฆ Files No external files are required. All logic is contained within the n8n workflow. ๐ Getting Started Deploy the workflow in n8n. Copy the webhook URL and use it in your app or API client (like Postman). Upload an Excel file containing contact emails via POST request. Watch as it searches and deletes matches in HubSpot.
by Khairul Muhtadin
โ ๏ธ Disclaimer This workflow uses a community node: npm install n8n-nodes-supadata Please make sure to install this before running the workflow. ๐ Who is this for? This workflow is for anyone who wants quick summaries of YouTube videos, such as researchers, students, analysts, or busy professionals. Just send a video link via Telegram and receive a structured summary in secondsโno need to watch the entire video. ๐ง What problem is this workflow solving? Watching long videos to extract key information is time-consuming. This automation solves that by instantly: Fetching the full transcript of the video Summarizing the content with AI Sending a clean summary directly to Telegram for quick reading Itโs a fast and reliable way to stay informed without the overwhelm. โ๏ธ What this workflow does ๐ฌ Telegram Trigger Start by sending a YouTube link to your Telegram bot. ๐๏ธ Get Transcript (Supadata) Uses Supadata API to retrieve the full video transcript. ๐ง Summarize with OpenAI GPT-4o Processes the transcript using a structured prompt to extract: Main theme of the video Target audience Key insights and tips Problems discussed and solutions mentioned Notable quotes or highlights ๐จ Send to Telegram The final summary is formatted and sent back to your Telegram chat, ready for reading or saving. ๐ ๏ธ Requirements n8n instance (Cloud or self-hosted)** Supadata API Key OpenAI API Key Telegram Bot Token โ Output Example The Telegram summary includes: ๐ฏ Title and topic ๐ก Key learnings ๐ ๏ธ Tips or insights ๐จ Issues raised and solutions ๐ Quotes or highlights Just send a link, and get the core messageโfast. Perfect for learning on the go. ๐ง ๐ฒ Made by: Khaisa Studio Tag: youtube, summarizer, telegram, openai Category: AI Automation, Video Tools Need a custom? contact me on LinkedIn or Web
by Sascha
Campaign tracking is pivotal; it enables marketers to evaluate the efficacy of various strategies and channels. UTM parameters are particularly essential as they provide granular details about the source, medium, and campaign effectiveness. However, when this data is not automatically integrated into a centralized system, it can become a tedious and error-prone process to manually collate and analyze it. Retrieving UTM data from Shopify and storing it in Baserow enables oy to do more with this data. For example you could build a campaign database in Baserow and automatically add campaign revenue to it using this workflow template. This template will help you: Automatically retrieve UTM parameters from Shopify orders using the Shopify Admin API Process marketing data through n8n Store this data into Baserow, providing you with a dynamic, responsive base for campaign tracking and decision-making This template will demonstrate the follwing concepts in n8n: use the Schedule trigger node use the GraphQL node to call the Shopify Admin API split larger incoming datasets into n8n items with the Split node transform the data structure with the Set node control flow with the If node store data in Baserow with the Baserow node How to get started? Create a custom app in Shopify get the credentials needed to connect n8n to Shopify This is needed for the Shopify Trigger Create Shopify Acces Token API credentials n n8n for the Shopify trigger node Create Header Auth credentials: Use X-Shopify-Access-Token as the name and the Acces-Token from the Shopify App you created as the value. The Header Auth is neccessary for the GraphQL nodes. You will need a running Baserow instance for this. You can also sign up for a free account at https://baserow.io/ Please make sure to read the notes in the template. For a detailed explanation please check the corresponding video: https://youtu.be/VBeN-3129RM
by Afnan
This n8n workflow automates the process of finding, summarizing, and posting breaking news headlines on X (formerly Twitter). It combines Google Custom Search for finding the latest news articles with Groq's LLaMA 3 model to generate short, engaging headlines โ complete with hashtags โ and posts them on your X account. ๐ง Features Custom topic support (e.g., "AI", "health", "technology") Automated scheduling every few hours Google Custom Search to find the most recent news articles Groq LLaMA3-based headline generation with hashtags Auto-post to X (Twitter) Built-in credential separation for API keys and access tokens ๐ฆ Included Nodes Schedule Trigger Set (Set Topic, Google API Key, Custom Search CX, etc.) HTTP Request (Google Search API) Code Node (Format prompt and extract article data) HTTP Request (Groq API for headline generation) Twitter Node (Post to X) โ๏ธ How It Works (Step-by-Step) Trigger The workflow starts on a scheduled interval (default: every 5 hours, at a random minute within the hour). Set Topic You can define your own topic keyword (e.g., AI, mental health, climate change) by editing the Set Topic node. Build Search Query Constructs a Google search query like: latest {topic} news. Google API Config Injects your own Google API Key and Custom Search CX (replace the placeholders in the Google Config node). Search for News Performs a real-time search using Google Custom Search API and fetches the latest article result. Generate Prompt for AI A JavaScript Function node extracts the top articleโs title and link, formats it into a clean prompt including instructions to append hashtags. Groq AI Request Sends the prompt to Groqโs LLaMA 3 model to generate a concise, tweet-length headline with 1โ2 relevant hashtags. Post to Twitter (X) The generated headline is posted to your connected X account via the Twitter OAuth2 API. โ Requirements Google API Key Google Custom Search Engine (CX) Groq API Key Twitter Developer App with OAuth2 credentials ๐ก Customization Tips Change the topic in the Set Topic node to anything you like. Adjust the posting frequency in the Schedule Trigger node. Modify prompt behavior in the Function node to fit a specific tone or brand voice. Add logging, filtering, or multiple post variations as needed.
by Zacharia Kimotho
How to scrap emails from websites This workflow shows how to quickly build an Email scraping API using n8n. Email marketing is at the core of most marketing strategies, be it content marketing, sales, etc. As such, being able to find contacts in bulk for your business on a large scale is key. There are available tools available in the market that can do this, but most are premium; why not build a custom one with n8n? Usage The workflow gets the data from a website and performs an extraction based on the date around on the website Copy the webhook URL to your browser Add a query parameter eg ?Website=https://mailsafi.com . This should give you a URL like this {{$n8nhostingurl/webhook/ea568868-5770-4b2a-8893-700b344c995e?Website=https://mailsafi.com Click on the URL and wait for the extracted email to be displayed. This will return the email address on the website, or if there is no email, the response will be "workflow successfully executed." Make sure to use HTTP:// for your domains Otherwise, you may get an error.