n8n-nodes-sheetbase
v9.1.48
Published
SheetBase Pro – Google Sheets as a database for n8n (Simple public reads, Advanced Apps Script CRUD, Tool, and Webhook Trigger with API key security).
Downloads
6,283
Maintainers
Readme
🚀 SheetBase - Google Sheets as Database & AI Memory for n8n
Transform Google Sheets into a powerful database with AI Agent memory - 100% Free, No API Quotas!
✨ Key Features
✅ 100% Free Forever - No API costs, no quotas, no hidden fees
⚡ Ultra Fast - 0-1ms response with intelligent caching
🧠 AI Agent Memory - Persistent memory for chatbots
🔍 Fuzzy Search - Advanced keyword matching
👥 Collaborative - Real-time multi-user editing
🚀 Production Ready - Tested with 50,000+ rows
📦 Installation
Via n8n Community Nodes Settings → Community Nodes → Install → n8n-nodes-sheetbase
Or manually cd ~/.n8n npm install n8n-nodes-sheetbase pm2 restart n8n
text
🎯 3 Powerful Nodes
1. SheetBase (Basic)
Read data via CSV URL - Perfect for static lookups
2. SheetBase Tool (LangChain)
AI Agent tool for database queries
3. SheetBase Memory (NEW! 🧠)
AI Agent persistent memory with two modes:
- Simple Mode: Read-only CSV search
- Advanced Mode: Full CRUD with Apps Script
🚀 Quick Start
Simple Mode (2 minutes)
- Create Google Sheet:
user_name | user_id | user_preference | user_small_history | user_timestamp - File → Share → Publish to web → CSV
- Copy URL to SheetBase Memory node
Advanced Mode (10 minutes)
- Create Google Sheet
- Extensions → Apps Script
- Paste this code:
function doGet(e) { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const data = sheet.getDataRange().getValues(); const headers = data; const rows = data.slice(1);
const operation = e.parameter.operation || 'search'; const userId = e.parameter.user_id || ''; const keywords = e.parameter.keywords || '';
let results = rows.map((row, idx) => { let obj = { __row: idx + 2 }; headers.forEach((h, i) => obj[h] = row[i]); return obj; }).filter(r => r.user_id === userId);
if (operation === 'search' && keywords) { const keywordList = keywords.toLowerCase().split(/\s+|,/).filter(k => k.length > 0); results = results.filter(r => { const searchText = JSON.stringify(r).toLowerCase(); return keywordList.some(keyword => searchText.includes(keyword)); }); }
return ContentService.createTextOutput(JSON.stringify({ success: true, data: results, count: results.length })).setMimeType(ContentService.MimeType.JSON); }
function doPost(e) { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const data = JSON.parse(e.postData.contents);
if (data.operation === 'create') { const v = data.values; sheet.appendRow([v.user_name, v.user_id, v.user_preference, v.user_small_history, v.user_timestamp]); return ContentService.createTextOutput(JSON.stringify({ success: true })).setMimeType(ContentService.MimeType.JSON); }
if (data.operation === 'update') { const u = data.updates; sheet.getRange(data.rowNumber, 3).setValue(u.user_preference); sheet.getRange(data.rowNumber, 4).setValue(u.user_small_history); sheet.getRange(data.rowNumber, 5).setValue(u.user_timestamp); return ContentService.createTextOutput(JSON.stringify({ success: true })).setMimeType(ContentService.MimeType.JSON); }
if (data.operation === 'delete') { sheet.deleteRow(data.rowNumber); return ContentService.createTextOutput(JSON.stringify({ success: true })).setMimeType(ContentService.MimeType.JSON); } }
text
- Deploy → New deployment → Web app → Anyone → Deploy
- Copy URL to SheetBase Memory node
💡 Use Cases
- 🤖 AI Chatbots - Remember user preferences
- 💼 CRM - Customer database without costs
- 📝 Content Management - Blog posts, documentation
- 🛍️ E-commerce - Product catalogs
- 📊 Data Collection - Forms, surveys, leads
- 🌐 IoT - Sensor data logging
⚡ Performance
| Rows | Search Time | Status | |------|-------------|--------| | 1,000 | <5ms | ✅ Excellent | | 10,000 | ~15ms | ✅ Great | | 50,000 | ~30ms | ✅ Good |
Real test: 50,000 rows searched in under 1 second!
📞 Support & Contact
Created by Charles Lepoittevin
- 📧 Email: [email protected]
- 💼 LinkedIn: charles-lepoittevin
- 📘 Facebook: Charles Lepoittevin
- 💻 GitHub: @CharlesMagicDev
Get Help
- 🐛 Bug Reports: Open GitHub issue
- 💬 Questions: Email or LinkedIn
- ⭐ Like it? Star the repo!
📜 License
MIT License - Free for personal and commercial use
