by Oneclick AI Squad
Enhance financial oversight with this automated n8n workflow. Triggered every 5 minutes, it fetches real-time bank transactions via an API, enriches and transforms the data, and applies smart logic to detect critical, high, and medium priority alerts based on error conditions, amounts, or risk scores. It sends multi-channel notifications via email and Slack, logs all data to Google Sheets, and generates summary statistics for comprehensive tracking. π°π¨ Key Features Real-time monitoring every 5 minutes for instant alerts. Smart prioritization (Critical, High, Medium) based on risk and errors. Multi-channel notifications via email and Slack. Detailed logging and summary reports in Google Sheets. How It Works Schedule Trigger: Runs every 5 minutes. Fetch Transactions: HTTP request retrieves real-time transaction data. API Error?: If condition for error logic is met, sends error alert. Enrich & Transform Data: Advanced risk calculation enhances data. Critical Alert?: If condition (50% or risk > 8) is met, raises alert. High Priority?: If condition (5% or risk > 7) is met, raises alert. Medium Priority?: If condition is met, raises alert. Log Priority to Sheet: Google Sheets appends critical, high, or medium priority data. Send Critical Email: HTML email to execute sheets append. Send High Priority Email: Email to finance team. Send High Priority Slack: Slack notification to finance team. Send Medium Priority Email: Email to finance team. Merge All Alerts: Combines all alerts for comprehensive tracking. Generate Summary Stats: Code block for analytics. Log Summary to Sheet: Summary statistics storage. Setup Instructions Import the workflow into n8n and configure the bank API credentials in "Fetch Transactions." Set up Google Sheets OAuth2 and replace the sheet ID for logging nodes. Configure Gmail API Key and Slack Bot Token for alerts. Test the workflow with sample transaction data exceeding risk or amount thresholds. Adjust priority conditions (e.g., 50%, 5%, risk > 8) based on your risk policy. Prerequisites Bank API access with real-time transaction data (e.g., https://api.bank.com) Google Sheets OAuth2 credentials Gmail API Key for email alerts Slack Bot Token (with chat:write permissions) Structured transaction data format Google Sheet Structure: Create a sheet with columns: Transaction ID Amount Date Risk Score Priority (Critical/High/Medium) Alert Sent Summary Stats Updated At Modification Options Adjust the "Schedule Trigger" interval (e.g., every 10 minutes). Modify "Critical Alert?" and "High Priority?" conditions for custom thresholds. Customize email and Slack templates with branded messaging. Integrate with fraud detection tools for enhanced risk analysis. Enhance "Generate Summary Stats" with additional metrics (e.g., average risk). Discover more workflows β Get in touch with us
by ben daamer
Who it's for Legal, Procurement, and Compliance teams at mid-size companies. ESN and agencies selling AI-powered contract review as a service. How it works Upload a contract PDF through a rich form (with metadata: contract type, counterparty, department, submitter). The workflow first checks Supabase for duplicates to avoid re-analyzing the same contract. Then it runs a two-pass AI analysis: Pass 1 classifies the contract (type, parties, dates, jurisdiction), Pass 2 performs deep risk analysis (clause-by-clause risk levels, missing clauses, obligations, negotiation points, compliance flags). Results are scored 0β100 with risk levels (CRITICAL / HIGH / MEDIUM / LOW). A structured report is generated as both Slack Block Kit (rich formatting) and HTML email. High-risk contracts trigger a Slack alert with full blocks and an email report to the submitter. Low-risk contracts get a summary Slack notification. All analyses are stored in Supabase with full metadata for audit. An Error Trigger sends admin notifications to a dedicated Slack channel. How to set up Run the SQL from the "Supabase Schema" sticky note in Supabase SQL Editor. Set environment variables: SUPABASE_URL, SUPABASE_SERVICE_KEY. Add credentials in n8n: OpenAI (Header Auth), Supabase, Slack, Gmail (optional). Configure the Config node: RISK_THRESHOLD, SLACK_CHANNEL, ADMIN_SLACK_CHANNEL, AI_MODEL, ALERT_EMAIL, ENABLE_EMAIL, CONTRACT_LANG. Activate the workflow and share the Form URL with your team.
by NODA shuichi
Description: An intelligent alarm system that wakes you up early only when necessary. π‘οΈπ€ This workflow monitors your local weather and train status every morning at 5:00 AM. It uses Google Gemini to analyze the situation. If there is heavy rain or a train delay, it sends an emergency alert immediately (and can trigger smart home devices). If everything is normal, it waits until your usual wake-up time to send a calm briefing. Key Features: AI Context Awareness: Uses Gemini to intelligently judge "Emergency" situations based on weather descriptions and news headlines. Dynamic Notification: Emergency Mode: Immediate Email alert + Optional SwitchBot trigger (e.g., turn on lights). Normal Mode: Delays notification until your scheduled wake-up time (90 mins later). Targeted Monitoring: Searches specific train lines via Google News RSS. How it works: Trigger: Runs daily at 5:00 AM. Fetch: Gets weather from OpenWeatherMap and train news from Google News RSS. Judge: Gemini analyzes the data. Action: Routes the notification based on the status (Emergency/Normal). Setup Requirements: Credentials: OpenWeatherMap API, Google Gemini API, Gmail. Config: Open the "1. Configuration" node to set your Location, Train Line, and Email.
by Abdallah Hussein
Who this template is for This template is designed for n8n users running workflows in production who need reliable and structured error monitoring, not just basic alerts. Itβs especially useful for: Automation engineers and developers Teams running business-critical workflows Anyone who wants smarter alerting with reduced noise What this workflow does This workflow acts as a global, severity-based error monitoring system for n8n. When a linked workflow fails, it automatically: Classifies the error by severity (Critical, High, Normal) Routes alerts based on severity level Sends notifications via Telegram and Email Logs critical errors for auditing and troubleshooting This ensures important issues are escalated properly, while avoiding unnecessary alert fatigue. How it works An Error Trigger captures execution failures from linked workflows. A Code node analyzes the error and assigns a severity level. Alerts are routed based on severity: π΄ Critical β Email + Telegram + Logging π High β Telegram alert π‘ Normal β Telegram alert All alerts include rich context such as workflow name, failed node, execution time, and execution URL. The workflow only runs when an error occurs. How to set up Configure the required credentials (Telegram, Email, optional Google Sheets). Replace placeholder values such as: YOUR_TELEGRAM_CHAT_ID YOUR_ALERT_EMAIL Activate this workflow. Open any workflow you want to monitor. In Workflow Settings, set Error Workflow to this workflow. Save and test by triggering an error. Requirements An active n8n instance (cloud or self-hosted) Telegram Bot credentials Email credentials (for critical alerts) Optional: Google Sheets credentials for logging How to customize the workflow You can extend this workflow by: Adding more alert channels (Slack, Discord, etc.) Adjusting severity classification logic Implementing rate-limiting or noise reduction Logging errors to databases or external monitoring tools Detailed instructions and explanations are included inside the workflow using sticky notes.
by Tony Adijah
Who is this for This workflow is ideal for marketers, product managers, competitive intelligence teams, and anyone who needs to track changes on web pages β whether it's competitor pricing, job postings, policy updates, product pages, or any content that matters to your business. What this workflow does It automatically monitors a list of URLs on a schedule, fetches each page, extracts clean text content, compares it against the previous snapshot stored in Google Sheets, generates a detailed line-by-line diff with change percentage and severity rating, and sends instant alerts via Telegram and email when changes are detected. How it works Schedule Trigger checks your target URLs at a configurable interval (default: every 4 hours). URL List node defines which pages to monitor β easily add or remove URLs without touching other nodes. HTTP Request fetches the current HTML content of each page with browser-like headers. Content Extractor strips HTML tags, scripts, styles, and navigation to get clean readable text, plus extracts page title and meta description. Load Previous Snapshot reads the last saved version from Google Sheets for comparison. Diff Engine compares current vs. previous content line-by-line, calculates a change percentage, assigns a severity level (low/medium/high/critical), and generates a human-readable diff summary showing exactly what was added or removed. Change Filter only passes through pages that actually changed β no noise, no false alerts. Save Snapshot stores the new version in Google Sheets for the next comparison cycle. Telegram + Email Alerts send formatted notifications with the diff summary, change percentage, severity, and a direct link to the page. Setup steps Add URLs β Edit the "URL List" code node and add your target URLs. Each entry needs a name (friendly label) and url (full URL). Optionally add a selector keyword to focus on specific page sections. Google Sheets β Create a new spreadsheet with a sheet named "website" and columns: Name, url, selector, pageTitle, metaDescription, cleanText, contentHash, contentLength, fetchedAt, httpStatus. Connect your Google Sheets OAuth credential and set the spreadsheet ID in both Sheet nodes. Telegram β Create a bot via @BotFather, get your Bot Token and Chat ID. Connect the Telegram credential and set your Chat ID in the Telegram Alert node. Email (optional) β Connect your SMTP or Gmail credential in the Email Alert node and set your from/to addresses. Schedule β Adjust the cron interval in the trigger node (every 1 hour for critical pages, every 24 hours for low-priority). First Run β Run the workflow manually once to save baseline snapshots. Change detection begins from the second run onward. Requirements Google Sheets account with OAuth credentials Telegram bot (created via @BotFather) with bot token and chat ID SMTP or Gmail credentials for email alerts (optional) n8n instance (cloud or self-hosted) How to customize Add CSS selector keywords in the URL List to monitor only specific sections of a page (e.g., pricing tables, job listings). Increase check frequency to every 15 minutes for critical monitoring. Add Slack, Discord, or WhatsApp as additional alert channels by branching from the Save Snapshot node. Use AI (OpenAI, Ollama) to summarize changes in plain language instead of raw diff output. Monitor API endpoints (JSON responses) by adjusting the Content Extractor logic. Add multiple sheets for different monitoring categories (competitors, pricing, legal, careers).
by Rahul Joshi
Description Streamline client retention and contract renewals by automatically identifying expiring accounts, sending personalized reminder emails, and notifying account managers through Slack. This workflow ensures timely outreach, improved renewal rates, and centralized tracking β without manual effort. ππ§π What This Template Does Triggers daily at 9 AM to check for contracts expiring within 10 days. β° Fetches all client records from GoHighLevel CRM. ποΈ Validates client data to ensure required custom fields (Contract End Date & Account Manager) are available. π§© Filters expiring contracts and formats key client details (name, email, expiry date). π Sends renewal reminder emails to clients using Gmail. π Notifies account managers in Slack with full client and renewal details. π¬ Generates a summary report of total reminders sent and execution status. π Logs all reminders and timestamps into Google Sheets for performance tracking. π Key Benefits β Never miss renewal deadlines again β Improve client retention and satisfaction β Reduce manual tracking and follow-up work β Keep account managers informed in real-time β Maintain a clear audit trail of renewal activities Features Automated daily scheduling (9 AM trigger) GoHighLevel integration for client data Dynamic filtering for contracts expiring within 10 days Gmail email automation for personalized messages Slack notifications for internal visibility Google Sheets logging for analytics and reporting Requirements GoHighLevel account with access to Contacts API Custom fields: Contract End Date and Account Manager Gmail account with OAuth2 credentials Slack Bot token with chat:write permission Google Sheets OAuth2 credentials Target Audience Account management and client success teams Agencies handling multiple client contracts Businesses with recurring subscriptions or service renewals Teams wanting automated retention workflows Step-by-Step Setup Instructions Connect your GoHighLevel account and ensure contract-related custom fields are configured. Set your Slack channel ID where renewal notifications will be sent. Connect Gmail for automated client communication. Link Google Sheets for centralized renewal logging. Adjust reminder window in the code node (daysUntilExpiry <= 10) as per your needs. Test the workflow once manually, then enable scheduling for automation.
by Devon Toh
Screen and Score Investment Deals with AI using OpenAI, Gmail, and Telegram Automatically screens incoming deal submissions using AI, scores them against investment criteria, and routes to the right action. Who is this for? VC firms, PE funds, angel investors, or M&A advisors who receive deal flow via email or form submissions. What problem does this solve? Manually reviewing every pitch deck and deal memo is time-consuming. Most deals don't meet investment criteria. This agent screens, scores, and prioritizes deals so your team focuses on the best opportunities. How it works: New Email Received / Deal Submission Webhook - captures deals from email or form Normalize Email/Webhook Data - standardizes fields from either source Build Deal Text - combines email body + attachment info into screening text Has Deal Content? - validates there is enough content to screen Extract Deal Info - OpenAI - AI extracts company, industry, revenue, ask, team, highlights, red flags Score Deal - OpenAI - AI scores on 5 criteria (industry fit, revenue, growth, team, clarity) Is PASS? / Is REVIEW? - routes by verdict (PASS/REVIEW/REJECT) Telegram Alerts - notifies with deal summary and scores Log Deal to Pipeline Sheet - tracks all deals in a pipeline spreadsheet Setup: Add credentials: Gmail, OpenAI, Telegram Bot, Google Sheets Replace YOUR_TELEGRAM_CHAT_ID with your chat ID Create a Google Sheet with columns: received_at, company_name, industry, stage, revenue, ask_amount, overall_score, verdict, one_line_summary, recommendation, key_highlights, red_flags, sender_name, sender_email, source, industry_fit, revenue_stage, growth_trajectory, team_strength, deal_clarity Replace YOUR_GOOGLE_SHEET_ID with your sheet ID Customization: Edit the scoring criteria in the Score Deal OpenAI prompt Adjust score thresholds for PASS/REVIEW/REJECT Add Slack notifications instead of Telegram Add auto-decline email for REJECT deals Connect to a CRM instead of Google Sheets
by Oneclick AI Squad
Optimize your performance review process with this automated workflow. Running daily at 8 AM, it retrieves scheduled reviews from a Google Sheet, validates upcoming sessions, processes each review, and sends email reminders to participants. It also updates Google Calendar events, notifies HR via Slack, and logs review statuses back into the sheet β ensuring a seamless, tracked, and multi-channel communication experience. π π€ What This Template Does Step 1: Triggers Daily Check at 8 AM to initiate the review process. β° Step 2: Gets Review Schedule by reading planned reviews from a Google Sheet. Step 3: Filters Upcoming Reviews to focus on sessions within the next 3 days. Step 4: Validates Reviews Scheduled? Ensures reviews exist and are ready to process. Step 5: Splits into Manual to handle each review individually. Step 6: Prepares Review Data for notifications and updates. Step 7: Branches actions: βββ Sends Email Reminder to participants. βββ Updates Calendar Event with the scheduled session. βββ Notifies HR on Slack with review details. βββ Updates Review Status in the Google Sheet with logged feedback. Key Benefits Automates daily review scheduling and reminders Ensures timely calendar updates and notifications Centralizes feedback logging in Google Sheets Enhances HR visibility with Slack alerts Reduces manual coordination efforts Improves review process consistency Features Daily trigger at 8 AM Google Sheet integration for review schedule Filtering for upcoming reviews (next 3 days) Validation of scheduled reviews Multi-channel notifications (email, Slack) Google Calendar event creation Real-time status updates in sheets Manual processing for individual reviews Requirements GOOGLE_SHEET_ID**: Your Google Sheet ID (structured as below) Credentials Needed:** Google Sheets OAuth2 Gmail API Key Google Calendar OAuth2 Slack Bot Token (with chat:write permissions) Customize:** β’ Review schedule columns (e.g., Employee, Date, Reviewer, Status) β’ Reminder email template β’ Slack channel for HR notifications β’ Calendar event duration Google Sheet Structure: Create a sheet with columns: Employee Name Review Date Reviewer Status Feedback Updated At Target Audience HR teams managing performance reviews π₯ Managers scheduling regular check-ins β³ Organizations ensuring review compliance π Remote teams needing centralized updates π Companies prioritizing employee feedback π Step-by-Step Setup Instructions Set up Google Sheet ββ Create a sheet with columns: Employee Name, Review Date, Reviewer, Status, Feedback, Updated At. ββ Replace YOUR_SHEET_ID in the workflow with your actual Sheet ID. Configure Daily Trigger ββ Set the "Daily Check at 8 AM" node to run at 8:00 AM IST (adjust for timezone if needed). Connect Google Calendar ββ Enable Google Calendar OAuth2 and select the relevant calendar (e.g., hr@company.com). Customize Review Filter ββ In "Filter Upcoming Reviews," set the range to check the next 3 days from today (e.g., October 24β27, 2025). Set Up Notifications ββ Edit the "Send Email Reminder" template (e.g., include review date and link). ββ Configure "Notify HR on Slack" with your HR channel ID. Test the Flow ββ Add a test review entry in the sheet (e.g., date within 3 days). ββ Run manually or wait until 8 AM IST on October 25, 2025 β Verify email, calendar event, Slack message, and sheet update. Go Live ββ Enable the daily trigger. ββ Monitor sheet and notifications for the first run. Workflow Complete! Reviews scheduled, reminders sent, and feedback logged β all on autopilot. Metrics to Track: Reviews scheduled daily Reminder delivery success Calendar update rate Feedback logging completion
by Tony Adijah
Who is this for This workflow is built for professionals, founders, freelancers, and anyone drowning in email who wants to automatically triage their inbox using AI β sorting emails into categories, applying Gmail labels, and generating reply drafts for important messages, all running locally with Ollama (zero paid API costs). What this workflow does It watches your Gmail inbox for new unread emails, uses a local AI model (Ollama) to classify each email into one of six categories (Urgent, Action Required, Follow-up, Newsletter, Automated, or Spam/Promotional), automatically applies the matching Gmail label, generates reply drafts for high-priority emails, and logs every processed email to Google Sheets for analytics. How it works Gmail Trigger watches your inbox for new unread emails at a configurable interval (default: every 30 minutes). Extract Email Data parses the sender, subject, body, attachments, and metadata into clean fields β handles all Gmail node output formats. AI Classifier (Ollama, running locally) analyzes the email content and returns a structured classification with category, priority, confidence score, summary, suggested action, sentiment, and a reply draft for important messages. Extract Classification robustly parses the AI response (handles markdown fences, nested objects, and edge cases) and merges it with email metadata. Smart Router sends each email down one of six dedicated paths based on its classification. Gmail Label nodes automatically apply the correct label to each email in your inbox. Reply Draft nodes create Gmail drafts for Urgent and Action Required emails β ready for you to review, edit, and send from your Drafts folder. Log Entry tracks every processed email in Google Sheets with category, priority, confidence, summary, and timestamp for analytics and review. Setup steps Gmail OAuth β Connect your Google account. Grant read, modify, and compose permissions. Create Gmail Labels β In Gmail, manually create these labels (the workflow applies them automatically): π΄ Urgent π Action Required π¬ Follow-up π° Newsletter π€ Automated π« Spam-Promo Get Label IDs β Use the Gmail API or n8n's Gmail node (operation: "Get Many Labels") to find each label's ID. Update the labelIds in each Gmail Label node with your actual IDs. Ollama β Ensure Ollama is running locally (http://localhost:11434) with your preferred model pulled (e.g., ollama pull mistral). Change the model name in the Ollama Chat Model node if needed. Google Sheets (optional) β Connect your Google Sheets OAuth credential and set a spreadsheet ID in the logging node. Create a sheet with columns: Date, From, Subject, Category, Priority, Confidence, Reason, Summary, Key Action, Has Reply Draft, Sentiment, Auto Archive, Gmail ID, Processed At. Test β Send yourself a few test emails (urgent request, newsletter, promotional) and run the workflow manually to verify classification accuracy. Requirements Gmail account with OAuth credentials (read, modify, compose permissions) Ollama running locally with a pulled model (mistral, llama3, gemma2, etc.) Google Sheets account with OAuth credentials (optional, for logging) n8n instance (self-hosted recommended for Ollama connectivity) How to customize Swap mistral for llama3, gemma2, deepseek, or any Ollama-compatible model. Add more categories by editing the AI system prompt and adding outputs to the Switch node. Change the reply draft tone (formal, casual, friendly) in the AI system prompt. Add Slack or Telegram notifications for urgent emails by branching from the Label nodes. Add auto-archive for newsletters and spam by adding a Gmail "Remove Labels" node (remove INBOX label). Decrease the polling interval for near-real-time processing. Add sender whitelist/blacklist logic in a Code node before the AI classifier.
by Εukasz
Overdue Invoice Payment Reminder Workflow Documentation What Is This? This workflow is an automated invoice payment tracking and reminder system for the Polish accounting service iFirma.pl. It monitors unpaid and overdue invoices, then automatically sends escalating reminders to contractors based on configurable time thresholds. The system handles three escalation levels: payment reminders before/at due date, pre-trial summons, and formal legal action notices. Who Is It For? Designed for Polish businesses, accounting departments, and financial controllers using iFirma.pl for invoice management. This workflow is essential for companies struggling with late payments and cash flow management, particularly those needing to enforce payment terms professionally and systematically. B2B service providers, consultancies, software development agencies, and any business issuing invoices to other companies will benefit from automated payment enforcement. The workflow eliminates manual tracking of payment deadlines and ensures consistent, professional follow-up with delinquent clients. Whether managing a handful of high-value invoices or processing hundreds of transactions monthly, this automation delivers timely notifications without manual calendar monitoring or spreadsheet management. How Does It Work? This end-to-end invoice monitoring automation consists of four main stages: 1. Configuration & Authentication Sets up user credentials (email/login, API key), defines escalation timeframes (X days before due date, Y days after, Z days after), and prepares company details for legal correspondence. The workflow then constructs a cryptographic authentication signature using HMAC-SHA1 algorithm, which iFirma requires for API access. 2. Invoice Retrieval & Filtering Connects to iFirma API to fetch all unpaid, partially paid, and overdue invoices, then filters them based on payment deadline dates. Only invoices that are either overdue or approaching their due date (within X days) proceed to the next stage. 3. Contractor Data Enrichment For each qualifying invoice, the workflow fetches complete contractor information from iFirma (since invoice records contain only partial contractor data). This includes email addresses, company names, and addresses needed for sending reminders. The workflow deduplicates contractors to avoid redundant API calls. 4. Escalation Logic & Notification Dispatch Invoices are categorized into three groups based on how overdue they are: Payment Reminder**: Due today or X days before due date β Sends reminder via iFirma's built-in notification system Pre-Trial Summons**: Y days after due date β Sends formal legal warning via email and optionally physical mail (PostGrid) Legal Action Notice**: Z days after due date β Sends notice of commenced legal proceedings via email and optionally physical mail Each action triggers a Slack notification to keep your team informed. How To Set It Up? Prerequisites: An active N8N account or self-hosted instance An iFirma.pl account with API access enabled A Slack workspace with appropriate bot permissions (Optional) PostGrid account for physical mail delivery (Optional) Gmail account configured for sending emails Required Configuration: In the "Configuration" node, set the following parameters: Email/Login: Your iFirma.pl account email or login username API Key Invoice: API key from iFirma.pl (found at: Start > Data and Configuration > Extensions and Integrations > API) X days before due date: How many days before payment deadline to send the first reminder (default: 7) Y days after due date: When to send pre-trial summons (default: 7 days overdue) Z days after due date: When to send legal action notice (default: 14 days overdue) Your Company Details Configuration: In the "Your Company Details" node, provide: Company Name, Email, Phone Full address (Street, City, Postal Code, Country Code) Bank details (Bank Name, Account Number, SWIFT Code) Tax Identification Number (TIN/NIP) This information is used for professional letterheads in legal correspondence and PostGrid physical mail delivery. Credentials Setup: Configure Slack OAuth2 credentials for notifications Set up Gmail OAuth2 credentials for email sending (if using email route) Configure PostGrid API credentials for physical letter delivery (if using mail route) Scheduling: The workflow runs automatically every 24 hours via the Schedule Trigger node. For testing, execute manually using the "Execute workflow" button. What's More? Custom Authentication Implementation: iFirma.pl requires HMAC-SHA1 authentication, which N8N doesn't provide natively. The workflow includes a complete JavaScript implementation of the SHA-1 cryptographic hash function and HMAC (Hash-based Message Authentication Code) algorithm. This ensures secure API access without external dependencies. Endpoint Mapping Intelligence: The workflow automatically maps invoice types (Rodzaj) to the correct iFirma API endpoints. Different invoice types (domestic, foreign, construction, advance payments, etc.) require different API paths for sending reminders. Professional HTML Templates: Pre-trial summons and legal action notices use professionally formatted HTML templates with proper legal language, payment details, deadlines, and consequences clearly outlined. These templates maintain consistent branding and meet legal communication standards. Multi-Channel Notification: Reminders can be sent via multiple channels simultaneously: iFirma's e-invoice system, email, physical mail (PostGrid), and internal Slack notifications for team awareness. Understanding the HMAC-SHA1 Authentication The "Encode API Key" nodes implement a critical security function that N8N cannot perform natively. Here's what happens and why: What the iFirma API Requires: iFirma.pl uses HMAC-SHA1 for request authentication. Each API request must include an Authentication header formatted as: IAPIS user={userLogin}, hmac-sha1={hash} The hash is calculated from: URL + userLogin + keyName + requestBody Why Custom Implementation is Needed: N8N's crypto functions don't include SHA-1 (it's considered outdated for modern security, though still required by some legacy APIs). Therefore, the workflow implements the entire SHA-1 and HMAC algorithms in pure JavaScript. How the Algorithm Works: Message Construction: Combines the API endpoint URL, user login, key name ("faktura"), and request body (if any) into a single string Hex Key Conversion: The API key from iFirma is provided in hexadecimal format and must be converted to raw bytes HMAC Process: Creates inner and outer padding arrays using XOR operations with specific constants (0x36 and 0x5C) Hashes the inner padded message using SHA-1 Hashes the outer padding combined with the inner hash result SHA-1 Implementation: Uses bitwise operations, rotating functions, and four rounds of 20 operations each to produce a 160-bit hash Header Generation: Formats the final hash as a hex string and constructs the authentication header Why Each Step Matters: Deterministic Hashing**: The same input always produces the same hash, allowing iFirma to verify request authenticity Binary Key Conversion**: The hex-to-bytes conversion ensures the secret key is interpreted correctly HMAC Security**: Using both inner and outer hashing with different padding prevents length extension attacks Message Integrity**: Including the URL and request body in the hash ensures the request hasn't been tampered with Thank You, Perfect! Visit my profile for other free business automations. And if you're looking for dedicated software development or custom n8n workflow solutions, don't hesitate to reach out at developers@sailingbyte.com or on sailingbyte.com!
by Ucartz Online
Improve your chess automatically β get a personalized AI coaching report delivered. This workflow connects to the free Chess.com public API, fetches your most recent game, and sends it to an AI language model that acts as your personal chess coach. Within minutes, you receive a structured HTML email covering everything from critical turning points to a personalized training plan. π§ How It Works Trigger β Runs on a daily schedule or manually on demand Config Node β Set your Chess.com username and email address (one-time setup) Fetch Games β Pulls your current month's games from Chess.com's public API (no API key required) Sort & Enrich β Identifies your color, result (Win/Loss/Draw), opponent details, ratings, and ECO opening code AI Analysis β Sends the full PGN and game context to your chosen LLM with a structured coaching prompt Email Report β Delivers a clean HTML coaching report directly to your inbox via Gmail π What's in the Coaching Report Game Summary β Opening, middlegame, and endgame narrative Critical Moments β 3β5 turning points with explanations of what happened and what should have been played Mistake Categories β Tactical oversights, positional errors, opening issues, endgame technique, time management What Went Well β Genuine strengths recognized and reinforced Five Key Lessons β Specific, memorable takeaways tied to your actual game Training Plan β Targeted drills and study resources based on your weaknesses Closing Motivation β Encouraging next step to keep you improving βοΈ Setup (Under 5 Minutes) Import the workflow into n8n Open the Config node and enter your Chess.com username and target email address Connect your Gmail OAuth2 credential Connect your preferred LLM credential (Google Gemini is pre-wired; swap for OpenAI or Claude if preferred) Activate the workflow β done! π€ Supported AI Models The quality of the results depends on the model you choose. You can start with the free Gemini models and compare the output with your expected results. The LLM node is plug-and-play, allowing you to switch between different models with a single click. Google Gemini 2.5 Flash (pre-configured) OpenAI GPT-4o β Best overall chess analysis quality Anthropic Claude Sonnet β Excellent at explanations and coaching tone Mistral / Llama β Self-hosted options for privacy-conscious users π‘ Stronger models produce better analysis. GPT-4o or Claude Sonnet are recommended for players rated 1000+. π¬ Extend the Workflow After the email step, you can easily add nodes to also send the report via: Telegram β instant mobile notifications Slack β post to a personal or team channel Notion β build a game review database Google Drive β archive reports as files Discord β share with your chess study group β Requirements n8n (self-hosted or cloud) A Chess.com account with at least one game this month Gmail OAuth2 credential Any supported LLM API credential (Google Gemini, OpenAI, Anthropic, etc.)
by Adrian
This workflow automates the assignment of household chores. It reads tasks and a list of people from Google Sheets, pairs each task with someone, updates the spreadsheet with the assignments and emails each person their chores. Each run makes a random assignment so you donβt have to decide who does what. By running on a schedule, it keeps your chore rotation automated. Who is it for? Designed for families, roommates, flatβshares or property managers who want to keep track of recurring chores without endless group chats or arguments. Itβs also helpful for anyone coordinating a team of cleaners or volunteers and wishing to automate a fair distribution of tasks. How it works A Schedule Trigger starts the workflow at a regular interval (default every seven days). Google Sheets node reads the βTasksβ sheet from your spreadsheet. Each row contains a chore with a task. Another Google Sheets node reads the βPersonsβ sheet to obtain the list of people available to do chores. Next a Code node filters out any people without an email address and any tasks without a task name, then selects a random person for each task. A Gmail node sends each person an email summarising the chore theyβve been assigned. The last Google Sheets node updates the βTasksβ sheet, writing the assigned personβs name into the assigned_to column. Setup steps Spreadsheet β Create a Google Sheets document with two sheets. The first sheet βTasksβ should have columns for task, description, assigned_to and a βhidden row_numberβ. The second sheet βPersonsβ should have columns for name and email and βhidden row_numberβ. Fill them with your current chores and household members. Connect your Google account β In the Get Tasks and Get People nodes, select the credential for your Google account and search for your sheets. Configure the Schedule Trigger β Set the trigger interval (for example, every seven days on a Sunday evening). Edit the assignment logic (optional) β The Code node is preconfigured to filter data and assign tasks randomly. You can modify this script if you prefer a roundβrobin approach, weighting by difficulty, or any other logic. Configure Gmail β In the Send a message node, select your Gmail credential. If you want you can customise the subject and body of the email. Update sheet mapping β In the Update assign_to node, ensure the assigned_to column mapping writes the assigned personβs name back to the correct row. The workflow uses the row_number to match the row being updated. Test and activate β Run the workflow manually to verify it reads your sheets, assigns tasks and sends emails. Once satisfied, activate the schedule so it runs automatically. Requirements Β· A Google account with access to Google Sheets and Gmail. Β· A spreadsheet containing two sheets as described above (see images), with headers matching the field names used in the workflow. How to customise it Change the schedule interval to suit your rotation, edit the email template to include due dates or motivational messages, or modify the assignment script to weight tasks by difficulty. You could also send notifications via Slack or Telegram.