by Samir Saci
Tags: Image Compression, Tinify API, TinyPNG, SEO Optimisation, E-commerce, Marketing Context Hi! Iβm Samir β Supply Chain Engineer, Data Scientist based in Paris, and founder of LogiGreen. I built this workflow for an agency specialising in e-commerce to automate the daily compression of their images stored in a Google Drive folder. This is particularly useful when managing large libraries of product photos, website assets or marketing visuals that need to stay lightweight for SEO, website performance or storage optimisation. > Test this workflow with the free tier of the API! π¬ For business inquiries, you can find me on LinkedIn Who is this template for? This template is designed for: E-commerce managers** who need to keep product images optimised Marketing teams** handling large volumes of visuals Website owners** wanting automatic image compression for SEO Anyone using Google Drive** to store images that gradually become too heavy What does this workflow do? This workflow acts as an automated image compressor and reporting system using Tinify, Google Drive, and Gmail. Runs every day at 08:00 using a Schedule Trigger Fetches all images from the Google Drive Input folder Downloads each file and sends it to the Tinify API for compression Downloads the optimised image and saves it to the Compressed folder Moves the original file to the Original Images archive Logs: fileName, originalSize, compressedSize, imageId, outputUrl and processingId into a Data Table After processing, it retrieves all logs for the current batch Generates a clean HTML report summarising the compression results Sends the report via Gmail, including total space saved Here is an example from my personal folder: Here is the report generated for these images: P.S.: You can customise the report to match your company branding or visual identity. π₯ Tutorial A complete tutorial (with explanations of every node) is available on YouTube: Next Steps Before running the workflow, follow the sticky notes and configure the following: Get your Tinify API key for the free tier here: Get your key Replace Google Drive folder IDs in: Input, Compressed, and Original Images Replace the Data Table reference with your own (fields required: fileName, originalSize, compressedSize, imageId, outputUrl, processingId) Add your Tinify API key in the HTTP Basic Auth credentials Set up your Gmail credentials and recipient email (Optional) Customise the HTML report in the Generate Report Code node (Optional) Adjust the daily schedule to your preferred time Submitted: 18 November 2025 Template designed with n8n version 1.116.2
by Priyanka Rana
Overview This n8n workflow automates the entire process of capturing leads, enriching their data with company information using an AI Agent, and then generating highly personalized introductory emails (using ChatGPT-4o) saved as drafts in your Gmail account. This prepares your sales team for a high-quality outreach with minimal manual effort. Requirements To use this workflow, you need the following accounts and credentials: Google Sheets Account: To store and track lead information (the workflow uses a sheet with ID). Below are the columns of the sheet First name Last name Email ID Company Name Company Information Designation Message Location Status Intro email Date Reminder 1 needed? Reminder 1 Email Date OpenAI API Key (for ChatGPT-4o): For drafting the personalized introductory emails. Google Gemini API Key: For the AI Agent to perform online company research. Gmail Account: To save the final personalized emails as drafts. How It Works The workflow is structured into two main phases: Lead Capture & Enrichment, and Personalized Email Drafting. Phase 1: Lead Capture and Enrichment This phase collects user inquiries and uses an AI Agent to search the web for additional company details to enrich the lead profile. On form submission (Form Trigger): The workflow starts when a potential lead fills out the embedded lead capture form, which collects details like First Name, Last Name, Company Name, Email ID, Designation, and a Message/inquiry. This is optional as many company may have other ways to capture leads. Append row in sheet (Google Sheets): The initial lead data collected from the form is added to your Google Sheet tracker, setting the Status to To Send. AI Agent: The AI Agent is prompted to search online for the client's company name to gather two pieces of information: A 1-2 sentence Company Description (what they do). The Company Location, categorized as Delhi/NCR, Bangalore, Mumbai, or Other. This should be changed basis your need. Code: This node processes the structured text output from the AI Agent and separates the Company Description and Company Location into distinct fields. Update row in sheet (Google Sheets): The newly researched Company Information and Location are updated and added to the lead's row in the Google Sheet, matching on Email ID. Phase 2: Personalized Email Drafting and Logging This phase retrieves leads ready for outreach, drafts a personalized email using AI, and saves it for the sales team. Get row(s) in sheet (Google Sheets): The workflow fetches all leads whose Status is either To send or To Send (using an OR filter). Introductory email (OpenAI - ChatGPT-4o): For each lead, the OpenAI node is used as a B2B marketing assistant to write a personalized introductory email based on a predefined template. The prompt uses the lead's data (First Name, Company Name, Message, etc.) and instructs the AI to: Create a subject line: Following up on your interest in <your company name> for [shorter version of pain point]. Personalize the body by referencing their pain points and suggesting how <your company> has helped similar companies. Include a call-to-action (CTA) for a quick 15-minute chat. Provide a P.S. line about a relevant success story that your company has delivered. The output is structured into EmailSubject, EmailContent, and Emailid variables. Create a draft (Gmail): The personalized email is saved as a draft in the specified Gmail account, using the AI-generated Subject and Content. Best Practice: It is recommended to add an auto-signature in the Gmail account used for the draft. Append or update row in sheet (Google Sheets): The lead's row is updated to reflect the outreach effort. The Status is set to Drafted, and the current date is logged in the Intro email Date column. Customization Notes Initial Data: You can replace the On form submission trigger with a Google Sheets Trigger or a Webhook to capture leads from other sources (e.g., a CRM or LinkedIn). AI Prompt: To ensure the best results, update the agent prompt in the Introductory email node to make it more relevant for your company. Sender: Ensure the email ID used for drafting corresponds to the sales team's email.
by Asuka
Who Is This For? This workflow is designed for space enthusiasts, science educators, journalists, fact-checkers, and researchers who want to stay informed about near-Earth asteroid threats while filtering out media sensationalism. It's also valuable for anyone studying how different regions cover space-related news. What It Does This workflow creates an automated planetary defense monitoring system that: Scans NASA's Near Earth Object database for potentially hazardous asteroids over a 7-day window Searches news coverage across three regions (US, Japan, EU) to compare media reporting Uses AI (GPT-4o-mini) to fact-check news claims against official NASA data Detects misinformation and measures media sensationalism levels Generates visual charts comparing actual threat levels vs media panic Sends alerts through multiple channels (Slack, Discord, Email) Logs all alerts to Google Sheets for historical analysis How It Works Trigger: Runs daily at 9 AM or on-demand via webhook NASA Data Fetch: Retrieves 7-day asteroid forecast from NASA NeoWs API Threat Analysis: Identifies potentially hazardous asteroids and assigns alert levels (LOW/MEDIUM/HIGH) News Search: Searches news in US, Japan, and EU using Apify's Google Search Scraper AI Fact-Check: GPT-4o-mini compares news claims against NASA data, detecting misinformation Visualization: Generates gauge charts for threat level and media panic, plus regional comparison bar chart Multi-Channel Alerts: Sends formatted reports to Slack, Discord, Email, and logs to Google Sheets Set Up Steps Estimated time: 15-20 minutes NASA API (Required): Get your free API key at api.nasa.gov Apify (Required): Create account and connect via OAuth OpenAI (Required): Add your API key from platform.openai.com Notification Channels (Choose at least one): Slack: Create OAuth app and connect Discord: Create webhook URL Email: Configure SMTP settings Google Sheets (Optional): Create a sheet for logging with columns: Date, Alert Level, Hazardous Count, Threat Score, Media Panic Score, Misinformation Detected, Top Asteroid, Most Accurate Region Requirements NASA API key (free) Apify account (free tier available) OpenAI API key (paid) At least one notification channel configured n8n version 1.0+ How to Customize Change scan frequency**: Modify the Schedule Trigger node Add more regions**: Edit the "Configure Regional Search" code node Adjust alert thresholds**: Modify lunar distance threshold (currently 10) in "Analyze Asteroid Threats" Disable channels**: Simply remove connections to notification nodes you don't need Customize messages**: Edit the "Format Multi-Channel Messages" node
by Abi Odedeyi
How It Works Trigger: Watches for new emails in Gmail with PDF/image attachments. OCR: Sends the attachment to OCR.space API (https://ocr.space/OCRAPI) to extract invoice text. Parsing: Extracts key fields: Vendor Invoice number Amount Currency Invoice date Due date Description Validation Logic: Checks if amount is valid Ensures vendor and invoice number are present Flags high-value invoices (e.g., over $10,000) Routing: If invalid: Sends a Slack message highlighting issues Labels email as Rejected If valid: Logs the invoice into Google Sheets Sends a Slack message to the finance team for approval After approval, creates a draft invoice in Xero Labels the email as Processed in Gmail Set up steps β’ Estimated setup time: 45-60 mins β’ Youβll need connected credentials for Gmail, Slack, Google Sheets, and Xero β’ Replace the default API key for OCR.space with your own (in the HTTP Request node) β’ Update Slack channel IDs and label IDs to match your workspace β’ Adjust invoice validation rules as needed (e.g. currency, red flag conditions) All detailed explanations and field mappings are provided in sticky notes within the workflow.
by Rahul Joshi
Description This workflow automates personalized candidate communication for both shortlisted and rejected applicants. It fetches candidate details, processes resumes, checks for errors, and uses GPT-4o to generate professional HTML emails. Shortlisted candidates receive congratulatory onboarding plans, while rejected candidates receive polite rejections with learning resources. What This Template Does (Step-by-Step) β‘ Manual Trigger β Starts the workflow execution. π Candidate Data Fetch (Google Sheets) β Pulls structured candidate data (name, email, resume link, skills, job info, status). π₯ Resume Downloader (Google Drive) β Downloads candidate resumes from sheet links. β Resume File Check (If Condition) β Ensures the resume file is valid before proceeding. β οΈ Error Logging (Google Sheets) β Records failed or missing resumes in a dedicated sheet for audit. π PDF β Text Extractor β Extracts raw resume text for deeper AI analysis. π§© Candidate Data Builder (Code Node) β Combines Google Sheets data with extracted resume text into a single enriched JSON object. π― Shortlisted vs Rejected (If Condition) β Splits candidates into two flows based on their status field. Shortlisted Path π Congrats + Onboarding Plan (LLM Chain) β GPT-4o generates a congratulatory HTML email including: Identified skill gaps Recommended online courses (Coursera/Udemy/LinkedIn Learning) Next onboarding steps π§ Candidate Mailer β Shortlisted (Gmail) β Sends the onboarding email directly to the candidate. Rejected Path π Polite Rejection + Learning Plan (LLM Chain) β GPT-4o generates a professional rejection email including: Empathetic rejection message Constructive feedback on skill gaps Learning resources to improve for future opportunities π§ Candidate Mailer β Rejected (Gmail) β Sends the polite rejection + learning plan to the candidate. Prerequisites Google Sheets (candidate database + error log) Google Drive (resume storage) Gmail API (for sending candidate emails) Azure OpenAI (GPT-4o-mini model access) Key Benefits β Automates candidate communication (both shortlisted & rejected) β Delivers professional, HTML-ready emails β Enhances candidate experience with personalized learning plans β Prevents silent rejections by providing constructive resources β Improves employer branding with empathetic communication β Error resilience via logging and validation steps Perfect For Recruitment teams managing high candidate volume Companies looking to humanize rejections HR departments that want automated but personalized communication Organizations investing in candidate experience & employer brand
by Apurva Mishra
AI Email Manager: Auto Summary, Labeling, and CRM Logging via n8n + Gemini Overview This workflow turns your Gmail inbox into a fully autonomous AI Email Agent that reads, summarizes, categorizes, and organizes emails in real-time. Built with n8n, Google Gemini, Notion, and Google Sheets, itβs perfect for founders, freelancers, and agencies who receive a ton of emails daily and want to automate the triage process without losing control. How It Works Gmail Trigger β Detects new incoming emails. Process Email Data β Extracts sender info, subject, and content in a clean structured format. AI Email Analyzer β Uses Gemini AI to summarize the email and decide the most relevant label (e.g., Project Updates, Client Requests, Invoices, etc.). Create Gmail Label (if not exists) β Dynamically creates a new label if the AI recommends one that doesnβt exist. AI Agent + Add Label to Email β Applies the correct Gmail label automatically using the message ID. Logs in Notion & Google Sheets β Every processed email (summary, sender, date, label) is logged for tracking and analytics. Who Itβs For Entrepreneurs & Founders β Manage investor, client, and product update emails automatically. Agencies & Teams β Classify and track client emails effortlessly across projects. Freelancers & Consultants β Get AI summaries and organize leads without manually labeling emails. Tech Builders β Anyone building AI automation tools and SaaS products around inbox management.
by Dr. Firas
Build Your First AI Agent with ChatGPT-5 Who is this for? This workflow is designed for beginners and professionals who want to build their first AI-powered assistant with n8n. Itβs perfect for anyone managing online trainings, consultations, or services that require both a knowledge base and appointment scheduling. What problem is this workflow solving? Manually handling client questions, checking your availability, and confirming bookings can be time-consuming and error-prone. This workflow automates the process, ensuring quick, accurate answers and seamless scheduling directly through chat. What this workflow does Answers user questions using your knowledge base stored in Google Sheets. Checks availability in Google Calendar and proposes alternative time slots if needed. Books 1-hour appointments in Paris time only after client confirmation. Sends a professional confirmation email with all appointment details. Setup Import this workflow into your n8n instance. Connect your Google Sheets, Gmail, and Google Calendar credentials. Add your knowledge base into Google Sheets (questions, answers, policies, packs, etc.). Test the workflow using the Connected Chat Trigger node to start conversations with the AI Agent. How to customize this workflow to your needs Update the Google Sheets database with your own training packs, services, or company FAQs. Adjust the email template to reflect your branding and communication style. Modify the appointment duration if you need sessions longer or shorter than 1 hour. Add extra nodes (e.g., CRM integration) to capture leads or sync appointments with external systems. π Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube
by Incrementors
AI-Powered Keyword Cannibalization Detection Workflow Overview This is an advanced n8n automation workflow designed to detect and analyze keyword cannibalization issues across multiple client websites using Google Search Console data and artificial intelligence. The system provides real-time monitoring and comprehensive reporting to help SEO professionals identify and resolve internal competition between pages ranking for the same keywords. Core Components 1. Automated Monitoring System Real-time trigger:** Monitors Google Sheets for keyword changes every minute Multi-client support:** Handles up to 4 different client websites simultaneously Intelligent routing:** Automatically directs each client's data through dedicated processing paths 2. Data Collection & Processing GSC Integration:** Fetches 30 days of search performance data from Google Search Console API Comprehensive metrics:** Collects keyword rankings, page URLs, positions, clicks, impressions, and CTR Data transformation:** Groups raw API responses by keywords for structured analysis Cross-referencing:** Matches target keywords from Google Sheets with actual GSC performance data 3. AI Analysis Engine GPT-4o powered:** Uses advanced AI to analyze keyword competition patterns Risk categorization:** Automatically classifies cannibalization risk as: High Risk: 5+ pages competing for the same keyword Moderate Risk: 3+ pages ranking in top 10 positions Low Risk: 2 pages with one clearly dominating No Risk: Single page ranking for the keyword Intelligent reasoning:** Provides detailed explanations for each risk assessment 4. Comprehensive Reporting Automated output:** Saves analysis results back to Google Sheets Detailed insights:** Includes risk levels, reasoning, observations, and actionable remediation steps Performance tracking:** Complete keyword performance metrics for client reporting Status tracking:** Identifies which keywords are ranking vs. missing from search results
by Fabian Herhold
Who's it for Sales teams, BDRs, account managers, and customer success professionals who want to show up prepared for every meeting. Perfect for anyone using Calendly who wants to automate prospect research and never walk into a call blind again. Watch the full tutorial here: What it does This workflow automatically researches your meeting attendees the moment they book through Calendly. It combines multiple AI agents to gather comprehensive intelligence: Company Research**: Uses Perplexity AI to validate company details, recent news, funding, leadership changes, and business signals LinkedIn Analysis**: Leverages RapidAPI to analyze the person's profile, recent posts, comments, and engagement patterns from the last 60-90 days Signal Detection**: Identifies hiring signals, growth indicators, and potential risks with confidence scoring Meeting Prep**: Synthesizes everything into personalized talking points, conversation starters, and strategic recommendations The final research brief gets delivered directly to your Slack, saving 30-45 minutes of manual research per meeting. How it works Someone books a meeting via your Calendly (must include LinkedIn URL in booking form) Main AI Agent extracts company domain from email and coordinates three specialist research agents Company Agent researches business intel via Perplexity Person Agent analyzes LinkedIn activity using 4 different RapidAPI endpoints Signal Agent identifies business opportunities and risks Comprehensive meeting brief gets sent to your Slack channel Requirements API Credentials needed: Calendly API (for webhook trigger) OpenAI API key (GPT-4 recommended for orchestration) Perplexity API key (for web research) RapidAPI subscription (for LinkedIn data endpoints) Slack bot token (for output delivery) Important: Your Calendly booking form must include a LinkedIn URL field to get optimal results. How to set up Configure Calendly: Add the Calendly trigger node with your API credentials Update Slack destination: Modify the final Slack node with your user ID or channel Add API keys: Configure all the API credentials in their respective nodes Test the workflow: Book a test meeting through Calendly to verify the complete flow Customize prompts: Adjust the AI agent prompts based on your specific industry or use case The workflow uses structured JSON output with confidence scoring and source citation for reliable, actionable intelligence. How to customize the workflow Change output destination**: Replace Slack with email, Teams, or CRM integration Modify research depth**: Adjust the AI prompts to focus on specific industries or company types Add more signals**: Extend the Signal Research Agent to detect additional business indicators Integrate with CRM**: Add nodes to automatically update contact records in your sales system Schedule follow-ups**: Connect to calendar tools to automatically schedule research updates The modular design makes it easy to adapt for different sales processes and research requirements.
by Abdullah Alshiekh
π Description: This template is designed for healthcare providers, sales reps, and medical tourism companies who need to process diagnosis emails efficiently. It automates the full flow from email to report delivery. When a new diagnosis email arrives: The email content is captured and parsed by an AI agent (Gemini or any customizable LLM). Patient and medical data is extracted into structured fields (e.g., name, phone, diagnosis). Data is logged into a Google Sheet for records. A Google Docs medical report is generated using a predefined template. The report is exported as PDF and emailed to stakeholders (e.g., managers or sales team). This template supports custom AI models, customizable Google Docs templates, and flexible filtering based on sender email. π οΈ Features Gmail email trigger (customizable sender filter) AI-powered diagnosis parsing using Gemini (easily switchable to OpenAI or others) Google Sheets log Google Docs templated report (auto-filled) PDF export and email sending Full flexibility & customization π§ Requirements Before using this template, you'll need: A connected Gmail account (to receive diagnosis emails) A valid Google Sheets integration (create your own sheet with the desired columns) A Google Docs template document that includes placeholder tags like {{patient_name}}, {{date}}, etc. A Gemini or OpenAI API connection for the AI agent (fully customizable) Note: You must replace all Google Drive, Docs, and Sheets references with your own documents. This template does not grant access to the original creator's files. βοΈ Customization Tips In the Gmail Trigger node, change the sender filter to match the doctorβs email you want to process. Modify the AI prompt if your use case needs different extracted fields. Replace the Google Docs template link with your own file and customize its structure and variables. Change recipient email addresses in the final Gmail node to notify the correct team members. Optional: Add fallback flows or error branches for when AI fails or input is malformed. π§ Use Case Examples Medical tourism agencies auto-generating patient reports for incoming diagnosis summaries Clinics storing structured data from messy email inputs Sales teams instantly notified of new leads with completed medical summaries
by Rully Saputra
Automate Lighthouse report alerts to messenger and Google Sheets Whoβs it for This workflow is ideal for developers, SEO specialists, performance engineers, and digital agencies who want to continuously monitor website performance using Core Web Vitals. Itβs also perfect for product or infrastructure teams that need real-time alerts when a site underperforms and want a historical log of reports in Google Sheets. What it does This automation periodically fetches a Lighthouse report from the PageSpeed Insights API, checks whether any of the Core Web Vitals (CWV) scores fall below a defined threshold, and sends a notification to Telegram (or any other preferred messenger). It also logs the summarized report in a specific row within a Google Spreadsheet for long-term tracking and reporting. The CWV audit results are processed using JavaScript and passed through a summarization step using Gemini Chat, making the audit descriptions concise and actionable. How to set up Configure the Schedule Trigger node to run at your preferred frequency. Set your target URLs and API Key, then connect the HTTP Request node to Google PageSpeed Insights. Update the JavaScript Code node to filter and parse only CWV metrics. Define thresholds in the IF Node to trigger Telegram messages only when needed. Connect your Telegram (or other messenger) credentials. Set up the Google Sheets node by linking your account and choosing the sheet and range to log data. Requirements Google account with access to Google Sheets Telegram bot token or any preferred messenger API key for PageSpeed Insights Gemini Chat integration (optional for summarization, can be replaced or removed) How to customize the workflow Swap Telegram for Slack, Discord, or email by replacing the Send Notification node. Adjust the CWV thresholds or include other Lighthouse metrics by modifying the IF Node and JavaScript logic. Add multiple URLs to monitor by introducing a loop or extending the schedule with different endpoints. Replace the Gemini Chat model with OpenAI, Claude, or your custom summarizer if needed.
by Rahul Joshi
π Description: This workflow automates the entire release note creation and announcement process whenever a task status changes in ClickUp. Using Azure OpenAI GPT-4o, Notion, Slack, Gmail, and Google Sheets, it converts technical task data into clear, structured, and branded release notes β ready for documentation and team broadcast. The flow captures task details, generates Markdown-formatted FAQs, documents them in Notion, formats professional Slack messages, and notifies the task owner via HTML email. Any failed payloads or validation errors are logged automatically to Google Sheets for full traceability. The result is a zero-touch release workflow that saves time, keeps communication consistent, and ensures every completed feature is clearly documented and shared. βοΈ What This Workflow Does (Step-by-Step) π’ ClickUp Task Status Trigger Listens for task status updates (e.g., In Review β Complete) within the specified ClickUp team. Whenever a task reaches a completion state, this node starts the release note workflow automatically. π Validate ClickUp Payload (IF Node) Checks that the incoming ClickUp webhook contains a valid task_id. β True Path: Proceeds to fetch task details. β False Path: Logs the invalid payload to Google Sheets for review. π Fetch Task Details from ClickUp Retrieves full information about the task using the task_id, including title, description, status, assignee, priority, and custom fields. Provides complete task context for AI processing. π§© Parse Task Details in JavaScript Cleans and standardizes task data into JSON format with fields like title, description, priority, owner, due date, and task URL. Also extracts optional links (e.g., GitHub references). Ensures consistent, structured input for the AI model. π§ Configure GPT-4o Model (Azure OpenAI) Initializes GPT-4o as the core reasoning engine for FAQ and release-note generation, ensuring context-aware and concise output. π€ Generate Release Notes FAQ (AI Agent) Transforms task details into a Markdown-formatted release note under four standardized sections: 1οΈβ£ What changed 2οΈβ£ Why 3οΈβ£ How to use 4οΈβ£ Known issues Each section is written clearly and briefly for internal and external readers. π Save Release Notes to Notion Creates a new page in the Notion βRelease Notesβ database. Includes task URL, owner, status, priority, and the full AI-generated FAQ content. Serves as the single source of truth for changelogs and release documentation. π¬ Configure GPT-4o Model (Slack Formatting) Prepares another GPT-4o model instance for formatting Slack-ready announcements in a professional and brand-consistent tone. π¨ Generate Slack Release Announcement (AI Agent) Converts the Notion release information into a polished Slack message. Adds emojis, bullet points, and a clickable task URL β optimized for quick team consumption. π’ Announce Release in Slack Posts the AI-formatted message directly to the internal Slack channel, notifying the team of the latest feature release. Keeps everyone aligned without manual drafting or posting. π¨ Send Acknowledgment Email to Assignee (Gmail Node) Sends an automated HTML email to the task owner confirming that their release is live. Includes task name, status, priority, release date, quick links to Notion and ClickUp, and a preview of the AI-generated FAQ. Delivers a professional confirmation while closing the communication loop. π¨ Log Errors in Google Sheets Captures all payload validation errors, API failures, or processing exceptions into an βError Log Sheet.β Ensures complete auditability and smooth maintenance of the workflow. π§© Prerequisites ClickUp API credentials (for task triggers & data fetch) Azure OpenAI (GPT-4o) credentials Notion API integration (for release documentation) Slack API connection (for announcements) Gmail API access (for acknowledgment emails) Google Sheets API access (for error logging) π‘ Key Benefits β Converts completed tasks into professional release notes automatically β Publishes directly to Notion with consistent documentation β Broadcasts updates to Slack in clean, branded format β Notifies assignees instantly via personalized HTML email β Maintains transparent error tracking in Google Sheets π₯ Perfect For Product & Engineering Teams managing frequent feature releases SaaS companies automating changelog and release documentation Project managers maintaining internal knowledge bases Teams using ClickUp, Notion, Slack, and Gmail for daily operations