Skip to content

ButtonSlot

A standalone CTA button suitable for persistent nav CTAs or inline upgrade prompts.

Content fields: cta_label, style (primary | secondary | accent)

A live, editable example. The <Slot> renders whatever button placement the decision engine picks for the current user — or nothing. Edit the code (or switch the demo user) and the preview re-runs:

App.tsx
import { Slot } from "@revturbine/sdk";
import { DemoApp } from "./DemoApp";
// Carol is on Starter with an active trial, so the engine serves her an upgrade
// button. Switch to user="user_eve" (Enterprise) and the slot renders nothing —
// there's nothing to upsell.
export default function App() {
return (
<DemoApp user="user_carol">
<Slot id="nav_bar_right" surfaceTemplateIds={["button"]} />
</DemoApp>
);
}

Opens a live, editable sandbox with the published SDK.

The ButtonSlot renders automatically when the decision engine selects a button template for the slot. Style variants are controlled via the style content field in your placement configuration.

Related: Playground → Upgrade Button · API Reference