Milestone webhooks, with every delivery on the record
Milestone events post to an endpoint you control, every attempt stays on the record, appearance reaches the Partner API, and embeds load twice as fast.
01 ·Milestone webhooks that post where you point them
A milestone webhook posts to an endpoint of your choosing when a trader reaches a milestone. Targets come from one hierarchical list, and a group and a stage are independent choices: picking a group does not pick the stages beneath it. Where a target supports downgrade, a direction decides whether the webhook fires on the way up or the way down. The request is yours to shape, with method, URL, repeatable headers and a full JSON body, and field variables drop in at the cursor from a searchable list. A new webhook starts paused.
A broker running tier progression usually wants the rest of its stack to know. Pointing a webhook at a CRM or a data warehouse turns a tier change into something the sales desk and the reporting layer can act on the same day, without waiting for someone to export a list.
02 ·Every delivery, every attempt, on the record
A delivery keeps its attempts. Automatic retries run up to three times, and when a later attempt succeeds the delivery reads Delivered while the earlier attempts stay attached with their own request and response. Once three are spent the delivery reads Failed, and the webhook shows Failed until that delivery resolves. A manual retry appends to the same delivery. Recent deliveries sit beside whichever webhook is open, searchable by what was sent or by date, and a History tab holds the full record for investigation.
Integration work fails quietly. Every attempt keeps the response that came back, so someone can say whether the endpoint was down or the request was wrong without rebuilding the moment to reproduce it.
03 ·Feature appearance draws on your saved themes
The style tab for Spin the Wheel now has the full appearance set rather than a short selected list, and every custom theme saved in Appearance Settings is available inside it. A tag marks the colours the wheel actually draws with, so it is clear which ones will change anything, and editing a colour the preview does not use leaves the preview alone. Background 4 becomes the primary background and the other slots re-order to match. Existing mini-game styling holds, and the Custom Widgets page keeps its own settings.
Brand consistency is why a broker builds a theme at all. Reaching a saved theme from inside a game keeps the reward surfaces looking like the rest of the portal, and the tagging shows which colours are worth setting.
04 ·Appearance and community details over the Partner API
Four Partner API contracts read and write how a community looks and how it presents itself: appearance, covering theme, font, palettes, branding, loading animation and call to action; the community bot's name and avatar; preview metadata with member-list visibility and guest mode; and the community name with its canonical URI.
Each contract has a GET and a PUT, needs a new appearance permission on the API key, and acts on the community that key belongs to. A partial update keeps the fields it does not mention, and a custom theme merges the palette values sent over the ones already stored.
An agency handling branding for several communities can push a palette change from its own tooling and have the admin, the trader front end and any embedded surface agree. Colours typed in twice are the ones that drift.
05 ·Embedded widgets appear about twice as fast
A script-tag embed of a custom widget now boots in parallel: the iframe fetches its HTML and JavaScript while authentication is still in flight, and the error-settings call holds nothing up. The page declares the widget's whole chunk graph up front, so the browser collects it in one round trip. The server holds a community's loading animation for fifteen minutes rather than fetching it per view, and browsers cache preflight responses. On a throttled test connection, a first visit and a repeat visit each reached a complete widget about twice as fast.
The widget is the first thing a broker's own visitors meet of the loyalty programme, and it sits inside a page the broker already worked to make quick. Boot time is the one part of that they cannot tune themselves.
Scrolling back through channel history moves in larger pages with messages rendered as they arrive, so a long history keeps scrolling.
17 AugDirect-message notifications on the activity page arrive as they happen, along with message edits and read state shared across the tabs.
17 Aug