# Script and AI instructions

Each slide carries two text fields that shape what the agent does when it lands on the slide: a **script** and **AI instructions**. The Slide inspector exposes both.

## Script — what the agent says

The script is the literal (or guidance) text the agent speaks when the slide becomes active. Two modes:

- **Exact** — the agent speaks this text verbatim. Best when the wording is critical (legal disclaimers, brand-specific phrasing, scripted demos).
- **Guidance** — the agent uses this as a directive ("convey *this*") and improvises the actual wording in its own voice. Best for natural-sounding demos.

Pick the mode with the pills at the top of the script panel. Default: **guidance**.

```text title="exact-mode.txt"
Welcome to Acme Furniture. I'm Marlow, here to help you find your couch.
```

```text title="guidance-mode.txt"
Greet warmly with the company name. Mention you're the assistant and ask what brings them in today.
```

## AI instructions — how the agent should behave

The AI instructions field is a separate directive the agent picks up before it speaks. It doesn't change *what* the agent says (that's the script's job) — it changes *how*.

Use cases:

- **Tone shifts** — "Use a more formal tone here. This is the legal section."
- **Knowledge boundaries** — "If they ask about pricing on this slide, redirect to slide 4."
- **Action triggers** — "Listen for the visitor mentioning their budget; if they do, call the `qualify_lead` tool."
- **Visitor-state awareness** — "If the visitor identified as a returning customer in slide 1, skip the intro paragraph."

```text title="ai-instructions.txt"
Listen for product preferences (color, size, style). Repeat them back to confirm.
If the visitor mentions their budget, call the `qualify_lead` tool with the amount.
Don't offer pricing on this slide — that's slide 4.
```

The agent receives both the script (or guidance) and the AI instructions as part of its slide-level prompt. They compose: the script tells the agent *what* to say, the instructions tell it *how to think*.

## Voice override

Below the script panel, the inspector lets you pick a **per-slide voice** override. Useful for multi-character scenarios (different personas for different sections of a deck). Default: the deck-wide voice configured at the agent level.

## Speaker notes

A separate textarea for **internal notes** — things you want to remember as an author but the agent never sees. Equivalent to PowerPoint's speaker notes. Stored on the slide; not surfaced to the visitor or the agent.

## How quizzes interact with scripts

When a visitor answers a [quiz](/docs/build/slides/quiz), the agent receives the answer as a structured event. Wire your AI instructions to react:

```text title="ai-instructions-with-quiz.txt"
This slide has a quiz: "Which is more important to you — speed or quality?"
- If the visitor picks "speed": jump to slide 5 (express tier) and skip slide 4.
- If the visitor picks "quality": take them through slide 4 (premium tier) in detail.
- If they pick both (multi-select): give a balanced summary of both tiers.
```

The agent reads this directive and adjusts. Combined with [`Button → goto_slide`](/docs/build/slides/elements/button) for explicit jumps, you get a branching narrative without writing per-slide JS.

## Schema reference

<!-- omitted: ParamsTable -->

## Read next

- [Avatar dock](/docs/build/slides/avatar-dock) — pair script changes with avatar position changes
- [Quiz](/docs/build/slides/quiz) — the structured event the AI instructions react to
- [Button → agent_intent](/docs/build/slides/elements/button) — let visitors jump-start specific agent behavior
