Mindket

Telegram assistant with Pinecone contacts and tool workflows

Newversion 1 · updated

Overview

An n8n Telegram bot that hands each request to one of six tool workflows for email, calendar and project sheets, and finds contacts’ emails in Pinecone. You supply the six tool workflows.

Telegram assistant with Pinecone contacts and tool workflows 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.

At a glance

Runs in
  • n8n Cloud: import the file and the six tools there, then publish this one
  • Your own n8n server: it needs a public HTTPS address for Telegram’s webhook
  • Telegram: on your phone or desktop, in a private chat with your bot
  • Pinecone: one namespace holds your contacts, filled by another workflow

Platform

Connects 3 apps

How it works

Trigger

Telegram message

It starts when your bot receives a Telegram message, with:

  • The message’s text
  • The sender’s user ID, for the reply

Actions

  1. An agent on gpt-4o reads the request with today’s date
  2. It looks up a contact’s email in Pinecone when the request names someone
  3. It calls one or more of six tool workflows for email, calendar and the project sheet
  4. Each tool workflow does the job and answers with response
  5. The agent’s answer goes back to the sender on Telegram

Result

A Telegram chat that reads and sends your email, checks and adds events and updates your projects

Integrations

What you need before you start.

Telegram

Chat

Brings each message to the trigger and sends the agent’s answer back to the same person.

NeedsA bot token from BotFather

OpenAI

Language and embedding models

Runs gpt-4o for the agent and the contact search, and text-embedding-3-small to search the contacts.

NeedsOpenAI API key

Pinecone

Contact store

Holds your contacts in a Contacts namespace, which the agent searches for names and emails.

NeedsPinecone API key, and an index you fill yourself

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
3 steps, starting on a Telegram event
AI
1 step calls an AI model: AI Personal Assistant
Sign-ins
Signs in to: Pinecone, OpenAI and Telegram
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 3 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow is a Telegram bot that hands each request to a tool workflow of its own. You message the bot in plain words. An agent on gpt-4o picks one of six tools: read or send email, read or add calendar events, update or summarize a project sheet. It looks up a contact’s email in a Pinecone index. Each of the six tools is a separate n8n workflow that you import or build first. Fourteen nodes make it up.

Who it suits

People who already run small tool workflows for mail, calendar and projects, and want one chat to reach them all. It takes more setting up than an assistant with its tools inside. Skip it if you have none of the six yet and want one file that does everything.

Who uses it, and how
IndustryWho uses itHow they use itExample
ConsultingSolo consultantsAsk the bot for the day’s meetings on the way to workA consultant asks what is on today and gets a short summary of three meetings.
AgenciesProject leadsUpdate a project’s status from the phoneA lead writes that the website copy is approved, and the project sheet changes.
SalesAccount managersEmail a contact by name without looking up the addressA manager asks the bot to email Sam the new price list, and Pinecone finds the address.
FreelancingFreelancersAsk for yesterday’s unread emailA freelancer reads a summary of yesterday’s mail before starting work.

You need solid n8n: six tool workflows, three credentials and a Pinecone index with your contacts in it. Its author puts setup at about 11 minutes, which assumes the six tools already exist.

Where to use it

A published n8n that Telegram can reach over HTTPS, with the six tool workflows saved in the same instance.

  • n8n Cloud: import the file and the six tools there, then publish this one
  • Your own n8n server: it needs a public HTTPS address for Telegram’s webhook
  • Telegram: on your phone or desktop, in a private chat with your bot
  • Pinecone: one namespace holds your contacts, filled by another workflow

Setup

Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Import or build the six tool workflows first.

What you need first
NeedDetail
n8nPublished, and reachable by Telegram over HTTPS
TelegramA bot token from BotFather
OpenAIAn API key for gpt-4o and text-embedding-3-small
PineconeAn API key, and an index of 1,536 dimensions with a Contacts namespace
Six tool workflowsOne for each tool, each taking query and returning response
  1. Import the six tool workflows, add their own credentials and save each one.
  2. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  3. In each of the six tool nodes, from ⚙️Get Emails to ⚙️Summarize Database, pick the matching workflow from the list.
  4. Add a Telegram credential with the bot token and select it in Telegram Trigger and Telegram.
  5. Add an OpenAI credential and select it in OpenAI Chat Model, OpenAI Chat Model1 and Embeddings OpenAI.
  6. Add a Pinecone credential, select it in Pinecone Vector Store and replace YOUR_PINECONE_INDEX with your index’s name.
  7. Under Additional Fields in Telegram Trigger, restrict the bot to your own user ID.
  8. Save, press Publish and send the bot a message.
