Slides

figma_list_slides

The list of presentation slides: ids, names, grid positions and the skip flag. Works in Figma Slides files only. Requires the plugin.

read-only · repeat-safe · the connected file only.

Takes no parameters.

JSON Schema
{
  "type": "object",
  "properties": {}
}

figma_get_slide_content

The content tree of a slide: texts, shapes and frames with their properties. Requires the plugin.

read-only · repeat-safe · the connected file only.

Parameter Type Required Default Description
slideId string yes — Slide id, for example '1:23'.
JSON Schema
{
  "type": "object",
  "properties": {
    "slideId": {
      "description": "Slide id, for example \u00271:23\u0027.",
      "type": "string"
    }
  },
  "required": [
    "slideId"
  ]
}

figma_get_slide_grid

The two-dimensional slide grid: how the slides are laid out in rows and columns. Requires the plugin.

read-only · repeat-safe · the connected file only.

Takes no parameters.

JSON Schema
{
  "type": "object",
  "properties": {}
}

figma_get_slide_transition

The current transition settings of a slide: style, duration, easing curve. Requires the plugin.

read-only · repeat-safe · the connected file only.

Parameter Type Required Default Description
slideId string yes — Slide id.
JSON Schema
{
  "type": "object",
  "properties": {
    "slideId": {
      "description": "Slide id.",
      "type": "string"
    }
  },
  "required": [
    "slideId"
  ]
}

figma_get_focused_slide

The slide currently open in single-slide mode. Requires the plugin.

read-only · repeat-safe · the connected file only.

Takes no parameters.

JSON Schema
{
  "type": "object",
  "properties": {}
}

figma_create_slide

Creates an empty slide. Its grid position can be set by row and column. Requires the plugin.

only adds · every call adds · the connected file only.

