Quick overview
Quick overview This workflow receives Paddle webhook events, verifies the Paddle-Signature to block forged requests, and for each completed sale formats a net-earnings alert message and sends it to Slack, Discord, and/or Telegram via simple webhooks. How it works Receives a POST webhook from Paddle at the configured endpoint with the raw request body enabled. Verifies the request is authentic by validating the Paddle-Signature header using HMAC-SHA256 over ts:rawBody with your Paddle notification secret. Checks that the event type is transaction.completed and ignores other Paddle events. Extracts transaction totals (total, fee, earnings, currency) and formats a readable alert message, handling zero-decimal currencies. Sends the message to Slack via an incoming webhook. Sends the same message to Discord via a channel webhook. Sends the same message to Telegram via the Bot API sendMessage endpoint. Setup In Paddle, create or edit a Notifications destination, subscribe it to transaction.completed, and copy the n8n Production webhook URL into Paddle’s destination URL. Paste your Paddle notification webhook secret (from Paddle Developer tools → Notifications) into the signature verification code. Add your Slack incoming webhook URL and/or Discord webhook URL in the corresponding HTTP requests, and remove any alert branches you don’t use. Create a Telegram bot with BotFather, then set the bot token in the Telegram request URL and the target chat_id in the request body. Requirements A Paddle account (sandbox or live) with access to Developer tools → Notifications, and at least one destination: a Slack incoming webhook, a Discord channel webhook, or a Telegram bot (token + chat id). Everything runs over plain HTTP Request nodes — no OAuth, no community nodes, no n8n credentials to configure. Customization Alert on more events: subscribe the Paddle destination to transaction.refunded or subscription.canceled too and duplicate the If branch. Edit the message format in the Build Alert Message node — all of Paddle's transaction fields are available there. Delete the channel branches you don't use. Additional info Unlike most webhook templates, this one verifies Paddle's HMAC signature (SHA-256 over ts:rawBody, timing-safe compare) and rejects unsigned requests — nobody who finds your webhook URL can spam you with fake sales. Amounts are shown as what you actually keep after Paddle's fee, and zero-decimal currencies (JPY, KRW, VND, ISK) are formatted correctly. An n8n automation workflow template by Ziad Karim.
Ziad Karim
web
free
Others in the same category, ranked by how often they are opened.