Channels
A channel connects a Ren project to Slack, GitHub, Linear, Telegram, or email. You send requests there, and Ren replies in the same conversation.
What a channel is
A channel is another way to reach the same project. Channel chats use the same project instructions, skills, apps, and storage as web app chats.
- Project mapping: Map each channel to a project. People in that conversation can send requests, subject to sender matching and fallback rules. Slack DMs use your personal space without a mapping. An open task assigned to a project can route its linked conversation to that task’s chat.
- Conversation history: The first message starts a Ren chat. Later messages in the same conversation continue it with the existing context. The table below lists each channel’s conversation boundary.
- Files: Replies can include files.
- Web app: Every channel chat also appears in the web app, so you can pick it up there. Chats from Slack, GitHub, and Linear have an Open in link in the chat header that takes you back to the original conversation.
In the API and CLI, the channel resources are slack, github, linear, telegram, and email.
Slack, GitHub, and Linear are installed once for the organization in Settings → Mentions, and only an organization admin can install them or map them to projects. Telegram and email need no install, and you set them up per project on the project’s @Ren tab.
In a shared space, the project’s @Ren tab is for organization admins. In your personal space, you can turn on email and add Telegram chats yourself.
Open Settings → Mentions to see each channel and whether it’s connected.
Each channel
| Channel | A project maps to | How you reach Ren | One chat is |
|---|---|---|---|
| Slack | A Slack channel | @mention Ren in a thread, or DM Ren | A Slack thread |
| Linear | A Linear project | Assign an issue to Ren, or @mention Ren | A Linear agent session |
| GitHub | A GitHub repository | Mention @renagent on a pull request |
A pull request |
| The project’s own email address | Send an email to the address | An email thread | |
| Telegram | A Telegram group or DM | @mention the bot, reply to it, or DM it | A reply chain |
Slack: Ren replies to mentions in mapped channels through threads. DMs use your personal space and need no mapping.
Linear: Ren works as a Linear agent and posts progress and responses on the issue. One issue can contain several agent sessions, each with a separate Ren chat.
GitHub: Mention @renagent in a pull request comment or a comment on a diff line. Ren reads the pull request, replies, and can push commits.
Email: Projects have individual addresses, like acme.support@agents.renai.build. Include the address in To, CC, or BCC. Ren replies in the email thread.
Telegram: A project link adds the bot to a group or DM. In a group, mention the bot or reply to it, and in a DM, send a message. Reply to a Ren message to continue its chat.
Work across channels
A project can use every channel that’s mapped to it, not only the one a message came from. For example, if a project has a Slack channel and a Linear project mapped, a chat that starts from a Linear issue can post a summary to the project’s Slack channel.
Ren can only post to channels mapped to the chat’s project. It can always reply in the conversation the chat came from, even after a task moves the work to another project.
When you finish this issue, post a two-line summary in our Slack channel.How Ren picks a project
Each incoming message goes to its mapped project. When a conversation is linked to an open task that’s assigned to a project, the message goes to that task’s chat first.
When nothing matches:
| Channel | What happens |
|---|---|
| Slack | Ren posts “This channel isn’t connected to a Ren project yet.” with a Connect to Ren button. |
| Linear | Ren posts “No Ren project is mapped to this issue” on the issue. |
| GitHub | Ren ignores the mention. |
| Ren drops the email without replying. | |
| Telegram | In a DM, the bot replies that the chat isn’t connected to a Ren project yet. In a group, it stays silent. |
Who Ren acts as
Ren runs each message as the person who sent it, so the chat is attributed to them. It matches the sender to a Ren user in the project’s space:
| Channel | How Ren matches the sender |
|---|---|
| Slack | Signing in to Ren with Slack, or the email on the sender’s Slack profile |
| Linear | The email on the sender’s Linear account |
| GitHub | The sender’s public GitHub email |
| The sender’s email address | |
| Telegram | A Telegram account linked to Ren in Settings → Mentions → Telegram |
Ren uses the mapping’s fallback sender if the sender has no matching Ren account or doesn’t belong to the project’s space. Choose a space member when you map the channel. GitHub calls this the default sender, and Linear calls it the session sender. If neither account belongs to the space, Ren doesn’t run the request. Slack, GitHub, and Telegram explain the rejection, while Linear and email send no reply.
A fallback sender lets teammates without a Ren account send work to Ren. Ren checks the sender again on every message, so several people can work in the same conversation.
Attachment limits
| Channel | What Ren receives | Limits |
|---|---|---|
| Slack | Files and snippets in the message | Files over 32 MB are skipped with a note. |
| Telegram | Documents and photos | Files over 32 MB are skipped with a note. |
| Attachments on the email | None set by Ren. | |
| GitHub | The comment text only | Ren reads the pull request itself. |
| Linear | The issue and comment text only | None. |
Ren reads images, text files, and PDFs directly. Other file types, like ZIP archives, are saved to the space’s machine, where Ren can open them with its tools.
When to use a channel
- Your whole team should use Ren. Channels bring Ren to everyone in the tools they already use, including people who never open the web app.
- You want to hand work off and come back to it later. Mention Ren where the work comes up and read the reply when it lands.
Use the web app instead for longer sessions, or when you need to answer Ren’s questions or approve its actions.
FAQ
How many channels can a project use?
A project can have several GitHub repositories, Linear projects, and Telegram chats. The @Ren tab maps one Slack channel per project. Each project has one email address.
Can one channel point to several projects?
No. Each Slack channel, repository, Linear project, Telegram chat, and email address maps to one project at a time.
Why doesn’t Ren ask for permission in a channel?
Channel chats deny actions that need approval and continue without them, and they can’t ask clarification questions. Set required actions to Allow in the project’s permissions.
Whose credentials does Ren use?
The credentials available to the project’s space, not those of the person who sent the message. In a shared space, that’s the space’s credentials, then the organization’s.