A tool workflow for each node
NodeWhat it is asked forA Mindket listing that fits
⚙️Get EmailsEmail from a given daySummarize unread Gmail by date
⚙️Send EmailAn email to sendWrite and send Gmail from a plain request
⚙️Get CalendarA day’s eventsGoogle Calendar day summary tool
⚙️Set Calendar EventA new eventPlain-text Google Calendar event tool
⚙️Update DatabaseA project’s notes and statusLog project updates to Google Sheets
⚙️Summarize DatabaseA summary of every projectGoogle Sheets project summary tool

How to use it

Message the bot as you would a person, asking what is on tomorrow or to email Sam that the call moves to 3pm. The agent reads the message, calls the tools it needs and answers in the same chat. It keeps no memory, so each message has to carry its own details: the person, the day and what should happen.

What to change for a different result
To changeWhere
What the agent knows and may doThe system message of AI Personal Assistant, which gives it today’s date
What each tool doesThe tool workflow it calls. The node’s description tells the agent when to use it
ContactsThe records in your Pinecone Contacts namespace
Modelsgpt-4o in OpenAI Chat Model and OpenAI Chat Model1
A memoryAdd a Simple Memory node to AI Personal Assistant, keyed by the Telegram chat’s ID

Example

You send the bot this.

Send Sam an email saying the review moves to Thursday at 10.

The agent asks Contacts_Data for Sam’s address. That tool searches Pinecone and has its own gpt-4o read the matches. The agent then calls send_email with an object in this shape:

{
  "sendTo": "sam@example.com",
  "subject": "…",
  "message": "…"
}

Your send workflow mails it and answers with response. The bot then replies in the chat that it is done.

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. An agent is a node that decides which of its tools to call. Here most tools are other workflows, so a fault can sit in one of them. Test each tool workflow alone first.

For experts. Five tools pass the agent’s words as a string in query. ⚙️Send Email has a schema, so its query is an object with sendTo, subject and message, and optionally ccList, bccList, emailType and senderName. Each tool returns the response field of its workflow’s last node, the default of these version 1.2 tool nodes.

The tools the agent sees
NodeTool nameInput
⚙️Get Emailsget_emailsText
⚙️Send Emailsend_emailAn object
⚙️Get Calendarget_calendarText
⚙️Set Calendar Eventset_eventText
⚙️Update Databaseupdate_databaseText
⚙️Summarize DatabaseSummarize_DatabaseText
Vector Store ToolContacts_DataA question, answered from Pinecone by OpenAI Chat Model1

Good to know

The bot acts at once, answers anyone until you restrict it and remembers nothing.

  • Restrict it: the trigger answers every chat that finds the bot, and the agent can send mail as you. Limit it to your user ID first
  • No confirmation: email goes out the moment the agent decides to send it
  • No memory: a follow-up such as send it has nothing to point back to
  • Text only: the agent reads message.text, so a photo or a voice note reaches it with no words
  • Contacts: nothing in this file fills Pinecone. Load your contacts into the Contacts namespace with text-embedding-3-small, the model the search uses
  • Billing: OpenAI bills the agent, the contact search’s model and each embedding. Pinecone bills by its plan, and each tool workflow adds its own calls
  • Model date: OpenAI’s deprecations page, read on 2 November 2026, lists GPT-4o (gpt-4o-2024-08-06 and gpt-4o-2024-11-20) for removal from the API on 14 January 2027, with gpt-6-luna as its replacement
  • Credentials: the JSON holds none. The original’s note on Pinecone Vector Store named two contacts, one with a personal address, and now holds a sample

README and files

README

Telegram assistant with Pinecone contacts and tool workflows

An n8n workflow for a Telegram bot that works through other workflows. Message it in plain words. An agent on gpt-4o
picks one of six tool workflows for email, calendar and a project sheet, finds a contact's email in Pinecone when you
name someone, and answers in the chat.

What is inside

  • workflow.json: the workflow as n8n exports it, fourteen nodes. It holds no credential.
  • README.md: these notes.

The six tool workflows are not in the file. Import or build them first (below).

What we changed from the original copy

  • The six tool nodes pointed at workflows in their author's own n8n. They now point at none until you pick yours.
  • Pinecone Vector Store named the author's index, and its note listed two contacts, one with a personal email
    address. The index is now YOUR_PINECONE_INDEX, and the note shows a sample contact.

