Module 12 · Notifications
Event notifications in your own Telegram bot
A postback can go somewhere other than your tracker. The same request can start a Make scenario and land in your Telegram as a message: registration, deposit, commission — with the amount, the campaign, and your source tag already in it.
01
How the chain works
There are three steps between the trader's action and the message in your chat. The affiliate system sends a postback, Make receives it and assembles the text, and your bot delivers it.
01
The trader triggers an event
A registration, a deposit, a withdrawal, or a commission that has been credited.
02
The request reaches Make
The postback goes to the webhook address, and the scenario starts.
03
Filter and text
The scenario checks which event arrived and builds the message from the request parameters.
04
The bot sends the message
It writes to your private chat, group, or channel — usually within seconds.
Make does not calculate or change anything. It receives the same data your tracker gets and shows it in a readable form.
The Telegram postback is an extra postback, not a replacement for the tracker one. Ask your manager whether a second destination is allowed for the same event; if it is not, keep the tracker as the main one and forward the request onwards from Make with an HTTP module.
02
What to prepare
Three things before you start. They take about ten minutes, and after that the scenario comes together without pauses.
Make
A Make account
The free plan is enough to start: 1,000 operations a month. One delivered notification spends two of them — receiving the request and sending the message.
BotFather
Your own bot and its token
Send @BotFather the /newbot command, pick a name and a handle, and you get a token that looks like 8123456789:AAH… It is the bot's password: never publish it or forward it into a shared chat.
Chat ID
The chat id
Private chat: send /start to the bot and open api.telegram.org/botTOKEN/getUpdates in a browser, with your own token in place of TOKEN — the response contains the chat id. Group: add the bot first; a group id starts with a minus sign. Channel: make the bot an administrator.
A bot cannot message someone who has never written to it. If nothing arrives in your private chat, open the bot and press Start.
03
Step 1. The Make webhook
A webhook is an address that waits for a request. It comes first, because the postback URL is built on top of that address.
- Create a scenarioIn Make, open Scenarios and click Create a new scenario.
- Add the Webhooks moduleClick “+”, search for Webhooks, and pick Custom webhook.
- Create the webhookAdd → give it a name, for example PocketPartners Events → Save. Make returns a receiving address.
- Copy the whole addressUse Copy address to clipboard. The region differs per account — eu1, eu2, or us1 — so use your own address rather than the one in the example.
- Do not append anything to itYou do not need to add parameters of your own: every value arrives from the postback.
https://hook.eu2.make.com/9f31c2ad74qz8mvb1kxs
That is the receiving address. In the next step it becomes the start of the postback URL.
04
Step 2. A postback to that address
Now create the postback that sends events to Make in your partner dashboard. The rule is the same as for a tracker: one event, one postback.
- Open Postbacks → Add New PostbackThe Global type sends events across the whole account; Campaign sends only the campaign you pick.
- Choose the eventRegistration, First Deposit, Re-deposit, Withdrawal, or Commission. Every event you want gets its own postback.
- Assemble the URLThe webhook address, then ?event= with your own value, then the parameters with their macros. The first parameter always follows a ?, every next one an &.
- Send everything you want to see in the messageA value only reaches Make when its macro is in the URL. If your event card switches parameters on and off, enable the same ones you put in the URL: a disabled parameter is not sent.
- Save it, then repeat for the other eventsEvery event carries its own event= value. That value is how the scenario tells a registration from a deposit.
https://hook.eu2.make.com/9f31c2ad74qz8mvb1kxs?event=registration&trader_id={trader_id}&cid={cid}&ac={ac}&country={country}&date_time={date_time}
On the left, the webhook address, unchanged. event=registration is your own label for the event. After that come parameter names and macros: the system fills them with real values as it sends the request.
For the full macro list and a URL builder, see Postbacks: what they are for and how to build the URL.
05
Step 3. A test event
Make does not know which fields will arrive until it has seen the first request. That is why the message text is written after the test, not before it.
- Start listeningIn the scenario, click Run once — the webhook now waits for a single request.
- Send an eventThe quick way: open the assembled URL in a browser with the macros replaced by any values. The full check is a test registration through your own affiliate link.
- Look at what arrivedA counter appears on the module, and its output lists the fields: event, trader_id, cid, and everything else you sent.
- Re-determine the structure after any editAdded a parameter to the postback? Click Re-determine data structure and send the event again, or the new field will not appear in the list.
An empty output almost always means one thing: the postback URL is missing parameters or is assembled incorrectly. Check that the first parameter follows a ? rather than an &.
06
Step 4. Filter and message
Two modules are left: a filter drops the events you did not ask for, and Telegram sends the text. Build the text below — the builder maps the Make fields and shows how the message will land in the chat.
The filter between the webhook and TelegramThe condition sits on the link between the modules: the webhook's event field on the left, the Equals operator, and the event value on the right. Without it, every event lands in the chat.
EventsTick the events you want notifications for. Each one gets its own text and its own filter value.
What the message showsOn the left, the value from the postback; on the right, the caption it appears under in the chat. Rewrite any caption to suit you.
The Telegram module
- Add a module → Telegram Bot → Send a Text MessageIt goes after the filter, last in the scenario.
- Create a connectionPaste the token from @BotFather. The token lives in the connection — it must never appear in the message text.
- Chat IDThe id of the chat to write to. A group id carries a minus sign.
- TextPaste the ready text from the builder above.
- Save the scenario and switch it onThe scenario toggle has to be ON: a scenario that is off does not catch events.
Leave Parse mode empty. With Markdown or HTML the message fails whenever a value contains _, * or <: Telegram answers with a 400 error.
07
Checks and common errors
Work through the list before you start relying on the notifications. Almost everything that goes wrong here has one of two causes: an incomplete postback URL, or a scenario that is switched off.
What breaks most often
| Symptom | Cause | What to do |
|---|---|---|
| Only event arrives in Make | The other macros are missing from the postback URL, or their switches are off | Add the macros to the URL, save, and click Re-determine data structure |
| No message arrives | The bot cannot write first, the chat id is wrong, or the scenario is off | Press Start in the chat with the bot, check the chat id, and switch the scenario on |
| Telegram answers with a 400 error | The text is empty, or Parse mode breaks on a character inside the data | Leave Parse mode empty and switch the empty-value placeholder on |
| Every event lands in the chat | There is no filter between the webhook and Telegram | Add a filter on the event value in every scenario |
| The campaign is blank | The postback URL has no {cid} and {ac} macros | Add both, then re-determine the data structure |
| Messages arrive twice | Two postbacks or two scenarios are set up for the same event | Check the postback list in the dashboard and the active scenarios in Make |
| Notifications stopped mid-month | The plan's operations have run out | Keep notifications for money events only: first deposit, re-deposit, commission |
For what to do with these events next, see the lesson Analytics and growth.