by Rosh Ragel
Automatically Send Weekly Sales Reports from Square via Outlook What It Does This workflow automatically connects to the Square API and generates a weekly sales summary report for all your Square locations. The report matches the figures displayed in Square Dashboard > Reports > Sales Summary. It's designed to run weekly and pull the previous week’s sales into a CSV file, which is then sent to a manager/finance team for analysis. This workflow builds on my previous template, which allows users to automatically pull data from the Square API into n8n for processing. (See here: https://n8n.io/workflows/6358) Prerequisites To use this workflow, you'll need: A Square API credential (configured as a Header Auth credential) A Microsoft Outlook credential How to Set Up Square Credentials: Go to Credentials > Create New Choose Header Auth Set the Name to Authorization Set the Value to your Square Access Token (e.g., Bearer <your-api-key>) How It Works Trigger: The workflow runs every Monday at 4:00 AM Fetch Locations: An HTTP request retrieves all Square locations linked to your account Fetch Orders: For each location, an HTTP request pulls completed orders for the previous week (e.g., Monday to Sunday) Filter Empty Locations: Locations with no sales are ignored Aggregate Sales Data: A Code node processes the order data and produces a summary identical to Square’s built-in Sales Summary report Create CSV File: A CSV file is created containing the relevant data Send Email: An email is sent via Microsoft Outlook to the chosen third party Example Use Cases Automatically send weekly Square sales data to management to improve the quality of planning and scheduling decisions Automatically send data to an external third party, such as a landlord or agent, who is paid via commission Automatically send data to a bookkeeper for entry into QuickBooks How to Use Configure both HTTP Request nodes to use your Square API credential Set the workflow to Active so it runs automatically Enter the email address of the person you want to send the report to and update the message body If you want to remove the n8n attribution, you can do so in the last node Customization Options Add pagination to handle locations with more than 1,000 orders per week Why It's Useful This workflow saves time, reduces manual report pulling from Square, and enables smarter automation around sales data — whether for operations, finance, or performance monitoring.
by Rahi
Workflow 1: Domain and Email Health 🩺 This part of the workflow is triggered every 5 hours by the Schedule Trigger1 node. Its purpose is to pull health metrics for both email domains and individual email addresses. How it Works: ++Schedule Trigger:++ The Schedule Trigger1 node initiates the workflow every 5 hours. ++API Requests:++ Two separate HTTP Request nodes, HTTP Request5 and HTTP Request6, make API calls to Smartlead. ++HTTP Request5 calls++ the endpoint for domain-wise health metrics. ++HTTP Request6 calls++ the endpoint for email-wise health metrics. Both requests use the same api_key and a date range from 2025-07-04 to the current day. ++Data Splitting:++ The Split Out5 and Split Out6 nodes take the JSON response from the API calls and split the data into individual items. This is necessary so each row of data can be processed and added to Google Sheets separately. ++Google Sheets Integration:++ Finally, the Append or update row in sheet5 and Append or update row in sheet6 nodes update two different Google Sheets: ++Append or update row in sheet5 adds++ or updates rows in the DomainHealth sheet, matching on the domain column. ++Append or update row in sheet6 adds++ or updates rows in the EmailHealth sheet, matching on the from_email column. Workflow 2: Global and Campaign-Specific Analytics 📊 This second part of the workflow is triggered every 2 hours by the Schedule Trigger node. Its goal is to get a day-by-day overview of email engagement and campaign-specific performance. How it Works: Schedule Trigger: The Schedule Trigger node starts this workflow every 2 hours. ++API Requests:++ Two HTTP Request nodes, HTTP Request and HTTP Request1, call different Smartlead API endpoints. ++HTTP Request++ retrieves day-wise overall stats for email engagement. ++HTTP Request1 ++retrieves overall stats for each campaign. ++Data Splitting:++ The Split Out and Split Out1 nodes separate the JSON responses into individual data items for processing. ++Google Sheets Integration:++ The Append or update row in sheet and Append or update row in sheet1 nodes then write the data to Google Sheets. ++Append or update row in sheet++ updates the Sheet1 sheet with day-wise metrics, using the date as a matching column. ++Append or update row in sheet1++ updates the CampaignWise sheet with campaign performance metrics, using the campaign id to match rows.
by Nima Salimi
Overview Automate your daily contact imports from NocoDB to Brevo.The workflow updates the record status in NocoDB at each step. For every email campaign, it’s essential to keep your Brevo contact list updated so you can send personalized and targeted emails. This flow automates that process. ✅ Tasks ⏰ Runs automatically every day 🗂 Fetches only new/unimported records from NocoDB 🔍 Checks for missing required fields 🚫 Filters out disposable/temporary emails 📬 Creates contacts in Brevo 📝 Updates NocoDB status after each step 🛠 How to Use 1️⃣ Set your schedule The Schedule Trigger node runs the flow daily adjust to your preferred time. 2️⃣ Prepare your table in NocoDB Your NocoDB table should contain at least: id first_name last_name email status (default: 0-not-imported) 3️⃣ Configure your credentials Connect your NocoDB API Token in the NocoDB nodes. Connect your Brevo API Key in the Brevo node. 4️⃣ Map your fields In the Brevo: Create Contact node, make sure first name, last name, and email match your NocoDB column names. 📌 Notes 🛡 Make sure your NocoDB project/table IDs match the ones in this template. 🚀 This workflow processes contacts one-by-one to avoid heavy API calls and rate limit issues with Brevo. ✅ status values: 0-not-imported → new record 1-empty-fields → missing required fields 2-disposal-email → disposable email detected 3-contact-created → successfully created in Brevo
by Abdullah
What it does Automatically respond to Google Form entries submitted via Google Sheets. This workflow notifies your Slack team, sends a personalized Gmail response to the user, and adds the user to Google Contacts — all triggered instantly upon new row addition in your connected Sheet. Who's it for Perfect for lead capture forms, client inquiries, or feedback submissions. Trigger: When a new row is added to a connected Google Sheet (usually linked to a Google Form). Slack Notification: Sends a Slack message to your selected channel with the form data. Gmail Message: Sends an automatic email reply to the submitter (using their email from the form). Add Google Contact: Automatically creates a new contact in Google Contacts using the form data. This setup is ideal for automating client communication and internal team alerts without manual input.
by Yaron Been
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This workflow automatically monitors keyword rankings across search engines to track SEO performance and identify optimization opportunities. It saves you time by eliminating the need to manually check keyword positions and provides comprehensive ranking data for strategic SEO decision making. Overview This workflow automatically scrapes search engine results pages (SERPs) to track keyword rankings, competitor positions, and search features. It uses Bright Data to access search results without restrictions and AI to intelligently parse ranking data, track changes, and identify SEO opportunities. Tools Used n8n**: The automation platform that orchestrates the workflow Bright Data**: For scraping search engine results without being blocked OpenAI**: AI agent for intelligent ranking analysis and SEO insights Google Sheets**: For storing keyword ranking data and tracking changes How to Install Import the Workflow: Download the .json file and import it into your n8n instance Configure Bright Data: Add your Bright Data credentials to the MCP Client node Set Up OpenAI: Configure your OpenAI API credentials Configure Google Sheets: Connect your Google Sheets account and set up your ranking tracking spreadsheet Customize: Define target keywords and ranking monitoring parameters Use Cases SEO Teams**: Track keyword performance and identify ranking improvements Content Marketing**: Monitor content ranking success and optimization needs Competitive Analysis**: Track competitor keyword rankings and strategies Digital Marketing**: Measure organic search performance and ROI Connect with Me Website**: https://www.nofluff.online YouTube**: https://www.youtube.com/@YaronBeen/videos LinkedIn**: https://www.linkedin.com/in/yaronbeen/ Get Bright Data**: https://get.brightdata.com/1tndi4600b25 (Using this link supports my free workflows with a small commission) #n8n #automation #keywordrankings #seo #searchrankings #brightdata #webscraping #seotools #n8nworkflow #workflow #nocode #ranktracking #keywordmonitoring #seoautomation #searchmarketing #organicseo #seoresearch #rankinganalysis #keywordanalysis #searchengines #seomonitoring #digitalmarketing #serp #keywordtracking #seoanalytics #searchoptimization #rankingreports #keywordresearch #seoinsights #searchperformance
by Ranjan Dailata
Who this is for This workflow is designed for Finance teams, accounting professionals, and automation engineers. Use Case: Automates processing of invoice submissions received via JotForm. Core Function:** Extracts structured data such as: Invoice number Client information Totals and tax amounts Line items or services Key Benefit:** Eliminates manual data entry, saving time and reducing human error. Automation Goal:** Streamline document handling with AI-powered PDF parsing and structured output generation. Ideal users include: Accounting or finance teams handling form-based invoice uploads Automation specialists using n8n for document processing Developers integrating invoice data into Google Sheets or CRMs What problem this workflow solves Manually extracting structured data from invoice PDFs submitted through JotForm is time-consuming, error-prone, and repetitive. This workflow solves that by: Automatically receiving the PDF through JotForm’s webhook Extracting structured fields (invoice number, company, client, line items, totals, etc.) using GPT-4-mini Saving the extracted data directly to Google Sheets Writing structured JSON data to disk for archival or further processing What this workflow does Webhook Trigger (JotForm → n8n) JotForm submission sends invoice data and attachment link to n8n. Parse Submission & Extract Metadata Extracts submission metadata (form ID, user details, invoice number, file link, etc.) using the Information Extractor node. Download PDF Attachment Fetches the uploaded PDF from JotForm’s secure file URL via the HTTP Request node, authenticated using a JotForm API key. Store & Process File Saves the invoice to disk and prepares it for AI processing. Extract Invoice Text Content Uses the Extract from File node to parse text from the PDF document. AI-Powered Structured Extraction (OpenAI GPT-4.1-mini) Sends the extracted text to a LangChain LLM Chain with a Structured Output Parser, ensuring consistent JSON output aligned with a defined schema. Save Extracted Data Writes structured JSON to disk Appends parsed results to Google Sheets for easy reporting Setup Instructions Prerequisites A JotForm account with a form containing an invoice PDF upload field You may build the invoice Jotform by leveraging the Jotform Templates A Google Sheets account with a connected spreadsheet OpenAI** n8n running locally or on a server with public webhook access (e.g. via loca.lt, ngrok, or n8n.cloud) Make sure to get the Jotform API Key via the Jotform Account API Key Steps Import the provided JSON into n8n Go to n8n → Workflows → Import from File/Clipboard Paste the provided JSON definition Configure Webhook Copy the webhook URL from the Webhook node Paste it into your JotForm’s Settings → Integrations → Webhook URL Set API Keys & Credentials Ensure the Jotform API key has been setup to download the Jotform PDF document Ensure your Google Sheets and OpenAI credentials are connected Test Submission Submit your JotForm with an invoice PDF n8n workflow will trigger automatically Check Outputs Open your Google Sheet to see structured invoice entries Check the disk folder (e.g., C:\Invoices) for JSON exports How to customize this workflow Change AI Model** Use the OpenAI Chat Model for Structured Data node. → Replace gpt-4.1-mini with gemini-1.5-pro or any other LLM node of your choice. Adjust Output Schema** Modify the Structured Output Parser node. → Edit the JSON schema to match your desired output fields and format. Save to a Different Location** In the Write the Structured Invoice to Disk node, → Update the file path pattern (e.g. /data/invoices/{{invoiceId}}.json). Log to a Database Instead of Google Sheets** Replace the Append or Update Row in Sheet node → with a MySQL or PostgreSQL node for database logging. Add Notifications** Extend the workflow by adding Slack or Email nodes → to send alerts when a new invoice extraction is completed. Summary The Structured Invoice Data Extraction from JotForm PDFs via Google Gemini, Converts JotForm-uploaded invoice PDFs into structured financial data automatically. Key Features: No manual parsing fully automated Works with any invoice layout via AI Saves structured results to Google Sheets + JSON file Extensible for CRMs, QuickBooks, or ERP sync
by Pramod Kumar Rathoure
Reimbursements used to be a headache. Employees submitted receipts through emails, managers got stuck in approval chains, and finance teams spent hours checking for duplicates, updating sheets, and sending follow-up emails. So, we automated it. Using n8n, we built a smart Employee Reimbursement Workflow that does everything… in just a few clicks. Here’s how it works.] When an employee uploads a receipt, the workflow first checks for duplicates. If the file is new, it’s uploaded to Google Drive instantly. Next, a unique tracking ID is generated—no manual typing, no mistakes. Then, all the details are logged in Google Sheets in real time, ready for records. And finally, the Finance team gets an email notification with everything they need to process the payment—no chasing, no missing info. The impact? We’ve cut processing time by over 70%, reduced errors to nearly zero, and made the entire process stress-free for employees and finance alike. This isn’t just automation—it’s giving people their time back.
by Robert Breen
This n8n workflow dynamically generates a realistic sample dataset based on a single topic you provide. It uses OpenAI (via LangChain) and n8n’s built-in nodes to: Generate structured JSON data for 5 columns with 3–5 values each Flatten that data into a single text blob Infer meaningful column names via a second AI call Pivot, split, merge, and rename columns automatically Output a clean, labeled dataset ready for export or further processing ⚙️ Prerequisites OpenAI API Key Visit: https://platform.openai.com/account/api-keys Create a new key In n8n: Credentials → New → OpenAI API, paste key, name it “OpenAi account” LangChain nodes enabled in your n8n instance 🥇 Step 1: Set Up OpenAI Credential Go to OpenAI API Keys Create and copy your key In n8n: Credentials → New → OpenAI API → paste key as “OpenAi account” 🥈 Step 2: Manual Trigger Add Manual Trigger to start the workflow 🥉 Step 3: Set Topic Add a Set node named Set Topic to Search Field: Topic = n8n use cases (or any topic you choose) ✨ Step 4: Generate Structured Data LangChain Agent** node Generate Random Data Connect to OpenAI Chat Model1 and Tool: Inject Creativity1 System prompt: instruct AI to output 5 columns of realistic values in JSON 🔧 Step 5: Parse AI Output Structured Output Parser** to validate JSON 🔄 Step 6: Flatten Data Code** node Outpt all Data to One Field Joins all values into a comma-separated string for column naming 🧠 Step 7: Generate Column Names LangChain Agent** Generate Column Names Connect to OpenAI Chat Model2 Prompt: infer 5 column names from the string 🔢 Step 8: Pivot Names Row Code** node Pivot Column Names transforms array into { column1: name1, … } 🪓 Step 9: Split Columns 5 SplitOut nodes to break each array back into rows per column 🔗 Step 10: Merge Rows Merge** node Merge Columns together using combineByPosition 🏷️ Step 11: Rename Columns Set** node Rename Columns assigns the AI-generated names to each column 🔗 Step 12: Final Output Merge** Append Column Names combines data and header row 🏁 Done! You now have a fully AI-driven, labeled dataset generated from a single topic—no external services needed. Easily extend by adding a Google Sheets or HTTP node to export. 📬 Need Help or Want to Customize This? 📧 robert@ynteractive.com 🔗 LinkedIn
by NanaB
This n8n workflow provides a comprehensive solution for user authentication and management, leveraging Airtable as the backend database. It includes flows for user sign-up and login, aswell as the sample crud operations retrieving user details, and updating user information. Youtube Video of me explaining the flow: https://www.youtube.com/watch?v=gKcGfyq3dPM How it Works User Sign-Up Flow Receives POST request: A webhook listens for POST requests containing new user details (email, first name, last name, password). Checks for existing email: The workflow queries Airtable to see if the submitted email already exists. Handles email in use: If the email is found, it responds with {"response": "email in use"}. Creates new user: If the email is unique, the password is SHA256 hashed (Base64 encoded), and the user's information (including the hashed password) is stored in Airtable. A successful response of {"response": "success"} is then sent. User Login Flow Receives POST request: A webhook listens for POST requests with user email and password for login. Verifies user existence: It checks Airtable for a user with the provided email. If no user is found, it responds with a failure message ("wrong email"). Compares passwords: If a user is found, the submitted password is hashed (SHA256, Base64 encoded) and compared with the stored hashed password in Airtable. Responds with JWT or error: If passwords match, a JWT token containing the user's ID and email is issued. If they don't match, a "wrong password" response is sent. Flows for a Logged-In User These flows require a JWT-authenticated request. Get User Details:** Webhook (GET): Receives a JWT-authenticated request. Airtable (Read): Fetches the current user’s record using the jwtPayload.id. Set Node ("Specify Current Details"): Maps fields like "First Name," "Last Name," "Email," and "Date" from Airtable to a standard output format. Update User Details:** Webhook (POST): Receives updated user data (email, name, password). Airtable (Upsert): Updates the record matching jwtPayload.id using the submitted fields. Set Node ("Specify New Details"): Outputs the updated data in a standard format. Set Up Steps (Approx. 5 Minutes) Step 1: Set up your Airtable Base and Table You'll need an Airtable Base and a table to store your user data. Ensure your table has at least the following columns: Email** (Single Line Text) First Name** (Single Line Text) Last Name** (Single Line Text) Password** (Single Line Text - this will store the hashed password) Date** (Date - optional, for user sign-up date) Step 2: Obtain an Airtable Personal Access Token Go to the Airtable website and log in to your account. Navigate to your personal access token page (usually found under your developer settings or by searching for "personal access tokens"). Click "Create new token." Give your token a name (e.g., "n8n User Management"). Grant necessary permissions: Scope: data.records:read, data.records:write for the specific base you will be using. Base: Select the Airtable base where your user management table resides. Generate the token and copy it immediately. You won't be able to see it again. Store it securely. Step 3: Create a JWT Auth Credential in n8n In your n8n instance, go to "Credentials" (usually found in the left-hand sidebar). Click "New Credential" and search for "JWT Auth". Give the credential a name (e.g., "UserAuthJWT"). For the "Signing Secret," enter a strong, random string of characters. This secret will be used to sign and verify your JWT tokens. Keep this secret highly confidential. Save the credential. Customization Options This workflow is designed to be highly adaptable: Database Integration**: Easily switch from Airtable to other databases like PostgreSQL, MySQL, MongoDB, or even Google Sheets by replacing the Airtable nodes with the appropriate database nodes in n8n. Authentication Methods**: Extend the authentication to include multi-factor authentication (MFA), social logins (Google, Facebook), or integrate with existing identity providers (IdP) by adding additional nodes. User Profile Fields**: Add or remove user profile fields (e.g., phone number, address, user roles) by adjusting the Airtable table columns and the Set nodes in the workflow. Notification System**: Integrate notification systems (e.g., email, SMS) for events like new user sign-ups, password resets, or account changes. Admin Panel**: Build an admin panel using n8n to manage users directly, including functionalities for adding, deleting, or updating user records, and resetting passwords. This workflow provides a solid foundation for building robust user management systems, adaptable to a wide range of applications and security requirements. Need Assistance or Customization? Do you have specific integrations in mind, or are you looking to add more user management features to this workflow? If you need help setting this up, or want to adapt it for a unique use case, don't hesitate to reach out! You can contact me directly at nanabrownsnr@gmail.com. I'd be glad to assist you.
by Wessel Bulte
What this template does Receives meeting data via a webform, cleans/structures it, fills a Word docx template, uploads the file to SharePoint, appends a row to Excel 365, and sends an Outlook email with the document attached. Good to know Uses a community node: DocxTemplater to render the DOCX from a template. Install it from the Community Nodes catalog. The template context is the workflow item JSON. In your docx file, use placeholders. Includes a minimal HTML form snippet (outside n8n) you can host anywhere. Replace the placeholder WEBHOOK_URL with your Webhook URL before testing. Microsoft nodes require Azure app credentials with correct permissions (SharePoint, Excel/Graph, Outlook). How it works Webhook — Receives meeting form JSON (POST). Code (Parse Meeting Data) — Parses/normalizes fields, builds semicolon‑separated strings for attendees/absentees, and flattens discussion points / action items. SharePoint (Download) — Fetches the DOCX template (e.g., meeting_minutes_template.docx). Merge — Combines template binary + JSON context by position. DocxTemplater — Renders meeting_{{now:yyyy-MM-dd}}.docx using the JSON context. SharePoint (Upload) — Saves the generated DOCX to a target folder (e.g., /Meetings). Microsoft Excel 365 (Append) — Appends a row to your sheet (Date, Time, Attendees, etc.). Microsoft Outlook (Send message) — Emails the generated DOCX as an attachment. Requirements Community node DocxTemplater installed Microsoft 365 access with credentials for: SharePoint (download template + upload output) Excel 365 (append to table/worksheet) Outlook (send email) A Word template with placeholders matching the JSON keys Need Help 🔗 LinkedIn – Wessel Bulte
by Hugues Stock
What does this template do? This workflow sets a small "lock" value in Redis so that only one copy of a long job can run at the same time. If another trigger fires while the job is still busy, the workflow sees the lock, stops early, and throws a clear error. This protects your data and keeps you from hitting rate limits. Because the workflow also stores simple progress flags ("working", "loading", "finishing"), you can poll the current status and show live progress for very long jobs. Use Case Great when the same workflow can be called many times in parallel (for example by webhooks, cron jobs, or nested Execute Workflow calls) and you need an "only run once at a time" guarantee without building a full queue system. What the Workflow Does ⚡ Starts through Execute Workflow Trigger called by another workflow 🔄 A Switch sends the run to Get, Set, or Unset actions 💾 Redis reads or writes a key named process_status_<key> with a time‑to‑live (default 600 s) 🚦 If nodes check the key and decide to continue or stop ⏱️ Wait nodes stand in for the slow part of your job (replace these with your real work) 📈 Updates the key with human‑readable progress values that another workflow can fetch with action = get 🏁 When done, the lock is removed so the next run can start Apps & Services Used Redis Core n8n nodes (Switch, If, Set, Wait, Stop and Error) Pre‑requisites A Redis server that n8n can reach Redis credentials stored in n8n A second workflow that calls this one and sends: action set to get, set, or unset key set to a unique name for the job Optional timeout in seconds Customization Tips Increase or decrease the TTL in the Set Timeout node to match how long your job usually runs Add or rename status values ("working", "loading", "finishing", and so on) to show finer progress Replace Stop and Error with a Slack or email alert, or even push the extra trigger into a queue if you prefer waiting instead of failing Use different Redis keys if you need separate locks for different tasks Build a small "status endpoint" workflow that calls this one with action = get to display real‑time progress to users Additional Use Cases 🛑 Telegram callback spam filter If a Telegram bot sends many identical callbacks in a burst, call this workflow first to place a lock. Only the first callback will proceed; the rest will exit cleanly until the lock clears. This keeps your bot from flooding downstream APIs. 🧩 External API rate‑limit protection Run heavy API syncs one after the other so parallel calls do not break vendor rate limits. 🔔 Maintenance window lock Block scheduled maintenance tasks from overlapping, making sure each window finishes before the next starts.
by Don Jayamaha Jr
A next-generation AI-powered DeFi health monitor that tracks wallet positions across Aave V3 using GPT-4o and LangChain. It delivers human-readable reports via Telegram and Gmail, triggered on schedule or manually. Built for professionals monitoring multiple DeFi wallets. 🧩 System Components | Component | Role | | --------------------------------- | ------------------------------------------------------------- | | ✅ Scheduler | Triggers the workflow periodically | | ✅ Google Sheets Wallet Loader | Loads all monitored wallet addresses | | ✅ Set Variables | Injects dynamic wallet + date | | ✅ AAVE Portfolio AI Agent | GPT-4o + LangChain AI that generates human-readable summaries | | ✅ Moralis API Nodes (3) | Collect Aave V3 supply/borrow/collateral data | | ✅ OpenAI Chat Model (gpt-4o-mini) | Interprets on-chain data and explains it | | ✅ Telegram Delivery | Sends summary to Telegram chat | | ✅ Gmail Email Sender | Sends full HTML report to email | | ✅ HTML Formatter | Beautifies AI output into email structure | ⚙️ How It Works Scheduled or manual trigger Pulls wallet addresses from Google Sheets For each wallet: Pulls Aave data from Moralis GPT-4o AI generates report Sends summary to Telegram Sends full HTML report via Gmail 🛠 Installation Steps 1. Import the Workflow Upload AAVE_Portfolio_Professional_AI_Agent.json to your n8n instance. 2. Connect These Credentials | Service | Required Credential Type | | -------- | ---------------------------- | | Moralis | HTTP Header Auth (X-API-Key) | | OpenAI | GPT-4o via OpenAI API Key | | Telegram | Telegram Bot API Token | | Gmail | Gmail OAuth2 Credential | 3. Create Google Sheet Column name must be: wallet_address Add wallet addresses you want monitored 📬 Output Format Telegram Message Example 📊 Aave DeFi Health Report Wallet: 0xABC...123 Date: 2025-05-21 ▪️ Pool: Aave Ethereum USDC • Supply: $10,040 • Borrowed: $5,500 • Health Factor: 3.43 • Liquidation Risk: No Email Report Full HTML + plain text versions Auto-generated date + styled per wallet Includes notes and threshold warnings 🧠 Smart Features GPT-4o generates clear human summaries Monitors multiple wallets in one run Flags liquidation risk dynamically Logs daily performance snapshots 💡 Customization Ideas Add Telegram slash command /aave <wallet> Expand to monitor Compound, Lido, or Uniswap Export to Notion, Slack, or Data Studio 🧾 Licensing & Attribution © 2025 Treasurium Capital Limited Company Architecture, prompts, and report formatting are intellectual property protected. No unauthorized rebranding, redistribution, or resale permitted. 🔗 For support or licensing inquiries: LinkedIn – Don Jayamaha 🚀 Track all your Aave DeFi positions using AI—delivered via Telegram + Gmail. Perfect for funds, traders, and DeFi power users. 🎥 Watch the Live Demo: