The brand book and the messaging library tell you what to say. This is where you ship it. Whether your team works in a marketing tool or a codebase, there’s a path that fits: a single script tag, a set of JSON feeds, or a point-and-click configurator. All of it is open source and free to use.
Embeddable widgets
Three web components you add with one script tag — no framework, no build step.
Content API
Six JSON feeds of production-ready copy, myths, CTAs, campaigns, and assets.
Brand Configurator
A no-code tool that brands the whole system and exports a content kit.
Embeddable widgets
The fastest way to add Playbook to any web page. The widgets ship as standard web components in a single bundle of roughly 19 KB. Load the script once, then place any component like an ordinary HTML tag — it works in any site or CMS, with no framework required.
The one-line embed
Load the bundle, then use any of the three components:
<!-- Load the bundle (~19 KB) -->
<script src="https://gamblingpolicy.com/tools/playbook/widgets/playbook-widgets.js"></script>
<!-- Then drop in any component -->
<playbook-helpline number="1-800-GAMBLER" mode="banner" theme="dark"></playbook-helpline>
<playbook-myth api-url="/tools/playbook/api/myths.json"></playbook-myth>
<playbook-odds game="blackjack" theme="dark"></playbook-odds> The three components
Helpline banner / badge
<playbook-helpline>
A full-width banner or compact badge with phone, text, and chat links — the single most common compliance element, surfaced consistently.
Modes: banner or badge. Themes: dark, light, or minimal. Set the number, an SMS text number, a chat URL, and the label text.
Myth card
<playbook-myth>
A rotating myth-buster card with a “Next myth” control, pulled live from the myths feed. Drop it on a blog, a help center, or a player dashboard.
Pull from the myths.json feed, optionally filter by category (e.g. slots) or pin a specific myth. Themes: dark or light.
Odds card
<playbook-odds>
A quick-reference card for a single game — house edge, RTP, and the key facts a player should know before they sit down.
Choose the game: slots, blackjack, roulette, sports-betting, baccarat, video-poker, craps, lottery, or bingo. Themes: dark or light.
Each widget renders inside its own Shadow DOM, so it never collides with your site’s styles. To match your brand, set three CSS custom properties — --pb-color-primary, --pb-color-secondary, and --pb-color-accent — on any ancestor element, and the widgets pick them up.
The content API
Six static JSON feeds, generated from Playbook’s source files. There’s no server to run — host them on any CDN or static file server, then fetch and filter the content in your app. This is the layer for teams that want the copy but want to build the interface themselves.
| Feed | Records | What it gives you |
|---|---|---|
messages.json | 67 | Core messages across every pillar (Open, Social, Smart, Aware, Help), tagged by touchpoint so you can pull the right line for the right moment. |
myths.json | 18 | Each myth in three ready formats — a social card, an article explainer, and a quiz question — so one fact powers three channels. |
ctas.json | 50 | Calls to action grouped by function and urgency, from “See the odds” to “Call now.” Ideal for A/B testing button copy. |
campaigns.json | 7 | Complete campaign briefs with day-by-day schedules, captions, email copy, and KPIs — drop a full campaign into your calendar. |
games/ | 11 | One structured guide per game — the odds, the house edge, and the myths — ready to render into an app or a microsite. |
assets.json | 96 | A manifest of every brand asset — logos, icons, collateral, photography — with URLs and metadata for programmatic use. |
Fetching a feed
A master index.json catalogs every endpoint and the brand metadata. From there, fetching and filtering is a few lines:
// Fetch messages and keep only the "Open" pillar
const res = await fetch('/tools/playbook/api/messages.json');
const { messages } = await res.json();
const open = messages.filter((m) => m.pillar === 'open'); Messages and CTAs may contain white-label tokens in double braces — for the program name, the helpline number, the minimum age, and so on. Replace each with your own value before deploying, or let the Brand Configurator resolve them all automatically.
The no-code Brand Configurator
For teams without a developer to hand. The Brand Configurator is a point-and-click tool: enter your program name, colors, helpline number, and minimum age, and it resolves every placeholder across the content, then packages a ready-to-use content kit. No code, no manual find-and-replace.
What you put in
- Your program name and organization.
- Brand colors, helpline number, and chat URL.
- Minimum age and other market specifics.
What you get out
- Every placeholder resolved to your values.
- A downloadable content kit, ready to deploy.
- Copy that matches the widgets and the API.
These tools make it easy to surface responsible-gambling information consistently, but they don’t guarantee regulatory compliance. Requirements for helpline display, age verification, and disclosures vary by market and change often — pair the tools with the Compliance modules and your own legal review.
Which path is right for you
| If you… | Reach for | Effort |
|---|---|---|
| Want a live element on a web page fast | Widgets | One script tag |
| Are building your own interface around the copy | Content API | A few lines of fetch |
| Have no developer and want branded files | Configurator | No code |