Templates

Your AI assistant uses these tools to discover and apply your brand templates — pre-configured layouts, colors, and fonts that keep every presentation on-brand.

Templates are imported from PowerPoint files (.potx / .potm) and contain one or more layouts — predefined slide structures with placeholders for titles, body text, images, and decorative elements. When your assistant creates slides using a template, it automatically applies the template's colors, fonts, and positioning.

For a step-by-step guide on importing and using templates, see How Do I Use Brand Templates?

Listing Your Templates

When you ask to “use my corporate template” or your assistant is about to create a new presentation, it first calls template_list to see what templates you have available. This is a required step before creating any new deck — your assistant checks for brand templates so it can use them instead of starting from scratch.

Parameters

ParameterTypeRequiredDescription
limitnumberNoMaximum templates to return (1–100, default 20)
offsetnumberNoNumber of templates to skip for pagination (default 0)

What It Returns

  • total — total number of templates you have
  • templates — array of template summaries (id, name, layoutCount, primaryColor, updatedAt)
  • hasMore — whether more templates are available beyond the current page

Example

template_list({ limit: 10 })

// Response:
// {
//   total: 2,
//   hasMore: false,
//   templates: [
//     { id: "template_abc", name: "Corporate Blue",
//       layoutCount: 5, primaryColor: "#0066CC",
//       updatedAt: 1706000000000 },
//     { id: "template_def", name: "Marketing Deck",
//       layoutCount: 8, primaryColor: "#E33737",
//       updatedAt: 1705900000000 }
//   ]
// }

Browsing Template Layouts

Once your assistant has selected a template, it calls template_layout_list to see what layouts are available. Each layout is a predefined slide structure — like “Title Slide,” “Content,” or “Two Column” — with specific placeholders and background styling.

Parameters

ParameterTypeRequiredDescription
templateIdstringYesThe template to list layouts for

What It Returns

  • templateName — name of the template
  • layouts — array of layout summaries, each with:
    • id, name, order — layout identity and sort position
    • isDefault — whether this is the default layout
    • placeholderCount, placeholderTypes — how many placeholders and what types (title, body, subtitle)
    • backgroundColor — the layout's background color

Example

template_layout_list({
  templateId: "template_abc"
})

// Response:
// {
//   templateId: "template_abc",
//   templateName: "Corporate Blue",
//   layouts: [
//     { id: "layout_001", name: "Title Slide",
//       order: 0, isDefault: true,
//       placeholderCount: 2,
//       placeholderTypes: ["title", "subtitle"],
//       backgroundColor: "#FFFFFF" },
//     { id: "layout_002", name: "Content",
//       order: 1, isDefault: false,
//       placeholderCount: 2,
//       placeholderTypes: ["title", "body"],
//       backgroundColor: "#FFFFFF" },
//     { id: "layout_003", name: "Two Column",
//       order: 2, isDefault: false,
//       placeholderCount: 3,
//       placeholderTypes: ["title", "body", "body"],
//       backgroundColor: "#FFFFFF" }
//   ]
// }

Inspecting a Layout

To understand exactly what a layout contains before using it, your assistant calls template_layout_get. This returns the full structural detail: every placeholder with its position, size, and text style; every decorative object (shapes, accent bars); and any background images.

Parameters

ParameterTypeRequiredDescription
templateIdstringYesThe parent template ID
layoutIdstringYesThe specific layout to inspect

What It Returns

A detailed breakdown of the layout, including:

  • Layout info — name, order, whether it's the default, background color
  • Placeholders — each placeholder's type (title, body, subtitle), position, size, font, color, alignment, and default text
  • Decorative objects — shapes, accent bars, and other non-placeholder elements with their positions, colors, and styles
  • Images — background or decorative images with positions and dimensions

Example

template_layout_get({
  templateId: "template_abc",
  layoutId: "layout_001"
})

// Response (formatted markdown):
//
// ## Layout: "Title Slide"
//
// Template: Corporate Blue
// ID: layout_001
// Order: 0 (default layout)
// Background: #FFFFFF
//
// ### Placeholders
//
//   1. **title**
//      Position: (60, 200) — Size: 1160 × 120
//      Style: font: Inter, size: 44pt,
//             color: #1C2833, align: center
//
//   2. **subtitle**
//      Position: (60, 340) — Size: 1160 × 80
//      Style: font: Inter, size: 24pt,
//             color: #666666, align: center
//
// ### Decorative Objects
//
//   1. **AccentBar** (rectangle)
//      Position: (0, 0) — Size: 1280 × 16
//      Style: fill: #0066CC, opacity: 100%

Updating a Layout Description

After inspecting a layout, your assistant can save a description that helps it (and other AI assistants) pick the right layout in the future. template_layout_update updates the layout's name and/or description. Your assistant will always ask for confirmation before saving.

Parameters

ParameterTypeRequiredDescription
templateIdstringYesThe parent template ID
layoutIdstringYesThe layout to update
namestringNo*New layout name (1–200 characters)
layoutDescriptionstringNo*Free-text description for when and how to use this layout (max 2000 characters)

* At least one of name or layoutDescription must be provided.

What It Returns

  • success — whether the update succeeded
  • updatedFields — list of field names that were changed

Example

template_layout_update({
  templateId: "template_abc",
  layoutId: "layout_003",
  layoutDescription: "Two-column comparison layout. Use for side-by-side content like pros/cons, before/after, or feature comparisons. Title spans full width at top."
})

// Response:
// {
//   success: true,
//   layoutId: "layout_003",
//   templateId: "template_abc",
//   updatedFields: ["layoutDescription"]
// }

Using Templates When Creating Slides

Once your assistant knows which template and layouts to use, it passes them to slide_bulk_create with a templateId and layout IDs for each slide. The template's theme (fonts, colors) is applied automatically, and placeholder content is filled in from your request.

Example

// Create a deck using template layouts
slide_bulk_create({
  name: "Q4 Review",
  templateId: "template_abc",
  slides: [
    {
      layoutId: "layout_001",
      title: "Q4 Business Review",
      subtitle: "January 2026"
    },
    {
      layoutId: "layout_002",
      title: "Revenue Highlights",
      body: "- Total revenue: **$4.2M**\n- Growth: +18% QoQ"
    }
  ]
})

Which Tool Will My Assistant Use?

Your AI assistant picks the right tool based on what you ask:

  • “Do I have any templates?” template_list to list available templates
  • “What layouts does my corporate template have?” template_layout_list to browse layouts
  • “Show me what the title slide looks like” template_layout_get to inspect placeholder positions and styles
  • “Create a pitch deck using my brand template” template_list template_layout_list slide_bulk_create with the template
  • “Add a description to this layout” template_layout_update to save a helpful description

Related