Telegram action

Send Stripe events to Telegram channels

Send any Stripe event to a Telegram chat or channel. Solo founder pings, international team alerts, weekend escalation — flat fee, no Zapier.

Free trial · From $19/mo · No credit card required

The problem

Telegram is the back-channel a lot of founders actually live in. When you want to send stripe events to telegram — a ping for every paid invoice, an alert for a failed payment, an escalation when a high-value subscription gets canceled — the options today are bad. You wire Zapier to a bot token and pay per task. You write a webhook handler and host it on Railway and now you're paying for and monitoring a server. You hack the Slack action and hope nobody notices.

The Telegram action is just a step you drop into a Stripe Workflow. Paste the bot token, pick the chat id, write a JSONata-templated message with Markdown or HTML formatting, and ship. Outbound handles retries, dedup, and the polite rate-limit dance Telegram expects. The bot stays in your Telegram org. The workflow stays in your Stripe Dashboard. The bill stays flat.

How send stripe events to telegram works

  1. 1

    Create a Telegram bot

    Talk to @BotFather in Telegram and create a bot. Copy the token. Add the bot to the chat or channel that should receive the messages. Two minutes start to finish.
  2. 2

    Add the action with bot token + chat id

    Drop the Telegram action into a workflow, paste the bot token (Outbound stores it encrypted), and pick the chat id. For channels, the chat id is the @handle. For private chats, it's a numeric id.
  3. 3

    Compose the message

    Write the body with JSONata templating. Telegram supports Markdown and HTML formatting. Bold the customer email, link to the invoice, italicize the amount — whatever the chat audience expects.
  4. 4

    Publish and watch the chat

    The action posts to Telegram within seconds of the Stripe event. The Outbound execution log records every send with the Telegram message id, so you can audit deliveries without leaving Stripe.
trigger:
  event: invoice.payment_failed
steps:
  - action: outbound.telegram
    config:
      bot_token: ${TELEGRAM_BOT_TOKEN}
      chat_id: "@founders-alerts"
      parse_mode: HTML
      text: |
        <b>payment failed</b>
        {{customer.email}} — ${{invoice.amount_due / 100}}
        attempt: {{attempt_count}}
        <a href="https://dashboard.stripe.com/invoices/{{invoice.id}}">view in Stripe</a>

Example workflow configuration

Screenshot of the Telegram action config inside the Stripe Workflow builder. Shows a bot token input field with masked characters, a chat id input, a parse_mode dropdown set to HTML, and a multi-line message body editor with JSONata template placeholders rendered in cyan against a dark code background.

Bot token, chat id, and a templated message — that's it. Lives next to the rest of your Stripe Workflow.

Outbound vs Zapier

OutboundZapier
Lives inside the Stripe Dashboard
Pricing modelFrom $19/mo flat$29.99/mo + per-task fees
Idempotent on Stripe invocation id
Setup time≈2 minutes10-15 minutes
Markdown / HTML formattingtrue
Supports channels and private chatstrue
Execution log scoped to Stripe account

Frequently asked questions

Can I send to multiple chats at once?+
Add the Telegram action multiple times in the same workflow, each pointing at a different chat id. The action is cheap and idempotent so duplicating the step is fine. Alternatively, the chat_id field is JSONata-templated, so you can resolve it dynamically off the event.
Does it support inline keyboards or just plain messages?+
v1 supports plain messages with Markdown / HTML formatting. Inline keyboards (the tap-to-respond buttons) need a webhook to handle the callback, which is an Inbound feature. That ships when Inbound launches. Until then, link to the Stripe Dashboard for the action.
What if the bot gets removed from the channel?+
Telegram returns a 403 with a specific error code. Outbound surfaces it in the execution log and stops retrying — a bot-removed error is not a transient failure. Add the bot back and the next workflow execution will deliver normally.
Is the bot token stored securely?+
Tokens are encrypted at rest with a per-account key, scoped to the action that created them, and never returned in the dashboard once saved. We can rotate them on request via support@outboundforworkflows.com if a token leaks.
Telegram has rate limits — does Outbound respect them?+
Yes. Telegram allows roughly 30 messages per second per bot and slower per-chat. Outbound queues per bot, respects 429 retry-after headers, and surfaces rate-limit events in the execution log if you're consistently hitting the ceiling.