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 slides_list_templates 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

slides_list_templates({ 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 slides_list_template_layouts 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

slides_list_template_layouts({
  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 slides_get_template_layout. 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

slides_get_template_layout({
  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. slides_update_template_layout 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

slides_update_template_layout({
  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 slides_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
slides_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?” slides_list_templates to list available templates
  • “What layouts does my corporate template have?” slides_list_template_layouts to browse layouts
  • “Show me what the title slide looks like” slides_get_template_layout to inspect placeholder positions and styles
  • “Create a pitch deck using my brand template” slides_list_templates slides_list_template_layouts slides_bulk_create with the template
  • “Add a description to this layout” slides_update_template_layout to save a helpful description

Related