by Samir Saci
Tags*: Supply Chain, Inventory Management, ABC Analysis, Pareto Principle, Demand Variability, Automation, Google Sheets Context Hi! I’m Samir — a Supply Chain Engineer and Data Scientist based in Paris, and founder of LogiGreen Consulting. I help companies optimise inventory and logistics operations by combining data analytics and workflow automation. This workflow is part of our inventory optimisation toolkit, allowing businesses to perform ABC classification and Pareto analysis directly from their transactional sales data. > Automate inventory segmentation with n8n! 📬 For business inquiries, feel free to connect with me on LinkedIn Who is this template for? This workflow is designed for supply chain analysts, demand planners, or inventory managers who want to: Identify their top-performing items (Pareto 80/20 principle) Classify products into ABC categories based on sales contribution Evaluate demand variability (XYZ classification support) Imagine you have a Google Sheet where daily sales transactions are stored: The workflow aggregates sales by item, calculates cumulative contribution, and assigns A, B, or C classes. It also computes mean, standard deviation, and coefficient of variation (CV) to highlight demand volatility. How does it work? This workflow automates the process of ABC & Pareto analysis from raw sales data: 📊 Google Sheets input provides daily transactional sales 🧮 Aggregation & code nodes compute sales, turnover, and cumulative shares 🧠 ABC class mapping assigns items into A/B/C buckets 📈 Demand variability metrics (XYZ) are calculated 📑 Results are appended into dedicated Google Sheets tabs for reporting 🎥 Watch My Tutorial Steps: 📝 Load daily sales records from Google Sheets 🔎 Filter out items with zero sales 📊 Aggregate sales by store, item, and day 📈 Perform Pareto analysis to calculate cumulative turnover share 🧮 Compute demand variability (mean, stdev, CV) 🧠 Assign ABC classes based on cumulative share thresholds 📥 Append results into ABC XYZ and Pareto output sheets What do I need to get started? You’ll need: A Google Sheet with sales transactions (date, item, quantity, turnover) that is available here: Test Sheet A Google Sheets account connected in n8n Basic knowledge of inventory analysis (ABC/XYZ) Next Steps 🗒️ Use the sticky notes in the n8n canvas to: Add your Google Sheets credentials Replace the Sheet ID with your own sales dataset Run the workflow and check the output tabs: ABC XYZ, Pareto, and Store Sales This template was built using n8n v1.107.3 Submitted: September 15, 2025
by WeblineIndia
Sync Android drawable assets from Figma to GitHub via PR (multi‑density PNG) This n8n workflow automatically fetches design assets (icons, buttons) from Figma, exports them into Android drawable folder formats based on resolution (e.g., mdpi, hdpi, etc.) and commits them to a GitHub branch, creating a Pull Request with all updates. Who’s it for Android / Flutter developers** managing multiple screen densities. Design + Dev teams** wanting to automate asset delivery from Figma to codebase. Mobile teams** tired of manually exporting assets, resizing, organizing and uploading to GitHub. How it works Execute Flow manually or via trigger. Fetches all export URLs from a Figma file. Filters out only relevant components (Icon, Button). Prepares Android drawable folders for each density. Merges components with folder mapping. Calls Figma export API to get image URLs. Filters out empty/invalid URLs. Downloads all images as binary. Merges images with metadata. Renames and adjusts file names if needed. Prevents duplicate PRs using conditional checks. Commits files and opens a GitHub Pull Request. How to set up Set up your Figma token (with file access) Get Figma File Key and desired parent node ID Connect your GitHub account in n8n Prepare a GitHub branch for uploading assets Add your drawable folders config Adjust file naming logic as per your code style Run the workflow Requirements | Tool | Purpose | |------------------|-------------------------------------------| | Figma API Token | To fetch assets and export URLs | | GitHub Token | To commit files and open PR | | n8n | Workflow automation engine | | Figma File Key | Target design file | | Node Names | Named like Icon, Button | How to customize Add more component types** to extract (e.g., Avatar, Chip) Change drawable folder structure** for other platforms (iOS, Web) Add image optimization** before commit Switch from branch PR to direct commit** if preferred Add CI triggers** (e.g., Slack notifications or Jenkins trigger post-PR) Add‑ons Slack Notification Node Commit summary to CHANGELOG.md Image format conversion (e.g., SVG → PNG, PNG → WebP) Auto-tag new versions based on new asset count Use Case Examples Auto-export design changes as Android-ready assets Designers upload icons in Figma → Devs get PR with ready assets Maintain pixel-perfect assets per density without manual effort Integrate this into weekly design-dev sync workflows Common Troubleshooting | Issue | Possible Cause | Solution | |-----------------------------------|---------------------------------------------------|------------------------------------------------------------------------------| | Export URL is null | Figma node has no export settings | Add export settings in Figma for all components | | Images not appearing in PR | Merge or file name logic is incorrect | Recheck merge nodes, ensure file names include extensions | | Duplicate PR created | Condition node not properly checking branch | Update condition to check existing PR or use unique branch name | | Figma API returns 403/401 | Invalid or expired Figma token | Regenerate token and update n8n credentials | | GitHub file upload fails | Wrong path or binary input mismatch | Ensure correct folder structure (drawable-mdpi, etc.) and valid binary | | Assets missing certain resolutions| Not all resolutions exported in Figma | Export all densities in Figma, or fallback to default | Need Help? If you’d like help setting up, customizing or expanding this flow, feel free to reach out to our n8n automation team at WeblineIndia! We can help you: Fine-tune Figma queries Improve file renaming rules Integrate Slack / CI pipelines Add support for other platforms (iOS/Web) Happy automating!
by Naveen Choudhary
Description This workflow automatically validates and enriches contact form submissions from JotForm, ensuring you only store high-quality leads with complete business information. Who's it for Marketing teams, sales professionals, and business owners who collect leads through forms and want to automatically verify email validity and enrich contact data before adding them to their CRM or database. What it does When someone submits a contact form on JotForm, this workflow: Captures the submission data (name, email, phone, message) Creates a new record in Google Sheets Verifies the email address using Reoon's email verification API Saves validation metrics (deliverability, spam trap detection, disposable email check) Filters out unsafe or invalid emails Enriches validated contacts with professional data from Apollo (LinkedIn URL, job title, company name) Updates the Google Sheet with enriched information How it works JotForm Trigger - Listens for new form submissions Initial Storage - Creates a contact record in Google Sheets with basic form data Email Verification - Sends email to Reoon API for comprehensive validation Save Verification Results - Updates the sheet with email quality metrics Safety Filter - Only passes emails marked as "safe" to enrichment Contact Enrichment - Queries Apollo API to find professional information Final Update - Saves enriched data (LinkedIn, title, company) back to the sheet Requirements Services you'll need: JotForm account (free plan available) Reoon Email Verifier API access Apollo.io account for contact enrichment Google account for Google Sheets access Setup steps: Copy this Google Sheet template (make your own copy) Create a JotForm with fields: First Name, Last Name, E-mail, Phone, Message Get your Reoon API key from their dashboard Get your Apollo.io API key from account settings Connect your Google Sheets account in n8n How to customize Change verification level**: Modify the "mode" parameter in the Reoon API call (options: quick, power) Adjust filtering criteria**: Update the IF node to filter by different email quality metrics Add more enrichment**: Apollo returns additional data fields you can map to your sheet Notification layer**: Add a Send Email or Slack node after enrichment to notify your team of high-quality leads CRM integration**: Replace or supplement Google Sheets with HubSpot, Salesforce, or Pipedrive nodes This workflow provides a complete lead qualification pipeline that saves time and ensures only high-quality, validated contacts make it into your database with enriched professional information.
by Panth1823
Daily n8n Workflow Backup Automatically backs up all workflows to Google Drive daily. How it works Triggers daily at 11 PM (or manually on demand) Creates a timestamped backup folder in Google Drive Fetches all workflows from your n8n instance Converts each workflow to a JSON file Uploads files to the backup folder Automatically deletes old backup folders to save storage Setup steps Ensure your n8n instance has API access enabled Connect your Google Drive account (OAuth2) Create a Google Drive folder for backups and copy its Folder ID Important: Open the 'Cleanup Old Backups' node and paste that Folder ID into the code
by Max Mitcham
An intelligent automation workflow that monitors thought leader activity via social listening, tracks high-value prospects who engage with industry content, and systematically builds a qualified lead database through social intelligence gathering. Overview This workflow transforms passive social listening into proactive lead generation by identifying prospects who demonstrate genuine interest in industry topics through their engagement with thought leader content. It creates a continuous pipeline of warm prospects with enriched data for personalized outreach. 🔄 Workflow Process 1. Social Intelligence Webhook Real-time engagement monitoring Integrated with Trigify.io social listening platform Monitors thought leader posts and their engagers Captures detailed prospect and company enrichment data Processes LinkedIn engagement activities in real-time Includes enriched contact information (email, phone, LinkedIn URLs) 2. Data Processing & Extraction Structured data organization Post Data Extraction**: Isolates LinkedIn post URLs, content, and posting dates Prospect Data Extraction**: Captures first/last names, job titles, LinkedIn profiles, and locations Company Data Extraction**: Gathers company names, domains, sizes, industries, and LinkedIn pages Prepares data for duplicate detection and storage systems 3. Duplicate Detection System Data quality maintenance Queries existing Google Sheets database by post URL Identifies previously tracked thought leader content Filters out duplicate posts to maintain data quality Only processes genuinely new thought leader activities Maintains clean, unique post tracking records 4. New Content Validation Gate Quality control checkpoint Validates that post URLs are not empty (indicating new content) Prevents processing of duplicate or invalid data Ensures only fresh thought leader content triggers downstream actions Maintains database integrity and notification relevance 5. Thought Leader Post Tracking Systematic content monitoring Appends new thought leader posts to "Social Warming" Google Sheets Records post URLs, content text, and publication dates Creates searchable database of industry thought leadership content Enables trend analysis and content performance tracking 6. Real-Time Slack Notifications Immediate team alerts Sends formatted alerts to #comment-strategy channel Includes post content, publication date, and direct links Provides action buttons (View Post, Engage Now, Save for Later) Enables rapid response to thought leader activity Facilitates team coordination on engagement opportunities 7. ICP Qualification Filter Smart prospect identification Filters engagers by job title keywords (currently: "marketing") Customizable ICP criteria for targeted lead generation Focuses on high-value prospects matching ideal customer profiles Prevents database pollution with irrelevant contacts 8. Qualified Lead Database Systematic prospect capture Appends qualified engagers to "Engagers" Google Sheets Records comprehensive prospect and company data Includes contact enrichment (emails, phone numbers) Creates actionable lead database for sales outreach Maintains detailed company intelligence for personalization 🛠️ Technology Stack n8n**: Workflow orchestration and webhook management Trigify.io**: Social listening and engagement monitoring platform Google Sheets**: Lead database and content tracking system Slack API**: Real-time team notifications and collaboration Data Enrichment**: Automated contact and company information gathering ✨ Key Features Real-time thought leader content monitoring Automated prospect discovery through social engagement ICP-based lead qualification and filtering Duplicate content detection and prevention Comprehensive prospect and company data enrichment Integrated CRM-ready lead database creation Team collaboration through Slack notifications Customizable qualification criteria for targeted lead generation 🎯 Ideal Use Cases Perfect for sales and marketing teams seeking warm prospects: B2B Sales Teams** seeking warm prospects through social engagement Marketing Professionals** building targeted lead databases Business Development Teams** identifying engaged prospects Account-Based Marketing Campaigns** requiring social intelligence Sales Professionals** needing conversation starters with warm leads Companies** wanting to identify prospects already engaged with industry content Teams** requiring systematic lead qualification through social activity Organizations** seeking to leverage thought leadership for lead generation 📈 Business Impact Transform social listening into strategic lead generation: Warm Lead Generation**: Identifies prospects already engaged with industry content Social Selling Intelligence**: Provides conversation starters through engagement history ICP Qualification**: Focuses efforts on prospects matching ideal customer profiles Relationship Building**: Enables outreach based on genuine interest demonstration Market Intelligence**: Tracks industry engagement patterns and trending content Sales Efficiency**: Prioritizes prospects who show active industry engagement Personalization Data**: Provides context for highly personalized outreach campaigns 💡 Strategic Advantage This workflow creates a fundamental shift from cold outreach to warm, contextual conversations. By identifying prospects who have already demonstrated interest in industry topics through their engagement behavior, sales teams can approach leads with genuine relevance and shared context. The system delivers: Continuous Pipeline**: Automated flow of warm prospects showing industry engagement Social Context**: Rich background data for meaningful, personalized conversations Quality Focus**: ICP-filtered prospects matching ideal customer profiles Engagement History**: Conversation starters based on actual prospect interests Competitive Advantage**: Proactive lead identification before competitors Rather than interrupting prospects with cold messages, this workflow enables sales teams to join conversations prospects are already having, dramatically increasing response rates and relationship-building success.
by Rosh Ragel
What It Does This workflow allows you to quickly generate and send invoices by collecting missing billing details from clients through an automated form and email sequence. It integrates Gmail and QuickBooks Online to handle the full billing flow: from request to invoice, reducing manual data entry and time wasted switching between apps. Perfect for freelancers, service providers, or teams that want to streamline invoicing without going back and forth with clients. Prerequisites Gmail OAuth2 credential QuickBooks Online OAuth2 credential How It Works Trigger: Manually start the workflow by filling out a form with the client’s email, invoice amount, description, and product. Send Request Email: A pre-written email is sent to the client asking them to provide their billing details. Collect Info: The client submits their billing name and address via a hosted form. Add/Find Client in QuickBooks: If the client doesn't exist, a new record is created; otherwise, the existing client is used. Generate Invoice: A QuickBooks invoice is created using the submitted info and selected product. Send Invoice: The invoice is automatically emailed to the client using QuickBooks' native interface. Example Use Cases Freelancers requesting billing info before sending an invoice Small businesses invoicing new clients without manual QuickBooks entry Sales or ops teams who want to request billing info via email with just a few clicks Automating follow-up for new customer onboarding or service requests Setup Instructions Connect your Gmail and QuickBooks credentials Add your products to the dropdown list in the Enter Client Details node ⚠️ Make sure the product names exactly match the items in QuickBooks Select the tax code in the Create A New Invoice node Customize the email message in the Send Invoice Request Gmail node to reflect your brand voice How to Use Copy the public URL from the Enter Client Details node (this way you don't have to trigger the workflow manually inside n8n) Each time you need to invoice a client, open the form and fill in: Client’s email Product/service name Invoice amount and description The client receives an email prompting them to fill in their billing info Once submitted, the system creates and sends a QuickBooks invoice automatically Customization Options Add support for multiple line items Automatically send reminder emails if the form isn't completed within a day Add internal logging (Google Sheets, Airtable, etc.) for sent/paid invoices Why It's Useful This workflow removes friction from your billing process. Instead of chasing clients for info and copying data into QuickBooks, you send one email and automation does the rest. It saves time, reduces errors, and makes invoicing feel seamless — while still keeping you in control.
by Milan Vasarhelyi - SmoothWork
Overview This workflow automates the complete purchase order cycle for Airtable-based inventory management using n8n. It continuously monitors your stock levels, automatically creates purchase orders when inventory falls below reorder thresholds, and sends formatted order emails to suppliers—eliminating manual tracking and reducing stockout risk. The system handles three critical automation processes: ensuring each supplier always has a draft purchase order ready, intelligently adding products to those orders based on forecasted stock levels versus threshold quantities, and automatically emailing suppliers when orders are approved for sending. Key Features Automated stock monitoring:** Hourly checks identify products that need reordering based on customizable threshold levels Smart purchase order management:** Automatically creates and maintains draft purchase orders for each supplier Supplier email automation:** Sends formatted order details directly to suppliers when purchase orders are ready Movement-based ledger:** Tracks every stock-in and stock-out transaction for complete audit trails Test data generator:** Includes a manual-trigger workflow to simulate random sales orders for testing Setup Requirements Required first step: You must copy the Airtable inventory management base into your own Airtable account from: https://airtable.com/appN9ivOwGQt1FwT5/shr1ApcBSi4SOVoPh After copying the base, you'll need to configure: Airtable credentials:** Personal Access Token with read/write permissions to your copied base Gmail credentials:** OAuth2 connection for sending purchase order emails to suppliers Base connections:** Update all Airtable nodes to point to your copied base URL and table IDs Configuration The workflow runs on an hourly schedule by default to check for products needing reorder. You can adjust this frequency in the "Check Products Hourly" Schedule Trigger node based on your business needs. All supplier-specific settings including email addresses, reorder thresholds, and refill quantities are managed directly in the Airtable base—not in the workflow itself. This allows non-technical team members to adjust inventory parameters without touching the automation. The included test workflow ("Generate random SO") is manual-trigger only and simulates daily sales by randomly reducing product quantities, making it easy to test the reorder automation without waiting for real sales data.
by Yasser Sami
Olostep Google Maps Lead Generation Automation This n8n template automates lead generation by scraping Google Maps using the Olostep API. It extracts business names, locations, websites, phone numbers, and decision-maker names (CEO, Founder, etc.) directly from the business website — and saves everything into a Google Sheet. Who’s it for Marketers and agencies doing local business outreach. SaaS founders looking for prospects. Freelancers and growth hackers scraping Google Maps leads. Anyone who wants automated business research without manual data entry. How it works / What it does Form Trigger: User submits a form with: City + Business Type (e.g., "Dentist in Miami"). Google Maps Scraping: The workflow sends the query to the Olostep scraping API. Extracts: Business name Location Website Phone number Clean the Data: Parsed JSON is split into items. A Remove Duplicates node ensures only unique leads continue. Loop Through Each Business: For every business, the workflow triggers a second Olostep scrape — this time on the business’s website. It extracts: First name of decision-maker Last name of decision-maker (Optional) general contact email found on the website Store the Lead: The final combined lead is appended to a Google Sheet with these fields: Business Name Location Website Phone Number Decision-Maker Name Contact Email (if found) Loop & Wait: A wait step ensures you stay within rate limits while scraping multiple websites. This produces a clean, enriched list of leads ready for outreach or CRM import. How to set up Import the template into your n8n workspace. Add your Olostep API key. Connect Google Sheets for output storage. Publish your form to collect search requests. Run the workflow — leads will appear automatically in your sheet. Requirements Olostep API key. Google Sheets account. n8n account or self-hosted instance. How to customize the workflow Add CRM destinations (HubSpot, Airtable, Notion). Expand LLM-extraction to capture: social links, descriptions, ratings, etc. Add validation rules before saving a lead. Enable notification steps (Telegram, Slack) when batches finish. Add additional enrichment steps (e.g., scrape About pages, contact pages, multiple URLs). 👉 This workflow gives you a complete lead generation system from Google Maps + business website analysis — with no manual scraping needed.
by PDF Vector
Legal professionals spend countless hours manually checking citations and building citation indexes for briefs, memoranda, and legal opinions. This workflow automates the extraction, validation, and analysis of legal citations from any legal document, including scanned court documents, photographed case files, and image-based legal materials (PDFs, JPGs, PNGs). Target Audience: Attorneys, paralegals, legal researchers, judicial clerks, law students, and legal writing professionals who need to extract, validate, and manage legal citations efficiently across multiple jurisdictions. Problem Solved: Manual citation checking is extremely time-consuming and error-prone. Legal professionals struggle to ensure citation accuracy, verify case law is still good law, and build comprehensive citation indexes. This template automates the entire citation management process while ensuring compliance with citation standards like Bluebook format. Setup Instructions: Configure Google Drive credentials for secure legal document access Install the PDF Vector community node from the n8n marketplace Configure PDF Vector API credentials Set up connections to legal databases (Westlaw, LexisNexis if available) Configure jurisdiction-specific citation rules Set up validation preferences and citation format standards Configure citation reporting and export formats Key Features: Automatic retrieval of legal documents from Google Drive OCR support for handwritten annotations and scanned legal documents Comprehensive extraction of case law, statutes, regulations, and academic citations Bluebook citation format validation and standardization Automated Shepardizing to verify cases are still good law Pinpoint citation detection and parenthetical extraction Citation network analysis showing case relationships Support for federal, state, and international law references Customization Options: Set jurisdiction-specific citation rules and formats Configure automated alerts for superseded statutes or overruled cases Customize citation validation criteria and standards Set up integration with legal research platforms (Westlaw, LexisNexis) Configure export formats for different legal document types Add support for specialty legal domains (tax law, patent law, etc.) Set up collaborative citation checking for legal teams Implementation Details: The workflow uses advanced legal domain knowledge to identify and extract citations in various formats across multiple jurisdictions. It processes both digital and scanned documents, validates citations against legal standards, and builds comprehensive citation networks. The system automatically checks citation accuracy and provides detailed reports for legal document preparation. Note: This workflow uses the PDF Vector community node. Make sure to install it from the n8n community nodes collection before using this template.
by KlickTipp
Community Node Disclaimer: This workflow uses KlickTipp community nodes. How It Works Automate transactional emails from KlickTipp via SMTP This workflow receives contact data from a KlickTipp Outbound rule, generates a personalized HTML email, and sends it via any SMTP-compatible service (e.g., Gmail SMTP, Outlook, SendGrid, your own mail server). Key fields (e.g., first name, company, website, phone, or other custom fields) can be dynamically mapped into the body. After sending, the workflow saves the email’s HTML content and writes back an Email delivery status (“Sent” or “Failed”) to the contact in KlickTipp for clear visibility. Key Features KlickTipp Outbound Trigger Starts when a KlickTipp Outbound rule calls the webhook (e.g., after a tag is applied). Accepts payload with recipient email and optional custom fields (first name, company, website, phone, etc.). Easy to adapt for confirmations, updates, welcomes, and announcements. HTML Email Composer Builds a clean, brandable HTML template with safe fallbacks. Supports per-contact personalization via mapped fields. SMTP Delivery Sends emails using the n8n Send Email node (SMTP). Works with Gmail, Outlook, or any SMTP-compatible service. Supports From/Reply-To, Subject, HTML body, CC/BCC, and attachments. Delivery Status Write-Back On success: updates a KlickTipp custom field (e.g., Email delivery status = Sent). On error: updates the same field to Failed (error details available in execution logs). Setup Instructions Install and Configure Nodes Add/enable KlickTipp community nodes and authenticate with valid API credentials. Configure an SMTP credential in n8n: Host (e.g., smtp.gmail.com) Port (465 or 587) Authentication (username, password, or app password) SSL/TLS settings as required by your provider Select this credential in the Send Email node. Paste/import your HTML into the Generate HTML template node. Activate the workflow. Workflow Logic Trigger from KlickTipp: Outbound sends contact data to the workflow. Generate HTML: Build personalized HTML (and optional plain-text). Send via SMTP: Deliver the message with the Send Email node. On Success: Update KlickTipp contact → Email delivery status: Sent. On Error: Update KlickTipp contact → Email delivery status: Failed (see logs for details). Benefits Immediate, personalized communication** without manual steps. Consistent branding** with reusable HTML templates. Clear observability** by writing back delivery status to KlickTipp. Flexible & extensible** for many message types beyond payments. Testing and Deployment Tag a test contact in KlickTipp to trigger the Outbound rule. Verify the email arrives with correct personalization. Confirm the Email delivery status field updates to Sent (or Failed for negative tests). Review execution logs and adjust field mappings if necessary. Notes Customization:** Swap templates, add CC/BCC, attachments, or a plain-text part for deliverability. SMTP Provider Settings:** Refer to your email provider’s SMTP configuration (e.g., Gmail, Outlook, or custom server).
by Piotr Sobolewski
How it works This workflow helps you stay on top of your inbox without constant interruptions. Every afternoon, it automatically: Fetches all emails received in your inbox throughout the current day. Intelligently summarizes the key content of these emails using AI, providing a concise overview. Compiles these summaries into a single, organized digest. Sends you a single email containing the aggregated summary of your day's correspondence. Efficiently review your daily communications and focus on what truly matters, all in one convenient digest! Set up steps Setting up this workflow is straightforward and typically takes around 10-15 minutes. You'll need to: Authenticate your preferred email service (e.g., Gmail). Obtain API keys for your preferred AI service (e.g., OpenAI, Google AI). Specify the email address where you want to receive the digest. All detailed setup instructions and specific configuration guidance are provided within the workflow itself using sticky notes.
by PDF Vector
Automated Research Paper Analysis Pipeline This workflow automatically analyzes research papers by: Parsing PDF documents into clean Markdown format Extracting key information using AI analysis Generating concise summaries and insights Storing results in a database for future reference Perfect for researchers, students, and academics who need to quickly understand the key points of multiple research papers. How it works: Trigger: Manual trigger or webhook with PDF URL PDF Vector: Parses the PDF document with LLM enhancement OpenAI: Analyzes the parsed content to extract key findings, methodology, and conclusions Database: Stores the analysis results Output: Returns structured analysis data Setup: Configure PDF Vector credentials Set up OpenAI API key Connect your preferred database (PostgreSQL, MySQL, etc.)