Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that turns a Telegram bot into a stock chart analyst. Send a ticker by text or voice note, and it draws a chart with volume, RSI and MACD on Chart-Img, has gpt-4o read it and replies with a seven-part technical report.
Telegram stock chart analyst with voice messages is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Telegram message
It starts when someone sends your bot a text or a voice note with:
A chart picture and a technical reading of it in Telegram, from one message
What you need before you start.
Chat
Receives text and voice notes, downloads the voice files, and sends the chart photo and the agent’s answer.
NeedsTelegram bot token from BotFather, and a chat ID for the charts
Language, vision and speech
Transcribes voice notes, runs the agent on gpt-4o and has gpt-4o read the chart picture.
NeedsOpenAI API key
Charts
Draws a TradingView-style chart with volume, RSI and MACD for the ticker and interval, and stores it at a public address.
NeedsChart-Img API key
Market data
Looks up a ticker that has no exchange and returns the exchange it trades on.
NeedsTwelve Data API key
Checked by Mindket on 13 Nov 2026
This n8n workflow turns a Telegram bot into a stock chart analyst that takes text or voice. You send a ticker, such as NASDAQ:AAPL, and ask for a reading. A voice note is transcribed first. An AI agent on gpt-4o then calls a chart tool built into the same file. Twelve Data finds the exchange when you leave it out, and Chart-Img draws a dark chart with volume, RSI and MACD. A second gpt-4o call reads that picture and writes a seven-section report. The chart arrives as a photo, and the agent answers with what the report found.
Retail traders and finance learners who want a quick chart reading on their phone, and creators who post market commentary. It knows NASDAQ and India’s NSE best. Skip it if you want figures from price data, because gpt-4o reads values off a picture.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Retail trading | Traders who follow a watchlist | Ask for a daily or weekly reading before the market opens | A trader sends a voice note asking for NSE:TCS on the daily chart and reads the report over breakfast. |
| Finance education | Teachers of technical analysis | Show how MACD, RSI and volume read on a current chart | A tutor asks for three tickers and compares the bot’s MACD notes with the class’s own. |
| Market content | Creators who post about stocks | Get a chart picture and a first reading to check before a post | A creator asks for NASDAQ:NVDA weekly and checks the support levels by eye before writing. |
| Investment clubs | Members who share ideas | Point Send Chart at the club’s group chat, so every chart lands there | A member asks the bot in private, and the chart appears in the group for the next meeting. |
You need some n8n for this one. The agent’s tool calls this same workflow, and two keys go into node fields. Its author puts setup at about 11 minutes.
Any n8n that Telegram can reach over HTTPS will run it, since Telegram calls the trigger as a webhook.
Get Chart at the same workflowSend Chart posts every picture to the chat ID you set, which can be a groupGet it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. The file holds two parts, the bot on top and the chart tool it calls below.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server Telegram can reach over HTTPS |
| Telegram | A bot token from BotFather, and the chat ID the chart pictures go to |
| OpenAI | An API key, used by OpenAI Chat Model, Transcribe and Technical Analysis |
| Chart-Img | An API key |
| Twelve Data | An API key, for the exchange lookup |
workflow.json. Save once so it has an ID.Telegram Trigger, Download File, Send Analysis and Send Chart.OpenAI Chat Model, Transcribe and Technical Analysis.Get Chart, the red tool under AI Agent, and choose this same workflow from the list.Get Chart URL, replace YOUR_CHART_IMG_KEY in the x-api-key header with your Chart-Img key.Lookup Exchange, replace <YOUR_TWELVE_DATA_KEY>, brackets included, with your Twelve Data key.Send Chart, replace YOUR_CHAT_ID with the chat the pictures go to.Telegram Trigger to your own user ID, save and press Publish.The chart tool gets the ticker and the interval but not the chat, which is why Send Chart needs a fixed ID. The README shows how to pass the chat along as a third input, for a bot that several people use.
Message the bot a ticker and the reading you want, typed or spoken. Put the exchange in front, as in NSE:INFY, and name the interval, such as daily. Without an exchange the lookup runs and the chart falls back to weekly. A general finance question gets an answer with no chart, and the agent’s prompt has it decline anything off topic.
| To change | Where |
|---|---|
| Default interval | The agent’s system message and Parse Interval, both set to 1W |
| Chart look | The body of Get Chart URL: the theme, the three studies and the MACD signal line’s color |
| Report sections | The prompt in Technical Analysis |
| Topics it accepts | The guard at the top of the agent’s system message |
| Exchanges | The prefix rules in Parse Interval, which know NASDAQ and NSE |
You send the bot a voice note asking for Apple on the daily chart, on NASDAQ. Transcribe turns it into text, and the agent calls Get Chart with values like these:
{ "ticker": "NASDAQ:AAPL", "interval": "daily" }The ticker has its exchange, so the lookup is skipped and Parse Interval sends 1D. Chart-Img stores a dark daily chart with volume, RSI and MACD, and Send Chart posts it. The report has seven ### sections, from Candlestick Analysis to Other Observations. The agent sums it up in its reply.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This file holds two workflows in one. The top row is the bot, and the bottom row is a tool its agent can call, with a trigger of its own. That is why Get Chart must point at this same workflow. Publish, send a ticker, then open Executions to follow both rows.
For experts. Two gpt-4o calls do the thinking. The code between them decides which chart you get.
| Node | What it does | What to know |
|---|---|---|
AI Agent | gpt-4o, with five exchanges of memory for each chat | Defaults to 1W and assumes NSE for well-known Indian names |
Parse Interval | Maps words to interval codes and builds EXCHANGE:SYMBOL | After a lookup it reads Twelve Data’s reply, which has no interval, so the chart is weekly |
Get Chart URL | POSTs to Chart-Img’s advanced-chart storage endpoint | Returns the stored picture’s url |
Technical Analysis | gpt-4o image analysis on the downloaded chart | Reads values off the picture, not from price data |
response | Returns the report to the agent | The chart’s address is not in it |
Chart-Img’s documentation, read on 2 November 2026, lists intraday intervals as 5m, 15m, 30m and 1h. Parse Interval sends 5, 30 and 60 for those, and a request for 15m becomes 5 because the 5m rule matches it first. Daily and longer codes match the list.
The fixes worth making first are where the chart goes and how tickers are read.
Send Chart posts to the chat ID you set, whoever askedNASDAQ:, every other exchange gets NSE:, NYSE included, and a lookup with no match charts NSE:RELIANCESend AnalysisAn n8n workflow. Send a Telegram bot a stock ticker by text or voice note. An AI agent has Chart-Img draw the chart with
volume, RSI and MACD, gpt-4o reads the picture, and the bot replies with a technical reading and the chart.
workflow.json: the workflow as n8n exports it, 22 nodes in two parts, two of them sticky notes. The top part is theWorkflow Input Trigger, is the chart tool the agent calls. TheGet Chart arrivesREADME.md: these notes.workflow.json, then save once so theTelegram Trigger, Download File,Send Analysis and Send Chart.OpenAI Chat Model, Transcribe and Technical Analysis.Get Chart, the red tool under AI Agent, and choose this same workflow from the list. Its call starts theWorkflow Input Trigger.Get Chart URL, replace YOUR_CHART_IMG_KEY in the x-api-key header with your Chart-Img key.Lookup Exchange, replace <YOUR_TWELVE_DATA_KEY> at the end of the address with your Twelve Data key, bracketsSend Chart, replace YOUR_CHAT_ID with the chat the pictures go to (below).Telegram Trigger, set Restrict to User IDs under Additional Fields to your own ID, unless others should use it.Send Chart sits in the bottom part, which receives the ticker and the interval but not the chat. Every picture goes to
the one chat ID you type in, whoever asked. For a bot only you use, put your own ID there: message the bot once while you
test and read message.chat.id in the output of Telegram Trigger.
For a bot several people use, pass the chat along. Add a third input, chatId, to Workflow Input Trigger. InGet Chart, set it to {{ $('Telegram Trigger').item.json.message.chat.id }}. Then set the Chat ID of Send Chart to{{ $('Workflow Input Trigger').item.json.chatId }}.
| Step | Nodes | What happens |
|---|---|---|
| Voice or text | Switch | A voice note goes to Download File and Transcribe, and a text message to Set Text |
| The agent | AI Agent, OpenAI Chat Model, Window Buffer Memory | gpt-4o reads the text with the chat's last five exchanges and calls Get Chart for a ticker |
| The ticker | Check Ticker Format, Lookup Exchange, Parse Interval | A ticker without an exchange, such as AAPL, is looked up on Twelve Data. One with it, such as NASDAQ:AAPL, goes straight on |
| The chart | Get Chart URL, Download Chart | Chart-Img draws a dark chart with volume, RSI and MACD, stores it and returns its address |
| The reading | Technical Analysis | gpt-4o reads the picture and writes a report in seven sections |
| The replies | Send Chart, response, Send Analysis | The picture goes to the chat in Send Chart, the report returns to the agent, and the agent's answer goes to the chat that asked |
The seven sections cover candlesticks, MACD, volume, RSI, support and resistance, short-term takeaways and anything else
the chart shows. The agent also answers general finance questions without a chart, and its prompt has it decline
anything off the topic of markets.
The agent asks for a weekly chart unless you name an interval. Parse Interval turns your words into a code for
Chart-Img, checking them in this order:
| You say | Code sent |
|---|---|
| 1d or daily | 1D |
| 1w or weekly | 1W |
| 1m, monthly or 1 month | 1M |
| 3m or quarter | 3M |
| 6m or half year | 6M |
| 1y, 1 year or yearly | 1Y |
| 5m, and also 15m, which contains it | 5 |
| 30m | 30 |
| 1h, hourly or 60 | 60 |
Chart-Img's documentation, read on 2 November 2026, lists intraday intervals as 5m, 15m, 30m and 1h. The codes5, 30 and 60 are not on that list, so an intraday chart may be refused. Daily and longer intervals match it.
Exchanges follow three rules in the code. A ticker that already has a prefix keeps it. After a lookup, Twelve Data's
first match gets NASDAQ: when it trades on NASDAQ and NSE: for any other exchange, NYSE included. A lookup with no
match falls back to NSE:RELIANCE.
Parse Interval, both set to 1W.Get Chart URL, with its dark theme, its three studies and the MACD signal line's color.Technical Analysis.Parse Interval.Parse Interval reads Twelve Data's reply, which carries no interval,NSE:INFY, to get the interval.response returns only the report, so a chart link in the agent's answer points nowhere. TheSend Chart is the chart.Send Analysis.README.md 6 KB workflow.json 27 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
perplexity-ai · Kit
Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…
numind · Kit
Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…
nace-ai · Kit
Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…