See llms.txt for all machine-readable content.
Never pay full price from ignorance again. Promo Seeker finds, verifies, and delivers active promo codes via Telegram or email using SerpAPI + Gemini (OpenRouter). A 2-hour manual hunt becomes a 5-minute query, with results deduplicated into an n8n Data Table for instant reuse.
Last updated: September 2026.
Time Savings: Manual promo hunting drops from ~2 hours to ~5 minutes per query.
Cost Reduction: Less need for paid scraping tools or manual services. Potential savings of $50–$200/month.
Error Prevention: Cross-referenced sources plus a 30-day recency filter cut expired-code hits by ~60% versus single-source checks.
Scalability: Hundreds of queries per day with Data Table upserts and optional scheduling for continuous discovery.
| Requirement | Type | Purpose |
|---|---|---|
| n8n instance | Essential | Execute the workflow. Import the JSON and begin configuration |
| SerpAPI account | Essential | Web search results for promo code discovery |
| OpenRouter (Gemini) account | Essential | Language model (Gemini 2.5 Pro) for extraction and verification |
| Telegram Bot (BotFather) | Essential | Receive queries and send promo notifications |
| Gmail OAuth2 | Essential | Send rich email notifications |
| n8n Data Tables | Essential | Store and deduplicate promo code records |
{ "platform":"example.com", "email":"[email protected]" }
| Node | Purpose | Key Configuration |
|---|---|---|
| SerpAPI | Fetch web search results | Provide credential; adjust search params in agent prompt |
| Gemini 2.5Pro (OpenRouter) | Extract & verify promo details | Use OpenRouter credential; model google/gemini-2.5-pro |
| Promo Seeker Agent (LangChain) | Orchestrates search + parsing | System prompt enforces 30‑day recency & result format |
| Structured Output Parser | Validates agent output | JSON schema example for platform/code/value/terms/validUntil |
| Data Table (Get row(s)) | Lookup existing promos | Filters by platform; limit = 3 |
| If (Code Exist?) | Branching logic | Checks existence of platform field |
| Data Table (Upsert row(s)) | Insert or update promo | Mapping from agent output to Data Table columns |
| Telegram Trigger / Telegram | Receive queries & notify users | Webhook-based trigger; parse_mode = HTML for messages |
| Gmail | Send rich HTML emails | Uses Gmail OAuth2 credential |
| Webhook / Form Trigger | Alternate inputs | Webhook path /v1/promo-seeker and Form trigger for manual submissions |
| Metric | Expected Performance | Optimization Tips |
|---|---|---|
| Execution time | 8–30s per new search (depends on SerpAPI + LM response) | Reduce SerpAPI page depth; cache recent results |
| API calls | 3–10 SerpAPI calls per complex query | Batch queries; use higher-quality search params |
| Error handling | Agent retries on malformed output | Use retry nodes and set onError strategy for downstream nodes |
| Problem | Cause | Solution |
|---|---|---|
| No results returned | Query too vague or rate-limited API | Improve query specificity; check SerpAPI quota |
| Gmail send fails | OAuth scope not granted or token expired | Reconnect Gmail OAuth2 credential in n8n |
| Telegram webhook not firing | Incorrect bot token or webhook setup | Recreate Telegram credential and check bot permissions |
| Duplicate rows | Upsert mapping mismatch | Ensure promoCode mapping in Upsert matches structured output |
| Agent returns malformed JSON | LM prompt too permissive | Tighten the agent system prompt and validate with Structured Output Parser |
How fresh are the codes?
Results pass a 30-day recency filter, cutting expired-code hits by ~60% versus single-source checks.
Do I get duplicates?
No. Every result is upserted into a Data Table keyed for deduplication and fast lookup.
How do I ask for codes?
Via Telegram message, Google Form, webhook POST, or scheduled runs. Answers come back on Telegram and Gmail.
Made by: khmuhtadin
Category: Marketing Automation
Tags: promo-codes, coupons, serpapi, telegram, gmail, openrouter, data-tables
Need custom workflows or help adapting this template? Contact me
Built with n8n. Need an assessment on your business? Feel free to reach out at https://khmuhtadin.com/consultation/