Conversations
Every inbound message from Telegram, WhatsApp, Instagram, and SMS is threaded into a conversation your agent can remember — and you can take over when needed.
How it works
When someone sends a message to one of your channel connectors (Telegram bot, WhatsApp, Instagram DM or comment, or Twilio SMS), Setod stores it in a conversation thread keyed to that person and channel. The agent receives the full recent history every time it runs, so it never loses context between messages.
Multiple messages sent within 10 seconds of each other are bundled into a single agent run so the agent sees the complete thought before replying. A hard cap of 30 seconds prevents unbounded delays.
Supported channels
- Telegram Bot — text, voice notes, photos, documents, location, stickers; private chats and groups
- Telegram Account — text from your chats and groups, read by the agent on its schedule
- WhatsApp — text, audio, images, video, documents, location, stickers, contacts
- Instagram DM — text, image attachments
- Instagram Comment — text; each commenter × post is a separate thread
- Twilio SMS/MMS — text + MMS media (images, documents)
Group chats
A Telegram group is one conversation. Every message in it records who wrote it, and a reply keeps a short quote of the message it answers — so the agent reads Ali: ↳ re Reza: "Anyone know an accountant?" — I can give you a number rather than a bare "I can give you a number". Your own messages are labelled You. Group summaries keep names and recurring requests instead of a single customer's story.
Media messages
Audio, images, and documents are never dropped: the file is stored and shows up in the thread. Whether it is also processed is decided per agent, under Settings → Inbound media processing. Processing is off by default for audio, images and video — a group that shares fifty memes a day should not cost you fifty vision calls. Documents are on by default because extracting their text costs nothing.
- Voice / Audio → transcribed via Whisper using your OpenAI key (~$0.006 per minute)
- Image → one-paragraph description via GPT-4o-mini
- Document (.pdf, .txt, .md, .csv) → text extracted, first 4 000 chars
- Location → coordinates + Google Maps link
- Video / Sticker / Contact → marker only
[voice note — audio processing disabled for this agent]. When it is on but no OpenAI connector is attached to the workspace, the marker says transcription is unavailable and the agent is instructed to ask the sender to type their message instead. If several agents listen to the same connector, media is processed as soon as any one of them has it turned on.Conversation history
Each agent run prepends the last 30 turns of the conversation to the opening message. Older turns are compressed into a rolling summary automatically after every successful run, so context is preserved without consuming the entire prompt window.
Conversations inbox
Go to Conversations in the sidebar to see all active threads across all your channel connectors. Click any thread to read the full history.
Threads are colour-coded by status:
- Open — agent is handling replies automatically
- Human — you have taken over; the agent will not reply until you resume it
- Closed — thread archived
Human takeover
- Open the conversation thread in the Conversations inbox.
- Click Take over in the top-right corner. The status changes to Human.
- A text box appears at the bottom. Type your reply and press Send (or Ctrl/⌘ + Enter). The message is recorded in the thread for context.
- When you are done, click Resume agent to hand back to the AI.
Data retention
Conversation messages and stored media files are automatically deleted when they exceed your organisation's Data retention setting (Settings → Data retention). Conversations with no inbound activity since the cutoff are also removed.