A collaborative interface design tool.
A collaborative interface design tool. On Nagent, Figma is exposed as a fully-configurable images & design integration that any agent can call — 53 actions, and OAUTH2, API_KEY authentication. No code is required to wire Figma into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Figma to automate the kinds of tasks images & design teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Figma into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Figma, with input parameters and output schema. Drop these into any step of an agent built in Helix.
FIGMA_ADD_A_COMMENT_TO_A_FILEPosts a new comment to a Figma file or branch, optionally replying to an existing root comment (replies cannot be nested); `region_height` and `region_width` in `client_meta` must be positive if defining a comment region.
Input parameters
Text content of the comment.
Figma file key or branch key. Extract from the file URL: https://www.figma.com/design/FILE_KEY/... or https://www.figma.com/file/FILE_KEY/... The FILE_KEY is the alphanumeric string between 'design/' or 'file/' and the next slash. You must have access to the file (editor or commenter permissions required to add comments). For branch keys, use GET /v1/files/:key with branch_data parameter.
ID of an existing root comment to reply to. Replies cannot be made to other replies.
Dictionary specifying the comment's position. Valid formats: 1) Absolute coordinates: {x, y} 2) Node-relative: {node_id, node_offset: {x, y}} (when node_id is used, coordinates MUST be inside node_offset) 3) Absolute region: {x, y, region_height, region_width, comment_pin_corner?} 4) Node-relative region: {node_id, node_offset: {x, y}, region_height, region_width, comment_pin_corner?}. While technically optional, providing this parameter is strongly recommended to properly position the comment in the file.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_ADD_A_REACTION_TO_A_COMMENTPosts a specified emoji reaction to an existing comment in a Figma file or branch, requiring valid file_key and comment_id.
Input parameters
The emoji to use for the reaction, specified as a shortcode (e.g., `:heart:`, `:+1::skin-tone-2:`). For a comprehensive list of accepted emoji shortcodes, including aliases and skin tone modifiers, refer to the file linked here: \[https://raw.githubusercontent.com/missive/emoji-mart/main/packages/emoji-mart-data/sets/14/native.json\](https://raw.githubusercontent.com/missive/emoji-mart/main/packages/emoji-mart-data/sets/14/native.json).
Identifier of the Figma file or branch to which the comment reaction will be posted. This can be a file key (e.g., from the file URL) or a branch key. Use the `GET /v1/files/:key` endpoint with the `branch_data=true` query parameter to obtain the branch key if needed.
The unique identifier of the comment to which the reaction should be added.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_CREATE_A_WEBHOOKCreates a Figma webhook to receive POST notifications when specific events occur. Webhooks can monitor events at three scopes: - Team level: monitors all files in a team (requires team admin permissions) - Project level: monitors all files in a project (requires edit access) - File level: monitors a specific file (requires edit access) Upon creation, Figma sends an initial PING event to verify your endpoint (unless status is PAUSED). IMPORTANT: team_id, project_id, and file_key cannot be discovered programmatically. Extract them from Figma URLs or use FIGMA_DISCOVER_FIGMA_RESOURCES to parse URLs.
Input parameters
Initial webhook status. `ACTIVE` (default): webhook is operational and receives an initial PING event upon creation. `PAUSED`: webhook is inactive and receives no events; use FIGMA_UPDATE_A_WEBHOOK to activate later.
Scope of the webhook. Use with `context_id`. `team`: monitors all files in a team (requires team admin). `project`: monitors all files in a project (requires edit access). `file`: monitors a specific file (requires edit access). If not provided, `team_id` must be specified instead.
DEPRECATED: Use `context='team'` with `context_id` instead. Identifier of the Figma team for which this webhook monitors events. To find your team_id: navigate to your team page in Figma (https://www.figma.com/files/team/YOUR_TEAM_ID/Team-Name), the team_id is the number after '/team/' in the URL. Note: team_ids cannot be discovered programmatically via the API.
Publicly accessible HTTPS URL (max 2048 chars) that receives POST requests from Figma when the event triggers. Must be reachable from the internet. Figma sends JSON payloads with event details to this endpoint.
Secret string (max 100 chars) included in the webhook payload for verification. Use this to verify that incoming requests to your endpoint are genuinely from Figma.
ID of the context (team, project, or file) to monitor. For team: extract from URL https://www.figma.com/files/team/TEAM_ID/... For project: extract from URL or use FIGMA_GET_PROJECTS_IN_A_TEAM. For file: use the file_key from URL https://www.figma.com/design/FILE_KEY/... Required when `context` is specified.
Type of event that triggers the webhook. FILE_UPDATE: triggered when a file is saved/modified. FILE_DELETE: triggered when a file is deleted. FILE_VERSION_UPDATE: triggered when a new version is added to file history. FILE_COMMENT: triggered when a comment is added. LIBRARY_PUBLISH: triggered when a library is published.
Optional human-readable description for the webhook (max 150 chars). Useful for identifying the webhook's purpose in the team's webhook list.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_CREATE_DEV_RESOURCESCreates and attaches multiple uniquely-URLed development resources to specified Figma nodes, up to 10 per node.
Input parameters
List of development resources to create.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_CREATE_MODIFY_DELETE_VARIABLESManages variables, collections, modes, and their values in a Figma file via batch create/update/delete operations; use temporary IDs to link new related items in one request and ensure `variableModeValues` match the target variable's `resolvedType`.
Input parameters
The key of the Figma file or branch to modify variables in. Use `GET /v1/files/:key` with the `branch_data=true` query parameter to obtain a branch key.
List of operations for variables. Each item specifies an action (CREATE, UPDATE, DELETE) and the relevant fields. Maximum 5000 variables per collection. Variables cannot be created in extended collections.
List of operations for modes. Each item specifies an action (CREATE, UPDATE, DELETE) and the relevant fields. Maximum 40 modes per collection. Modes cannot be created/updated in extended collections (only deleted if parent mode was deleted).
List of value assignments for variables in specific modes. Each item sets the value of a variable in a particular mode. Values must match the variable's resolvedType.
List of operations for variable collections. Each item specifies an action (CREATE, UPDATE, DELETE) and the relevant fields for that action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_DELETE_A_COMMENTDeletes a specific comment from a Figma file or branch, provided the authenticated user is the original author of the comment.
Input parameters
The key of the Figma file or branch from which the comment will be deleted. This can be a file key (typically found in the file's URL, e.g., 'sFHgQh9dL6369o5wrZHmdR' from https://www.figma.com/design/sFHgQh9dL6369o5wrZHmdR/...) or a branch key. To obtain a branch key, use the `GET /v1/files/:key` endpoint with the `branch_data` query parameter.
The unique string identifier of the comment to be deleted. This ID can be obtained from the response of `GET /v1/files/:file_key/comments` or from the response when creating a comment with `POST /v1/files/:file_key/comments`. Only the author of the comment can delete it.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_DELETE_A_REACTIONDeletes a specific emoji reaction from a comment in a Figma file; the user must have originally created the reaction.
Input parameters
The specific emoji character (e.g., '❤️', '👍') of the reaction to delete. This must be an exact match to the emoji of an existing reaction on the comment.
Key of the file or branch containing the comment reaction to be deleted. The file key can be obtained from the file URL or API responses. To get a branch key, use the `GET /v1/files/:key` endpoint with the `branch_data` query parameter.
Identifier of the comment from which the reaction will be removed. This ID is specific to the comment within the Figma file.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_DELETE_A_WEBHOOKPermanently deletes an existing webhook, identified by its unique `webhook_id`; this operation is irreversible.
Input parameters
The unique identifier of the webhook to be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_DELETE_DEV_RESOURCEDeletes a development resource (used to link Figma design elements to external developer information like code or tasks) from a specified Figma file.
Input parameters
Identifier of the Figma file from which to delete the dev resource. Must be a main file key, not a branch key.
Identifier of the dev resource to delete from the file.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_DESIGN_TOKENS_TO_TAILWINDConvert design tokens to Tailwind CSS configuration. TWO-STEP WORKFLOW: 1. First, call FIGMA_EXTRACT_DESIGN_TOKENS with a Figma file_key to extract design tokens 2. Then, pass the returned DesignTokens object to this action's 'tokens' parameter This action generates: - tailwind.config.ts/js with theme extensions - Optional globals.css with font imports Note: Shadow colors can be provided in either string format (e.g., "rgba(15, 110, 110, 0.32)") or dictionary format (e.g., {"r": 0.059, "g": 0.431, "b": 0.431, "a": 0.32}).
Input parameters
Prefix for generated token names (e.g., 'brand-')
Design tokens object obtained from the FIGMA_EXTRACT_DESIGN_TOKENS action output. Contains colors, typography, spacing, border_radius, shadows, total_tokens, and sources.
Output format: 'ts' for TypeScript or 'js' for JavaScript
Include @import statements for Google Fonts
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_DETECT_BACKGROUNDDetect background layers for selected nodes in a Figma file. This action analyzes the Figma document structure and identifies potential background elements for the given target nodes. It uses: - Geometric analysis (bounding box overlap/containment) - Z-index ordering (nodes earlier in the layer stack are behind later ones) - Visual properties (fills, node types) - Naming conventions (nodes named 'background', 'bg', etc.) Returns background candidates with confidence scores (0-1) and explanations.
Input parameters
File key extracted from a Figma Design file URL. Example: 'abc123XYZ' from URL figma.com/design/abc123XYZ/My-Design. NOT supported: FigJam boards or Slides.
How many levels up in the node hierarchy to search for backgrounds. Higher values find more distant ancestors but take longer. Default: 3.
List of node IDs to find background layers for. Node IDs can be found in Figma URLs after 'node-id=' parameter, e.g., '1:2' or '123:456'. The action will search for potential background elements that are behind these target nodes.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_DISCOVER_FIGMA_RESOURCESSmart Figma resource discovery - extract IDs from any Figma URL. Supports all URL formats: /file/, /design/, /board/, /proto/, /slides/ Example: figma.com/board/ABC123/Name → file_key=ABC123 Discovery workflow: team_id → projects → files → nodes Use extracted IDs with GetFileJson, DetectBackground, etc.
Input parameters
Team ID to list all projects from. Get this from team URL: https://www.figma.com/files/team/YOUR_TEAM_ID/Team-Name. Returns list of projects with IDs and names. Cannot be inferred from user identity or FIGMA_GET_CURRENT_USER; must come from a team URL or be provided directly.
File key to extract all node IDs from. Get this from file URL (figma.com/file/FILE_KEY/...) or from project files list. Returns hierarchical list of all nodes with IDs, names, types, and paths.
Full Figma URL to extract file_key, node_id, and team_id from. Works with any Figma URL format: • File: https://www.figma.com/file/ABC123/Design-Name • Design: https://www.figma.com/design/ABC123/Design-Name • Board: https://www.figma.com/board/ABC123/Board-Name • Prototype: https://www.figma.com/proto/ABC123/Prototype-Name • Slides: https://www.figma.com/slides/ABC123/Slide-Name • With node: https://www.figma.com/file/ABC123/Design?node-id=123:456 • Team: https://www.figma.com/files/team/123456/Team-Name This is the easiest way to get all IDs you need! Node IDs in URLs use hyphens (123-456) but Figma JSON uses colons (123:456) — convert format when passing to other tools. If extracted_ids.file_key returns null, parse it manually from the path segment after /file/, /design/, /board/, /proto/, or /slides/.
Maximum tree depth to traverse when discovering nodes. 2=pages+frames, 3=pages+frames+components, etc. Higher values find more nodes but take longer. Responses at depth 4+ or broad file_key traversal can exceed 20k tokens with significant latency; cap at 2–3 and target specific CANVAS or FRAME node IDs to limit response size.
Project ID to list all files from. Get this from project URL or from team projects list. Returns files with keys, names, and thumbnails.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_DOWNLOAD_FIGMA_IMAGESDownload images from Figma file nodes. Renders specified nodes as images and downloads them. Supports PNG, SVG, JPG, and PDF formats. REQUIRED PARAMETERS: - file_key (string): The Figma file key from the URL - images (array): List of objects, each containing: - node_id (string, required): The node ID to export (e.g., "1:2") - file_name (string, required): Output filename with extension (e.g., "logo.png") - format (string, optional): One of 'png', 'svg', 'jpg', 'pdf'. Defaults to 'png' Example usage: { "file_key": "abc123XYZ", "images": \[ {"node_id": "1:2", "file_name": "logo.png", "format": "png"} \] } To find node IDs, use FIGMA_GET_FILE_JSON or look in Figma URLs after 'node-id='. NOTE: Returned image URLs expire shortly after generation — download them immediately.
Input parameters
Image scaling factor for PNG/JPG exports (0.01 to 4). Default is 2 for retina quality. Ignored for SVG/PDF. Exports are capped at ~32 megapixels; reduce scale or split large nodes to avoid hitting this limit.
REQUIRED. A list of image download requests. Each item must be an object with 'node_id' (string, required), 'file_name' (string, required), and optionally 'format' (string, defaults to 'png'). Example: \[{"node_id": "1:2", "file_name": "logo.png"}\]
REQUIRED. The Figma file key extracted from a Figma URL. For URL 'https://www.figma.com/file/abc123XYZ/MyDesign', the file_key is 'abc123XYZ'. This identifies which Figma file to download images from.
For SVG exports only: include element IDs in the SVG output. Defaults to false.
For SVG exports only: convert text to paths for accurate rendering. Defaults to true.
For SVG exports only: simplify strokes for cleaner SVG output. Defaults to true.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_EXTRACT_DESIGN_TOKENSExtract design tokens from Figma files by combining styles, variables, and node-extracted values. Only values defined as Figma styles or variables are captured — any design values not encoded as styles/variables are silently omitted. Requires `file_variables:read` scope and a Figma plan that supports variables for full output; if variables return empty, supplement with FIGMA_GET_LOCAL_VARIABLES.
Input parameters
The Figma file key (e.g., 'aA1b2Cd3E4F5g6H7i8J9k0L'). Extract from Figma URLs like figma.com/file/FILE_KEY/... or use FIGMA_DISCOVER_FIGMA_RESOURCES to find file keys
Include variables in extraction. Even with this enabled, modes and scopes may be incomplete; use FIGMA_GET_LOCAL_VARIABLES for full semantic token coverage including variable modes and aliases.
Extract tokens from node properties
Include local styles in extraction
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_EXTRACT_PROTOTYPE_INTERACTIONSExtract prototype interactions and animations from Figma files. Required parameter: - file_key: The Figma file key extracted from a URL like 'https://www.figma.com/file/ABC123xyz/MyFile' (the 'ABC123xyz' part) Analyzes the prototype data to extract: - User interactions (clicks, hovers, etc.) - Transition animations - Component variant states - User flows and navigation
Input parameters
Required. The unique file key from a Figma URL. To find it: from a URL like 'https://www.figma.com/file/ABC123xyz/MyFileName' or 'https://www.figma.com/design/ABC123xyz/MyFileName', extract the alphanumeric string after '/file/' or '/design/' (e.g., 'ABC123xyz'). This is typically 22 alphanumeric characters.
Extract component variant states
Include detailed animation data
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_ACTIVITY_LOGSRetrieves activity log events from Figma, allowing filtering by event types, time range, and pagination.
Input parameters
Maximum number of events per response, for pagination. If unspecified, defaults to 1000.
Sort order for events by timestamp.
Comma-separated event types to include. If unspecified, all event types are returned. Refer to Figma's API documentation for a comprehensive list.
Unix timestamp for the latest time for events. If unspecified, defaults to the current timestamp.
Unix timestamp for the earliest time for events. If unspecified, defaults to one year ago.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_A_WEBHOOKRetrieves detailed information about a specific webhook by its ID, provided the webhook exists and is accessible to the user.
Input parameters
The unique identifier of the webhook to retrieve.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_COMMENTS_IN_A_FILERetrieves all comments from an existing Figma file, identified by a valid `file_key`, returning details like content, author, position, and reactions, with an option for Markdown formatted content.
Input parameters
If true, comment content will be returned in Markdown format where applicable (e.g., for links, bold text). Defaults to false, returning rich text structure.
Identifier for the Figma file from which to retrieve comments. This can be a file key (a unique string identifying a file) or a branch key. To obtain a branch key, use the `GET /v1/files/:key` endpoint with the `branch_data` query parameter.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_COMPONENTDEPRECATED: Use FIGMA_GET_FILE_NODES instead. Get component data with automatic simplification. Returns clean, AI-friendly component structure.
Input parameters
ID of the component node. Must be a component node ID specifically (not a frame or page ID); pass verbatim from sources like FIGMA_GET_FILE_COMPONENTS.
File key that contains the component
Level of detail in the response. 'minimal' (default) simplifies component data for AI consumption. 'full' returns the raw Figma API response.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_COMPONENT2Fetches metadata for a specific component using its unique identifier. Use when you need to retrieve published component details from a team library.
Input parameters
The unique identifier of the component.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_COMPONENT_SETRetrieves detailed metadata for a specific published Figma component set using its unique `key`.
Input parameters
The unique identifier of the component set.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_CURRENT_USERRetrieves detailed information for the currently authenticated Figma user.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_DEV_RESOURCESRetrieves development resources (e.g., Jira/GitHub links) for a Figma main file, optionally filtering by specific node IDs.
Input parameters
The unique identifier of the Figma design file from which to retrieve development resources. This must be the key for a main file, not a branch key. Extract the file_key from Figma URLs: figma.com/design/{file_key}/... or figma.com/file/{file_key}/...
A comma-separated string of node IDs to filter dev resources. Example: '1:2,100:54'. If omitted, returns all dev resources in the file.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_FILE_COMPONENTSRetrieves published components from a Figma file, which must be a main file (not a branch) acting as a library.
Input parameters
Key of the Figma file. This file must be a main file (not a branch key) that acts as a library, as components are published from main files.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_FILE_COMPONENT_SETSRetrieves all published component sets from the specified Figma main file (file_key must not be for a branch).
Input parameters
Key of the Figma file. Must be a main file key (not a branch key) as component sets are published from main files. Extract from Figma URL: https://www.figma.com/design/{file_key}/... or https://www.figma.com/file/{file_key}/...
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_FILE_JSONGet Figma Design file data with automatic simplification. IMPORTANT: Only supports Design files (figma.com/design/{file_key}). FigJam board files (figma.com/board/{file_key}) and Slides files (figma.com/slides/{file_key}) are NOT supported and will return a 400 error: "File type not supported by this endpoint". This enhanced version automatically transforms verbose Figma JSON into clean, AI-friendly format with: - CSS-like property names - Deduplicated variables - Removed empty values - 70%+ size reduction Use simplify=False to get raw API response.
Input parameters
Comma-separated node IDs to fetch specific nodes (uses /nodes endpoint). Node IDs can be extracted from Figma URLs: figma.com/design/{file_key}/{name}?node-id={node_id}. Example: '1:2,1:3' for multiple nodes. Must be a string, not an array — passing an array causes validation failure. URL node IDs use hyphens (e.g., '1-2'); convert to colons (e.g., '1:2') before passing here.
Tree traversal depth (e.g., 2 for pages and top-level children). Omitting depth on large files can produce extremely large responses or timeouts; scope with `ids` and set depth to the minimum needed.
Specific version ID; current version if omitted
File key extracted from a Figma Design file URL. SUPPORTED: figma.com/design/{file_key}/... or figma.com/file/{file_key}/... NOT SUPPORTED: FigJam boards (figma.com/board/{file_key}) and Slides (figma.com/slides/{file_key}). Example valid key: 'abc123XYZ' from URL figma.com/design/abc123XYZ/My-Design.
Set to "paths" to include vector data
Include branch metadata
Comma-separated plugin IDs to include plugin data
Level of detail in the response. 'minimal' (default) simplifies file data for AI consumption. 'full' returns the raw Figma API response.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_FILE_METADATAGet Figma file metadata including name, creator, last modification details, thumbnail, and access information. Use when you need quick file overview without the full document tree.
Input parameters
File key to get metadata for. This can be a file key or branch key. Extract from file URL: https://www.figma.com/design/{file_key}/... or https://www.figma.com/file/{file_key}/... Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_FILE_NODESFetch JSON for specific node IDs from a Figma file to avoid full-file payload limits. Use when you already know target node IDs (from shallow file fetch or component listings) or when full-file JSON has hit payload limits. Prefer depth=1 for fast discovery.
Input parameters
Node IDs to retrieve. Provide as comma-separated string (e.g., '1:5,1:6') or as list of strings (e.g., \['1:5', '1:6'\]). Use this when you already know target node IDs from a shallow file fetch or component/style listings.
How deep into each requested node subtree to traverse. Use depth=1 for fast structure discovery (only immediate children), increase only when needed. Omit to get full subtree.
Specific version ID to retrieve. Omit for current version.
Figma file key or branch key extracted from URL. Example: 'abc123XYZ' from figma.com/design/abc123XYZ/My-Design.
Set to 'paths' to include vector path data in the response. Omit for standard node data without geometry.
Plugin IDs (comma-separated) or 'shared' to include plugin data. Omit to exclude plugin data.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_FILES_IN_A_PROJECTFetches a list of files in a Figma project, optionally including branch metadata.
Input parameters
Identifier of the Figma project, typically found in its URL.
If true, includes metadata for branches of main files.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_FILE_STYLESRetrieves a list of published styles (like colors, text attributes, effects, and layout grids) from a specified main Figma file (not a branch).
Input parameters
Key of the main Figma file (not a branch) from which to retrieve published styles. Extract the file_key from the Figma URL: figma.com/design/{file_key}/... or figma.com/file/{file_key}/... Note: This endpoint only returns PUBLISHED styles from team libraries. For local/unpublished styles, use FIGMA_GET_FILE_JSON instead.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_IMAGE_FILLSRetrieves temporary (14-day expiry) download URLs for all image fills in a Figma file; requires `imageRef` from `Paint` objects to map URLs.
Input parameters
The unique identifier of a Figma file. Extract this from Figma URLs: https://www.figma.com/file/{file_key}/... or https://www.figma.com/design/{file_key}/... The file_key is a 22-character alphanumeric string (e.g., 'sFHgQh9dL6369o5wrZHmdR').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_LIBRARY_ANALYTICS_COMPONENT_ACTION_DATARetrieves component insertion and detachment analytics for a specified Figma library, groupable by 'component' or 'team' and filterable by a date range (YYYY-MM-DD).
Input parameters
Opaque cursor for pagination, from a previous response's `cursor` field; omit for the first page.
End date (YYYY-MM-DD) for analytics. Data includes up to end of this date's week. Defaults to latest computed week.
Unique identifier (key) of the Figma library file to retrieve analytics data from. Must be a published library file from an Enterprise plan organization.
Dimension to group analytics: 'component' or 'team'.
Start date (YYYY-MM-DD) for analytics. Data includes from start of this date's week. Defaults to one year prior.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_LIBRARY_ANALYTICS_COMPONENT_USAGE_DATARetrieves component usage analytics for a specified Figma library file (identified by `file_key`), with data groupable by 'component' or 'file'.
Input parameters
Opaque string for pagination to fetch the next page of data, obtained from a previous response.
Unique identifier (key) of the Figma library file. Must be a published library file from an Enterprise plan organization.
Dimension to group analytics data, affecting the response `rows` structure. Use 'component' to see per-component usage stats, or 'file' to see which files use the library.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_LIBRARY_ANALYTICS_STYLE_ACTION_DATARetrieves style usage analytics (insertions, detachments) for a Figma library, grouped by 'style' or 'team'; if providing a date range, ensure end_date is not before start_date.
Input parameters
Opaque cursor for pagination, from a previous response's `cursor` field to fetch the next page; omit for first page.
End date for the analytics data range (YYYY-MM-DD). Data includes up to the end of this date's week. Defaults to the most recently computed week if unspecified.
Unique identifier (key) of the Figma library. Must be a published library file from an Enterprise plan organization.
Dimension by which to group the library style analytics data. Use 'style' for per-style metrics or 'team' for per-team metrics.
Start date for the analytics data range (YYYY-MM-DD). Data includes from the start of this date's week. Defaults to one year prior if unspecified.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_LIBRARY_ANALYTICS_STYLE_USAGE_DATARetrieves style usage analytics for a published Figma library. Returns data about how styles (colors, text styles, effects, grids) from the library are being used across your organization. Requires Enterprise plan and library_analytics:read scope. Group results by 'style' to see per-style metrics or by 'file' to see which files use the library's styles.
Input parameters
Pagination cursor from a previous response's 'cursor' field. Omit to get the first page of results.
The unique file key of a published Figma library. Obtain this from the library URL (e.g., figma.com/file/FILE_KEY/...) or via the Get Team Styles endpoint. Note: This API is only available on Enterprise plans.
How to group the analytics data: 'style' returns usage stats per style, 'file' returns usage stats per file using the library.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_LIBRARY_ANALYTICS_VARIABLE_ACTION_DATARetrieves weekly, paginated analytics data on variable insertions and detachments for a specified Figma library (identified by `file_key`), groupable by 'variable' or 'team', and filterable by an optional date range. Note: Requires Enterprise plan and library_analytics:read scope.
Input parameters
Opaque cursor for pagination from a previous response; omit or use null for the first page.
End date (YYYY-MM-DD) for the analytics range. Data is aggregated weekly; this date rounds to the nearest week end. Defaults to the latest computed week if unspecified.
Unique identifier (key) of the Figma file (library) for which to retrieve variable analytics data.
Dimension to group analytics data, which determines the structure of `rows` in the response.
Start date (YYYY-MM-DD) for the analytics range. Data is aggregated weekly; this date rounds to the nearest week start. Defaults to one year prior if unspecified.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_LIBRARY_ANALYTICS_VARIABLE_USAGE_DATARetrieves paginated analytics data on variable usage from a specified Figma library, grouped by 'file' or 'variable', for libraries with enabled analytics.
Input parameters
Opaque cursor for pagination, from a previous response's `cursor` field if `next_page` was true. Omit for the first page.
Key of the Figma library file (from its URL) for which to retrieve variable usage analytics. Must be a published library from an Enterprise plan organization.
Dimension for grouping analytics data, determining the structure of `rows` in the response ('file' or 'variable').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_LOCAL_VARIABLESRetrieves all local/remote variables for a Figma file/branch; crucial for obtaining mode-specific values which `/v1/files/{file_key}/variables/published` omits.
Input parameters
Key of the Figma file or branch. Can be a standard file key or a branch-specific key (to obtain a branch key, use `GET /v1/files/:key` with the `branch_data` query parameter).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_PAYMENTSRetrieves a user's payment information for a Figma plugin, widget, or Community file; the authenticated identity must own the resource.
Input parameters
ID of the user whose payment information is sought. Obtain via OAuth2 with Figma REST API. Required if `plugin_payment_token` is not provided.
ID of the plugin. Obtain from its manifest or Community page URL (number after 'plugin/'). If `user_id` is provided, specify exactly one of `community_file_id`, `plugin_id`, or `widget_id`.
ID of the widget. Obtain from its manifest or Community page URL (number after 'widget/'). If `user_id` is provided, specify exactly one of `community_file_id`, `plugin_id`, or `widget_id`.
ID of the Community file. Obtain from its Community page URL (number after 'file/'). If `user_id` is provided, specify exactly one of `community_file_id`, `plugin_id`, or `widget_id`.
Short-lived auth token from `getPluginPaymentTokenAsync` (Figma Plugin Payments API). See Figma docs 'Calling the Payments REST API...'. If provided, `user_id` and resource IDs are typically not needed.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_PROJECTS_IN_A_TEAMRetrieves projects within a specified Figma team that are visible to the authenticated user.
Input parameters
Identifier of the Figma team from which to list projects. Note: The `team_id` cannot be programmatically obtained solely from a user token. To find a `team_id`, navigate to a team page you are a member of in Figma. The `team_id` will be present in the URL, typically formatted as `https://www.figma.com/files/team/YOUR_TEAM_ID/Your_Team_Name`.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_PUBLISHED_VARIABLESRetrieves variables published from a specified Figma file; this API is available only to full members of Enterprise organizations.
Input parameters
The key of the Figma file from which to retrieve published variables. This must be a main file's key, not a branch key, as publishing from branches is not supported.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_REACTIONS_FOR_A_COMMENTRetrieves reactions for a specific comment in a Figma file.
Input parameters
Pagination cursor from `next_page` of a previous response. Omit or use null for the first page.
Key for the Figma file or branch. Can be a file key (from URL) or a branch key. To get a branch key, use `GET /v1/files/:key` with the `branch_data` query parameter.
Identifier of the comment.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_SCIM_SERVICE_PROVIDER_CONFIGGet Figma's SCIM service provider configuration. Returns configuration details including which SCIM operations are supported (patch, bulk, filter, etc.), authentication schemes, and service capabilities.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_STYLERetrieves detailed metadata for a specific style in Figma using its unique style key.
Input parameters
The unique identifier (key) of the style to retrieve. Style keys are 40-character hexadecimal hash strings obtained from the GET /v1/files/{file_key}/styles or GET /v1/teams/{team_id}/styles endpoints. This endpoint only works for styles published in a team library.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_TEAM_COMPONENTSRetrieves components published in a specific Figma team's library; the team must have published components, otherwise an empty list is returned.
Input parameters
Opaque cursor indicating the point after which to retrieve components. Used for pagination. Exclusive with the `before` parameter. The cursor value is an internally tracked integer that doesn't correspond to any specific Figma IDs.
Opaque cursor indicating the point before which to retrieve components. Used for pagination. Exclusive with the `after` parameter. The cursor value is an internally tracked integer that doesn't correspond to any specific Figma IDs.
The unique identifier of the Figma team from which to retrieve published components. IMPORTANT: Team IDs cannot be obtained programmatically via the Figma API. To find your team_id: navigate to your team page in the Figma web app (https://www.figma.com/files/team/YOUR_TEAM_ID/Team-Name), the team_id is the numeric string after '/team/' in the URL.
Number of components to return per page. Maximum value is 1000.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_TEAM_COMPONENT_SETSRetrieves a paginated list of published component sets (collections of reusable UI elements) from a specified Figma team's library.
Input parameters
Cursor for pagination, indicating the point after which to retrieve component sets. Exclusive with the 'before' parameter. The cursor value is an internally tracked integer and does not correspond to any specific Figma IDs.
Cursor for pagination, indicating the point before which to retrieve component sets. Exclusive with the 'after' parameter. The cursor value is an internally tracked integer and does not correspond to any specific Figma IDs.
The unique identifier of the Figma team from which to list component sets. IMPORTANT: Team IDs cannot be obtained programmatically via the Figma API. To find your team_id: navigate to your team page in the Figma web app (https://www.figma.com/files/team/YOUR_TEAM_ID/Team-Name), the team_id is the numeric string after '/team/' in the URL.
Number of component sets to return in a single page.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_TEAM_STYLESRetrieves a paginated list of published styles (fill colors, text styles, effects, grids) from a specified Figma team's library. Note: The team must have published styles in its library for this endpoint to return data. Teams without published styles will return an empty list.
Input parameters
Opaque integer cursor to retrieve styles after this point; use `cursor.after` from a previous response. Mutually exclusive with `before` - only one can be specified.
Opaque integer cursor to retrieve styles before this point; use `cursor.before` from a previous response. Mutually exclusive with `after` - only one can be specified.
Identifier of the Figma team to retrieve published styles from. Note: The team_id cannot be obtained programmatically via the API. To find a team_id, navigate to the team page in Figma (https://www.figma.com/files/team/YOUR_TEAM_ID/Team-Name) and extract the numeric ID from the URL.
Number of style items to return per page. Maximum supported value is 100.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_TEAM_WEBHOOKSRetrieves all webhooks registered for a specified Figma context (team, project, or file). Uses the Figma Webhooks V2 API endpoint (GET /v2/webhooks) with context and context_id query parameters. This is the recommended approach as the legacy path-based endpoint (/v2/teams/{team_id}/webhooks) is deprecated. Note: team_id, project_id, and file_key cannot be discovered programmatically via the API. Extract them from Figma URLs or use FIGMA_DISCOVER_FIGMA_RESOURCES to parse URLs.
Input parameters
The context type to query webhooks for. Options: 'team', 'project', or 'file'. Defaults to 'team' for backward compatibility.
The ID of the context to query webhooks for. For 'team' context, this is the team_id. For 'project' context, this is the project_id. For 'file' context, this is the file_key. Note: team_id cannot be programmatically obtained from the API - extract it from your Figma team URL: https://www.figma.com/files/team/YOUR_TEAM_ID/Team-Name
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_VERSIONS_OF_A_FILERetrieves the version history for a Figma file or branch, as specified by its `file_key`.
Input parameters
Version ID for pagination; retrieves versions created strictly after this ID.
Version ID for pagination; retrieves versions created strictly before this ID.
The key of the Figma file or branch from which to retrieve the version history. Extract from file URL: https://www.figma.com/design/{file_key}/... or https://www.figma.com/file/{file_key}/... For branch keys, use `GET /v1/files/:key` with the `branch_data` query param to obtain it. The authenticated user must have access to the file; otherwise a 404 'Not found' error is returned.
Number of version items per page. The API defaults to 30 if this parameter is not sent.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_GET_WEBHOOK_REQUESTSRetrieves a history of webhook requests for a specific Figma webhook subscription; data is available for requests sent within the last seven days.
Input parameters
The unique identifier of the Figma webhook subscription for which to retrieve past event requests. This refers to the ID of the webhook itself, not an individual event.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_RENDER_IMAGES_OF_FILE_NODESRender Figma nodes as images (PNG, JPG, SVG, PDF). Returns a map of node IDs to temporary image URLs (valid for 30 days). Images are capped at 32 megapixels; larger requests are automatically scaled down. REQUIRED PARAMETERS: - file_key: Figma file key from URL (e.g., 'abc123XYZ' from figma.com/design/abc123XYZ/...) - ids: Comma-separated node IDs to render (e.g., '1:2' or '1:2,1:3,1:4') NODE IDs: Found in Figma URLs after 'node-id=' or from FIGMA_GET_FILE_JSON response. FORMATS: - png/jpg: Raster images with optional scale (0.01-4.0) - svg: Vector graphics with text outline options - pdf: Document format COMMON ISSUES: - null value in images map = node failed to render (invalid ID, invisible, 0% opacity) - 404 error = file_key not found or no access - 429 error = rate limit exceeded, wait and retry
Input parameters
Comma-separated list of node IDs to render as images. Node IDs are found in Figma URLs after 'node-id=' (e.g., '1:2') or from FIGMA_GET_FILE_JSON response. Example: '1:2,1:3,1:4'.
Image scaling factor between 0.01 and 4.0. Example: 2.0 renders at 2x resolution. Applies to PNG/JPG only; ignored for SVG/PDF.
Output image format: 'png', 'jpg', 'svg', or 'pdf'.
Specific version ID of the file to render. If omitted, uses current version.
Key of the Figma file or branch. Extract from Figma URLs: figma.com/design/{file_key}/... or figma.com/file/{file_key}/... For branch keys, use GET /v1/files/:key with branch_data=true.
If true, excludes content that overlaps node boundaries. If false, includes overlapping content (may increase processing time).
(SVG only) If true, includes 'id' attributes (using layer names) on SVG elements.
(SVG only) If true, text renders as vector paths (outlines) for exact visual fidelity. If false, text renders as <text> elements (selectable, but appearance may vary by system fonts).
(SVG only) If true, adds 'data-node-id' attribute (with Figma node ID) to SVG elements.
(SVG only) If true, simplifies strokes using 'stroke' attribute instead of <mask>.
If true, uses full node dimensions ignoring cropping/empty space. Useful for text nodes to avoid unintended cropping.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_UPDATE_A_WEBHOOKUpdates an existing Figma webhook, identified by `webhook_id`, allowing modification of its event type, endpoint, passcode, status, or description.
Input parameters
Operational status: `ACTIVE` to receive events, `PAUSED` to temporarily stop event delivery. Optional - only provide to change status.
URL of the HTTPS endpoint to receive POST requests for webhook events. Max length 2048. Optional - only provide to change the endpoint.
Secret string for your endpoint to verify webhook authenticity. Max length 100. Optional - only provide to change the passcode.
Type of event that triggers the webhook. Optional - only provide to change the event type.
Unique identifier of the existing webhook to update. Obtain from GET team webhooks or after creating a webhook.
User-friendly description for the webhook. Max length 140 characters. Pass empty string to remove. Optional.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FIGMA_UPDATE_DEV_RESOURCESUpdates the name and/or URL of one or more existing Figma Dev Resources, each identified by its unique `id`.
Input parameters
List of dev resources to update. Each must include its `id` and can optionally provide a new `name` and/or `url`.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 46 agents privately built on Nagent that already use Figma.
Build on Nagent
Connect Figma to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Figma, and click "Connect Now." You'll authenticate with OAUTH2, API_KEY — Nagent handles credential storage and refresh automatically. Once connected, Figma is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Figma is connected, you configure its 53 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Figma steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Figma event fires, the agent kicks off automatically.
Every Figma action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Figma ships with 53 pre-built images & design actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Figma together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Figma-based workflows tailored to your business.