If you have ever copied a winner’s name into a spreadsheet after a stream, this is the version where that happens without you. A webhook is a message your giveaway sends to a URL you own, the moment something happens.
Yes, with an outgoing webhook. Kloot POSTs a signed message to a URL you choose when a giveaway opens, closes, draws a winner, is claimed or ends, and when a poll opens or closes. Zapier catches those with its own Webhooks step, so nothing has to be written in code.
You set it up here
It lands here — the real overlay
What you’ll build
A signed HTTPS request arriving at your own tooling — or at a Zap — whenever a giveaway opens, a winner is drawn, or a prize is claimed.
Worth doing first, because the interesting part is not the plumbing. The common ones: append every winner to a sheet so prize fulfilment has a list; post to a private Discord channel when a prize is claimed so somebody ships it; ping yourself if a giveaway opened while you were not looking. Each of those is one event and one destination.
If you write code, this is any HTTPS endpoint you control. If you do not, Zapier’s catch-hook step gives you a URL in about a minute and needs nothing else — Kloot posts to it, and the Zap does whatever you build after it. No Kloot app to install, because there is nothing to install: it is an ordinary webhook and Zapier speaks that natively.
It has to be https, and it cannot be a local or private address. A typo fails while you are looking at it rather than silently during a draw.
Eight to choose from: a giveaway opening, closing, drawing a winner, being claimed and ending; a poll opening and closing; and someone confirming a notify-me subscription. Subscribe to what you will act on rather than all of them — every event you do not use is a request your endpoint has to ignore.
The test button sends a real signed sample and reports what your endpoint actually answered, there and then. Everything else is fire-and-report-later, so this is the one moment you get a synchronous answer — use it, because a webhook that quietly 404s looks identical to one that was never sent.
This is the step people skip and should not. Your URL is guessable and anyone who learns it can post "the giveaway ended, here is the winner" and be believed. Each request carries a timestamp and a signature computed over the body, and checking it is what makes the message worth acting on. The scheme is deliberately the same one Stripe uses, so any Stripe verification example works with the names changed.
The signing secret is shown once, when you generate it. Kloot cannot show it again — rotate for a new one.
A delivery that fails is retried, so your endpoint should expect the same event more than once. Every message carries its own id; recording the ones you have handled is the whole of the fix. Note that a 4xx is not retried — that is Kloot reading your response as "this request is wrong" rather than "try again later", which is what you want when the payload genuinely is not for you.
Setup is done — this is the five-beat run, start to finish. You fire two keys; the overlay and your audience do the rest.
Press Launch on your deck the moment the stream is hot. A prize card drops onto your overlay with a QR code and a short join code — entry is open.
They scan the QR or type the code at kloot.gg/join — no account, no chat command, any platform. The entry counter climbs live while you keep playing.
When the timer ends — or you decide the room is ready — press Draw. The spin wheel takes over the overlay and spins for real. This is the hype beat.
The wheel lands and the winner’s name locks onto the card. If you pre-loaded prize codes, Kloot emails the winner their code the same second — no post-stream chasing.
Press once to clear the card off screen and you’re back to the game. If the prize was brand-funded, screenshot the result and export the entry list as clean proof for the sponsor.
A giveaway is a spike you control. The moments where it pays off most:
When: You just crossed a milestone and the chat is buzzing.
Why it works: Turns a number into a moment and rewards the exact people who got you there — the spike keeps them around.
When: A brand puts up the prize as part of a deal.
Why it works: You run it, export the entry list as proof of a real activation, and the sponsor sees measurable reach — easy to renew.
When: A big raid just landed on your stream.
Why it works: One-tap entry with no signup converts drive-by viewers into followers before they wander off.
When: A fundraiser, tournament, or one-off event.
Why it works: A prize drives donations and entries; an Event Pass covers full Pro for the day without a subscription.
Entry card, live draw, winner reveal — every preview below is the real overlay renderer your viewers watch, not a mockup.
Entry, opened — one tap for the whole room, on any platform.
Press Launch and this card drops onto your overlay: prize, live entry count, QR + short join code. Viewers are in before the hype dies — no bot, no “type !enter”, no account.
Deck key: Launch — opens entryThe hype beat — a winner picked in front of everyone.
Press Draw and the wheel takes center screen with every entrant on it. The room watches it slow down and land — a draw nobody has to take on faith, and the clip that gets shared after.
Deck key: Draw — spins the wheelThe payoff — winner locked in, prize already on its way.
The wheel lands and the winner’s name locks onto the card. If you pre-loaded prize codes, Kloot emails the winner theirs the same second — you never chase a DM after the stream.
Automatic — Kloot emails the prize codeThe entry card holds a corner while you keep playing; the wheel takes center screen only when you press Draw.
Not a published one in the Zapier directory, and it does not need it: Zapier’s built-in Webhooks step catches what Kloot sends. You paste the URL it gives you into Kloot and build the rest of the Zap normally.
Eight: a giveaway opening, closing, drawing a winner, being claimed and ending; a poll opening and closing; and a notify-me subscription being confirmed.
Every request carries a timestamp and a signature over the body, signed with a secret only you and Kloot hold. Verify it before acting — the URL is guessable, and without that check anyone could post a fake winner to it.
The delivery is retried, so build for the same event arriving twice — each one carries an id, and recording what you have handled is enough. A 4xx response is not retried, because that means the request was wrong rather than badly timed.
Not today. Webhooks are outgoing only — Kloot tells your tooling what happened, and there is no public endpoint for your tooling to ask Kloot for things or create giveaways. That half is parked.
Pro. The Discord announcement integration, which is a different and simpler thing, starts on Creator.
One overlay URL, one deck, every tool — set it up in minutes and run it from any device.
Free forever · Creator $99/yr or $15/mo · Pro $149/yr or $25/mo · Event Pass $9 for 3 days