tellmetric
Integration

Send Telegram joins and deposits to Zapier, Make, Google Sheets or your CRM

Tellmetric records who joined your group, wrote to your bot or deposited, and which ad brought them. A webhook sends each of those to any tool that accepts one: a Zapier or Make scenario, a Google Sheet, HubSpot, Slack, your own server. This guide sets it up and shows the fields you get.

What is sent

One request per conversion, within a minute of it being recorded: a join to your Telegram group, channel or Discord server, a first message to your bot, a deposit or purchase, a lead or sign-up, and, if you choose, a member who is still there after the days you set or who left. Each carries the ad it came from (campaign, source, ad, sub-ids, country), the link, the click id, a hashed person id that stays the same for that person across events, and for deposits the amount and currency. Choose the groups you want on Connections; the rest are not sent.

Nothing a person wrote is ever sent, and no Telegram or Discord profile data: the person id is a SHA-256 hash, the same one that goes to Meta. If your platform reported an email or phone with a deposit, those stay hashed too.

Zapier, step by step

  1. In Zapier, create a Zap with the trigger Webhooks by Zapier → Catch Hook. Copy the webhook address it shows.
  2. In Tellmetric, open Settings → Connections → Forward conversions to another tool. Paste the address, choose POST, tick the groups you want (joins, messages, deposits, leads, membership) and save.
  3. Press Send a test. Zapier receives a sample conversion with every field filled; pick it as the sample record in the trigger step.
  4. Add the action: Google Sheets → Create Spreadsheet Row and map the fields (event, occurred_at, utm_campaign, payout, currency…), or HubSpot, Slack, Airtable, Notion, Mailchimp, whatever you use. A filter step on event or status keeps deposits and joins in separate Zaps.
  5. Turn the Zap on. From now on every conversion of the chosen groups lands there within a minute; Recent calls on Connections shows each one and what Zapier answered.

Make (Integromat)

Create a scenario with the Webhooks → Custom webhook module, copy its address, save it on Connections as above and press Send a test so Make can determine the data structure. Then add the modules you need: Google Sheets → Add a row, a CRM, Telegram Bot → Send a message to your team chat, a router to split joins from deposits. Make keeps the webhook listening even when the scenario is off and queues the calls.

The fields

FieldWhat it holds
event, statusThe conversion: Joiner/join, AdminDM/message, Deposit/dep, FTD/ftd, Purchase/sale, Lead/lead, CompleteRegistration/reg, Contact/contact, Retained/retained, Leave/left.
event_id, occurred_atA unique id (send the same one twice and your tool can deduplicate) and the time, ISO 8601, UTC.
clickid, short_codeThe ad click this person arrived with and the tracking link they used.
utm_source, utm_campaign, utm_content, utm_medium, sub1…sub5, countryThe campaign parameters of that click and the country it came from.
community, join_viatelegram or discord, and how a join was matched (invite link, bot start, Discord authorise).
external_idA SHA-256 hash of the person's Telegram or Discord user id: the same for every event of that person, never the id itself.
payout, currency, txidFor deposits and purchases: the amount, the currency and your transaction id.

Trusting the calls

Every POST carries two headers. X-Tellmetric-Event names the event, so a filter needs no body parsing. X-Tellmetric-Signature is sha256= followed by an HMAC-SHA256 of the exact body with the signing secret shown on Connections; a server of your own should recompute it and compare before acting, so nobody can post a fake deposit to your endpoint. Zapier and Make have no need to check it; the address they give you is itself a secret.

If your tool is down, the call is retried after 1, 5, 30 minutes, then 2 and 12 hours, and each attempt with the reply is listed under Recent calls. A call your tool rejected with an error code is retried the same way; one it accepted with any 2xx is done.

Trackers and GET postbacks

A tracker such as Keitaro, Binom or RedTrack wants a GET with the values in the address. Choose GET and write the address with placeholders, for example https://your-tracker/postback?cid={clickid}&status={status}&sum={payout}; the postback guide covers that side, and the developer page lists every placeholder.

Frequently asked

Can I send only deposits?

Yes. Untick the other groups on Connections, or keep them and filter on event in Zapier or Make.

Does Google Sheets need Zapier?

A Sheet cannot receive a webhook on its own, so Zapier, Make or a Google Apps Script web app in between is needed. The Apps Script route is free: publish a script with a doPost that appends the JSON fields to a row, and paste its address on Connections.

Is the person's name or username included?

No. Only the hashed id, so you can count and join events per person without holding profile data from a webhook. Names live in Tellmetric's own group view.

Will old conversions be sent when I switch it on?

No. Forwarding starts with conversions recorded after you save the address; earlier ones are in the CSV exports.

Related guides

Track Telegram and Discord conversions from your ads

The Free plan requires no card. Upgrade to Pro at any time.