Bring your own bot
Each profile is one bot you create via @BotFather. Postproxy never asks for your personal Telegram credentials.
Publish to Telegram channels via your own bot — and handle two-way direct messages from the same integration. Postproxy manages the BotFather flow, channel discovery, and media groups for you.
Connect a bot once to broadcast to channels and reply to DMs.
Free plan · No credit card · Live in under 5 minutes
Each profile is one bot you create via @BotFather. Postproxy never asks for your personal Telegram credentials.
Channels appear in /placements automatically as the bot is added as administrator — no manual list to maintain.
Set parse_mode for rich formatting, or skip it and post plain text.
Send up to 10 images or videos in a single message, posted as a Telegram album.
Two-way bot DMs with text, media, inline keyboards, and message edits
$
View full documentation for all platform-specific features for Telegram
One curl to a test channel is the easy part. Production Telegram publishing means bot lifecycle, channel discovery, media groups, parse_mode escaping, and a permanent on-call rotation for "why didn't this one go through this time?"
Postproxy registers the webhook with Telegram, validates the token, and tracks channel membership for you.
Publish to Telegram alongside Instagram, LinkedIn, X, and Bluesky in one /api/posts call.
Automatic retries and clear status for channel posts — plus two-way bot DMs with webhooks for inbound messages and callback queries.
Pick the destination per post via chat_id. One bot can publish to as many channels as it administers.
Telegram doesn't expose consumer OAuth for posting. Each Postproxy Telegram profile represents one bot that you create via @BotFather. You own the bot, you control its username, and you can revoke it any time. Postproxy stores the bot token and uses it to publish — your bot, your branding, your relationship with the channel admins.
Once the bot is registered, Telegram pushes a my_chat_member webhook every time the bot is added or removed from a channel. Postproxy records each one as a placement on the profile, so /api/profiles/:id/placements always reflects the live set of channels the bot can publish to. There's no manual channel list to maintain — admins just add the bot and the API catches up automatically.
Unlike Facebook or LinkedIn, Telegram has no concept of a default destination — every post must say which channel. Pass the channel's chat_id (from the placements endpoint) in platform_parameters.telegram and Postproxy routes the message there. One bot can fan out to dozens of channels by changing the chat_id per post.
Telegram supports up to 10 photos/videos in a single album (media group), mixed freely. Send the URLs in the standard media array and Postproxy bundles them. For formatting, set parse_mode to HTML or MarkdownV2 in the platform params — Postproxy passes it through to Telegram and validates the body against the chosen mode's escape rules.
The same bot that publishes to channels can also handle direct messages. Send and receive DMs with text, media, inline keyboards, and message edits — with no 24-hour messaging window once a user has started a conversation. Inbound messages and callback queries from inline buttons arrive via webhooks. See the Direct Messages API for chat creation, message sending, and editing.
Common questions about Telegram integration
Ask your favorite LLM what it thinks about us, then decide.
Start with our free plan and scale as your needs grow. No credit card required.