WORKSPACE GUIDE · REVIEWED 13 SEPTEMBER 2026
In Connections, choose your sales notification provider and enter its required webhook or bot credentials. Connecting sends a test message to the destination, so check the channel before saving. Notifications are outbound messages; they do not grant the channel permission to operate your account.
Connect Slack, Discord, or Telegram and GoCushy posts a message the moment you make a sale — plus rebills, refunds, failed renewals and cancellations. Pick one channel, paste one thing, done. Telegram has a couple of famous gotchas, so it gets the full treatment below.
Sales notifications are a Pro feature. In your dashboard, open Connections → Sales notifications → Add a channel, pick your channel from the dropdown, and the right fields appear. The moment you connect, GoCushy sends a test message to that channel — that's your confirmation it worked.
You only need one channel. If you're not sure which, Telegram-to-yourself or a Slack channel are the most popular.
Slack posts through an Incoming Webhook URL — one link tied to one channel. Creating it means making a tiny, private, unpublished Slack "app" for yourself. It sounds heavier than it is — here's the exact click path:
Discord also uses a Webhook URL, created per channel.
Telegram is "bring your own bot": you make a free bot, then tell GoCushy its token and the chat ID to post to. The two things people trip on are (1) the difference between a chat ID and a username, and (2) sending to yourself vs a channel. We'll be explicit about both.
This choice changes what your "chat ID" is:
| Destination | Chat ID looks like | The one thing you must do |
|---|---|---|
| A private message to you | 8934712169 (a positive number) | Open your bot and press Start — a bot can't message you until you do. |
| A channel or group | -1004452265833 (negative, starts -100) | Add your bot to the channel/group as an admin. |
A chat ID is a number, not a @username. Usernames (@yourchannel) only work for public channels; private ones have no username, so you always need the numeric ID.
If you want a DM to yourself:
If you want a channel or group:
https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
Find "channel_post" → "chat" → "id" — a negative -100… number. That's your chat ID.| What you see | What it means → how to fix |
|---|---|
| "That bot token was rejected" | The token is wrong or mistyped. Re-copy it from @BotFather → your bot → API Token. No spaces, and include the part after the colon. |
| "Telegram couldn't find that chat" | The chat ID is wrong, or the bot can't see that chat. For a DM: press Start on the bot and use your positive user ID. For a channel: use the negative -100… ID, not your personal one. |
| "Your bot isn't allowed to post to that chat" | Same two fixes: press Start on the bot (for a DM), or add the bot as an admin of the channel/group (for a channel). |
| getUpdates returns {"ok":true,"result":[]} | Usually a leftover webhook. Open …/deleteWebhook once, post a fresh message in the chat, then retry …/getUpdates. Or forward a post to @getidsbot. |
| Your own bot never replies to /start or @getidsbot | That's normal — a bot you make has no "brain" until an app (GoCushy) drives it. Utility bots like @userinfobot are separate bots: open their own chat, don't message your bot. |
| "Sales notifications are a paid-plan feature" | Notifications come with the Worldwide Tax & Affiliates Pack — a $95 one-time add-on on the Free plan, included in the $99/month plan. Upgrade in your dashboard, then connect. |
Quick self-test (does exactly what GoCushy does): paste this in a browser — https://api.telegram.org/bot<YOUR_TOKEN>/sendMessage?chat_id=<YOUR_CHAT_ID>&text=hi. {"ok":true} means everything's valid; anything else shows the exact reason.
Slack, Discord and Telegram are the built-in one-click channels. To send sale events anywhere else — Zapier, Make (Integromat), n8n, Google Sheets, your CRM, a custom app — use GoCushy's developer webhooks instead: ask your AI to "add a webhook for order.paid" (also order.refunded, order.upsell_taken, subscription.payment_failed), pointing at a Catch Hook URL from Zapier or a Custom webhook module in Make.
Every delivery is signed (X-Gocushy-Signature, HMAC-SHA256) and retried with backoff, so it's reliable enough to gate access or drive fulfilment. See the developer docs for the payload and signature details.
Tell us what's happening and we'll email you back. A real person reads every message.
We'll reply to . If it's urgent you can also email support@gocushy.com.