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 jobs on one Telegram bot. A PDF that you send is cut into pieces and stored in Pinecone, and a question that you send is answered from those pieces by a model on Groq.
Telegram bot that answers questions from a PDF in Pinecone is an n8n workflow in the Research 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
It starts each time someone sends a message to your bot, and there is no form:
A page count after a file, or an answer built from your stored PDFs after a question
What you need before you start.
Chat app
Delivers each message and file to the workflow and sends the replies.
NeedsA bot token from BotFather, as a Telegram credential
Vector store
Keeps the pieces of your PDFs and finds the ones that fit a question.
NeedsA Pinecone API key and an index with 1536 dimensions
Embeddings
Turns the pieces and the questions into numbers.
NeedsAn OpenAI API key and some credit
AI model
Writes the answers from the pieces that fit.
NeedsA Groq API key
Checked by Mindket on 13 Nov 2026
This n8n workflow turns a Telegram bot into a reader of your PDFs. When a message holds a file, the workflow downloads it, cuts the text into pieces, turns each piece into numbers with OpenAI and stores them in a Pinecone index. When a message is a question, it finds the stored pieces that fit and a model on Groq writes the answer from them. Eighteen nodes do the work, beside two sticky notes.
Students, researchers and small teams who want to ask questions of a manual, a contract or a paper from their phone. You need accounts at Pinecone, OpenAI and Groq. Skip it if your files are not PDFs with real text, because scanned pictures give it nothing to store.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Education | Students | Ask a question of a paper or a set of lecture notes | A student sends a reading list as a PDF and asks which chapter covers sampling. |
| Legal | Small firms | Find a clause in a long contract | An assistant asks how long the notice period is, and the bot answers from the contract. |
| Operations | Office teams | Look things up in a policy or a manual | A new hire asks how many leave days they get and reads the answer in the chat. |
| Research | Analysts | Pull a figure out of a report | An analyst sends a market report and asks for the growth rate that it states. |
You need some n8n: import a file, add five credentials, make an index in Pinecone and fill in one name.
Any n8n with a public HTTPS address can run it, because Telegram sends each message to that address.
Groq Chat Model for any other chat model node of n8nDownload saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. You need a Telegram bot token, a Pinecone index and keys for OpenAI and Groq.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server with a public HTTPS address |
| Telegram | A bot and its token, which you get from BotFather inside Telegram |
| Pinecone | An index with 1536 dimensions and the cosine metric, and an API key |
| OpenAI | An API key for the embeddings, with some credit |
| Groq | An API key for the answers |
workflow.json.Pinecone Vector Store and Pinecone Vector Store1, replace YOUR_PINECONE_INDEX with the name of your index and add a Pinecone credential.Embeddings OpenAI and Embeddings, add an OpenAI credential. Keep the same model in both.Groq Chat Model, add a Groq credential.Once the workflow is on, it answers by itself. A message with a file adds that file to the index and gets a page count back. A text message gets an answer made from everything stored so far.
| To change | Where |
|---|---|
| The model | The model name in Groq Chat Model |
| The size of the pieces | Chunk Size and Chunk Overlap in Recursive Character Text Splitter |
| How many pieces the model sees | The limit in Vector Store Retriever |
| The question text | The text in Question and Answer Chain |
| Who may use the bot | Restrict to User IDs in Telegram Trigger |
A student studies for an exam in statistics.
The student sends the course notes as a PDF and the bot answers “42 pages saved”. Later the student asks “What does the course say about the central limit theorem?”. The workflow finds the pieces that fit and the model answers from them in a few sentences. If the notes do not hold the answer, the model should say so. Check the answers against the file before you rely on them, because they come from a model.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A vector store such as Pinecone keeps pieces of text as lists of numbers, so that a question can find the pieces with the closest meaning. This workflow stores your PDFs there and then answers from them. Press Test workflow and send a small PDF first.
For experts. The file path and the question path share one index without a namespace, so every file ends up in one pool.
| Node | What it does | What to know |
|---|---|---|
Check If is a document | Tests whether the message has a document | Anything else goes to the question path |
Change to application/pdf | Marks the downloaded file as a PDF | The loader picks its reader from the type, so every file is read as a PDF |
Pinecone Vector Store | Inserts the pieces | Clear Namespace is off, so a repeated file is stored twice |
Embeddings OpenAI and Embeddings | Turn text into numbers | Both name text-embedding-3-small, and the index holds 1536 numbers for each piece |
Vector Store Retriever | Fetches the closest pieces | It keeps its default of four |
Question and Answer Chain | Gives the pieces and the question to the model | The prompt adds a line that tells it to use the retriever |
Groq Chat Model | Writes the answer | It names openai/gpt-oss-120b |
The original copy named a model that Groq no longer lists, and it left the embeddings model to a version default.
llama-3.1-70b-versatile. Groq’s models page, read on 12 November 2026, lists openai/gpt-oss-120b as a production model and does not list that name, so this copy uses openai/gpt-oss-120btext-embedding-ada-002. This copy is on version 1.2 and names text-embedding-3-small. The two models give different vectors, so fill a new indexYOUR_PINECONE_INDEXTelegram Trigger limits it, and works on node version 1.2 and laterAn n8n workflow with two jobs on one Telegram bot. Send the bot a PDF, and it cuts the text into pieces and stores them in a
Pinecone index. Send it a question, and it finds the pieces that fit, hands them to a model on Groq and sends back the answer.
workflow.json: the workflow as n8n exports it, 18 nodes and two sticky notes. It holds no credential.README.md: these notes.Groq Chat Model asked for llama-3.1-70b-versatile. Groq's models page, read on 12 November 2026, listsopenai/gpt-oss-120b as a production model and does not list that name, so this copy uses openai/gpt-oss-120b.text-embedding-ada-002. They are now ontext-embedding-3-small. Both vectors have 1536 numbers, but the two models give differenttelegram, which was the author's. They now name YOUR_PINECONE_INDEX, and the node thatTelegram Trigger is now on node version 1.2, which can limit who may use the bot. See Good to know.Change to application/pdf were in Portuguese. They are in English now, and the code does the same work.text-embedding-3-small. Pick the cosine metric.workflow.json.Pinecone Vector Store and in Pinecone Vector Store1, replace YOUR_PINECONE_INDEX with the name of your index andEmbeddings OpenAI and in Embeddings, add an OpenAI credential with your API key. Keep the same model in both.Groq Chat Model, add a Groq credential with your API key.Telegram Trigger, Telegram get File, Telegram Response and Telegram Response about Database, add a TelegramTelegram Trigger starts the run when someone sends a message to your bot.Check If is a document looks for a file in the message. A file goes the upper way, and anything else goes to the question path.Telegram get File downloads the file, and Change to application/pdf marks it as a PDF.Pinecone Vector Store inserts it. Default Data Loader reads the PDF, Recursive Character Text Splitter cuts it intoEmbeddings OpenAI turns each piece into numbers.Limit to 1 keeps one item, and Telegram Response about Database tells the sender how many pages were saved.Question and Answer Chain takes the text of the message. Vector Store Retriever asksPinecone Vector Store1 for the closest pieces, with Embeddings turning the question into numbers.Groq Chat Model writes the answer from those pieces, and Telegram Response sends it to the chat.Stop and Error node, so the run shows as failed in n8n.Groq Chat Model.Recursive Character Text Splitter.Vector Store Retriever, which keeps its default of four.Question and Answer Chain.Telegram Trigger, add the field Restrict to User IDs under Additional Fields and list theTelegram get File.openai/gpt-oss-120b is a reasoning model, so an answer can take a little longer than with a plain chat model._ or * in an answer can make TelegramNOTICE.md 555 B README.md 6 KB workflow.json 12 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…
dBenf · Kit
Answers typed questions about satellite image patches from all 12 Sentinel-2 bands, returning a probability for each option without writing text. A Qwen3.5-0.8…
zimmerk4 · Kit
Plays the full game Getting Over It from the bottom to the end with a small trained policy network that learned inside a JAX physics simulator. For reinforceme…
yuji-nozawa · Kit
Pretrained vision transformer checkpoints in three sizes from a research paper on training attention heads to focus on image regions. For researchers who extra…