.env; until then the lane is live-but-unauthenticated and waits for you to connect it (set PENDPOST_MODE=mock to exercise it through the mock driver).
You own your Telegram bot and channel and are responsible for Telegram’s terms of service. pendpost drafts and schedules, but a human approves before anything goes live.
Setup ceremony
The bot token is static, so there is no token exchange to run. Create the bot, point it at a channel, and confirm the connection.- Create a bot with BotFather. Open Telegram, message @BotFather, send
/newbot, and follow the prompts. BotFather hands you an HTTP API token, which is the only credential pendpost needs. - Create the destination channel. A public channel with an
@usernamegives clean post permalinks; a private channel works too but has no shareable links. Record its@username(or numeric chat id). - Add the bot as a channel admin. In the channel, add the bot as an administrator and grant it “Post Messages”. Without admin rights the bot cannot publish.
Environment variables
A lane publishes only once its credential is present. If the Telegram variables are blank, the Telegram lane is live-but-unauthenticated and waits for you to connect it. Set
PENDPOST_MODE=mock to exercise it through the mock driver.Validate the lane
A present credential is not the same as a working one. After setup, validate the Telegram lane in the Setup tab, or run a live probe with thehealth_recheck tool, to confirm the credential is live and not just configured. The lane is ready when it reports live.
Over MCP. Setup and rotation are an interactive human ceremony; secrets are never written through MCP. An agent can still check status (
account_status), run a live liveness probe (health_recheck), and read non-secret config (config_get) over MCP without touching credentials.