Skip to main content

Use variables in playlists and deal rooms

Updated Oct 13, 2026

Use variables in playlists and deal rooms

Overview​

Playlists and Deal Rooms use the same library variables as demos, so you can personalize text, images, and dates once and have the values flow through every section — including any embedded Walnut demos.

A variable is a placeholder you drop into rich text, into an image slot, or into a Mutual Action Plan task. When the playlist or Deal Room is viewed, Walnut substitutes the placeholder with the right value for that viewer: the one supplied in the link, the one named by the chosen preset, the one pulled from your CRM, the one saved on the room, or the variable's default — whichever is available first.

Only library (company-wide) variables are supported here. Per-demo variables created inside a single storyline are not placed into playlists or Deal Rooms.


Before You Start​

  • You can only insert variables that already exist in your workspace Variables library. See Create demo variables for how to build text, image, color, and date variables and add them to the library.
  • Variable values set in a playlist or Deal Room are resolved at render time. The underlying content keeps the token, so a single playlist can be opened by multiple viewers with different values applied.

Where You Can Place a Variable​

Variables show up in the top-bar property panel as a bolt (variables) icon whenever one of the following is selected:

SurfaceWhat a variable does
Rich text (section titles, descriptions, text sections, text cells in a comparison table)Inserts the variable as a tag inside the text. Each tag is replaced with the resolved value when the room is viewed.
Image elementsBinds the image to an image variable, so the picture swaps per viewer.
Mutual Action Plan task name (Deal Rooms)Inserts the variable into the task title.
Mutual Action Plan task due date (Deal Rooms)Sets the due date from a date variable, from a dynamic offset, or relative to the room.

In rich text, a variable tag is highlighted and shows its resolved value while you edit, so it is easy to see which words will swap at run time.


Dynamic Dates in Playlist and Deal Room Text​

Along with library Date variables, text in a playlist or Deal Room supports Dynamic Date — the same picker available in the demo editor. Open the Variables menu in the text toolbar, choose Dynamic Date, pick a format, and set an offset in days, months, or years. The date renders as the viewing day moved by the offset, formatted with the template you chose.

Dynamic Dates are evaluated every time the room is opened, so time-sensitive copy stays current without being edited.


Relative Due Dates in a Mutual Action Plan​

A Mutual Action Plan task's due date can be set in three ways:

  • Fixed — a specific calendar date.
  • From a Date variable — picks up whatever the Date variable resolves to.
  • Relative to the room — a number of days, weeks, or months counted from the room's first publish date or from the connected CRM opportunity's creation date.

Relative dates are fixed per room once the anchor exists, so a task that is past its calculated date is shown as overdue. Until the room has been published or has a connected opportunity, a relative date counts from today.


How Values Are Supplied​

Playlists — the Preflight screen​

For a playlist, variable values are picked up front on the Preflight screen. Preflight is turned on from the playlist's Settings panel, in the Variables section.

With Preflight on, opening the playlist as a member first lands on a presenter screen that shows:

  • A Preset picker listing every preset defined in Company Settings → Global variables → Presets. Picking a preset applies its values to every variable it covers.
  • A Shared section listing the library variables used across the playlist, so you can edit each one directly.
  • A per-demo section for each embedded demo, listing that demo's own variables so you can override them for this session.
  • A live preview of the playlist that re-renders every time you edit a value or apply a preset.
  • Copy link to share a link that carries the chosen preset and edits as URL parameters, and Start to open the playlist with the values applied.

Values travel to the room as the same var<Name> URL parameters a demo uses, so a link copied from Preflight opens the room already personalized — including any embedded demos, which read the same parameters.

Deal Rooms — set at creation from a template​

A Deal Room gets its variable values when you create it from a template. The template picker lists the library variables that need values, and whatever you fill in is saved with the new room. Opening the room resolves those saved values the same way the Preflight resolves them for a playlist.

Deal Rooms do not have a Preflight screen — the step above replaces it.

Resolution order​

Across both playlists and Deal Rooms, Walnut resolves each variable by walking through its sources in order and taking the first non-blank value it finds:

  1. Link — a value passed in on the share URL (what Preflight writes).
  2. Preset — the value from the preset chosen in Preflight.
  3. CRM — a value pulled from the connected CRM (for example, Salesforce), for variables mapped to a CRM field.
  4. Saved — the value saved on the Deal Room when it was created from a template.
  5. Default — the variable's default value from the library.

If none of these produces a value, the variable's placeholder stays empty.


Variables Carry Through to Embedded Demos​

Any Walnut demo embedded inside the playlist or Deal Room inherits the resolved values of library variables used by both. That means you can set the viewer's name, company, or logo once at the playlist level and have every embedded demo pick it up — no per-demo link editing required.


Key Takeaways​


Was this helpful?