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 monthly fee.
Free trial · From $19/mo · No credit card required
The problem
Telegram is where a lot of founders actually live. If you want a ping for every paid invoice, an alert when a payment fails, or an escalation when a high-value subscription cancels, the options today are all bad. Zapier wired to a bot token charges you per task. A webhook handler running on Railway means another bill and another thing to babysit. Stripe's native Slack action is the wrong product.
The Telegram action is one step inside a Stripe Workflow. Paste the bot token, pick the chat id, write a JSONata-templated message with Markdown or HTML formatting. Outbound handles retries, dedup on Stripe's invocation id, and Telegram's rate limits. The bot stays in your Telegram org, the workflow stays in your Stripe Dashboard, and the bill is the same number every month.
How the Telegram action works
- 1
Create a Telegram bot
Talk to @BotFather inside Telegram and create a bot. Copy the token it gives you back, then add the bot to the chat or channel that should receive messages. A couple of minutes from nothing to working. - 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
Compose the message
Write the message body with JSONata templating. Telegram accepts Markdown and HTML, so you can bold the customer email, link the invoice id, italicize the amount, or whatever the chat actually wants to read at 2am. - 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.
Outbound vs Zapier
| Outbound | Zapier | |
|---|---|---|
| Lives inside the Stripe Dashboard | — | |
| Pricing model | From $19/mo flat | Per-task billing |
| Idempotent on Stripe invocation id | — | |
| Setup time | ≈2 minutes | 10–15 minutes |
| Markdown / HTML formatting | ||
| Supports channels and private chats | ||
| Execution log scoped to Stripe account | — |
Frequently asked questions
Can I send to multiple chats at once?+
Does it support inline keyboards or just plain messages?+
What if the bot gets removed from the channel?+
Is the bot token stored securely?+
Telegram has rate limits — does Outbound respect them?+
Related integrations
Send Stripe events to Discord
Pick Discord if your team lives there. Same pattern, same flat fee, different chat app.
Generic webhook to any HTTPS URL
Use the HTTP action if you've already built your own internal alert relay.
Trigger Stripe from any HTTPS POST
Coming with Inbound: signature-verified inbound webhooks that kick off a Stripe Workflow.