Parameter Type Required Default Description
row integer? — null Row index in the grid, zero-based.
col integer? — null Column index in the grid, zero-based.
JSON Schema
{
  "type": "object",
  "properties": {
    "row": {
      "description": "Row index in the grid, zero-based.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "col": {
      "description": "Column index in the grid, zero-based.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    }
  }
}

figma_delete_slide

Deletes a slide from the presentation. The action is destructive — it is undone only through undo in Figma. Requires the plugin.

may overwrite or delete · repeat-safe · the connected file only.

Parameter Type Required Default Description
slideId string yes — Id of the slide to delete.
JSON Schema
{
  "type": "object",
  "properties": {
    "slideId": {
      "description": "Id of the slide to delete.",
      "type": "string"
    }
  },
  "required": [
    "slideId"
  ]
}

figma_duplicate_slide

Duplicates a slide. The copy lands next to the original. Requires the plugin.

only adds · every call adds · the connected file only.

Parameter Type Required Default Description
slideId string yes — Slide id.
JSON Schema
{
  "type": "object",
  "properties": {
    "slideId": {
      "description": "Slide id.",
      "type": "string"
    }
  },
  "required": [
    "slideId"
  ]
}

figma_reorder_slides

Rearranges the slides into a new grid. grid is a JSON array of arrays of ids, each nested array being one grid row: [["1:2","1:3"],["1:4"]]. The action is destructive: the order is replaced entirely. Requires the plugin.

may overwrite or delete · repeat-safe · the connected file only.

Parameter Type Required Default Description
grid string yes — New grid as a JSON string.
JSON Schema
{
  "type": "object",
  "properties": {
    "grid": {
      "description": "New grid as a JSON string.",
      "type": "string"
    }
  },
  "required": [
    "grid"
  ]
}

figma_set_slide_transition

Sets the transition of a slide. style: NONE, DISSOLVE, SLIDE_FROM_LEFT/RIGHT/TOP/BOTTOM, PUSH_FROM_LEFT/RIGHT/TOP/BOTTOM, MOVE_FROM_LEFT/RIGHT/TOP/BOTTOM, SLIDE_OUT_TO_LEFT/RIGHT/TOP/BOTTOM, MOVE_OUT_TO_LEFT/RIGHT/TOP/BOTTOM, SMART_ANIMATE. curve: LINEAR, EASE_IN, EASE_OUT, EASE_IN_AND_OUT, GENTLE, QUICK, BOUNCY, SLOW. Requires the plugin.

may overwrite or delete · repeat-safe · the connected file only.

Parameter Type Required Default Description
slideId string yes — Slide id.
style string yes — Transition style.
duration number — 0.4 Duration in seconds, from 0.01 to 10.
curve string — EASE_IN_AND_OUT Easing curve.
JSON Schema
{
  "type": "object",
  "properties": {
    "slideId": {
      "description": "Slide id.",
      "type": "string"
    },
    "style": {
      "description": "Transition style.",
      "type": "string"
    },
    "duration": {
      "description": "Duration in seconds, from 0.01 to 10.",
      "type": "number",
      "default": 0.4
    },
    "curve": {
      "description": "Easing curve.",
      "type": "string",
      "default": "EASE_IN_AND_OUT"
    }
  },
  "required": [
    "slideId",
    "style"
  ]
}

figma_skip_slide

Turns skipping a slide in presentation mode on and off. Requires the plugin.

may overwrite or delete · repeat-safe · the connected file only.

Parameter Type Required Default Description
slideId string yes — Slide id.
skip boolean yes — true skips it, false shows it.
JSON Schema
{
  "type": "object",
  "properties": {
    "slideId": {
      "description": "Slide id.",
      "type": "string"
    },
    "skip": {
      "description": "true skips it, false shows it.",
      "type": "boolean"
    }
  },
  "required": [
    "slideId",
    "skip"
  ]
}

figma_add_text_to_slide

Adds text to a slide: font, color, alignment and the rest of the formatting. width enables line wrapping. Requires the plugin.

only adds · every call adds · the connected file only.

Parameter Type Required Default Description
slideId string yes — Slide id.
text string yes — Text.
x number — 100 X coordinate.
y number — 100 Y coordinate.
fontSize number — 24 Font size in pixels.
fontFamily string — Inter Font family, for example 'Manrope', 'IBM Plex Sans'.
fontStyle string — Regular Font style, for example 'Bold', 'SemiBold', 'Medium'.
color string? — null Text color in hex, for example '#FFFFFF'.
textAlign string? — null Alignment: LEFT, CENTER, RIGHT.
width number? — null Width of the text block — it enables line wrapping.
lineHeight number? — null Line height in pixels.
letterSpacing number? — null Letter spacing in pixels.
textCase string? — null Case: ORIGINAL, UPPER, LOWER, TITLE.
JSON Schema
{
  "type": "object",
  "properties": {
    "slideId": {
      "description": "Slide id.",
      "type": "string"
    },
    "text": {
      "description": "Text.",
      "type": "string"
    },
    "x": {
      "description": "X coordinate.",
      "type": "number",
      "default": 100
    },
    "y": {
      "description": "Y coordinate.",
      "type": "number",
      "default": 100
    },
    "fontSize": {
      "description": "Font size in pixels.",
      "type": "number",
      "default": 24
    },
    "fontFamily": {
      "description": "Font family, for example \u0027Manrope\u0027, \u0027IBM Plex Sans\u0027.",
      "type": "string",
      "default": "Inter"
    },
    "fontStyle": {
      "description": "Font style, for example \u0027Bold\u0027, \u0027SemiBold\u0027, \u0027Medium\u0027.",
      "type": "string",
      "default": "Regular"
    },
    "color": {
      "description": "Text color in hex, for example \u0027#FFFFFF\u0027.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "textAlign": {
      "description": "Alignment: LEFT, CENTER, RIGHT.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "width": {
      "description": "Width of the text block \u2014 it enables line wrapping.",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "lineHeight": {
      "description": "Line height in pixels.",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "letterSpacing": {
      "description": "Letter spacing in pixels.",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "textCase": {
      "description": "Case: ORIGINAL, UPPER, LOWER, TITLE.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "slideId",
    "text"
  ]
}

figma_add_shape_to_slide

Adds a rectangle or an ellipse to a slide. shapeType: RECTANGLE or ELLIPSE. Requires the plugin.

only adds · every call adds · the connected file only.

Parameter Type Required Default Description
slideId string yes — Slide id.
shapeType string yes — Shape type: RECTANGLE or ELLIPSE.
x number yes — X coordinate.
y number yes — Y coordinate.
width number yes — Width in pixels.
height number yes — Height in pixels.
fillColor string — #CCCCCC Fill color in hex, for example '#FF5733'.
JSON Schema
{
  "type": "object",
  "properties": {
    "slideId": {
      "description": "Slide id.",
      "type": "string"
    },
    "shapeType": {
      "description": "Shape type: RECTANGLE or ELLIPSE.",
      "type": "string"
    },
    "x": {
      "description": "X coordinate.",
      "type": "number"
    },
    "y": {
      "description": "Y coordinate.",
      "type": "number"
    },
    "width": {
      "description": "Width in pixels.",
      "type": "number"
    },
    "height": {
      "description": "Height in pixels.",
      "type": "number"
    },
    "fillColor": {
      "description": "Fill color in hex, for example \u0027#FF5733\u0027.",
      "type": "string",
      "default": "#CCCCCC"
    }
  },
  "required": [
    "slideId",
    "shapeType",
    "x",
    "y",
    "width",
    "height"
  ]
}

figma_set_slide_background

Sets the slide background: it creates or updates a rectangle covering the whole slide. color is hex of the form '#181818'. Requires the plugin.

may overwrite or delete · repeat-safe · the connected file only.

Parameter Type Required Default Description
slideId string yes — Slide id.
color string yes — Background color in hex.
JSON Schema
{
  "type": "object",
  "properties": {
    "slideId": {
      "description": "Slide id.",
      "type": "string"
    },
    "color": {
      "description": "Background color in hex.",
      "type": "string"
    }
  },
  "required": [
    "slideId",
    "color"
  ]
}

figma_set_slides_view_mode

Switches the presentation view: mode is 'grid' or 'single-slide'. Requires the plugin.

only adds · repeat-safe · the connected file only.

Parameter Type Required Default Description
mode string yes — View mode: grid or single-slide.
JSON Schema
{
  "type": "object",
  "properties": {
    "mode": {
      "description": "View mode: grid or single-slide.",
      "type": "string"
    }
  },
  "required": [
    "mode"
  ]
}

figma_focus_slide

Moves to a slide in single-slide mode. Requires the plugin.

only adds · repeat-safe · the connected file only.

Parameter Type Required Default Description
slideId string yes — Slide id.
JSON Schema
{
  "type": "object",
  "properties": {
    "slideId": {
      "description": "Slide id.",
      "type": "string"
    }
  },
  "required": [
    "slideId"
  ]
}