Telegram BotAgency OpsRAGPowered by Claude

AI Memory — Client and Project Knowledge for a Digital Agency

A Telegram bot that keeps isolated memory for every client and project. It pulls in meeting transcripts, Notion, and Gmail automatically. Any question about project history takes seconds, and comes with a link to the source.

Client
Digital Agency
Location
Ukraine
Channel
Telegram
AI Model
Claude (Anthropic)

// Problem

Agency context lives in four disconnected tools

Every client leaves a trail in four places: Notion documents with briefs and revisions, Gmail threads, Slack discussions, and Krisp or Meet transcripts from calls. None of these tools knows about the others.

A PM spends 30–40 minutes before every meeting trying to remember where things left off. A designer joining mid-project needs two weeks to get up to speed — reading old threads, pinging colleagues. A month later nobody remembers exactly what was promised to the client, and roughly 30% of those promises quietly slip through the cracks.

Standard ChatGPT doesn't remember across sessions. Notion AI only searches Notion. A shared team AI chat mixes clients up with each other. The team needs separate memory for each client and project — and it has to live where they already talk.

// Solution

A Telegram bot with isolated memory for each client

We built a system that collects all of the agency's context into a single index — isolated at the client and project level — and serves it through the Telegram interface the team already uses.

Isolated memory per client

Every client and every project is a separate store. The bot never mixes context between clients and never blends details from different projects.

Transcripts pulled in automatically

Recordings from Krisp, Meet, and Zoom flow into the vector index as soon as the call ends. Nothing to upload by hand.

Semantic search with sources

"What did we promise client X about deadlines?" — an exact quote, with a link to the transcript, document, or email thread. You can always check.

Pre-meeting brief

Run /prep client-x and get a short context pack: current status, open questions, promises made, recent decisions. Three minutes instead of forty.

// Why not ChatGPT or Notion AI

We tried the off-the-shelf tools. And dropped them.

Our first move was to put the whole team on Notion AI or a corporate ChatGPT account. We tested both. Neither covered how an agency actually works.

Notion AI only searches Notion. But the context is in Slack and Meet.

70% of the decisions that matter get made out loud on calls and in Slack threads, not in formal Notion docs. Notion AI simply can't see them, so it answers from outdated briefs.

ChatGPT forgets between sessions. And mixes clients up.

A shared team account means one shared context for everyone: information about client A leaks into answers about client B. Separate accounts per person mean the memory isn't shared between colleagues.

Without sources you can't check anything with the client.

The AI says "we promised the 15th." Fine — where? Without a link to a specific point in a transcript or an email, that's just a claim. Every answer our system gives comes with a sourced quote.

Nobody is going to open a separate dashboard.

Any tool that needs its own tab dies within two weeks. That's why the interface is Telegram — the same window where 90% of internal communication already happens.

// Technology

Tech stack

The stack was chosen for two things: enough context length to work with full transcripts, and memory isolation at the database level.

Claude API (Anthropic)Supabase + pgvectorn8n AutomationTelegram Bot APIKrisp / Meet APINotion APIGmail API

Why Claude?

We chose Claude for its 200K-token context window — long enough to load a client's entire history in a single request without losing details in retrieval. It also handles Ukrainian-language transcripts reliably and summarizes long calls well.

// Key capabilities

What the system can do

Memory isolation

A separate store for each client and project. No context leaks between clients.

Auto-summary after every call

The bot posts a short summary and a list of promises to Telegram as soon as the meeting ends.

Voice queries in Telegram

Ask out loud on your way to a meeting — the bot transcribes, searches, and answers.

Follow-up reminders

The bot remembers every promise made to a client and reminds the team ahead of each deadline.

Source-linked quotes

Every answer links to the specific transcript fragment, email, or Notion page.

Native Ukrainian

Works with Ukrainian-language transcripts and answers in Ukrainian only.

// Results

What changed after launch

self-reported — the agency's own internal tool

Before and after implementation
MetricBeforeAfter
Onboarding onto a project2 weeks2 days
Meeting prep30–40 minutes3 minutes
Finding a project fact15 minutes of manual searching10 seconds, with a source
PM admin time per week~20 hours~5 hours
Client promises lost~30% slipped between calls0% — captured automatically

The team stopped keeping client context in their heads. Any project fact is ten seconds away in Telegram, with a link to the transcript or document. Onboarding a new designer or PM now takes two days instead of two weeks. Promises to clients no longer slip between calls.

Ready to start?

A quick audit to pinpoint where you're losing time and money right now — and whether AI can fix it

Get a free audit