Create travel itineraries & send email confirmations with Gemini AI
This n8n template creates an intelligent AI-powered travel agent that can assist with travel planning and send email confirmations. The agent can extract user requests, plan travel itineraries by fetching real-time data on flights, accommodations, and activities, and then communicate this information by sending a customized email. Use Cases Quickly plan a trip by providing your destination and dates. Get real-time flight and accommodation details for a planned vacation. Receive a summary of your travel plans directly in your inbox. A personal travel planner available on-the-go. Good to Know This template uses Google Gemini for AI reasoning. The Planner Agent can break down complex travel requests and make multiple API calls to gather all the necessary information. The Email Agent crafts a professional and personalized email to send to the user. How it Works Incoming Message Trigger: The workflow begins when a new message is received from a user. Extract User Request: The user's message is sent to a Gemini Chat Model which identifies the user's intent and extracts key details like destination, dates, and interests. Planner Agent: The extracted information is passed to the Planner Agent. This agent, powered by Gemini, determines what information is needed and then calls a series of sub-agents to gather: Activities: Fetches information about local attractions and things to do. Flight Booking: Retrieves flight details and pricing. Accommodation Details: Looks for hotels, rentals, and other lodging options. Accommodations: Gathers general information about accommodations. Email Agent: Once the Planner Agent has collected all the necessary information, it’s handed over to the Email Agent. This agent uses a second Gemini Chat Model to format a clear and professional email containing the full travel itinerary. Send Message: The final email is sent to the user, providing a comprehensive travel plan. How to Use Clone this workflow into your n8n instance. Connect your accounts as required. You will need credentials for your email service and any APIs you want to use for fetching travel data (e.g., flight booking, accommodation, and activities). Modify the nodes with your specific credentials and API endpoints. Run the workflow and start receiving automated travel plans. Requirements Google Gemini account for AI reasoning. Email integration (e.g., Gmail, Outlook). Serp API keys for travel-related services (optional, depending on your setup). Customizing This Workflow Add more integrations (e.g., a hotel booking service like Booking.com, a restaurant reservation system) for extended functionality. Modify the AI prompts in the agent nodes to fine-tune the personality or focus of the travel agent. Connect the final output to a different messaging service like Telegram or Slack instead of email.
Enrich Company Data from LinkedIn via Bright Data & Google Sheets
This n8n workflow automates the enrichment of a company list by discovering and extracting each company’s official LinkedIn URL using Bright Data’s search capabilities and Google Gemini AI for HTML parsing and result interpretation. Who is this template for? This workflow is ideal for sales, business development, and data research professionals who need to collect official LinkedIn company profiles for multiple organizations, starting from a list of company names in Google Sheets. It’s especially useful for teams who want to automate sourcing LinkedIn URLs, enrich their prospect database, or validate company data at scale. How it works Manual Trigger: The workflow is started manually (useful for controlled batch runs and testing). Read Company Names: Company names are loaded from a specified Google Sheets table. Loop Over Each Company: Each company is processed one-by-one: A custom Google Search URL is generated for each name. A Bright Data Web Unlocker request is sent to fetch Google search results for “site:linkedin.com [company name]”. Parse LinkedIn Profile URL Using AI: Google Gemini (or your specified LLM) analyzes the fetched search page and extracts the most likely official LinkedIn company profile. Result Handling: If a profile is found, it’s stored in the results. If not, an empty result is created, but you can add custom logic (notifications, retries, etc.). Batch Data Enrichment: All found company URLs are bundled into a single request for further enrichment from a Bright Data dataset. Export: The workflow appends the final, structured data for each company to another sheet in your Google Sheets file. Setup instructions Replace API Keys: Insert your Bright Data API key in these nodes: Bright Data Web Request - Google Search for Company LinkedIn URL HTTP Request - Post API call to Bright Data Snapshot Progress HTTP Request - Getting data from Bright Data Connect Google Sheets: Set up your Google Sheets credentials and specify the sheet for reading input and writing output. Customize Output Structure: Adjust the Python code node (see sticky note in the template) if you want to include additional or fewer fields in your output. Adjust for Scale or Error Handling: You can modify the logic for “not found” results (e.g., to notify a Slack channel or retry failed companies). Run the Workflow: Start manually, monitor the run, and check your Google Sheet for results. Customization guidance Change Input/Output Sheets: Update the sheet names or columns if your source/target spreadsheet has a different structure. Use Another AI Model: Replace the Google Gemini node with another LLM node if preferred. Integrate Alerts: Add Slack or email nodes to notify your team when a LinkedIn profile is not found or when the process is complete.
Add new clients from Notion to Clockify
Who is this template for? This workflow template is ideal for anyone using Notion for project management and Clockify for time tracking. The workflow automatically adds all new clients from Notion to Clockify. How it works Scans your Notion client table every minute for new clients Adds all new clients to your Clockify workspace Set up Steps Set up the Notion trigger node by adding your Notion API credentials as described in the n8n Notion docs. Go to your Notion clients page/table and give your integration permission to acces the data on this page. Go back to n8n and select your Notion client page in the Notion trigger node. Set up the Clockify node by adding your Clockify API credentials as described in the n8n Clockify docs, select your Clockify workspace and map your client name column from Notion to the Clockify "Client Name" field.
Get all mailboxes from Help Scout
Companion workflow for Help Scout node docs
Automate loan document analysis with Mistral OCR and GPT for underwriting decisions
LOB Underwriting with AI This template ingests borrower documents from OneDrive, extracts text with OCR, classifies each file (ID, paystub, bank statement, utilities, tax forms, etc.), aggregates everything per borrower, and asks an LLM to produce a clear underwriting summary and decision (plus next steps). Good to know AI and OCR usage consume credits (OpenAI + your OCR provider). Folder lookups by name can be ambiguous—use a fixed folderId in production. Scanned image quality drives OCR accuracy; bad scans yield weak text. This flow handles PII—mask sensitive data in logs and control access. Start small: batch size and pagination keep costs/memory sane. How it works Import & locate docs: Manual trigger kicks off a OneDrive folder search (e.g., “LOBs”) and lists files inside. Per-file loop: Download each file → run OCR → classify the document type using filename + extracted text. Aggregate: Combine per-file results into a borrower payload (make BorrowerName dynamic). LLM analysis: Feed the payload to an AI Agent (OpenAI model) to extract underwriting-relevant facts and produce a decision + next steps. Output: Return a human-readable summary (and optionally structured JSON for systems). How to use Start with the Manual Trigger to validate end-to-end on a tiny test folder. Once stable, swap in a Schedule/Cron or Webhook trigger. Review the generated underwriting summary; handle only flagged exceptions (unknown/unreadable docs, low confidence). Setup steps Connect accounts Add credentials for OneDrive, OCR, and OpenAI. Configure inputs In Search a folder, point to your borrower docs (prefer folderId; otherwise tighten the name query). In Get items in a folder, enable pagination if the folder is large. In Split in Batches, set a conservative batch size to control costs. Wire the file path Download a file must receive the current file’s id from the folder listing. Make sure the OCR node receives binary input (PDFs/images). Classification Update keyword rules to match your region/lenders/utilities/tax forms. Keep a fallback Unknown class and log it for review. Combine Replace the hard-coded BorrowerName with: a Set node field, a form input, or parsing from folder/file naming conventions. AI Agent Set your OpenAI model/credentials. Ask the model to output JSON first (structured fields) and Markdown second (readable summary). Keep temperature low for consistent, audit-friendly results. Optional outputs Persist JSON/Markdown to Notion/Docs/DB or write to storage. Customize if needed Doc types: add/remove categories and keywords without touching core logic. Error handling: add IF paths for empty folders, failed downloads, empty OCR, or Unknown class; retry transient API errors. Privacy: redact IDs/account numbers in logs; restrict execution visibility. Scale: add MIME/size filters, duplicate detection, and multi-borrower folder patterns (parent → subfolders).
🔐 Double opt-in email verification system with Google Sheets
This template implements a professional Double Opt-In email verification system using Google Sheets as a database. The workflow collects user emails, generates unique verification codes, stores them securely, and validates user access before proceeding with your main form. How it Works User submits their email through an initial form System generates a unique 6-digit verification code Code is stored in Google Sheets along with user data Verification email is sent to the user User enters the code to verify their email Upon successful verification, user accesses the main form Setup Follow these steps to configure the workflow: Google Sheets Configuration Create a Google Sheets spreadsheet with the following columns: | Column Name | Data Type | Description | |----------------|-----------|--------------------------------------| | Start Date | String | Timestamp of form submission | | ID | String | Workflow execution ID | | Accepts Terms | String | Terms acceptance flag | | Email | String | User's email address | | Code | String | 6-digit verification code | Google Sheets Connection In n8n, go to Credentials Add new credential for Google Sheets OAuth2 Follow the OAuth2 authorization flow In the workflow, update the "Store Data" node: Replace YOURGOOGLESHEET_ID with your spreadsheet ID Select the correct sheet tab SMTP Configuration Add SMTP credentials in n8n: Go to Credentials > Add new > SMTP Enter your SMTP server details Configure port, username, and password Update the "Send Email" node: Change sender email to your domain Customize subject line and message body Set reply-to address Form Customization Entry Form: Customize the title and privacy policy text Email Form: Update the description for your use case Verification Form: Modify instructions as needed Main Form: Add or modify fields for your requirements Configuration Email Settings From Email: Replace no-reply@yourdomain.com with your sender address Subject: Customize the verification email subject Message: Personalize the email template with your branding Reply-To: Set your support email address Form Messages Update all form descriptions to match your brand voice Customize button labels Modify error messages for better user experience Benefits GDPR Compliance: Ensures legitimate user consent Spam Reduction: Validates email ownership Data Quality: Maintains clean contact lists User Trust: Professional verification process Use Cases Newsletter subscriptions User registration flows Marketing campaign sign-ups Lead generation forms Event registrations Error Handling The workflow includes: Invalid code detection Second attempt opportunity Process restart option after multiple failures Clear error messaging Security Features Unique 6-digit codes for each session Temporary code storage Validation against stored data Multiple attempt limits Tags Double Opt-In, Email Verification, Forms, Google Sheets, GDPR, Data Protection, Email Marketing, Lead Generation Requirements n8n v1.0+ Google Sheets account SMTP server access Basic understanding of n8n workflows Support For questions or issues with this template: Check the sticky notes in the workflow for detailed explanations Review the setup instructions above Ensure all credentials are properly configured Test with a personal email address first Best Practices Test the complete flow before going live Monitor Google Sheets for verification attempts Set up email delivery monitoring Consider implementing code expiration (advanced feature) Keep form messages clear and concise
Multi-channel event countdown manager with Telegram, Slack and Email
This n8n workflow automates the creation and countdown notifications for events like product launches or birthdays via a Telegram bot, ensuring timely group alerts through multi-channel routing (e.g., Slack or email). It processes incoming event data from webhooks, stores it persistently, and triggers scheduled reminders to keep teams or groups informed. Key Features Handles event creation or updates via webhook from Telegram chats or external sources. Fetches and processes upcoming events on a customizable schedule for countdown notifications. Routes alerts dynamically to channels like Slack or email based on event settings. Validates incoming data, formats messages for optimal delivery, and confirms responses to initiators. Workflow Process The Webhook Trigger node starts the workflow when an external system (e.g., Telegram bot) sends a POST request with event details like date, description, and notification preferences. The Process Webhook Event node parses and validates incoming webhook data, ensuring required fields (e.g., event date, channel) are present before proceeding. The Events Database node fetches upcoming events (e.g., launches or birthdays) from a data source, either triggered by the webhook for updates or scheduled for notifications. The Webhook Response node sends a confirmation or status response back to the webhook sender (e.g., Telegram bot) in JSON format. The Schedule Trigger node runs the workflow automatically on a defined schedule (e.g., daily at 9AM) to check for countdown-eligible events. The Is Slack? node checks if the event's notification channel is set to Slack; if true, it routes to Slack-specific formatting. The Format Slack Message node formats the event countdown message in a Slack-friendly layout (e.g., with mentions or embeds). The Send to Slack node sends the formatted message to the target Slack channel for group notifications. The Is Email? node checks if the event's notification channel is set to email (fallback from Slack check); if true, it routes to email-specific formatting. The Format Email node formats the event countdown message in an email-friendly detail (e.g., with HTML for readability). The Send Email node sends the formatted email to the recipient list (e.g., group organizers or participants). Setup Instructions Import the workflow into n8n and configure the Webhook Trigger with your Telegram bot's webhook URL for event creation requests. Set up database credentials in the Events Database node (e.g., connect to PostgreSQL or Airtable for event storage). Configure channel integrations: Slack app token for Send to Slack, SMTP credentials for Send Email, and ensure Schedule Trigger aligns with your countdown frequency (e.g., hourly for real-time alerts). Test by sending a sample POST request to the webhook with event data and manually triggering the schedule to verify notifications. Monitor executions in the n8n dashboard and refine validation logic in Process Webhook Event for custom event fields. Prerequisites Telegram bot with webhook setup for incoming event creation messages. Database service (e.g., PostgreSQL or Google Sheets) for storing and querying events. Slack workspace and email provider (e.g., Gmail SMTP) for notifications. n8n instance with webhook and cron scheduling enabled. Basic API setup for Telegram bot token and channel routing. Modification Options Add a Telegram-specific check node (e.g., "Is Telegram?") branching from Events Database to integrate direct bot messaging. Customize the Schedule Trigger for dynamic timing, like event-specific intervals for countdowns (e.g., daily leading up to the date). Extend Format Slack Message or Format Email with dynamic templates, such as embedding countdown timers or images. Integrate additional channels (e.g., Discord) by duplicating the Is Slack? / Is Email? logic. Enhance Process Webhook Event to support recurring events or auto-populate recipient lists from Telegram group data. Explore More AI Workflows: Get in touch with us for custom n8n automation!