Skip to content

Connectors

Telegram

Send something to @persistmemory_bot and it becomes a memory. Forwards, voice notes, photos and documents all go through the same pipeline as the API, so what you capture on your phone is searchable from Claude, Cursor or anywhere else you have connected.

Connecting

The bot cannot work this out by itself. It sees a chat id and nothing else, so until you hand it a link made while signed in, it has no way to know whose memory a message belongs in — which is exactly what it says if you message it first.

  1. 1

    Make your connect link

    Sign in and open Connect a chat. Press Make my connect link. It is shown once, because only its hash is stored — nobody, including us, can show it to you again. Making another one replaces it.

  2. 2

    Open it on the device Telegram is on

    Tapping the link opens the chat with @persistmemory_bot and passes the link along with it. If you are reading this on a laptop, copy the link onto your phone rather than opening it here.

  3. 3

    Press Start

    Telegram shows a Start button. Pressing it sends the link back to us and we record that this chat belongs to your account. The bot replies to say so.

  4. 4

    Send anything

    That is the whole setup. Forward a message, record a voice note, or send a photo. The bot replies to confirm what it captured.

“This chat is not connected to a PersistMemory account yet”

This is what the bot says to every message from a chat it does not recognise, including /start with no link and any attempt to ask it for one. It cannot send you the link: the link proves who you are, and a bot that handed one to whoever asked would connect a stranger’s chat to your memory. Make it at Connect a chat instead.

What it accepts

Text and forwards

Anything you type, and anything you forward. A forwarded message keeps the original sender and date, so the memory records who said it and when, not when you passed it along.

Voice notes and audio

Transcribed, then stored as text with the recording kept alongside. A voice note on a walk is the fastest way to get something into memory.

Photos and screenshots

Read for text, so a photographed receipt or a screenshot of a conversation is searchable by what it says rather than by its filename.

Documents

PDFs and files are parsed exactly as an upload to the API would be. A document sent to the bot and the same document sent to the API produce the same memories.

Two things worth knowing

A chat belongs to one account

Once a chat is linked, a second link from a different account is refused rather than accepted. That is deliberate: the alternative is that somebody else’s link silently re-points your conversation at their account, and everything you send afterwards lands in their memory. To move a chat, disconnect it from the dashboard first.

In groups, it only sees what is addressed to it

Telegram’s privacy mode is on, so adding the bot to a group does not give it the group’s conversation. It receives replies to itself and messages that mention it, and nothing else. If you want it to read a whole group, that is a change you make deliberately in Telegram, not a default we chose for you.

It answers, too

Anything you type without a slash becomes memory. Anything with one is a command, and Telegram shows the whole list in its “/” menu — the bot publishes it on startup, so a capability it has is never a secret kept from the person using it.

Asking and filing

/ask <question>answer it from your memory — anything without a slash becomes memory instead
/spacesthe Spaces on your account
/space <name>send everything from this chat to one Space — /space none to stop
/helpthe whole menu, printed
/disconnectlet go of this chat

Your computer

/machineswhich computers are connected, and awake
/ls <path>names and sizes in a folder
/get <path>the file itself, delivered into this chat
/savecaption a file with this to put it on your computer
/run <command>propose a command — you approve the exact line first
/approve <id>yes
/deny <id>no

Google, when connected

/drive [name]find a file in your Drive
/drive get <id>have it delivered here
/mail [search]recent mail — from:priya, has:attachment
/who <name>look somebody up in your contacts

Videos, and what was said

/video <link> [analyse|transcript|audio]fetch a video from TikTok, Instagram, YouTube or anywhere else, and say what is in it — the answer arrives here on its own when it has been watched
/find <words> [in <folder>]find a file on your computer by name
/said <words>find what was said in an earlier conversation
/recall <what to look for>look something up in your own memory

Tasks

/taskswhat you still have to do
/task <what you have to do>add something to your list — a due date is what gets you a reminder email

Working together

/sharing <Space>who can see one of your Spaces
/share <Space> <email> [viewer|editor]let somebody see one of your Spaces — an editor can also file into it and ask a computer shared into it
/unshare <Space> <email>stop somebody seeing one of your Spaces
/role <Space> <email> <viewer|editor|owner>change a collaborator's access
Every one of these reaches your own material — your mail, your folders, your memory — so all of them are refused in a room other people can type in. In a group the bot answers that the command only works in a private chat, because anybody there could have typed it. That gate is a property each command declares, so one added tomorrow is private by default rather than exposed until somebody remembers.
Tasks work from here too. /tasks lists yours and /task adds one; a task with a due date is what causes a reminder email, and asking in words — “stop reminding me about the rota” — is how one is seen or cancelled. An earlier version of this page said the two did not work: they answered that no task list was wired up, and now one is.

Approving from a chat

A private chat is bound to your account by a link only you had, so asking for one of your own files here counts as you asking and needs no second confirmation. A command is different: /run always waits, and it shows you the exact line before it runs. Say yes with /approve and no with /deny — refusing is deliberately exactly as easy as approving, because when no is harder than yes, yes is what tired people type.

The machine judges it again on arrival and refuses anything reaching the network or running a language whatever you approved. Why that refusal exists.

Messages you send are stored as memories under your account. Do not forward somebody else’s private conversation into a system you intend to search later, and remember that a forwarded message keeps its original author.