Systems and workflows built in n8n with language models. Each one is marked honestly: running for a client, live, or built and tested.
// filter
Running for a client
Live
Built and tested
Every diagram is drawn from the real node graph, with names simplified and nothing sensitive in it.
Systems
Each of these is several workflows working as one — shown as the system, not as a pile of parts.
LiveAI scraping engine2026
Universal Web Scraper
One link in, the whole site out. A shared engine fetches pages and escalates only as far as it must, reads structured data before it spends anything on AI, and writes the rows into a spreadsheet — with quick jobs and long crawls run as separate, controllable workers.
One engine, called as a sub-workflow by both the quick runner and the crawl worker
The AI call is skipped entirely when structured data already answers the page
The crawl worker locks each job, opens a new sheet when a part fills up, and writes one tab per category
Pause, resume, cancel, restart and delete, routed through a single control endpoint
Trigger
Web app (webhook) and a crawl schedule
Services
n8n
OpenAI
Google Sheets
Excel
n8n Data Tables
Webhooks
Outcome
Collecting a website into Excel stops being copy-and-paste or a new script per site.
LiveAI agents behind a product2026
CV Screener agents
The AI engine of CV Screener: sibling agents that profile one CV, screen one CV against a job, and summarise a whole pool. The product server calls them; every one checks a secret first, fences the CV as data, and returns typed JSON or a typed error.
A secret header is checked before anything else; a bad call never reaches the model
The CV text is wrapped in random fences, so instructions hidden inside a CV are read as data
The model scores with quoted evidence; weighted totals and must-have caps are computed in code
Set not to store executions, because CVs are personal data
Trigger
Server-to-server webhook
Services
n8n
OpenAI
Webhooks
Structured outputs
Outcome
Hundreds of CVs become a ranked, explainable pool that a recruiter can defend.
Running for a clientTelegram AI agent · client project2025 — present
Teacher Assistant AI Bot
A natural-language Arabic assistant delivered to a private tutor in Saudi Arabia. The tutor manages students, schedules, cancellations, and dues entirely through chat — the AI agent calls custom CRUD tools under strict business rules rather than guessing.
Custom tool-calling design with strict business rules
Usage metering and free-trial gating
Session memory across conversations
Automated lesson reminders scheduled in Saudi time
Grew in stages: fixed commands without AI, then an AI agent, then a MySQL version with stored procedures as tools
Trigger
Telegram message
Services
n8n AI Agent
OpenAI
Google Sheets
MySQL
Telegram Bot API
Webhooks
Outcome
A tutor runs an entire practice from a chat window, with no app to learn and no spreadsheet to maintain.
LiveProduction document AI pipeline2026
Smart Scanner Extraction Pipeline
The production pipeline behind Smart Scanner. Every invoice — photo or PDF — is verified as a real invoice, parsed with GPT-4.1 Vision, validated, deduplicated, and persisted. It reads Arabic, English, and mixed documents, and is tuned for handwritten Arabic invoices and Saudi e-invoice fields.
Rejects any file that is not a genuine invoice, before anything is saved
Extracts 70+ fields plus line items: vendor, buyer, totals, VAT, dates
Classifies every line item into per-company expense categories at extraction time
Refuses politely and explains why when required data is missing — accuracy before speed
Trigger
Webhook (image or PDF upload)
Services
n8n
OpenAI GPT-4.1 Vision
PDF Extract
Validation
Deduplication
Webhooks
Outcome
Manual invoice entry disappears entirely; a photo becomes structured accounting data in about ten seconds.
Built and testedContent system run from a chat2026
Telegram Publishing System
Plan, review, approve and publish posts to LinkedIn, Instagram and Reddit from a Telegram chat. The AI only understands what you meant; every decision after that is made by a deterministic state machine.
Button presses skip the AI and go straight to the state machine
Only allow-listed chats are processed
The scheduler locks an approved post before publishing, so nothing goes out twice
Jobs stuck too long are marked failed, with a retry button
Trigger
Telegram message and a scheduler
Services
n8n
OpenAI
Telegram
LinkedIn
Instagram
Reddit
n8n Data Tables
Outcome
A content calendar that lives in a chat, with a human approving every post.
Built and testedInbox with AI triage2026
Unified Inbox
Messages from every channel land in one inbox. Each one is enriched with its dialect, intent, priority and a summary, plus a draft reply written in the sender's own dialect — and replies leave through an outbox that records every result.
Greetings and emoji-only messages never reach the model — they are classified locally to save cost
Every channel is normalised to one contract and written with a single atomic call
Enrichment continues on error, so no message is ever lost
The outbox sends one message at a time and records a readable failure reason
Trigger
Incoming message, webhook and schedule
Services
n8n
OpenAI
Supabase
Telegram
Structured outputs
Outcome
A team answers every customer from one place, starting from a draft that already sounds like them.
Built and testedReview management for shops2026
Google Review Reply Manager
New Google reviews are picked up on a schedule and answered in the reviewer's own language. Happy reviews get a reply on their own; unhappy ones go to the owner on Telegram, who approves or skips with one tap.
Reviews already answered or already tracked are skipped
High ratings are posted automatically; low ratings wait for the owner
The owner's tap posts the stored draft and edits the message to confirm
A one-off helper fetches each new client's account and location
Trigger
Schedule and a Telegram button
Services
n8n
OpenAI
Google Business Profile
Telegram
n8n Data Tables
Outcome
Every review gets an answer, and the owner only spends time on the ones that need them.
LiveScheduled agent with human-in-the-loop2026
AI Job-Match Pipeline
A scheduled pipeline that runs five daily search queries across LinkedIn, Indeed, and Glassdoor, scores each role's fit from one to ten with a structured-JSON LLM evaluator, and delivers only the high scorers.
Structured-JSON evaluator scoring fit on a 1–10 scale
Deduplication against n8n Data Tables so nothing is seen twice
Telegram delivery of high-scoring matches only
Human-in-the-loop approval before any application is sent
Semi-automated applications with tailored AI-generated cover letters via Gmail
A factory clones the search into a separate daily bot for each user, through the n8n API — automation that builds automation
Trigger
Daily schedule
Services
n8n
JSearch API
OpenAI GPT-4.1
n8n Data Tables
Telegram
Gmail
Outcome
Daily job hunting collapses into reviewing a short, pre-scored shortlist.
Smaller builds
Single-purpose workflows, each one solving a whole job from start to finish.
Running for a clientPayment check for registrations2026
Transfer Receipt Check
Behind a chess club's tournament registration: the uploaded bank-transfer receipt is read by a vision model, which also says whether it is a transfer at all. The site applies the rules; the workflow only reads.
Upload an Excel or CSV of contacts and a group name: the group is created, everyone is added in throttled batches, and anyone WhatsApp refuses to add receives the invite link instead.
Phone columns are detected automatically, normalised and de-duplicated
Members are added in batches with a pause between them, to stay under spam limits
Whoever could not be added gets the invite link, one message at a time
Trigger
Form (file upload)
Services
n8n
Whapi.Cloud
Excel
CSV
Built and testedAI social media studio2026
Social Auto-Publisher
Send a post idea to a Telegram bot and get back captions for each platform and a branded image in your own colours, fonts and logo. Nothing is scheduled until you approve the preview.
The brand kit is stored once and edited through chat commands
A vision pass picks the text zone, logo corner and overlay strength for each background
The final image is composed as HTML and rendered to PNG
Trigger
Telegram message
Services
n8n
OpenAI
Browserless
Postiz
Telegram
n8n Data Tables
Built and testedScraping and enrichment pipeline2025
Smart Lead Finder
Automated B2B lead generation across the Saudi and Jordanian markets: multi-query place search, website scraping to extract emails and WhatsApp numbers, prioritisation scoring, and duplicate-safe appends into segmented sheets.
Speaker diarization separates teacher from student
Structured outputs guarantee a parseable result every time
Returns a score, not a transcript — the caller gets data, not homework
Trigger
Webhook (video upload)
Services
n8n
AssemblyAI Speaker Diarization
OpenAI GPT-4.1 Structured Outputs
Built and testedPersonalised outreach2026
AI Email Campaigns
Fill in a form with a contact list and, for a job search, your CV. Each contact gets an email written for them, sent one at a time through Gmail with a random pause, and you get a report when it is done.
Arabic or English column headers are mapped automatically
Your CV's text is given to the model as context for job-search emails
Every send is recorded as sent or failed
Trigger
Form
Services
n8n
OpenAI
Gmail
Google Sheets
Excel
Built and testedData quality pipeline · proof of concept2026
CRM Lead Cleaner
Incoming CRM leads arrive scattered — duplicates, malformed emails, missing fields — and cost sales teams hours of manual triage. This pipeline cleans them automatically and reports on what it did.
Removes duplicates and validates email addresses
Flags missing fields rather than silently dropping records
Splits results into Clean and Rejected, with a reason on every rejection
Trigger
Webhook or schedule
Services
n8n
Email validation
Google Sheets
A case study in cost: one branch, three quarters saved
$0.02per PDF, vision model
$0.005per PDF, text model
75%cut per document
Webhook — file arrivesPDF with extractable text?
YesText model reads it$0.005
NoVision model sees it$0.02
Extraction came back empty? The PDF was only a scan — send it back to the vision branch.
1,000 receipts a month, half PDF, half photos$20→$12.50
1
The mistake in my first workflow was sending every file that arrived at the webhook straight to a vision model. It worked. It also cost roughly three times more than it needed to.
2
The reason is simple: a PDF usually already contains readable text. A vision model does not need to look at the page when a text model can read it — and reading costs a fraction of seeing.
3
The fix was a single branching decision placed just after the webhook: if the file is a PDF with extractable text, send the text to a text model; otherwise send the image to the vision model. The per-document cost dropped by about three quarters.
4
One detail matters more than the branch itself: always keep a fallback. If text extraction returns empty — because the PDF is really just a scanned image — the file has to go back to the vision branch. Without that, the cheap path silently produces nothing.