Content modes
Five ways content is fed to a game. Pick one per embed — the right choice depends on what kind of page you're embedding on.
| Mode | What renders | When to use |
|---|---|---|
Pinned (pinned) | A single specific puzzle, never changes. | Marketing pages, editorial articles, themed campaigns. |
Daily (daily) | A new puzzle every day at midnight UTC. | Daily-engagement plays, news pages, app loops, retention surfaces. |
Random (random) | A different puzzle every page load. | Loading screens, end-of-article fillers, anywhere variety beats continuity. |
| Custom | A puzzle you create from a topic, URL, or pasted text. | One-off campaigns where the puzzle should match a specific page or piece of content. |
| Contextual | A puzzle built automatically from the words on the page it's embedded on. | Articles, blog posts, recipes — any page where you want the puzzle to mirror what the reader just read. |
The mode you set on Playgent.init determines which kind of content reference you provide.
Pinned
Reference a publication — a specific generated puzzle.
Playgent.init({
containerId: "playgent-host",
player: "plyr_acme",
game: "trivia",
mode: "pinned",
content: "pub_holiday_quiz_2026",
});
Generate publications in the Hub (Content → My Generations → New content) or via the Content API.
The puzzle is baked into the page — bookmark, share, archive, all stable.
Daily
Reference a channel — a curated stream of puzzles scheduled by date.
Playgent.init({
containerId: "playgent-host",
player: "plyr_acme",
game: "trivia",
mode: "daily",
content: "cha_trivia_general_en",
});
Browse curated channels in the Library or request a custom one.
Rolls over at 00:00 UTC. Visitors land on the same puzzle from any timezone — pick that hour deliberately.
Sudoku, Slider, and the other algorithmic games generate boards on the fly — pass only mode and skip content. Every other game type requires content and will render an error if it's missing.
Random
Reference a channel. Each page load gets a different puzzle from the channel's available pool.
Playgent.init({
containerId: "playgent-host",
player: "plyr_acme",
game: "trivia",
mode: "random",
content: "cha_trivia_general_en",
});
Great for loading screens, post-checkout dwell time, or anywhere replay value matters more than continuity.
Custom
A workflow rather than a runtime mode. From the Hub Playground (or via the Content API), you provide:
- A topic ("History of Science") — the generator picks the angle.
- A URL — the generator fetches and reads the page.
- Text — pasted content for non-public sources.
The result is a publication ID you embed in pinned mode:
// 1. Create from the API (or in the Hub Playground):
// POST /api/v2/content { input_type: "topic", input: "History of Science", game_type: "trivia" }
// → { content: "pub_history_42", ... }
// 2. Embed in pinned mode
Playgent.init({
containerId: "playgent-host",
player: "plyr_acme",
game: "trivia",
mode: "pinned",
content: "pub_history_42",
});
So custom is how you author the puzzle, pinned is how you embed it.
Contextual
The game reads the page it's embedded on and builds its puzzle from the words found there. Every visitor on the same article sees the same puzzle; readers on different articles see different puzzles — no authoring step, no content ID to manage.
Enable Contextual mode from the Hub Playground: pick a supported game, switch the Content tab to Contextual, copy the snippet, paste it wherever you want it to run.
Playgent.init({
containerId: "playgent-host",
player: "plyr_acme",
game: "wordsearch",
mode: "contextual",
});
Contextual is best for editorial and content-rich pages — articles, blog posts, recipes — where you want the puzzle to feel like a natural continuation of what the reader just read. Not every game supports it; the Playground's Content tab shows which ones do.