by n8n Team
This workflow performs several data integration and synchronization tasks between Google Sheets and a MySQL database. Here is a step-by-step description of what this workflow does: Manual Trigger: The workflow starts when the user clicks "Execute Workflow." Schedule Trigger: This node schedules the workflow to run at specific intervals on weekdays (Monday to Friday) between 6 AM and 10 PM. It ensures regular data synchronization. Google Sheet Data: This node connects to a specific Google Sheets document and retrieves data from the "Form Responses 1" sheet, filtering by the "DB Status" column. SQL Get inquiries from Google: This node retrieves data from a MySQL database table named "ConcertInquiries" where the "source_name" is "GoogleForm." Rename GSheet variables: This node renames the columns retrieved from Google Sheets and transforms the data into a format suitable for MySQL, assigning a value for "source_name" as "GoogleForm." Compare Datasets: This node compares the data retrieved from Google Sheets and the MySQL database based on timestamp and source_name fields. It identifies changes and updates. No reply too long?: This node checks if there has been no reply within the last four hours, using the "timestamp" field from the Google Sheets data. DB Status assigned?: This node checks if the "DB Status" field is not empty in the compared dataset. Update GSheet status: If conditions are met in the previous nodes, this node updates the "DB Status" field in Google Sheets with the corresponding value from the MySQL dataset. DB Status in sync?: This node checks if the "source_name" field in Google Sheets is not empty. Sync MySQL data: If conditions are met in the previous nodes, this node updates the "source_name" field in the MySQL database to "GoogleFormSync." Send Notifications: If conditions are met in the "No reply too long?" node, this node sends notifications or performs actions as needed. Sticky Notes: These nodes provide additional information and documentation links for users.
by Eska
Deadlock Match Stats Bot is an automated workflow for n8n designed to send detailed player statistics from the most recent Deadlock match directly to Telegram. When the user sends the /match command to the Telegram bot, the workflow performs the following steps: Loads the HTML content of the player's profile page from deadlocktracker.gg using a preconfigured Steam ID. Extracts the most recent match ID using a regular expression from the embedded JavaScript data. Loads the HTML page for the specified match. Parses the match page using cheerio to extract relevant data for each player, including their nickname, selected hero, and current rank. Formats the collected information into a single message and sends it to the Telegram chat that issued the command.
by Akhil Varma Gadiraju
📬 N8N Contact Form Workflow: Capture, Notify via Email, and Redirect with Confirmation/Error Handling This n8n workflow facilitates contact form submissions through a customizable form that sends an email notification to support and redirects users based on the submission outcome. It is ideal for embedding a functional "Contact Us" form on websites with automated email notifications. ✨ Features Collects first name, last name, email, company name, and a message Sends formatted email notification to the support team Displays success or error confirmation to the user Customizable UI and form behavior Error fallback handling with user-friendly feedback 🧩 Nodes Overview 1. On form submission (Trigger) Type:** formTrigger Displays the contact form to users and triggers the workflow on submission. 2. Send Email to Support Type:** emailSend Sends an HTML email to a support address with the form details. Uses an SMTP credential for sending. 3. If Email Sent Type:** if Checks if the email was sent successfully using the existence of messageId. 4. Confirmation Form Type:** form Displays a “Thank You” HTML message after a successful submission. 5. Redirect Form Type:** form Redirects the user to a specified URL (e.g., LinkedIn profile). 6. Form (Error) Type:** form Displays an error message if email delivery fails. 7. NoOp Nodes End (Success)* and *End (Error)** to mark flow terminations cleanly. ⚙️ Customization Options Change the form fields, title, or descriptions in the formTrigger node. Update the email body or subject in the emailSend node. Redirect to a different URL by editing the Redirect Form node. Modify success and error UI with HTML content in the Confirmation Form and Form. 🧠 Use Cases Website "Contact Us" form integration Lead generation forms for businesses Customer service inquiry collection Feedback or support ticket system 🚀 How to Use Import this workflow into your n8n instance. Configure SMTP credentials for the emailSend node. Publish the formTrigger endpoint (e.g., /contact-us) publicly or embed in your website. Test submission and confirm email delivery and redirects. 🔐 Notes Ensure SMTP credentials are correctly configured in n8n. Make sure your n8n webhook URLs are reachable from your website or frontend. Made with ❤️ using n8n by Akhil.
by WeblineIndia
This smart automation workflow created by the AI development team at WeblineIndia, helps with the daily collection and storage of weather data. Using the OpenWeatherMap API and Airtable, this solution gathers vital weather details such as temperature, humidity, and wind speed. The automation ensures daily updates, creating a dependable historical record of weather patterns for future reference and analysis. Steps: Set Schedule Trigger Configure a Cron node to trigger the workflow daily, for example, at 7 AM. Fetch Weather Data (HTTP Request) Use the HTTP Request node to retrieve weather data from the OpenWeatherMap API. Include your API key and query parameters (e.g., q=London, unit=metric) to specify the city and desired units. Parse Weather Data Utilize a JSON Parse node to extract key weather details, such as temperature, humidity, and wind speed, from the API response. Store Data in Airtable Use the Airtable node to insert the parsed data into the designated Airtable table. Ensure proper mapping of fields like temperature, humidity, and wind speed. Save and Execute Save the workflow and activate it to ensure weather data is fetched and stored automatically every day. Outcome This robust solution, developed by WeblineIndia, reliably collects and archives daily weather data, providing businesses and individuals with an accessible record of weather trends for analysis and decision-making. About WeblineIndia We specialize in creating custom automation solutions and innovative software workflows to help businesses streamline operations and achieve efficiency. This weather data fetcher is just one example of our expertise in delivering value through technology.
by digi-stud.io
Adobe developer API Did you know that Adobe provides an API to perform all sort of manipulation on PDF files : Split PDF, Combine PDF OCR Insert page, delete page, replace page, reorder page Content extraction (text content, tables, pictures) ... The free tier allows up to 500 PDF operation / month. As it comes directly from Adobe, it works often better than other alternatives. Adobe documentation: https://developer.adobe.com/document-services/docs/overview/pdf-services-api/howtos/ https://developer.adobe.com/document-services/docs/overview/pdf-extract-api/gettingstarted/ What does this workflow do The API is a bit painful to use. To perform a transformation on a PDF it requires to Authenticate and get a temporal token Register a new asset (file) Upload you PDF to the registered asset Perform a query according to the transformation requested Wait for the query to be proccessed by Adobe backend Download the result This workflow is a generic wrapper to perform all these steps for any transformation endpoint. I usually use it from other workflow with an Execute Workflow node. Examples are given in the workflow. Example use case This service is useful for example to clean PDF data for an AI / RAG system. My favorite use-case is to extract table as images and forward images to an AI for image recognition / description which is often more accuarate than feedind raw tabular data to a LLM.
by Sherlockes
Purpose of this Template: This template will help us combine multiple RSS sources, curate the content, and send the result to a Telegram channel for easy access. How it Works: We start with two RSS sources from which we primarily want to extract the title, link, and publication date. The workflow will periodically query both sources and use regular expressions and some JavaScript to edit several fields until we have the desired data in the proper format. Once the sources are formatted, we will combine them using the "Merge" node. Since the workflow will run twice a day, we will discard items older than two days. This will be achieved using a "Filter" node. A "Sort" node will arrange the items by publication date so that the most recent ones appear first. To create a flat list in "Markdown" format from the resulting items, we will use a small JavaScript function. This function must escape special characters to ensure they are correctly interpreted. Finally, the list will be sent to the appropriate channel using a "Telegram" node. Configuration Instructions: When opening the workflow for the first time, configure the Telegram credential. In the "RSS" nodes, insert the URLs of the sources to query. In the "Edit Fields" nodes we will have to adjust the regular expressions to obtain the desired result based on our RSS sources. In this case the expressions have been adjusted to obtain the name, size and link of each published file. In the "Sort" node we can modify the maximum age of the elements that we are going to send. In this case, 2 days have been included (2 * 24 * 60 * 60 * 1000 milliseconds) since it is necessary to take into account that Telegram has a maximum message length and if we exceed it, it will return an error instead of sending it. Lastly, include the channel ID in the "Telegram" node where the messages will be sent. Template was created in n8n v1.72.1
by Yaron Been
Description This workflow automatically generates Facebook ad headlines for your product using OpenAI and evaluates their quality using custom AI-generated criteria. It ensures you get high‑quality, scroll‑stopping headlines without needing a copywriter. Overview This workflow captures a product description via a form, generates a Facebook ad headline, invents a scoring rubric, evaluates the headline against it, and optionally loops for revisions — all autonomously. Ideal for marketers and media buyers looking to scale creative testing. Tools Used n8n**: The automation platform that powers and orchestrates the entire workflow. OpenAI**: Used for headline generation, scoring criteria creation, and evaluation logic. (Optional)** Google Sheets / Notion / Email: For logging approved headlines or sharing results. How to Install Import the Workflow: Download the .json file and import it into your n8n instance. Connect OpenAI: Add your OpenAI credentials to the GPT nodes. Customize the Prompt (optional): Tweak the system prompt inside the Set_PromptForHeadline node. Add Output Handling (optional): Connect the “NO” path in the If_NeedMoreIterations node to Google Sheets, Slack, etc. (Optional) Add loop limits or storage logic to manage iterations or save results. Use Cases Media Buyers**: Generate and test hooks at scale with no creative bottlenecks. Solo Marketers**: Get high-converting headlines even without a copywriter. Agencies**: Streamline copy testing and evaluation in client campaigns. Startup Teams**: Automate creative generation during product launches or A/B tests. Connect with Me Website**: https://www.nofluff.online YouTube**: https://www.youtube.com/@YaronBeen/videos LinkedIn**: https://www.linkedin.com/in/yaronbeen/ Hashtags #n8n #openai #automation #copywriting #facebookads #headlines #aicopy #promptengineering #marketingautomation #nocode #llm #creativeautomation #mediabuying #adtesting #adcreative #marketingtools #digitalmarketing #copytesting #scalablecreative #chatgpt #adhooks #growthmarketing #automatedworkflows #aiworkflow #creativeops #marketingops #growthtools
by WeblineIndia
This workflow automatically fetches newly uploaded files from a specific folder in Google Drive, shares them via email with specified recipients, and logs the file details (name, ID, created time, modified time) into Airtable for easy tracking. It streamlines the process of file sharing and management while keeping track of important metadata in a central place. Step-by-Step Instructions Google Drive Node (Fetch New File) Action: This node fetches newly uploaded files from the specific folder you’ve mentioned in your Google Drive. Configuration: Set the folder ID in the Google Drive node where the files are uploaded. Use the “New File in Folder” trigger to automatically detect new files added to the folder. Send Email Node (Share File via Email) Action: After detecting the new file, this node shares the file via email with the recipient you specify. Configuration: Set the recipient's email address. Include the file URL from the Google Drive node in the email body, allowing easy access to the file. Add the file name as part of the email subject or body to notify the recipient about the new file. Airtable Node (Store File Metadata) Action: This node stores the file’s metadata, such as name, ID, creation time, modification time, and the email address to which it was sent, in your Airtable database. Configuration: Set up Airtable with a table. Map the output from the Google Drive node to store the file metadata, and use the email address from the email node for tracking. About WeblineIndia WeblineIndia specializes in delivering innovative and custom AI solutions to simplify and automate business processes. If you need any help, please reach out to us.
by Davide
Workflow Overview This workflow automates the creation and management of a custom OpenAI Assistant for a travel agency ("Travel with us"), leveraging Google Drive for document storage. How It Works 1. Create the OpenAI Assistant Node**: OpenAI Action: Creates a custom assistant named "Travel with us" Assistant using the gpt-4o-mini model. Instructions: Respond only using the provided document (e.g., agency-specific info). Stay friendly, brief, and focused on travel-related queries. Ignore irrelevant questions politely. Credentials: Requires OpenAI API key. 2. Upload Agency Document Google Drive Node**: Action: Downloads a Google Doc as a PDF. OpenAI2 Node**: Action: Uploads the PDF to OpenAI with purpose: "assistants". Output: Generates a file_id. 3. Update the Assistant with the Document OpenAI Node**: Action: Updates the assistant to include the uploaded file. 4. Chat Interaction Chat Trigger**: Activates when a message is received ("When chat message received"). OpenAI Assistant Node**: Action: Uses the updated assistant to respond to user queries. Memory: Window Buffer Memory retains chat context for coherent conversations. Set Up Steps Prepare the Document: Store your travel agency guide in Google Drive (e.g., as a Google Doc). Update the Google Drive node with your document’s ID. Configure Credentials: Google Drive: Connect via OAuth2 (googleDriveOAuth2Api). OpenAI: Add your API key to all OpenAI nodes. Customize the Assistant: Modify the instructions in the OpenAI node to reflect your agency’s needs. Ensure the document includes FAQs, policies, and travel info. Test the Workflow: Trigger manually ("Test workflow") to create the assistant and upload the file. Send a chat message (e.g., "What are your travel packages?") to test responses. Dependencies Google Drive Account**: To store and retrieve the agency document. OpenAI API Access**: For assistant creation and file uploads.
by Arnaud MARIE
Replicate Line Items on New Deal in HubSpot Workflow Use Case This workflow solves the problem of manually copying line items from one deal to another in HubSpot, reducing manual work and minimizing errors. What this workflow does Triggers** upon receiving a webhook with deal IDs. Retrieves** the IDs of the won and created deals. Fetches** line items associated with the won deal. Extracts** product SKUs from the retrieved line items. Fetches** product details based on SKUs. Creates** new line items for the created deal and associates them. Sends** a Slack notification with success details. Step up steps Create a HubSpot Deal Workflow 1.1 Set up your trigger (ex: when deal stage = Won) 1.2 Add step : Create Record (deal) 1.3 Add Step : Send webhook. The webhook should be a Get to your n8n first trigger. Set two query parameter : deal_id_won as the Record ID of the deal triggering the HubSpot Workflow deal_id_create as the Record ID of the deal created above. Click Insert Data -> The created object Set up your HubSpot App token in HubSpot -> Settings -> Integration -> Private Apps Set up your HubSpot Token integration using the predefined model. Set up your Slack connection Add an error Workflow to monitor errors
by Jonathan
This workflow automatically posts a message in Slack when a new invoice is uploaded in Stripe, and it updates the fields in the HubSpot CRM. Prerequisites A Slack account and credentials A HubSpot account and credentials A Stripe account and credentials Nodes Stripe Trigger node triggers the workflow when a new invoice is uploaded. IF nodes filter the invoices that don't have a PO number and if there is no deal for the PO. HubSpot nodes retrieve deals with the specific PO number and update the deal status to 'paid'. Slack nodes post messages about the deals in a Slack channel.
by David Olusola
Overview A comprehensive educational workflow that demonstrates practical JavaScript usage in n8n's Code node through real-world business scenarios. Perfect for learning data manipulation, transformation, and automation patterns that you can immediately apply to client projects. What This Template Teaches: Data Filtering & Transformation - Filter employees by age, calculate bonuses, format contact information Statistical Analysis - Generate team statistics, averages, role distributions, and KPIs Multi-Format Export - Create CSV files, email lists, and API-ready payloads from raw data n8n Best Practices - Proper JSON handling, return formats, and data flow patterns How It Works: Manual Trigger starts the workflow with sample employee data Set Sample Data provides realistic business data (employees with roles, salaries, ages) Three Code Node Examples process the same data differently: Filter & Transform: Creates adult employee list with calculated bonuses Calculate Stats: Generates comprehensive team analytics and reports Format for Export: Prepares data for external systems (APIs, emails, CSV) Key Learning Points: Access input data using items[0].json.propertyName Return proper n8n format with [{ json: data }] structure Use JSON.parse() for string-to-object conversion Apply JavaScript array methods (filter, map, reduce) for data processing Handle multiple output scenarios and data aggregation Perfect For: n8n beginners learning Code node fundamentals Developers transitioning to n8n automation Client demos showing data processing capabilities Team training and onboarding sessions Foundation for building custom business automation workflows Business Use Cases: Transform this template for lead qualification, customer segmentation, report generation, data enrichment, and API integrations. Each Code node pattern can be adapted for different industries and automation needs.