by s3110
Title Japanese Document Translation Quality Checker with DeepL & Google Drive to Slack Who’s it for Localization teams, QA reviewers, and operations leads who need a fast, objective signal on Japanese document translation quality without manual checks. What it does / How it works This workflow watches a Google Drive folder for new Japanese documents, exports the text, translates JA→EN with DeepL, then back-translates EN→JA. It compares the original and back-translation to estimate a quality score and summarizes differences. A Google Docs report is generated, and a Slack message posts the score, difference count, and report link—so teams can triage quickly. How to set up Connect credentials for Google Drive, DeepL, and Slack. Point the Google Drive Trigger to your “incoming JP docs” folder. In the Workflow Configuration (Set) node, fill targetFolder (report destination) and slackChannel. Run once, then activate and drop a test doc. Requirements n8n (Cloud or self-hosted), Google Drive, DeepL, and Slack credentials; two Drive folders (incoming, reports). How to customize the workflow Tune the diff logic (character → token/line level, normalization rules), adjust score thresholds and Slack formatting, or add reviewer routing/Jira creation for low-score cases. Always avoid hardcoded secrets; keep user-editable variables in the Set node.
by Abdulrahman Alhalabi
Arabic OCR Telegram Bot How it Works Receive PDF Files - Users send PDF documents via Telegram to the bot OCR Processing - Mistral AI's OCR service extracts Arabic text from document pages Text Organization - Processes and formats extracted content with page numbers Create Google Doc - Generates a formatted document with all extracted text Deliver Results - Sends users a clickable link to their processed document Set up Steps Setup Time: ~20 minutes Create Telegram Bot - Get bot token from @BotFather on Telegram Configure APIs - Set up Mistral AI OCR and Google Docs API credentials Set Folder Permissions - Create Google Drive folder for storing results Test Bot - Send a sample Arabic PDF to verify OCR accuracy Deploy Webhook - Activate the Telegram webhook for real-time processing Detailed API configuration and Arabic text handling notes are included as sticky notes within the workflow. What You'll Need: Telegram Bot Token (free from @BotFather) Mistral AI API key (OCR service) Google Docs/Drive API credentials Google Drive folder for document storage Sample Arabic PDF files for testing Key Features: Real-time progress updates (5-step process notifications) Automatic page numbering in Arabic Direct Google Docs integration Error handling for non-PDF files
by Patrik Schick
How it works Every hour, the workflow checks the RSS feed https://www.artificialintelligence-news.com/feed/ for new articles. For each new item, it extracts the title, snippet, and full content, then sends them to an AI model to summarize and optionally translate. The processed summary is passed to another AI model (with a personalized “Patrik” assistant tone) to generate a newsletter-style text. Finally, the result is saved as a draft email in Gmail, ready to review and send. How to use Set your preferred language in the Information Extractor system prompt. Update the RSS feed URL if you want to pull articles from a different source. Customize the assistant tone in the Message a model node for your newsletter style. Connect your Gmail account to the Create a draft node. Activate the workflow — every hour it will fetch new articles, generate newsletter content, and save them as Gmail drafts. Customising this workflow Change the source: Replace the RSS feed URL in the RSS Feed Trigger node. Language & length: Edit the system prompt in the Information Extractor to set your preferred language and summary style. Tone & format: Adjust the Message a model node to define the assistant’s personality, structure (headlines, bullets, CTA), or output as HTML. Email settings: Change the subject, sender, or draft folder in the Create a draft node. Frequency: Modify the trigger schedule to run daily, weekly, or at custom intervals.
by Yassin Zehar
Description This workflow sends a summary of your meeting minutes via Gmail, directly from the notes stored in your Google Sheet. Context Taking notes during meetings is important, but sharing them with the team can be time-consuming. This workflow makes it simple: just write down your meeting minutes in a Google Sheets, and n8n will automatically send them by email after each meeting. Who is this for? Perfect for anyone who: Uses Google Sheets to keep track of meeting notes. Wants to automatically share minutes with teammates or stakeholders. Values speed, productivity, and automation. Requirements Google account. Google Sheets (with your meeting minutes). You will need to setup the required columns first : Topic, Status, Owner, Next Step. Gmail. How it works ⏰ Trigger starts after a new row is added in your Google Sheet. 📑 The meeting minutes are retrieved from the sheet. 📨 Gmail automatically sends the minutes to the configured recipients. Steps 🗒️ Use the sticky notes in the n8n canvas to: Add your Google credentials (Sheets + Gmail). Define your sheet and recipient email addresses. Test the workflow to check if the minutes are sent. You’ll get this: An email containing your full meeting minutes, straight from your notes. Tutorial video Watch the Youtube Tutorial video 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 Anoop
Who’s it for Solo founders and spreadsheet gremlins who track everything in Notion and want crisp Telegram pings without opening a single page. What it does This workflow runs on daily, weekly, and monthly schedules, queries multiple Notion databases, summarizes key numbers, formats human‑readable messages, and sends them to Telegram. Out of the box it sends: Daily: *Total Expenses Today* (sum of Debit in **Financial Transaction since start of day). Weekly: *Total Expenses This Week*, *Monthly Budget Left/Spent* per budget item, *Financial Obligations due* (from **Scheduler). Month End (28th by default)*: *Total Expenses This Month, Total Income This Month, Funds status. Month Start: *Liquidity snapshot* — balances for **Liquid and Semi Liquid assets (from Assets and Liabilities). Messages are built via Code nodes (simple JS) and delivered to Telegram. How it works (nodes & flow) Schedule Triggers**: Daily, Weekly, Monthly (start & end). Notion queries** (selected DBs): Financial Transaction: filters on Created time, Type = Debit/Invoice. Budget: Currently Applicable = true, Payment Schedule Type = Monthly, formula: Monthly Budget Left. Income: month-to-date Created time filter. Funds: reads Amount Left, Amount Spent, Amount Needed. Scheduler: Next Date on or before now, Type = Financial, Repeat Type != off. Assets and Liabilities: Liquidity = Liquid or Semi Liquid. Summarize nodes**: sum property_cost / property_balance fields. Set/Code nodes**: reshape Notion properties (e.g., property_next_date.start → next-date) and format text blocks like: Total Expenses Today - Rs X Monthly Budget Left - <list> Invoices still to pay - <list> Funds Info - spent/needed Liquidity Balance - <list> Telegram**: sends the composed message to chatId. > Tip: If your Notion property names differ, adjust the filters and Set node mappings accordingly. Requirements n8n (Cloud or self‑hosted) Notion workspace with Personal Finance System Notion template cloned into your workspace. Telegram account (for bot + chat) Setup (quick) Telegram Create a bot via @BotFather → get Bot Token. Get your Chat ID (n8n Telegram Trigger “Run once”, then message your bot, copy chat.id). In the Telegram Send node, set chatId (or use an env var/secret). Notion Create an Internal Integration, copy the token, and share each DB with the integration. In the Notion nodes, select your Notion credential and map the DB IDs (already present in the JSON). n8n Credentials Notion API credential: paste the integration token. Telegram API credential: paste Bot Token and set chatId in the node or via expression. Time windows Daily: on_or_after: $now.startOf('day') Weekly: on_or_after: $now.startOf('week') Monthly: on_or_after: $now.startOf('month') Monthly end trigger runs on day 28 by default — change in the Schedule node. Customization Change the date ranges, add currency symbol, or swap summaries for tables. Add more filters (labels, categories) to the Notion nodes. Replace Telegram with Slack/Email by swapping the final node. To avoid “expects dateTime but got object”, convert $now to string: {{$now.toISO()}} or parse Notion dates with DateTime.fromISO(...) as needed. Example messages Total Expenses Today - Rs 1,840 Monthly Budget Left - 3 1) Groceries: Rs 4,500 2) Dining Out: Rs 1,200 3) Utilities: Rs 800 Invoices still to pay - 2 1) Figma Pro: Rs 3,000 2) AWS: Rs 2,450 Why this is useful Keeps your spend & cash visibility tight without opening Notion. Turns your financial system into low‑effort telemetry — you just look at Telegram. Credentials you’ll likely name in n8n Notion**: Notion account Telegram**: Accountant AI > Works great with the “Personal Finance System” style schemas. Adjust property keys (property_*) if your Notion columns differ.
by Jason Krol
Using the power and ease of Telegram, send a simple text or audio message to a bot with a request to add a new Task to your Notion Tasks database. How it works ChatGPT is used to transacribe the audio or text message, parse it, and determine the title to add as a new Notion Task. You can optionally include a "do date" as well and ChatGPT will include that when creating the task. Once complete you will receive a simple confirmation message back. Minimal Setup Required Just follow n8n's instructions on how to connect to Telegram and create your own chatBot, provide the chatID in the 2 Telegram nodes, and you're finished! A few optional settings include tweaking the ChatGPT system prompt (unnecessary) and the timezone for your Notion Task(s).
by clearcue.ai
Who’s it for This workflow is for marketers, founders, and content strategists who want to identify business opportunities by analyzing Reddit discussions. It’s ideal for B2B, SaaS, and tech professionals looking for fresh LinkedIn post ideas or trend insights. How it works / What it does This workflow automatically: Fetches Reddit posts & comments based on a selected subreddit and keyword. Extracts pain points & insights using OpenAI (ChatGPT) to identify key frustrations and trends. Generates LinkedIn post ideas with headlines, hooks, and CTAs tailored for professional audiences. Saves all results into Google Sheets for easy tracking, editing, and sharing. It uses AI to turn unstructured Reddit conversations into actionable content marketing opportunities. How to set up Clone this workflow in your n8n instance. Configure credentials: Reddit OAuth2 (for fetching posts & comments) OpenAI API key (no hardcoding—use credentials in n8n) Google Sheets OAuth2 (for output) Run the workflow or trigger it using the built-in Form Trigger (provide subreddit & keyword). Check the generated Google Sheet for analyzed insights and post suggestions. Requirements n8n (self-hosted or cloud) Reddit account with API credentials OpenAI API key (GPT-4o recommended) Google Sheets account How to customize the workflow Change the AI prompt to adjust tone or depth of insights. Add filtering logic to target posts with higher engagement. Modify the Google Sheets output schema to include custom fields. Extend it with Slack/Email notifications to instantly share top insights.
by David Olusola
Overview This n8n workflow automates the process of sending a daily weather report for a specified city directly to your email inbox. It's a simple yet effective way to stay informed about the weather without manually checking. How It Works This workflow operates in four main steps: Daily Schedule Trigger: The workflow begins with a Cron node, which acts as a scheduler. It's configured to trigger the workflow automatically at a specific time each day (e.g., every morning at 8:00 AM). Fetch Weather Data: Next, an HTTP Request node is used to interact with the OpenWeatherMap API. This node constructs a URL to query the API for current weather conditions in a specified city (e.g., "London"). It includes parameters like units=metric (for Celsius temperatures) and your unique appid (API key) for authentication with OpenWeatherMap. Format Weather Report: A Code node receives the raw JSON weather data from the OpenWeatherMap API. Inside this node, JavaScript code extracts relevant information such as city name, weather description, temperature (current and "feels like"), humidity, and wind speed. It then formats this information into a human-readable text string, creating the actual weather report message. Send Email Report: Finally, a Gmail node takes the formatted weather report from the Code node. It uses your configured Gmail credentials to send an email to your specified recipient address. The email's subject line dynamically includes the city name, and the body contains the full formatted weather report. Setup Steps To get this workflow up and running, follow these instructions: Step 1: Get Your OpenWeatherMap API Key Go to the OpenWeatherMap website. Sign up for a free account if you don't already have one. Once logged in, navigate to the "API keys" section of your profile. Copy your unique API key. You will need this in Step 4. Step 2: Create Gmail Credentials in n8n In your n8n instance, click on Credentials in the left sidebar. Click New Credential. Search for and select "Gmail OAuth2 API" or "Gmail API" (OAuth2 is generally preferred). Follow the on-screen instructions to connect your Gmail account. This usually involves clicking an "Authenticate with Google" button and granting n8n the necessary permissions. Save the credential. Make note of the Credential Name (e.g., "My Gmail Account").
by Fahmi Fahreza
This template sets up a weekly ETL (Extract, Transform, Load) pipeline that pulls financial data from QuickBooks Online into Google BigQuery. It not only transfers data, but also cleans, classifies, and enriches each transaction using your own business logic. Who It's For Data Analysts & BI Developers** Need structured financial data in a warehouse to build dashboards (e.g., Looker Studio, Tableau) and run complex queries. Financial Analysts & Accountants** Want to run custom SQL queries beyond QuickBooks’ native capabilities. Business Owners** Need a permanent, historical archive of transactions for reporting and tracking. What the Workflow Does 1. Extract Fetches transactions from the previous week every Monday from your QuickBooks Online account. 2. Transform Applies custom business logic: Cleans up text fields Generates stable transaction IDs Classifies transactions (income, expense, internal transfer) 3. Format Prepares the cleaned data as a bulk-insert-ready SQL statement. 4. Load Inserts the structured and enriched data into a Google BigQuery table. Setup Guide 1. Prepare BigQuery Create a dataset (e.g., quickbooks) and table (e.g., transactions) The table schema must match the SQL query in the "Load Data to BigQuery" node 2. Add Credentials Add QuickBooks Online and Google BigQuery credentials to your n8n instance 3. Configure Business Logic Open the Clean & Classify Transactions node Update the JavaScript arrays: internalTransferAccounts expenseCategories incomeCategories Ensure these match your QuickBooks Chart of Accounts exactly 4. Configure BigQuery Node Open the Load Data to BigQuery node Select the correct Google Cloud project Ensure the SQL query references the correct dataset and table 5. Activate the Workflow Save and activate it The workflow will now run weekly Requirements A running n8n instance (Cloud or Self-Hosted) A QuickBooks Online account A Google Cloud Platform project with BigQuery enabled A BigQuery table with a matching schema Customization Options Change Schedule**: Modify the schedule node to run daily, monthly, or at a different time Adjust Date Range**: Change the date macro in the Get Last Week's Transactions node Refine Classification Rules**: Add custom logic in the Clean & Classify Transactions node to handle specific edge cases
by Fahmi Fahreza
Send smart, personalized welcome emails to any Jotform lead This workflow intelligently qualifies new Jotform leads and sends the perfect welcome email every time. It detects whether a lead is using a business or personal email address and tailors the outreach accordingly—either with deep company research for B2B leads or a warm, direct welcome for B2C leads. Who's it for? Businesses with mixed audiences:** Companies that serve both business clients and individual users. Sales & Marketing Teams:** To automate lead qualification and send context-aware first-touch emails. Founders & Solopreneurs:** To ensure every new lead gets a relevant, personalized welcome without manual effort. How it works Trigger: The workflow starts on a new Jotform submission. Filter: It checks if the lead's email is a work email (e.g., jane@mycompany.com) or a personal one (e.g., john@gmail.com). Path A (Work Email): The workflow researches the company using Perplexity AI and then uses OpenAI to draft a deeply personalized email referencing company-specific details. Path B (Personal Email): The workflow skips the research and uses OpenAI to draft a warm, friendly, but more general welcome email. Send: The appropriate, context-aware email is sent to the new lead via Gmail. How to set up Jotform: Connect your Jotform credentials and choose your lead capture form. Important: Your form must contain fields with the exact names name and email. You can add other fields for more context (e.g., company_size). Credentials: Connect your Perplexity AI, OpenAI, and Gmail accounts. Activate Workflow: Turn the workflow on. Requirements An n8n account. A Jotform account. A Perplexity AI account with API access. An OpenAI account with API access. A Gmail account. How to customize the workflow Filter Logic:** Add more personal email domains (e.g., icloud.com) to the list in the Check if Email is Work or Personal node to improve filtering. Prompts:** Customize the prompts in both the AI Agent nodes to match your brand's voice and tone.
by Robert Breen
This n8n automation notifies you whenever someone books a meeting with you via Calendly. It sends a customized email via Outlook and a Slack message using details from the event. 📌 What This Workflow Does Listens for new Calendly meeting bookings (invitee.created). Extracts key details (name, email, reason for meeting, start time). Uses an AI agent to generate both: A HTML email sent to you via Outlook. A Slack message sent to your chosen channel. ⚙️ Step-by-Step Setup Instructions 1. 🔗 Calendly API Setup In n8n: Go to Credentials → Add Credential → Calendly API. Connect your account with the personal access token. In the Calendly Trigger node, set event to invitee.created. 2. 📧 Microsoft Outlook Credential Add Microsoft Outlook credentials via OAuth2 in n8n → Credentials. Select it in the "Send a message" node. 3. 💬 Slack Setup Add Slack OAuth2 credentials. Select your Slack workspace and choose the channel (e.g., #leads). 4. 🧠 Configure the AI Agent (OpenAI) Provide your OpenAI API key under Credentials → OpenAI API. The AI Agent node is pre-configured to: Format a custom Slack message Format a custom Outlook HTML email 5. 🛠 Node Details Calendly Event** (Trigger): Listens for new bookings Edit Fields**: Extracts values like name, email, start time, and form answers Email Generator** (AI Agent): Creates formatted email + Slack message Send a message** (Outlook): Sends the formatted email to your inbox Slack Message**: Sends the AI-generated Slack alert 🧪 Example Output Slack Message:
by Matt Chong
Who is this for? Teams using Gmail and Slack who want to streamline email handling. Customer support, sales, and operations teams that want emails sorted by topic and priority automatically. Anyone tired of manually triaging customer emails. What does it solve? Stops important messages from slipping through the cracks. Automatically identifies the nature and urgency of incoming emails. Routes emails to the right Slack channel with a clear, AI-generated summary. How it works The workflow watches for unread emails in your Gmail inbox. It fetches the full email content and passes it to OpenAI for classification. The AI returns structured JSON with the email’s category, priority, summary, and sender. Based on the AI result, it assigns a label and Slack channel. A message is sent to the right Slack channel with the details. How to setup? Connect credentials: Gmail (OAuth2) Slack (OAuth2) OpenAI (API Key) Adjust email polling: Open the Gmail Trigger node and set how frequently it should check for new emails. Verify routing settings: In the “Routing Map” node, update Slack channel IDs for each category if needed. Customize AI behavior (optional): Tweak the AI Agent prompt to better match your internal categorization rules. How to customize this workflow to your needs Add more categories:** Update the AI prompt and the schema in the “Structured Output Parser.” Change Slack formatting:** Modify the message text in the Slack node to include links, emojis, or mentions. Use different routing logic:** Expand the Routing Map to assign based on keywords, domains, or even sentiment. Add escalation workflows:** Trigger follow-up actions for high-priority or complaint emails.