Gamification engine · Events in, engagement out

The playmaker behind every reward.

Your systems send events. Flyhalf runs your flows — awarding points, badges and prizes, moving leaderboards, and messaging people on WhatsApp, email and push. You watch engagement move.

{ "type": "order.completed",
  "participant": "cus_84h2" }
Trigger
order.completed
Condition
10th purchase? true
Action
Award No. 10 badge
Flyhalf No. 10 reward badge
leaderboard #8 → #5 ▲
Your 10th order — No. 10 badge unlocked 🏅 Show this for a free dessert on us.
TRUSTED BY
CLIENT LOGO
CLIENT LOGO
CLIENT LOGO
CLIENT LOGO
CLIENT LOGO

How it works

Three steps. The middle one is the fun one.

01
Send events

One POST from your store, app or POS. Any JSON payload — orders, check-ins, referrals, reviews.

POST /v1/events
02
Design flows

Drag triggers, conditions and actions on a visual canvas. Test against sample events before you publish.

trigger → condition → action
03
Reward & message

Points, badges, prizes and rank changes — delivered by WhatsApp, email or push, webhooked back to you.

webhook: reward.awarded

Flow builder

Award the No. 10 badge after the 10th purchase. Then WhatsApp the reward.

That's a real flow, built in two minutes. Branching conditions, delays, variable tokens like { event.payload.total } — versioned, testable, published when you say so.

Explore flows →
FLOW · badge-after-10th · v3 published
Trigger
order.completed
Condition
purchase_count == 10
├ true└ false → end
Action
Award badge · No. 10
Action
WhatsApp · reward_msg

AI Badge Studio

A style brief in. A badge family out.

STYLE BRIEF

"Flat enamel-pin style, bold outlines, warm palette. Coffee-shop loyalty: cups, beans, sunrise streaks. Tiers in bronze, silver, gold."

12 assets · 3 tiers · 4 themes

Pick an anchor, add themes, and the studio keeps every badge in the same visual family. Regenerate any single cell. Swap in your own art anytime.

Coffee-shop loyalty badge
Coffee-shop loyalty badge
Coffee-shop loyalty badge
Coffee-shop loyalty badge
Fitness streaks badge
Fitness streaks badge
Fitness streaks badge
Fitness streaks badge
Retail rewards badge
Retail rewards badge
Retail rewards badge
Retail rewards badge

GENERATED FAMILY · Coffee-shop loyalty

Enamel pin

Rewards & prizes

Put a real prize in someone's hands.

Points and badges are half of it. When a flow owes someone a real prize, Flyhalf fulfils it three ways — pick per reward.

Pre-loaded code pools

Bulk-import vouchers or gift codes from a CSV. Flows hand out one per winner and the pool draws down as codes are claimed — with low-stock warnings before you run dry.

Generated on demand

Connect a third-party rewards API and mint a fresh code the moment someone qualifies. No stockpile to manage, nothing to reconcile by hand.

Points catalogue

Let participants redeem points against a catalogue you set. Every claim checks the balance, debits the append-only ledger, and never oversells.

Channels

Rewards people actually see.

WhatsApp is first-class — not an icon in a row. Template messages, delivery receipts and opt-out handling built in, alongside email and push.

WHATSAPP delivered ✓✓
Sindi, you kept your streak — 7 days straight 🔥 That's a free flat white waiting at any branch.
Claim it
Voucher FH-2291 — valid till Friday. Show it at the till.
EMAIL
You just entered the top 5 ⚡
Three more check-ins keep you on the July podium. Standings inside →
PUSH
5
Gold unlocked
Your 5th order did it. Tap to see your badge.

For developers

Integration is an afternoon.

  • Signed webhooks in and out (HMAC, timestamped)
  • Idempotency keys on every event
  • Full delivery logs with replay
  • Sandbox environment with sample events
  • One-install WooCommerce plugin — orders, refunds and reviews become events
Read the docs →
INGEST YOUR FIRST EVENT bash
curl -X POST https://api.flyhalf.io/v1/events \
  -H "Authorization: Bearer fh_live_…" \
  -H "Idempotency-Key: evt_9f31" \
  -d '{
    "type": "order.completed",
    "participant": "cus_84h2",
    "payload": { "total": 349.00 }
  }'

→ 202 accepted · signed receipt in 41ms

Delivery logs

Every message and webhook, traceable end-to-end. Replay from the dashboard.

Idempotent by default

Duplicate events never double-award. Ledger integrity is non-negotiable.

POPIA compliant

Consent-aware messaging, data residency options, full participant export.

Sandbox mode

Test flows against sample events. Nothing reaches a real customer until you publish.

Analytics built in

Engagement funnels, badge distribution and points-economy health — read straight from the dashboard.

Pricing

Start free. Pay as engagement grows.

STARTER
Free
  • 10k events / mo
  • 500 messages
  • 50 AI badge generations
  • 1 live flow
Start free
SCALE
Custom
  • Millions of events
  • Dedicated throughput & SLAs
  • White-label options
  • Solution engineering
Talk to us

Events in. Wins out.