by bangank36
This workflow retrieves all Squarespace Orders and saves them into a Google Sheets spreadsheet using the Squarespace Commerce API. It uses pagination to ensure all orders are collected efficiently. How It Works The workflow queries your Squarespace Orders API. It fetches data in paginated batches and inserts them into Google Sheets. The Global node is used to configure API parameters dynamically, allowing users to set date filters, pagination, and fulfillment status. The workflow runs on demand or on a schedule, ensuring your data stays up to date. Parameters This workflow allows you to customize the API request using the Global node settings: api-version** (string, required) – The current API version (see Squarespace Orders API documentation). modifiedAfter**={a-datetime} (string, conditional) – Fetch orders modified after a specific date (ISO 8601 format). modifiedBefore**={b-datetime} (string, conditional) – Fetch orders modified before a specific date (ISO 8601 format). cursor**={c} (string, conditional) – Used for pagination, cannot be combined with other filters. fulfillmentStatus**={status} (optional, enum) – Filter by fulfillment status: PENDING, FULFILLED, or CANCELED. maxPage** – Set -1 to enables infinite pagination to fetch all available orders. Requirements Credentials To use this workflow, you need: Squarespace API Key – Retrieve from your Squarespace settings. Google Sheets API credentials – Required to insert data into a spreadsheet. Google Sheets Setup Use the Squarespace order export feature to create a reference sheet. Google Sheets template is available Who Is This For? This workflow is designed for: Squarespace store owners exporting orders for tax reports, analytics, or sales tracking. Businesses automating order data retrieval for external reporting. Anyone needing an efficient way to extract Squarespace order data without manual effort. Explore More Templates Get all orders in Shopify to Google Sheets Sync Shopify customers to Google Sheets + Squarespace compatible csv 👉 Check out my other n8n templates
by Jacob @ vwork Digital
This n8n template allows you to send emails with a custom alias from your Gmail account Since the native Gmail node has some limitations regarding use of email aliases, this template allows you to set up your own internal endpoint/sub-workflow to send emails as an email alias . How it works This workflow uses a Code node and the Gmail API via an HTTP node to format the email content and send using an alias on your Gmail account. Setup instructions You must have added the email address as an alias you wish to send as in your Gmail account, guide on how to do so here. You must have created a Gmail credential in N8N, guide on how to do so here. Use your Gmail OAuth Credential in the HTTP node. Use this template as an API endpoint or a sub-workflow, and send this payload to it via POST: { "senderName": "SENDER NAME HERE", "fromEmail": "FROM EMAIL HERE", "replyTo": "REPLY TO EMAIL HERE", "toEmail": "jacob@vwork.digital", "subject": "SUBJECT LINE HERE", "htmlBody": "HTML BODY HERE - MUST BE JSON STRINGIFIED", "file_urls": [ "FILE URLS FOR ATTACHMENTS HERE" ] } Notes Only the following are required fields: fromEmail toEmail subject htmlBody Customizing this workflow You can easily convert this to a sub-workflow by swapping out the Webhook trigger for a "When executed by another workflow" trigger
by Damian Karzon
This workflow randomly select recipes from a Mealie instance (can use a specific category) and then creates a meal plan in Mealie with those recipes. How it works: Workflow has a scheduled trigger (set to run weekly on a Friday) Config node sets a few properties to configure the workflow A call to the Mealie API to get the list of recipes The code node holds most of the logic, this will loop through the number of recipes defined in the config node and randomly select a recipe from the list (making sure not to double up any recipes) Once all the recipes are selected it will call the Mealie API to set up the meal plan on the days Setup Add your Mealie API token as a credential and set it on the Http Request nodes Set the relevant schedule trigger to run when you like Update the Config node with the config you want numberOfRecipes - Number of recipes to populate for the meal plan offsetPlanDays - Number of days in the future to start the plan (0 will start it today, 1 tomorrow, etc.) mealieCategoryId - A category id of the category you want to pull in recipes from (default to select from all recipes) mealieBaseUrl - The base url of your Mealie instance
by WeblineIndia
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This workflow automates summarizing YouTube videos by accepting a YouTube URL via a form, fetching the video transcript using Apify, and then generating a concise summary with OpenAI GPT. Setup Instructions Prerequisites: Apify account with access to the YouTube Transcript actor. OpenAI API key (for GPT-4o-mini model). n8n instance with the Apify and OpenAI credentials configured. Configuration Steps Apify Setup: Configure Apify API credentials in the Apify node. Ensure the YouTube Transcript actor ID (1s7eXiaukVuOr4Ueg) is correct. OpenAI Setup: Add your OpenAI API key in the OpenAI Chat Model node. Confirm model selection is set to gpt-4o-mini. Customization Modify form field to accept additional inputs if needed. Adjust Apify actor input JSON in the Payload node for extra metadata extraction. Customize the summarization options to tweak summary length or style. Change OpenAI prompt or model parameters in the OpenAI Chat Model node for different output quality or tone. Steps 1. On Form Submission Node:** Form Trigger Purpose:** Collect the YouTube video URL from the user via a web form. 2. Prepare Payload Node:** Set Purpose:** Format the YouTube URL and options into the JSON payload for Apify input. 3. Fetch Transcript Node:** Apify Purpose:** Run the YouTube Transcript actor to retrieve video captions and metadata. 4. Extract Captions Purpose:** Isolate the captions field from the Apify response for processing. 5. Summarize Transcript Purpose:** Generate a concise summary of the video captions.
by n8n Team
This workflow automatically syncs your Zendesk tickets to your HubSpot contacts. Every 5 minutes, your HubSpot account collects all the newly modified data and updates it into your Zendesk account, updating the current tickets or creating new ones. Prerequisites Zendesk account and Zendesk credentials HubSpot account and HubSpot credentials How it works Cron node triggers the workflow every 5 minutes. Function Item node collects all the tickets received after the last execution timestamp. HubSpot node collects all the recently modified companies. Zendesk node checks all the Zendesk tickets associated with those companies. Merge by key node merges the Zendesk and Hubspot data related to those companies. If node splits the workflow conditionally, based on data received. If the company already exists in, Zendesk node updates organization’sdata. If the company does not exist yet, Zendesk node will create an organization. The Function Item node sets the new last execution timestamp.
by Max aka Mosheh
How it works Trigger the workflow manually via the n8n UI. Define key parameters like the image prompt, number of images, size, quality, and model. Send a POST request to OpenAI’s image generation API using those inputs. Split the API response to handle multiple images. Convert the base64 image data into downloadable binary files. Set up steps Initial setup takes around 5–10 minutes. You’ll need an OpenAI API key, a configured HTTP Request node with credentials, and to customize the prompt/parameter fields in the “Set Variables” node. No advanced config or external services needed. Important Note You have to make sure to complete OpenAI's new verification requirements to use their new image API: https://help.openai.com/en/articles/10910291-api-organization-verification It only takes a few minutes and does not cost any money.
by Satish
This n8n template demonstrates automating an appointment letter creation process using a template and then having the HR approve before emailing the appointment letter to the candidate. How it works Create an appointment letter template. e.g "Appointment Letter.doc" on Google Drive Form Submission node - Create a form trigger with the required fields that need to be capture as part of the appointment letter. Eg. Candidate Name, Position offered, Salary, Date of Joining, Candidate email, etc. Google Drive Copy node - Once the form is filled, it creates a candidate copy of the appointment letter by appending the candidate name to appointment letter. e.g. "Appointment Letter - <candidate name>.doc". This will be stored on the Google Drive Google Doc Update node - Fill the placeholders in the appointment letter with the candidate specific details such as Candidate Name, Position offered, Salary, Date of Joining, etc. Google Drive Download node - Create a PDF version of the candidate's appointment letter. e.g. "Appointment Letter - <Candidate Name>.pdf" and download it to Google Drive Google Drive Upload node - Upload the PDF to Google Drive Gmail Send Message node - Send an email to the HR requesting to review the candidate's appointment letter and 'Approve' or 'Reject' the appointment letter. This is the Human-In-The-Loop step If Node (for routing) - will return "true" if HR approves and "false" if HR rejects If HR approves, go to Step 9 and Step 10 Google Drive Download node - Get the PDF file Gmail Send Message node - Send an email to the candidate with the appointment letter (PDF) as the attachment How to use The Form trigger node is used as an example but feel free to replace this with other triggers such as Google Sheet Create an Appointment Letter Google document with the follwing fields - Date, Candidate Name, Position Name, Fixed CTC, Joining Date and To be signed by Date. See sample letter format below: <Appointment Letter.doc> (Google Document) Appointment Letter [Date] Dear [Candidate Name], Congratulations! We are pleased to offer you the [Position Name] at ABC Company. Fixed CTC - [Fixed CTC] Joining Date - [Joining Date] Requirements Google drive for upload and downloading the file Gmail for sending emails Sign the letter by - [To be signed by Date] Signature
by kapio
How it Works: Capture Contact Requests:** This template efficiently handles contact requests coming through a WordPress website using the Contact Form 7 (CF7) plugin with a webhook extension. Contact Management:** It automatically creates or updates contacts in Pipedrive upon receiving a new request. Lead Management:** Each contact request is securely stored in the lead inbox of Pipedrive, ensuring no opportunity is missed. Task Creation:** For each new contact or update, the workflow triggers the creation of a related task, streamlining follow-up actions. Note Attachment:** A comprehensive note containing all details from the contact request is attached to the corresponding lead, ensuring that all information is readily accessible. Step-by-Step Guide: Estimated Setup Time: The setup process is straightforward and can be completed quickly. Specific time may vary depending on your familiarity with n8n and the systems involved. Detailed setup instructions are provided within the workflow via sticky notes. These notes offer in-depth guidance for configuring each component of the template to suit your specific needs.
by Santhej Kallada
Who is this for? Marketers, lead generation agencies, freelancers, consultants, and sales teams who need to collect business leads from Google Maps. Small business owners looking to build targeted local business lists. Anyone interested in automating web scraping without coding skills. What problem is this workflow solving? Manually scraping business data from Google Maps is time-consuming and repetitive. This automation simplifies the process by: Collecting business details based on search terms and location. Filtering out irrelevant results. Delivering qualified leads directly to your inbox. What this workflow does This workflow automates Google Maps lead scraping using APIFY and sends the gathered leads via email. The steps include: Collecting user input through a simple form (business type, location, recipient email). Sending an HTTP request to APIFY to run a Google Maps scraper (actor). Filtering results to include only businesses with email addresses. Converting results to CSV format. Sending an automated email with the leads as a CSV attachment via Gmail. Setup Create an APIFY Account: Sign up at APIFY.COM (https://apify.com/). You get $5 in free credits (~1,000 leads). Get Your API Key: Copy your API key from APIFY Prepare n8n: Create a new workflow. Add an HTTP Request node to interact with APIFY. Configure authentication with your API key. Customize the Form: Build a simple form inside n8n to collect user inputs: Business Type, City, Country, Recipient Email. Filter Results: Use IF and Filter nodes to remove entries without email addresses. Convert to CSV: Use a "Spreadsheet File" node to generate a CSV from the filtered leads. Send Email: Use the Gmail node (or any email node) to send the CSV file to the provided recipient. How to customize this workflow to your needs Change search parameters to target different business niches or locations. Add filters to only include businesses with websites. Customize the email subject and body. Integrate with CRM or marketing platforms for direct lead injection. Expand filtering logic for more refined targeting. Notes This template uses APIFY (paid service after free credits). You will need an APIFY API key and a Gmail account (or SMTP credentials) to run this automation. For self-hosted n8n users: ensure you have internet access and proper credentials set up for external HTTP requests. Want A Video Tutorial on How To Setup This Automation : https://www.youtube.com/watch?v=Kz_Gfx7OH6o
by Damian Karzon
This workflow checks a configured list of Github repositories daily to see if a new release has been published. How it works: Workflow has a daily trigger RepoConfig node is a JSON array that defines a list of repositories to check releases for For each of the configured repos it fetches the latest release If the release was published within the last 24 hours it is output The release is sent as a Slack message showing the repo name, release name and link Setup Update the JSON in the RepoConfig node to the Github repos you wish to get notifications for Setup your Slack connection (or replace with your choice of notification)
by Bright Data
🔍 Glassdoor Job Finder: Bright Data Scraping + Keyword-Based Automation A comprehensive n8n automation that scrapes Glassdoor job listings using Bright Data's web scraping service based on user-defined keywords, location, and country parameters, then automatically stores the results in Google Sheets. 📋 Overview This workflow provides an automated job search solution that extracts job listings from Glassdoor using form-based inputs and stores organized results in Google Sheets. Perfect for recruiters, job seekers, market research, and competitive analysis. Workflow Description: Automates Glassdoor job searches using Bright Data's web scraping capabilities. Users submit keywords, location, and country via form trigger. The workflow scrapes job listings, extracts company details, ratings, and locations, then automatically stores organized results in Google Sheets for easy analysis and tracking. ✨ Key Features 🎯 Form-Based Input: Simple web form for job type, location, and country 🔍 Glassdoor Integration: Uses Bright Data's Glassdoor dataset for accurate job data 📊 Smart Data Processing: Automatically extracts key job information 📈 Google Sheets Storage: Organized data storage with automatic updates 🔄 Status Monitoring: Built-in progress tracking and retry logic ⚡ Fast & Reliable: Professional scraping with error handling 🎯 Keyword Flexibility: Search any job type with location filters 📝 Structured Output: Clean, organized job listing data 🎯 What This Workflow Does Input Job Keywords:** Job title or role (e.g., "Software Engineer", "Marketing Manager") Location:** City or region for job search Country:** Target country for job listings Processing Form Submission Data Scraping via Bright Data Status Monitoring Data Extraction Data Processing Sheet Update Output Data Points | Field | Description | Example | |-------|-------------|---------| | Job Title | Position title from listing | Senior Software Engineer | | Company Name | Employer name | Google Inc. | | Location | Job location | San Francisco, CA | | Rating | Company rating score | 4.5 | | Job Link | Direct URL to listing | https://glassdoor.com/job/... | 🚀 Setup Instructions Prerequisites n8n instance (self-hosted or cloud) Google account with Sheets access Bright Data account with Glassdoor scraping dataset access 5–10 minutes for setup Step 1: Import the Workflow Copy the JSON workflow code from the provided file In n8n: Workflows → + Add workflow → Import from JSON Paste JSON and click Import Step 2: Configure Bright Data Set up Bright Data credentials in n8n Ensure access to dataset: gd_lpfbbndm1xnopbrcr0 Update API tokens in: "Scrape Job Data" node "Check Delivery Status of Snap ID" node "Getting Job Lists" node Step 3: Configure Google Sheets Integration Create a new Google Sheet (e.g., "Glassdoor Job Tracker") Set up Google Sheets OAuth2 credentials in n8n Prepare columns: Column A: Job Title Column B: Company Name Column C: Location Column D: Rating Column E: Job Link Step 4: Update Workflow Settings Update "Update Job List" node with your Sheet ID and credentials Test the form trigger and webhook URL Step 5: Test & Activate Submit test data (e.g., "Software Engineer" in "New York") Activate the workflow Verify Google Sheet updates and field extraction 📖 Usage Guide Submitting Job Searches Navigate to your workflow's webhook URL Fill in: Search Job Type Location Country Submit the form Reading the Results Real-time job listing data Company ratings and reviews Direct job posting links Location-specific results Processing timestamps 🔧 Customization Options More Data Points:** Add job descriptions, salary, company size, etc. Search Parameters:** Add filters for salary, experience, remote work Data Processing:** Add validation, deduplication, formatting 🚨 Troubleshooting Bright Data connection failed:** Check API credentials and dataset access No job data extracted:** Validate search terms and location format Google Sheets permission denied:** Re-authenticate and check sharing Form submission failed:** Check webhook URL and form config Workflow execution failed:** Check logs, add retry logic Advanced Troubleshooting Check execution logs in n8n Test individual nodes Verify data formats Monitor rate limits Add error handling 📊 Use Cases & Examples Recruitment Pipeline:** Track job postings, build talent database Market Research:** Analyze job trends, hiring patterns Career Development:** Monitor opportunities, salary trends Competitive Intelligence:** Track competitor hiring activity ⚙️ Advanced Configuration Batch Processing:** Accept multiple keywords, loop logic, delays Search History:** Track trends, compare results over time External Tools:** Integrate with CRM, Slack, databases, BI tools 📈 Performance & Limits Single search:** 2–5 minutes Data accuracy:** 95%+ Success rate:** 90%+ Concurrent searches:** 1–3 (depends on plan) Daily capacity:** 50–200 searches Memory:** ~50MB per execution API calls:** 3 Bright Data + 1 Google Sheets per search 🤝 Support & Community n8n Community Forum:** community.n8n.io Documentation:** docs.n8n.io Bright Data Support:** Via your dashboard GitHub Issues:** Report bugs and features Contributing: Share improvements, report issues, create variations, document best practices. Need Help? Check the full documentation or visit the n8n Community for support and workflow examples.
by Eduard
This n8n workflow demonstrates how to automate customer interactions and appointment management via WhatsApp Business bot. After submitting a Google Form, the user receives a notification via WhatsApp. These notifications are sent via a template message. In case user sends a message to the bot, the text and user data is stored in Google Sheets. To reply back to the user, fill in the ReplyText column and change the Status to 'Ready'. In a few seconds n8n will fetch the unsent replies and deliver them one by one via WhatsApp Business node. Customize this workflow to fit your specific needs, connect different online services and enhance your customer communication! 🎉 Setup Instructions To get this workflow up and running, you'll need to: 👇 Create a WhatsApp template message on the Meta Business portal. Obtain an Access Token and WhatsApp Business Account ID from the Meta Developers Portal. This is needed for the WhatsApp Business Node to send messages. Set up a WhatsApp Trigger node with App ID and App Secret from the Meta Developers Portal. Right after that copy the WhatsApp Trigger URL and add it as a Callback URL in the Meta Developers Portal. This trigger is needed to receive incoming messages and their status updates. Connect your Google Sheets account for data storage and management. Check out the documentation page. ⚠️ Important Notes WhatsApp allows automatic custom text messages only within 24 hours of the last user message. Outside with time frame only approved template messages can be sent. The workflow uses a Google Sheet to manage form submissions, incoming messages and prepare responses. You can replace these nodes and connect the WhatsApp bot with other systems.