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 with two ways in: a web form that takes a PDF or CSV, and a Telegram bot that answers questions about it. The file is cut into chunks, embedded with Hugging Face and kept in n8n’s own memory.
Telegram bot answering from an uploaded PDF or CSV is an n8n workflow in the Productivity 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.
A Telegram message, or a file form
Two things start it:
A reply in the Telegram chat, written from the chunks of the uploaded file
What you need before you start.
Chat
Takes each message sent to the bot and delivers the agent’s answer.
NeedsA bot token from BotFather, in a Telegram credential
Chat model
Runs the agent that reads the chunks and writes the answer, with openai/gpt-oss-20b.
NeedsA Groq API key, in a Groq credential
Embedding model
Turns the file’s chunks and each question into vectors with a sentence-transformers model.
NeedsA Hugging Face access token, in a Hugging Face credential
Checked by Mindket on 13 Nov 2026
This n8n workflow lets a Telegram bot answer questions from a file you upload. A web form takes a PDF or CSV. The file is cut into chunks of about 3000 characters, turned into vectors by Hugging Face and kept in n8n’s own memory. When someone writes to the bot, an AI agent searches those chunks and replies with what it finds, through Groq’s openai/gpt-oss-20b model. Thirteen nodes do the work, beside two empty sticky notes that frame the two halves.
Small teams who want a bot that answers from one document, such as a price list, a handbook or a menu. Skip it for a large or growing library. Everything sits in memory, so a restart empties it, and a reply can only be as good as the file you upload.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Retail | Shop owners | Answer product questions from a price list | An owner uploads a CSV of prices and customers ask the bot what a shirt costs. |
| Hospitality | Restaurant managers | Answer menu and allergy questions from the menu file | A manager uploads the menu as a PDF and guests ask which dishes contain nuts. |
| Education | Teachers | Let students ask questions about a course handout | A teacher uploads the handout and students ask when the next deadline is. |
| Support | Helpdesk staff | Answer routine questions from a policy document | A team uploads a returns policy and the bot tells a customer how many days they have. |
You need basic n8n skills and three accounts: Telegram, Groq and Hugging Face. Telegram sends each message to your n8n over HTTPS, so n8n needs a public address.
Any n8n with the AI nodes that Telegram can reach over HTTPS will run it. It also has to reach Groq and Hugging Face.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Three accounts are involved.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own with a public HTTPS address |
| Telegram | A bot made with BotFather, and its token in a Telegram credential |
| Groq | An API key, saved in a Groq credential |
| Hugging Face | An access token, saved in a Hugging Face credential, for the embeddings |
| A file | A PDF or a CSV to upload through the form |
workflow.json.Telegram Message Trigger1, Get a chat1 and Reply in Telegram1.Groq Chat Model.Embeddings HuggingFace Inference and Embeddings HuggingFace Inference1. Both nodes must use the same model.Upload your file here, upload a PDF or CSV and wait for the page to finish.Upload a file through the form, then ask the bot questions in Telegram. Each question goes to the agent, which searches the stored chunks and answers from them. A short memory keeps the recent messages of each chat.
| To change | Where |
|---|---|
| The answer rules and tone | The system message in AI Agent1 |
| The model | model in Groq Chat Model |
| The size of the chunks | chunkSize and chunkOverlap in Recursive Character Text Splitter |
| How many chunks the agent reads | topK in Retrieve documents |
| The accepted file types | acceptFileTypes in Upload your file here |
A shop owner uploads a CSV of prices with the columns item and price, then asks the bot in Telegram how much a blue shirt costs.
The agent searches the stored chunks for the shirt, and the bot replies in the chat with the price it found. The system message tells the agent to answer only from the file, so it should not invent a price.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one has two halves. The first takes a file, cuts it up and stores it. The second listens to Telegram and answers. A vector is a list of numbers that stands for the meaning of a piece of text.
For experts. The store is n8n’s In-Memory Vector Store under the key vector_store_key, written in insert mode and read by a retrieve-as-tool node. The two embedding nodes must use one model.
| Node | What it does | What to know |
|---|---|---|
Upload your file here | A form that takes one PDF or CSV | The file lands in the binary field Upload_your_file, which the loader reads |
Default Data Loader1 | Reads the file and sends its chunks to the store | Its data type is binary, so the file’s text is stored, not its name |
Simple Vector Store | Writes the embedded chunks in insert mode | Each upload adds to the store and does not replace it |
Retrieve documents | Gives the agent a search tool over the store | It returns the ten closest chunks |
AI Agent1 | Reads the question, uses the tool and writes the answer | Its input text comes from the Telegram trigger |
The model was replaced and the file loader was repaired. The store sits in memory, so a restart empties it.
llama-3.1-8b-instant. Groq’s deprecations page, read on 12 November 2026, lists it as shut down on 16 August 2026 for free and developer plans, with openai/gpt-oss-20b as the replacement. Mindket’s copy uses that model, which Groq lists with tool useUpload_your_file. The form takes one file at a timevector_store_key as it is, so another workflow with the same key reads and writes the same storesentence-transformers/distilbert-base-nli-mean-tokens, which Hugging Face’s model data listed as live on its inference provider on 12 November 2026_ or *, and a message holds at most 4096 characters (Telegram’s Bot API page)An n8n workflow with two ways in. A web form takes a PDF or CSV, and a Telegram bot answers questions about it. The file is cut into chunks, embedded with Hugging Face and kept in n8n's own memory.
workflow.json: the workflow as n8n exports it, fifteen nodes. Thirteen do the work and two are empty sticky notes that frame the two halves. It holds no credential.README.md: these notes.llama-3.1-8b-instant. Groq's deprecations page, read on 12 November 2026, lists it as shut down on 16 August 2026 for free and developer plans. Mindket's copy uses openai/gpt-oss-20b, the model that page names as its replacement.Upload_your_file, which holds the file itself.Upload your file(s). It now takes one file and is called Upload your file, so the binary field always has the same name.workflow.json.Telegram Message Trigger1, Get a chat1 and Reply in Telegram1.Groq Chat Model.Embeddings HuggingFace Inference and Embeddings HuggingFace Inference1. Both nodes use the node's default model, so leave them the same.Upload your file here. Upload a PDF or CSV and wait for the page to finish.Upload your file here. Default Data Loader1 reads it, and Recursive Character Text Splitter cuts it into chunks of 3000 characters with an overlap of 200.Embeddings HuggingFace Inference turns each chunk into a vector. Simple Vector Store saves the vectors in n8n's memory under the key vector_store_key.Telegram Message Trigger1. Get a chat1 asks Telegram for the chat's details and passes the run on to AI Agent1.AI Agent1 reads the question from the trigger. It has Retrieve documents as a tool, which searches the store for the ten closest chunks. Embeddings HuggingFace Inference1 embeds the question for that search.Groq Chat Model writes the answer from those chunks, and Simple Memory keeps the recent messages of the chat.Reply in Telegram1 sends the answer to the chat.AI Agent1.model in Groq Chat Model.chunkSize and chunkOverlap in Recursive Character Text Splitter.topK in Retrieve documents.acceptFileTypes in Upload your file here.N8N_VECTOR_STORE_MAX_MEMORY and N8N_VECTOR_STORE_TTL_HOURS set limits.vector_store_key as it is. Another workflow with the same key reads and writes the same store.clearStore is off.sentence-transformers/distilbert-base-nli-mean-tokens. Hugging Face's model data listed it as live on its inference provider on 12 November 2026. Hugging Face bills inference through your account._ or *, and a message holds at most 4096 characters (Telegram's Bot API page).NOTICE.md 551 B README.md 5 KB workflow.json 8 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…
zarazhangrui · Skill
Builds HTML presentations from scratch or from a PowerPoint file and shows visual style previews to pick from, for people who want web slides with no CSS or Ja…
iptv-org · Kit
Collects publicly available live TV channels from many countries into playlists that any video player with live streaming can open. Made for viewers and for de…
uwg · Kit
Holds a set of image upscaling models gathered from the OpenModelDB community, for people who want to enlarge low-resolution pictures with AI on their own comp…