# Connect Custom code to Telegram | Novu Connect

> Give your Custom code agent a voice in Telegram with Novu Connect.

Canonical: https://www.novu.co/channels/telegram/custom-code/

Markdown: https://www.novu.co/channels/telegram/custom-code.md

No framework required. Connect the agent loop you already wrote to every channel your users are on. Novu Connect gives it a voice in Telegram.

Novu Connect is the communication layer, the ACI, Agent Communication Infrastructure, bridge between your custom agent and Telegram. Your agent keeps running in your app. Novu delivers its messages to Telegram, maps each user, and forwards their replies back to your handler. We never run your agent's reasoning. That is the whole point.

Connect command: npx novu connect --channel telegram --runtime custom-code

## What is Custom code

Custom code means the agent is fully yours: your own loop, your own model calls, your own tools, no framework in between. Novu does not care how your agent thinks. The bridge hands your handler each incoming message with its conversation context, and whatever your handler returns goes back to the user. That last mile, reaching a person in Slack and routing their reply back to your agent, is what Novu Connect adds.

- Any model provider and any agent loop you already run
- A plain handler: message in, reply out
- Conversation context and user identity handled for you
- No framework dependency to adopt

## How to connect Custom code to Telegram

1. Keep your agent: Your loop, model calls, and tools stay in your codebase exactly as they are. Novu Connect wraps the input and output, so your agent code does not change when you add Telegram.
2. Connect the channel: Run npx novu connect --channel telegram --runtime custom-code. The CLI scaffolds a bridge route in your app and connects Telegram. You can also paste the prompt below into your coding agent and let it wire the bridge for you.
3. Wire the bridge handler: The CLI prints a requirements file with the bridge route and handler. Point the handler at your agent: it receives each Telegram message with conversation context, and whatever it returns routes back to the same conversation.
4. Go live: Sign in to keep the agent live, then run your dev server. Your agent now holds a two-way conversation in Telegram, and the same agent can reach every other channel from one thread.

Prompt for your coding agent: Connect this project's Custom code agent to Telegram with Novu using instructions from https://novu.co/agents.md

## Custom code and Telegram, common questions

### My agent uses no framework at all. Does that work with Telegram?

Yes. That is what the custom-code runtime is for. The bridge is a plain handler: Novu passes in each Telegram message with its conversation context, and whatever you return goes back to the user.

### Does Novu run my agent?

No. Novu Connect is the communication layer, the ACI, Agent Communication Infrastructure, bridge between your agent and Telegram. You own the reasoning and the tools. We never run your brain, that is the whole point.

### Can I switch model providers later?

Yes. Novu only carries the conversation to and from Telegram. What happens inside your handler, including which model you call, is entirely up to you and can change at any time.

### How do I connect my AI agent to Telegram?

Run npx novu connect --channel telegram, or paste the prompt above into your coding agent. Novu Connect handles the bot, user identity, and two-way routing so your agent code stays the same.

### Can the agent use inline keyboards and rich media?

Yes. Novu Connect renders native Telegram elements including inline keyboards and rich media, and routes each reply back to your agent.
