Amazon to Telegram, instant product comparisons
You open Amazon to “quickly check a few options,” and 20 tabs later you’re still comparing prices, reviews, and random “best seller” badges that don’t really help.
E-commerce operators feel it when sourcing new inventory. Product managers feel it when they need a fast competitor scan. And honestly, busy shoppers do too. This Amazon Telegram automation turns one message into a clean shortlist you can actually act on.
You’ll send a product idea in Telegram, the workflow validates the query, scrapes Amazon results via Decodo, scores and categorizes options, then replies with a tidy “budget / premium / best value” recommendation in under a minute.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: Amazon to Telegram, instant product comparisons
flowchart LR
subgraph sg0["Telegram Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Telegram Trigger"]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract Chat & Query", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Decodo API", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Process Product Data"]
n5@{ icon: "mdi:robot", form: "rounded", label: "Generate Recommendations", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send Final Response"]
n7@{ icon: "mdi:robot", form: "rounded", label: "Validate Product Input", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "Parse Validation Output", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Product Validity", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send Invalid Message"]
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send Processing Status"]
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send Valid Confirmation"]
n13@{ icon: "mdi:brain", form: "rounded", label: "Gemini 2.5 Flash", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Give Delay", pos: "b", h: 48 }
n3 --> n4
n14 --> n11
n13 -.-> n5
n13 -.-> n7
n0 --> n7
n0 --> n14
n2 --> n3
n4 --> n5
n9 --> n2
n9 --> n12
n9 --> n10
n7 --> n9
n8 -.-> n7
n5 --> n6
end
subgraph sg1["Error Flow"]
direction LR
n1@{ icon: "mdi:play-circle", form: "rounded", label: "Error Trigger", pos: "b", h: 48 }
n15["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Format Error Notification"]
n16["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Notify Admin"]
n1 --> n15
n15 --> n16
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0,n1 trigger
class n5,n7,n8 ai
class n13 aiModel
class n9 decision
class n4,n15 code
classDef customIcon fill:none,stroke:none
class n0,n4,n6,n10,n11,n12,n15,n16 customIcon
Why This Matters: Stop Drowning in Product Research Tabs
Manual Amazon research is sneaky. It starts as “I’ll just compare a few listings,” then turns into review skimming, seller credibility checks, price-to-rating guesses, and trying to remember which tab had the one decent option. If you’re doing this for work, it gets worse because you also need justification: “Why this product, why that price point, why now?” You end up making decisions slower, or you decide fast but with shaky confidence, which leads to returns, poor margins, or stock you shouldn’t have bought.
It adds up fast. Here’s where it usually breaks down.
- You spend about 45 minutes bouncing between listings just to get a “good enough” shortlist.
- Comparisons aren’t consistent because you’re eyeballing value instead of scoring it the same way every time.
- Teams can’t repeat the process, so research lives in someone’s browser history instead of a reusable workflow.
- One vague search term can send you into irrelevant results, and you only realize after you’ve wasted time.
What You’ll Build: Telegram-In, Amazon Shortlist-Out
This workflow turns Telegram into your “research inbox.” You message a product idea (like “wireless earbuds” or “iPhone 15 Pro Max case”), and the automation first checks if the query is specific enough to be useful. If it passes, it sends a scraping request to Decodo to pull Amazon search results including prices, ratings, reviews, and sales signals. Next, a transformation step cleans the dataset, removes duplicates, and calculates a simple value score so you’re not guessing. Finally, an AI step writes a Telegram-friendly recommendation that groups products into categories like budget, premium, best value, and most popular, with clean links you can click immediately.
The workflow starts with a Telegram message and a quick AI validation using a Gemini chat model. Then Decodo collects the raw product results, and n8n processes them into a structured shortlist. The last step sends a formatted reply back to Telegram, plus optional admin alerts if anything fails.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you research 5 product ideas a week for sourcing or content planning. Manually, if each one takes about 45 minutes, that’s roughly 4 hours of pure comparison work. With this workflow, you spend maybe 1 minute sending a message and reading the shortlist, while the automation does the scraping and scoring in under 40 seconds. That’s about 3 hours back most weeks, and your picks are more consistent.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Telegram Bot for the chat-based input and replies.
- Decodo account to scrape Amazon search results reliably.
- Google Gemini API key (get it from Google AI Studio) for query validation.
Skill level: Intermediate. You’ll connect a few credentials, paste in API keys, and test with real Telegram messages.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A Telegram message kicks things off. You send a product name to your bot, and the workflow grabs the chat details so it knows where to reply.
The query gets validated before spending any API calls. A Gemini-based AI check extracts the core keywords and decides if the request is “valid” or too ambiguous, which prevents garbage-in results.
Amazon results are scraped and normalized. Decodo pulls listing data, then a processing step removes duplicates, computes value scores, and prepares the “top picks” buckets (budget, premium, best value, most popular).
A clean recommendation is delivered back to Telegram. An AI agent crafts a short, readable message with Telegram-optimized formatting and direct URLs. If something fails, an error trigger can notify an admin channel so you’re not debugging blind.
You can easily modify the scoring and categories to match how you buy (for example, prioritize review count over rating). See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Telegram Trigger
This workflow begins when a user sends a Telegram message to your bot, which is captured by the trigger node.
- Add the Telegram Intake Trigger node and set Updates to
message. - Credential Required: Connect your
telegramApicredentials in Telegram Intake Trigger. - Confirm the parallel start: Telegram Intake Trigger outputs to both Validate Product Query and Delay Briefly in parallel.
Step 2: Connect Telegram Notifications and Acknowledgments
The workflow uses multiple Telegram nodes to acknowledge valid/invalid inputs and provide progress updates.
- In Delay Briefly, set Amount to
2to delay the processing notice. - Configure Post Processing Update with Text set to
=Processing your input...and Chat ID to{{ $('Telegram Intake Trigger').item.json.message.chat.id }}. - Set up Send Valid Acknowledgment with Text set to
=Input <b>Valid</b> | keyword: <b>{{ $json.output.keyword }}</b> <i>processing your request...</i>and Chat ID to{{ $('Telegram Intake Trigger').item.json.message.chat.id }}. - Configure Send Invalid Notice with Text set to
=no product detected on your input, please try againand Chat ID to{{ $('Telegram Intake Trigger').item.json.message.chat.id }}. - Credential Required: Connect your
telegramApicredentials to all Telegram nodes (5+ nodes handle acknowledgments, progress updates, and admin alerts).
Step 3: Set Up Query Validation and Routing
Before scraping, the workflow validates the user’s input using an AI prompt and routes based on validity.
- In Validate Product Query, set Text to
{{ $json.message.text }}and keep Has Output Parser enabled. - Attach Parse Validation Result as the output parser with JSON Schema Example set to
{ "keyword": "<product_name_or_empty>", "status": "VALID or INVALID" }. - Connect Gemini Flash Model as the language model for Validate Product Query and Craft Recommendation Text. Credential Required: Connect your
googlePalmApicredentials in Gemini Flash Model. - In Verify Query Status, set the condition Left Value to
{{ $json.output.status }}and Right Value toVALID. - Confirm parallel flow: Verify Query Status outputs to both Derive Chat & Keyword and Send Valid Acknowledgment in parallel.
Step 4: Connect Product Scraping and Dataset Transformation
Valid queries are converted to a search keyword, scraped from Amazon, and transformed into an AI-ready dataset.
- In Derive Chat & Keyword, set chatId to
{{ $('Telegram Intake Trigger').item.json.message.chat.id }}and message to{{ $json.output.keyword.replaceAll(' ','+') }}. - In Decodo Scrape Request, set Operation to
amazonand URL to=https://www.amazon.com/s?k={{ $json.message }}. - Credential Required: Connect your
decodoApicredentials in Decodo Scrape Request. - Keep Transform Product Dataset code as provided to clean URLs, score products, and structure categories for the AI prompt.
Step 5: Generate Recommendations and Send the Reply
Structured product data is converted into a Telegram-friendly recommendation response and delivered back to the user.
- In Craft Recommendation Text, keep the long prompt text and ensure it references dynamic values like
{{ $json.query }}and{{ $json.stats.avg_price }}. - Connect Craft Recommendation Text to Deliver Telegram Reply.
- Configure Deliver Telegram Reply with Text set to
{{ $json.text }}and Chat ID set to{{ $('Derive Chat & Keyword').item.json.chatId }}. - Credential Required: Connect your
telegramApicredentials in Deliver Telegram Reply.
Step 6: Add Error Handling and Admin Alerts
Error handling ensures you get notified if any node fails during execution.
- Use Failure Event Trigger to capture workflow errors.
- Keep the provided code in Compose Error Alert to format a concise error message.
- In Alert Administrator, set Text to
{{ $json.message }}and replace Chat ID[YOUR_ID]with your Telegram user ID. - Credential Required: Connect your
telegramApicredentials in Alert Administrator.
Step 7: Test and Activate Your Workflow
Run a full test to confirm validation, scraping, AI generation, and Telegram delivery all work as expected.
- Click Execute Workflow and send a test message to your Telegram bot.
- Verify that Send Valid Acknowledgment or Send Invalid Notice responds correctly, and that Post Processing Update appears after the delay.
- Confirm that Deliver Telegram Reply sends a formatted recommendation message containing URLs.
- Trigger a failure (e.g., invalid credentials) to verify Failure Event Trigger → Compose Error Alert → Alert Administrator works.
- Once successful, toggle the workflow to Active for production use.
Troubleshooting Tips
- Telegram credentials and webhook settings can be finicky. If replies suddenly stop, check your bot token in n8n and confirm Telegram updates are still arriving in the Trigger node.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Decodo can hit rate limits or Amazon can throttle scraping. If your shortlist comes back empty, verify your Decodo dashboard status and slow down repeated requests for the same keyword.
Quick Answers
About 30 minutes if you already have your API keys.
No. You’ll mostly paste credentials, review the prompts, and test a few Telegram messages.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Decodo scraping costs and Gemini API usage (usually small per request for short prompts).
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and you should. You can tweak the “Validate Product Query” and “Craft Recommendation Text” prompts to match your buying rules, change how strict the “Verify Query Status” decision is, and adjust the dataset rules inside “Transform Product Dataset” if you want different scoring (like weighting review count more heavily).
Usually it’s a bad or rotated bot token. Update the token in your Telegram credentials in n8n, then re-test the Telegram trigger to confirm updates are arriving. If the trigger works but sending fails, check that your bot can message the chat (some groups require adding the bot properly) and make sure you’re using the expected Markdown mode so special characters don’t break formatting.
If you self-host, volume mostly depends on your server and Decodo limits. On n8n Cloud, your monthly execution limit depends on plan; most small teams are fine unless they run this hundreds of times a day. In practice, one request equals one execution chain, so it scales cleanly as long as your scraping provider and AI API can keep up.
Often, yes. This workflow benefits from the “messy middle” that n8n handles well: branching logic (valid vs invalid queries), dataset transformation, and error routing to an admin channel. Zapier and Make can do parts of it, but you may end up fighting limitations around code steps, long prompts, or execution costs as usage grows. The self-host option is also a big deal if you want predictable costs. If you only want a basic “send query, get reply” chat bot, the simpler tools can be fine. Talk to an automation expert if you’re not sure which fits.
Once this is running, product research turns into a quick chat message and a decision you can defend. Less tab chaos, fewer “wait, which one was it?” moments, and a workflow you can reuse every time.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.