Skip to content

Ask the docs

Answers come only from these docs and are written by an AI model (Gemini), so check the linked pages. Your question is not kept. Do not include personal details or keys.

Connect a Telegram bot and try your Flow agent from your phone.

Telegram is a quick way to try your agent on a real phone. Flow Messaging delivers the bot’s messages; your tools and skills stay in the same Flow project.

Terminal
npx @flow-engineer/flow link --channel telegram
npm start

Open the Telegram link and send its join message. Ask “What’s on the menu?”

Check it worked: the bot replies and the playground’s Debug view shows get_menu.

Configure a Telegram sender in Flow Messaging, then set FLOW_MESSAGING_KEY and FLOW_MESSAGING_TELEGRAM_SENDER in your runtime. The starter’s fm.channels() includes Telegram.

For a custom entry point, pass channels: [fm.telegram()] to buildAgent, call await agent.resume() and start fm.start(agent, { cursorFile }). See the adapter guide for the connection options.

  • The agent writes Markdown; the adapter sends it as Telegram’s HTML. Inline keyboards take up to ten buttons.
  • Photos can carry captions and a keyboard. Telegram has no carousel, so a carousel goes as its text, then one message per card in order: the card’s photo with its text as caption and its buttons under it. A card with buttons needs a text, or the carousel is refused before anything is sent.
  • Bot read receipts are not available.
  • The channel address is the Telegram user id, not a verified phone number.
  • From Framework 0.8.1, traces name the platform: chinwag.channel is telegram (it was web).

Use resolve if an authenticated Telegram identity should map to an account in your product. Keep shared trial bots for testing; use your own sender for customer conversations.