by Jan Oberhauser
Triggers worfklow all 15 minutes Reads the data from Google Sheet Converts data to XLS Uploads the file to Dropbox
by Yassin Zehar
Description Automated workflow that creates Jira issues directly from Streamlit form submissions. Receives webhook data, validates and transforms it to Jira's API schema, creates the issue, and returns the ticket details to the frontend application. Context Bridges the gap between lightweight Streamlit prototypes and enterprise Jira workflows. Enables rapid ticket creation while maintaining Jira as the authoritative source of truth. Includes safety mechanisms to prevent duplicate submissions and malformed requests. Target Users Product Managers building internal request portals. Engineering Managers creating demo applications. Teams requiring instant Jira integration without complex UI development. Project Manager using Jira pour mangement and reporting. Organizations wanting controlled ticket creation without exposing Jira directly. Technical Requirements n8n instance (cloud or self-hosted) with webhook capabilities Jira Cloud project with API token and issue creation permissions Streamlit application configured to POST to n8n webhook endpoint Optional: Custom field IDs for Story Points (typically customfield_10016) Workflow Steps Webhook Trigger - Receives POST from Streamlit with ticket payload. Deduplication Guard - Filters out ping requests and rapid duplicate submissions. Data Validation - Ensures required fields are present and properly formatted. Schema Transformation - Maps Streamlit fields to Jira API structure. Jira API Call - Creates issue via REST API with error handling. Response Formation - Returns success status with issue key and URL. Key Features Duplicate submission prevention. Rich text description formatting for Jira. Configurable priority and issue type mapping. Story points integration for agile workflows. Comprehensive error handling and logging. Clean JSON response for frontend feedback. Validation Testing Ping/test requests are ignored without creating issues. First submission creates Jira ticket with proper formatting. Rapid resubmission is blocked to prevent duplicates. All field types (priority, labels, due dates, story points) map correctly. Error responses are handled gracefully. Expected Output Valid Jira issue created in specified project JSON response: {ok: true, jiraKey: "PROJ-123", url: "https://domain.atlassian.net/browse/PROJ-123"} No orphaned or duplicate tickets. Audit trail in n8n execution logs. Implementation Notes Jira Cloud requires accountId for assignee (not username). Date format must be YYYY-MM-DD for due dates. Story Points field ID varies by Jira configuration. Enable response output in HTTP node for debugging. Consider rate limiting for high-volume scenarios. Tutorial video: Watch the Youtube Tutorial video How it works โฐ Trigger: Webhook fires when the app submits. ๐งน Guard: Ignore pings/invalid, deduplicate rapid repeats. ๐งฑ Prepare: Normalize to Jiraโs field model (incl. Atlassian doc description). ๐งพ Create: POST to /rest/api/3/issue and capture the key. ๐ Respond: Send { ok, jiraKey, url } back to Streamlit for instant UI feedback. About me : I'm Yassin, IT Project Manager, Agile & Data specialist. Scaling tech products with data-driven project management. ๐ฌ Feel free to connect with me on Linkedin
by Evoort Solutions
Workflow: Auto-Translate WordPress Posts Using AI Translate Pro This n8n workflow automates the translation of WordPress blog content into any language using the AI Translate Pro API, and inserts the translated text into a Google Doc. ๐ Workflow Steps Manual Trigger Initiates the workflow manually (can be replaced with a webhook or schedule trigger). WordPress Node Retrieves a specific blog post (by ID) from your WordPress site using the REST API. HTTP Request Node Sends the blog content to AI Translate Pro via multipart/form-data. Google Docs Node Appends the translated text into a specified Google Document using Google Docs API. ๐ API Usage: AI Translate Pro Endpoint: POST https://ai-translate-pro.p.rapidapi.com/translate.php Content-Type: multipart/form-data Required Parameters: | Field | Type | Description | |-----------|--------|-----------------------------------------| | text | string | The text or HTML content to translate | | language| string | Target language (e.g., Hindi, French) | Headers: | Header Name | Value | |---------------------|---------------------------------------| | x-rapidapi-host | ai-translate-pro.p.rapidapi.com | | x-rapidapi-key | Your RapidAPI key | โ Benefits of Using AI Translate Pro โก Fast AI-Powered Translation โ Instantly translate content with no need for manual input. ๐ Supports Multiple Languages โ Easily switch languages to serve global audiences. ๐ง Context-Aware โ More accurate than basic dictionary translation tools. ๐ Easy Integration with n8n โ No-code/low-code implementation. ๐ Content Reuse โ Save translations directly into Google Docs for future use or edits. ๐ผ Cost-Effective โ Efficient alternative to expensive manual translation services. ๐ ๏ธ Problems Solved โ Manual copy-pasting into Google Translate โ Limited or slow in-house translation โ Difficulty managing multilingual content โ Inconsistent formatting or storage โ With AI Translate Pro, translations are fast, automated, and saved where your team can access them instantly. โ Example Use Case Translate WordPress blog posts from English to Hindi. Store translated content in Google Docs for editing or reuse. Expand to multilingual sites with a simple language switch. Use AI Translate Pro in any low-code or no-code platform like n8n. ๐ Requirements WordPress REST API credentials RapidAPI access to AI Translate Pro Google Docs API service account ๐ More Info Explore full documentation and pricing on the AI Translate Pro RapidAPI listing page. Create your free n8n account and set up the workflow in just a few minutes using the link below: ๐ Start Automating with n8n Save time, stay consistent, and grow your LinkedIn presence effortlessly!
by dave
Filters articles based on keywords, checks against MongoDB for unique links, then sends results to different webhooks
by n8n Team
This workflow will help guide you through obtaining a spreadsheet file, reading it, making a change then saving it to local or cloud storage.
by Trey
A quick example showing how to get the local date and time into a Function node using moment.js. This relies on the GENERIC_TIMEZONE environment variable being correctly configured (see the docs here) NOTE: In order for this to work, you must whitelist the moment library for use by setting the following environment variable: NODE_FUNCTION_ALLOW_EXTERNAL=moment For convenience, the Function code is as follows: const moment = require('moment'); let date = moment().tz($env['GENERIC_TIMEZONE']); let year = date.year(); let month = date.month(); // zero-indexed! let day = date.date(); let hour = date.hours(); let minute = date.minutes(); let second = date.seconds(); let millisecond = date.millisecond(); let formatted = date.format('YYYY-MM-DD HH:mm:ss.SSS Z'); return [ { json: { utc: date, year: year, month: month, // zero-indexed! day: day, hour: hour, minute: minute, second: second, millisecond: millisecond, formatted: formatted } } ]; `
by darkesthour111
I used this to check for a page that had Out Of Stock not found when an item came back in stock. Set the URL for the HTTP Request node and your Webhook URL and Messages for the discord nodes.
by Jan Oberhauser
Download XML data Convert it to JSON Change title in data Convert back to XML Upload file to Dropbox
by Sean Lon
GCalendar Smart Booking System Demo github code Try yourself ๐ Description Transform your booking chaos into streamlined automation with this production-ready GCalendar Smart Booking System. This comprehensive n8n workflow eliminates weeks of custom development by providing two powerful REST APIs that handle everything from input validation to calendar integration. What makes this special? Unlike basic booking forms, this system includes enterprise-grade features like intelligent conflict detection, public holiday awareness, business hours enforcement, and automatic Google Calendar integration with Meet links. It's battle-tested with real-world business logic including lunch breaks, timezone handling, and comprehensive error responses. Privacy & Cost Benefits: ๐ Privately yours & free** - No need to purchase expensive booking software or worry about data breaches. Your booking data stays secure in your own Google Calendar, completely under your control. ๐ฏ All-in-One solution** - No manual invitation sending required. Google Calendar automatically handles attendee notifications and generates real Google Meet links for every booking, creating a seamless experience for both you and your clients. No need pay for API to get public holiday, use the google calendar free default . Perfect for rapid deployment: Whether you're building for clients, launching an MVP, or replacing expensive booking software, this template gets you from zero to production in under 15 minutes. The clean API design makes frontend integration effortless, while the robust validation ensures reliable operation at scale. Two endpoints, endless possibilities: /make-booking - Complete booking creation with multi-layer validation /check-booking-date - Real-time slot availability listing (comes with conflict detection, business hour checks) Built by developers, for developers - with comprehensive documentation, testing examples, and customization guides included. Purpose This workflow provides a webhook API endpoint that your frontend can easily integrate typically triggered by a submit button on a booking form. When the frontend calls this REST API, the workflow handles the booking logic by performing several key checks: Valid Input โ Ensures all required fields are present and correctly formatted. Date & Time Validation โ Confirms the requested slot falls within business hours, excludes lunch/dinner breaks, and respects public holidays. Conflict Detection โ Checks for any existing bookings at the requested time to prevent overlaps. Calendar Integration โ Once all checks pass, the workflow automatically creates a booking entry in your Google Calendar, keeping everything synced and visible. ๐ฏ Target Audience This template is perfect for: ๐ฅ Healthcare & Medical Professionals: Clinics, dental offices, physiotherapy centers, and medical practices needing automated appointment scheduling with proper business hours validation and no-show reduction. ๐ผ Professional Service Providers: Consultants, lawyers, accountants, financial advisors, and coaches who require sophisticated booking systems with calendar integration and conflict prevention. ๐ Educational Institutions: Universities, tutoring centers, training academies, and educational consultants needing student appointment scheduling with academic calendar integration. ๐ข Small to Medium Businesses: Service-based businesses like salons, spas, repair services, and consulting firms looking to automate their booking process without expensive software subscriptions. ๐จโ๐ป Software Development Teams: Developers and engineering teams who need to rapidly deploy booking functionality for client projects without building from scratch. ๐ Digital Agencies: Web development agencies, marketing firms, and digital consultancies building booking solutions for multiple clients across different industries. ๐จ Hospitality & Events: Meeting room booking, event venue scheduling, equipment rental companies, and co-working spaces requiring intelligent availability management. ๐ง Freelancers & Solo Entrepreneurs: Independent professionals like designers, photographers, personal trainers, and contractors who need professional booking systems on a budget. ๐ Product Managers: Teams building SaaS products that require booking/scheduling features as part of their core functionality or user experience. ๐ Startup Founders: Early-stage companies needing to validate booking-related business models quickly without significant development investment. ๐จ Creative Professionals: Photographers, videographers, music instructors, and artists who need client appointment scheduling with portfolio integration possibilities. โ๏ธ Technical Operations Teams: DevOps engineers and system administrators who need to implement booking systems for internal resource allocation (servers, equipment, meeting rooms). This template eliminates weeks of development time while providing enterprise-grade validation, making it ideal for anyone who values rapid deployment, reliability, and professional functionality in their booking systems. โ๏ธ How It Works ๐ Booking Flow (Step-by-Step) Phase 1: Input Validation // Real validation logic from the workflow โ Name, email, phone, date, time validation โ Email format verification (RFC compliant) โ Phone number format checking โ Date/time format standardization (YYYY-MM-DD, HH:MM) Phase 2: Business Logic Validation // Business hours: Monday-Friday, 9AM-9PM (customizable) โ Weekend blocking โ Business hours enforcement โ Lunch break exclusion (12PM-2PM) โ Dinner break exclusion (6PM-8PM) โ Timezone handling (Malaysia/UTC+8 default) Phase 3: Intelligent Conflict Detection // Multi-calendar checking โ Public holiday calendar integration โ Main booking calendar conflict detection โ Real-time availability verification โ Overlap prevention algorithms Phase 4: Calendar Integration // Google Calendar automation โ Event creation with attendee invitation โ Google Meet link generation โ Custom event descriptions and summaries โ Calendar color coding ๐ Availability API Flow Date Input โ Validates YYYY-MM-DD format Weekend/Holiday Check โ Blocks non-working days Slot Generation โ Creates available time slots Conflict Mapping โ Marks booked vs available slots Response Formatting โ Returns structured availability data ๐ ๏ธ Quick Start Guide Prerequisites n8n instance (cloud or self-hosted) Google Cloud Project with Calendar API enabled Google Calendar credentials Simple Setup Guide Step 1: Import the Workflow โฌ๏ธ Download the smart-booking-system.json file In your n8n instance: Workflows โ Import from File Select the downloaded JSON file Click Import Step 2: Set Up Google Calendar Credentials ๐ Create Google Cloud Project: Go to Google Cloud Console Create new project or select existing one Enable Google Calendar API Configure n8n Credentials: In n8n: Credentials โ Add Credential โ Google Calendar OAuth2 API Enter your Google Cloud Client ID and Client Secret Save as "Google Calendar account" Update Workflow Nodes: Find nodes: Create Calendar Event, Check Calendar Availability, etc. Select your Google Calendar credential in each node Step 3: Configure Your Calendars ๐ Main Booking Calendar: Create a dedicated Google Calendar for bookings Copy the Calendar ID (found in Calendar Settings) Replace YOUR_BOOKING_CALENDAR_ID@group.calendar.google.com in these nodes: Create Calendar Event Check Calendar Availability - Main Check Calendar Availability Holiday Calendar (Optional): Add your country's holiday calendar to Google Calendar Find the calendar ID (e.g., en.usa#holiday@group.v.calendar.google.com) Update Check Calendar Availability - public holiday and Check Public Holiday Calendar nodes Step 4: Customize Business Hours โฐ Find the ConfigTimeSlots node Edit the time slots array: [ { "time": "09:30", "display": "9:30 AM - 10:30 AM", "available": true }, { "time": "10:30", "display": "10:30 AM - 11:30 AM", "available": true }, { "time": "11:30", "display": "11:30 AM - 12:30 PM", "available": true }, { "time": "14:30", "display": "2:30 PM - 3:30 PM", "available": true }, { "time": "15:30", "display": "3:30 PM - 4:30 PM", "available": true }, { "time": "16:30", "display": "4:30 PM - 5:30 PM", "available": true }, { "time": "17:30", "display": "5:30 PM - 6:30 PM", "available": true }, { "time": "20:30", "display": "8:30 PM - 9:30 PM", "available": true } ] Step 5: Activate & Test ๐ Activate the workflow: Toggle the workflow Active switch Get your webhook URLs: Booking: https://your-n8n-domain/webhook/suarify-make-booking Availability: https://your-n8n-domain/webhook/suarify-check-booking-date Test with sample requests: Test booking creation curl -X POST 'https://your-n8n-domain/webhook/suarify-make-booking' \ -H 'Content-Type: application/json' \ -d '{ "name": "John Doe", "email": "john@example.com", "phone": "+1234567890", "date": "2024-03-15", "time": "14:30" }' Test availability checking curl -X POST 'https://your-n8n-domain/webhook/suarify-check-booking-date' \ -H 'Content-Type: application/json' \ -d '{"date": "2024-03-15"}' Step 6: Integrate with Your Frontend ๐ป Use the webhook URLs in your booking form Handle the JSON responses for success/error states Display available time slots from the availability API ๐ You're ready to start taking bookings! ๐ API Documentation ๐ค Booking Creation API Endpoint: POST /webhook/make-booking Request Body: { "name": "John Doe", "email": "john@example.com", "phone": "+1234567890", "date": "2024-03-15", "time": "14:30", "source": "Website Form" } Success Response (200): { "success": true, "message": "Booking confirmed successfully!", "bookingDetails": { "name": "John Doe", "email": "john@example.com", "phone": "+1234567890", "date": "2024-03-15", "time": "14:30", "eventId": "abc123def456", "eventLink": "https://calendar.google.com/event?eid=...", "calendarEvent": { /* Full calendar event object */ } }, "confirmationMessage": "Hi John Doe, your booking has been confirmed for 2024-03-15 at 14:30. You will receive a calendar invitation shortly." } Error Response (400): { "success": false, "error": "Invalid email format", "message": "Booking request failed validation", "details": { /* Error context */ } } ๐ Availability Check API Endpoint: POST /webhook/check-booking-date Request Body: { "date": "2024-03-15" } Success Response (200): { "success": true, "isWorkingDay": true, "isWeekend": false, "holidayName": "", "availableSlots": [ { "time": "09:30", "display": "9:30 AM - 10:30 AM", "available": true }, { "time": "10:30", "display": "10:30 AM - 11:30 AM", "available": false, "status": "booked" } ], "totalConflicts": 3 } ๐๏ธ Customization Guide Business Hours Configuration Edit the ConfigTimeSlots node to modify available booking times: const timeSlots = [ { time: '09:00', display: '9:00 AM - 10:00 AM', available: true }, { time: '10:00', display: '10:00 AM - 11:00 AM', available: true }, // Lunch break automatically excluded { time: '14:00', display: '2:00 PM - 3:00 PM', available: true }, // Customize as needed... ]; Timezone Adjustment Modify the Business Hours Check node: // Change from Malaysia (UTC+8) to your timezone const timezone = 'America/New_York'; // UTC-5 const timezoneOffset = '-05:00'; Holiday Calendar Update calendar ID in holiday checking nodes: // Replace with your country's holiday calendar "value": "en.usa#holiday@group.v.calendar.google.com" Business Rules Customize validation in the Business Hours Check node: // Business hours: Mon-Fri, 9am-6pm (example) const isWithinBusinessHours = timeInMinutes >= 540 && timeInMinutes <= 1080; // Remove lunch breaks if not needed const isNotLunchBreak = true; // Always allow Start automating in under 15 minutes! ๐ Made with โค๏ธ for the engineering community. Star this repo if it saves you time!
by Rahi
n8n Workflow: WhatsApp Lead Nurturing (MQL) ๐ Purpose This workflow fetches unqualified leads from Postgres at defined retry intervals, sends personalized WhatsApp template messages via Gallabox API, and logs message activity while updating lead status in the database. ๐งฉ Workflow Structure Schedule Trigger Type: n8n-nodes-base.scheduleTrigger Runs the workflow automatically at set intervals (seconds-based). Entry point of the workflow. Execute a SQL query Type: n8n-nodes-base.postgres Fetches leads from mql_contacts that: Have count = 0, 1, 2, or 3. Respect time delays: count=1 โ after 3 minutes count=2 โ after 5 minutes count=3 โ after 8 minutes Must have disposition = unqualified. Loop Over Items4 Type: n8n-nodes-base.splitInBatches Iterates over each lead individually. Ensures one-by-one processing. Code1 Type: n8n-nodes-base.code Selects message content based on: Leadโs model (nexus, magnus, reo, general). Current count (0โ3). Ensures personalized, varied message text. new_lead_4 Type: n8n-nodes-base.httpRequest Sends WhatsApp template message through Gallabox API. Dynamic fields: Leadโs name and phone. Message details selected from Code1. Quick reply buttons: Show Brochure, Get Showroom Location, Not Interested. Insert rows in a table4 Type: n8n-nodes-base.postgres Inserts a record into mql_logs. Captures: Phone, name, disposition. Message count, message_id, timestamps. Gallabox API response (status, code). Update rows in a table4 Type: n8n-nodes-base.postgres Updates mql_contacts: Increments count by 1. Updates last_message_sent timestamp. Matches using phone number. Sticky Notes Provide inline documentation: SQL query purpose. Message matrix explanation. Gallabox API role. Postgres update/logging details. โ๏ธ Data Flow Summary Trigger** โ Runs every X seconds SQL Query** โ Fetches eligible leads (unqualified, retry intervals) Loop** โ Processes each lead sequentially Code1** โ Chooses personalized message based on model & count HTTP Request** โ Sends WhatsApp template via Gallabox Insert Log** โ Stores activity in mql_logs Update Contact** โ Updates count & last sent in mql_contacts Cycle repeats** until all leads are processed ๐ Use Case Automates WhatsApp drip campaigns for unqualified leads. Respects retry intervals to avoid spamming. Uses personalized message variations based on product model & retry count. Provides full traceability with logs and lead updates.
by Michael Taleb
Workflow Summary This workflow automatically scrapes new Reddit posts from your chosen subreddits and keywords, analyzes them with AI to extract summaries, pain points, and content angles, and then saves the insights into a Google Sheet. Itโs a fully automated Content Research Engine that delivers fresh marketing ideas and community pain points straight into your database. Setting up the workflow Connect Reddit โข In n8n, create a Reddit credential. โข Add the subreddits and keywords you want to track. Connect Google Sheets โข Make a copy of the database sheet. โข Connect your Google account in n8n. Connect OpenAI โข Add your OpenAI API key as a credential. โข The AI will summarize posts, extract pain points, and suggest content ideas. Run the workflow โข The workflow will search Reddit on a schedule. โข Results are processed by AI and automatically added to your Google Sheet.
by Jayesh Kaithwas
This workflow pulls articles from multiple RSS feeds, filters them by date, fetches the full webpage content, and summarizes each article into a clean, structured Markdown format using Google Gemini (via LangChain). Summaries are automatically saved into Google Sheets for long-term storage and into a daily sheet for fresh news. ๐ Example Google Sheet (pre-configured for this workflow): News Summaries Sheet Key Features RSS Feeds from Google Sheets** โ Flexible feed management. Date Filtering** โ Only process articles from the last X days. Duplicate Checking** โ Avoids re-processing links already stored. Full Article Parsing** โ Extracts clean body content, ignoring ads and images. AI Summarization** โ Uses a Gemini LLM to create concise, structured summaries with takeaways and insights. Multi-Sheet Output** โ Saves summaries to both a permanent โArticlesโ sheet and a โTodayโ sheet for daily highlights. Scheduled or Manual Run** โ Can run daily at a set time or on demand. Requirements Google Sheets account (for storing feeds, articles, and daily news). Google Gemini (PaLM) API credentials. Possible Use Cases Personal daily news digest. Team knowledge hub for curated, AI-summarized articles. Automated research assistant for niche topics.