> ## Documentation Index
> Fetch the complete documentation index at: https://docs-slidekit.theduomi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agenda Blocks

> Author agenda slides from section lists, active section indexes, and template-driven agenda styling.

# Agenda Blocks

Use an agenda block when the template slide is an agenda layout and the request needs to provide the section list. The template supplies the placement, base styling, and numbered marker style. The payload supplies the section titles and which section should be highlighted.

## Basic Shape

Inside `slide_data.content.blocks`, an agenda block looks like this:

```json theme={"dark"}
{
  "type": "agenda",
  "agenda": {
    "sections": [
      "Customer Health Snapshot",
      "Renewal Outlook",
      "Customer Advisory Board"
    ],
    "active_index": 0
  }
}
```

`sections` is required and must contain at least one item. `active_index` is optional; use `null` or omit it when no section should be highlighted.

## Template Requirements

Agenda blocks should target agenda template slides. A compatible agenda template has:

* A one-column table or agenda text region for section titles
* Numbered oval markers or equivalent section markers
* The base font, spacing, color, and marker style you want reused

During generation, the renderer removes the existing agenda sample content and rebuilds the agenda using the provided `sections` array.

## Active Section

`active_index` is zero-based. The first section is `0`, the second is `1`, and so on.

```json theme={"dark"}
{
  "type": "agenda",
  "agenda": {
    "sections": [
      "Market Overview",
      "Strategy",
      "Next Steps"
    ],
    "active_index": 1,
    "active_font_color": "#CC0000",
    "active_bold": true,
    "active_underline": true
  }
}
```

In this example, `Strategy` is the active section.

If `active_index` is outside the section list, generation fails validation for that slide. For example, a three-section agenda accepts `0`, `1`, or `2`.

## Fields

* `sections`: ordered agenda section titles.
* `active_index`: optional zero-based index of the active section.
* `active_font_color`: optional hex color for the active section text.
* `active_bold`: optional active-section bold override. Defaults to `true`.
* `active_underline`: optional active-section underline override. Defaults to `true`.

When an active styling field is omitted, the renderer uses the template styling or the schema default.

## Complete Example

<Accordion title="Agenda block request example">
  ```json theme={"dark"}
  {
    "template_slide_id": "slide_agenda",
    "slide_data": {
      "title": "Agenda",
      "content": {
        "blocks": [
          {
            "type": "agenda",
            "agenda": {
              "sections": [
                "Customer Health Snapshot",
                "Renewal Outlook",
                "Customer Advisory Board",
                "AI Copilot Reception",
                "NPS & Detractor Analysis"
              ],
              "active_index": 0,
              "active_font_color": "#CC0000",
              "active_bold": true,
              "active_underline": true
            }
          }
        ]
      }
    }
  }
  ```
</Accordion>

The visual example below is generated from the complete payload above. It shows the template agenda labels and marker styling replaced with the supplied section list, including the active section highlight.

<Columns cols={2}>
  <Frame caption="Template slide">
    <img src="https://mintcdn.com/duomi/0eYM0n6_9GystnoS/images/presentation-generation/agenda-template.png?fit=max&auto=format&n=0eYM0n6_9GystnoS&q=85&s=4aa9c0ab7e55f1ba905757093a95bb7c" alt="Template agenda slide with four placeholder agenda items and red numbered markers." width="2880" height="1620" data-path="images/presentation-generation/agenda-template.png" />
  </Frame>

  <Frame caption="Generated slide">
    <img src="https://mintcdn.com/duomi/0eYM0n6_9GystnoS/images/presentation-generation/agenda-generated.png?fit=max&auto=format&n=0eYM0n6_9GystnoS&q=85&s=2632e27eb5e50dfcca10c2afcb23a492" alt="Generated agenda slide with five customer diligence sections and the first section highlighted in red." width="2880" height="1620" data-path="images/presentation-generation/agenda-generated.png" />
  </Frame>
</Columns>

## Common Issues

* Missing `agenda` object: every block with `type: "agenda"` must include an `agenda` field.
* Empty `sections`: agenda blocks require at least one section title.
* Out-of-range `active_index`: the active index must point to an existing section.
* Wrong template layout: use agenda blocks with agenda template slides, not generic table or chart slides.

## Related Guides

<CardGroup cols={3}>
  <Card title="Presentation Generation" icon="file-powerpoint" href="/guides/presentation-generation">
    Generate a single agenda slide or include agenda slides in a full deck.
  </Card>

  <Card title="Slide Input" icon="braces" href="/guides/slide-input">
    See how agenda blocks fit into the top-level `slide_data` schema.
  </Card>

  <Card title="Examples" icon="code" href="/guides/examples">
    Adapt complete request payloads for generated decks.
  </Card>
</CardGroup>