Before you start

  • An n8n instance that Telegram can reach over HTTPS, on n8n Cloud or your own server.
  • A Telegram bot token from BotFather.
  • An OpenAI API key.
  • A Pinecone account, its API key, and an index with 1,536 dimensions, the size of text-embedding-3-small. Your
    contacts go in a namespace named Contacts.
  • The six tool workflows, saved in the same n8n.

The six tool workflows

Each tool node runs a workflow of yours and hands it the agent's words in query. Each workflow must end on a node
whose output has a response field: that field is what goes back to the agent. These listings on Mindket take query
and return response, one for each node:

| Node | Tool name | What it is asked for | A listing that fits |
|---|---|---|---|
| ⚙️Get Emails | get_emails | Email from a given day | Summarize unread Gmail by date |
| ⚙️Send Email | send_email | An email to send | Write and send Gmail from a plain request |
| ⚙️Get Calendar | get_calendar | A day's events | Google Calendar day summary tool |
| ⚙️Set Calendar Event | set_event | A new event | Plain-text Google Calendar event tool |
| ⚙️Update Database | update_database | A project's notes and status | Log project updates to Google Sheets |
| ⚙️Summarize Database | Summarize_Database | A summary of every project | Google Sheets project summary tool |

Five of them get query as text. ⚙️Send Email has a schema, so its query is an object:

{
  "sendTo": "sam@example.com",
  "subject": "Review moved",
  "message": "Hi Sam, the review moves to Thursday at 10.",
  "ccList": [],
  "bccList": [],
  "emailType": "Text",
  "senderName": "Alex"
}

sendTo, subject and message are required, the rest optional. A send workflow that reads query as JSON copes
with either shape.

Set it up

  1. Import the six tool workflows, add their own credentials and save each one.
  2. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  3. In each tool node, from ⚙️Get Emails to ⚙️Summarize Database, pick the matching workflow from the list.
  4. Add a Telegram credential with the bot token and select it in Telegram Trigger and Telegram.
  5. Add an OpenAI credential and select it in OpenAI Chat Model, OpenAI Chat Model1 and Embeddings OpenAI.
  6. Add a Pinecone credential, select it in Pinecone Vector Store and replace YOUR_PINECONE_INDEX with your index's
    name.
  7. Load your contacts into the Contacts namespace, one record for each person with a name and an email, embedded
    with text-embedding-3-small.
  8. In Telegram Trigger, under Additional Fields, add Restrict to User IDs with your own Telegram user ID.
  9. Save, press Publish and message the bot.

To find your user ID, message the bot once while you test the workflow and read message.from.id in the trigger's
output.

How a message is answered

  1. Telegram Trigger passes the message to AI Personal Assistant. The agent reads message.text, with today's date
    in its system message.
  2. When the request names a person, the agent asks Vector Store Tool, Contacts_Data to the model. It searches
    Pinecone and has OpenAI Chat Model1 answer from the matches.
  3. The agent calls the tool workflows it needs and reads each response.
  4. Telegram sends the agent's answer to the sender's user ID.

Change the result

  • What the agent knows and may do: the system message of AI Personal Assistant.
  • When each tool is used: the description in each tool node, which the model reads.
  • Memory: there is none, so each message stands alone. Add a Simple Memory node to AI Personal Assistant, keyed by
    {{ $('Telegram Trigger').item.json.message.chat.id }}, to let it follow a conversation.
  • Models: gpt-4o in OpenAI Chat Model and OpenAI Chat Model1.

Good to know

  • Until you restrict it, the trigger answers every chat that finds the bot, and the agent can send mail as you.
  • Email goes out the moment the agent decides to send it, with no question first.
  • The agent reads text only. A photo, a file or a voice note reaches it with no words.
  • Nothing in this file writes to Pinecone. Records embedded with another model will not match the search.
  • OpenAI bills the agent, the contact search's model and each embedding. Pinecone bills by its plan, and each tool
    workflow adds its own calls.
  • OpenAI's deprecations page, read on 2 November 2026, lists GPT-4o (gpt-4o-2024-08-06 and gpt-4o-2024-11-20) for
    removal from the API on 14 January 2027, with gpt-6-luna as its replacement. Change both chat models before then.
  • Your messages go to OpenAI, and your contacts sit in your Pinecone index.
Files
README.md  6 KB
workflow.json  10 KB

2 files, 15 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Productivity

See all in Productivity

Guizang PPT Skill

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…

New29.8k

Frontend Slides

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…

New32.3k

IPTV

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…

New144k