Connect Figma to Definable AI

A collaborative interface design tool.

About Figma

Figma is a productivity tool. Connect it to Definable AI with one-click OAuth2 — no API keys or custom code required.

What you can automate with Figma

Use Definable AI's agent platform to trigger workflows from Figma, process results with 50+ AI models, and sync data across 900+ connected apps.

Tools & Actions (53 available)

  • Add a comment to a file: Posts 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.
  • Add a reaction to a comment: Posts a specified emoji reaction to an existing comment in a Figma file or branch, requiring valid file_key and comment_id.
  • Create a webhook: Creates 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.
  • Create dev resources: Creates and attaches multiple uniquely-URLed development resources to specified Figma nodes, up to 10 per node.
  • Create, modify, or delete variables: Manages 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`.
  • Delete a comment: Deletes a specific comment from a Figma file or branch, provided the authenticated user is the original author of the comment.
  • Delete a reaction: Deletes a specific emoji reaction from a comment in a Figma file; the user must have originally created the reaction.
  • Delete a webhook: Permanently deletes an existing webhook, identified by its unique `webhook_id`; this operation is irreversible.
  • Delete dev resource: Deletes a development resource (used to link Figma design elements to external developer information like code or tasks) from a specified Figma file.
  • Design tokens to tailwind: Convert 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}).
  • Detect Background Layers: Detect 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.
  • Discover Figma Resources: Smart 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.
  • Download Figma Images: Download 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='.
  • Extract Prototype Interactions: Extract 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
  • Extract design tokens: Extract design tokens from Figma files. Combines styles, variables, and extracted values to create a comprehensive design token system.
  • Get SCIM service provider config: Get Figma's SCIM service provider configuration. Returns configuration details including which SCIM operations are supported (patch, bulk, filter, etc.), authentication schemes, and service capabilities.
  • Get a webhook: Retrieves detailed information about a specific webhook by its ID, provided the webhook exists and is accessible to the user.
  • Get activity logs: Retrieves activity log events from Figma, allowing filtering by event types, time range, and pagination.
  • Get comments in a file: Retrieves 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.
  • Get component: Fetches metadata for a specific component using its unique identifier. Use when you need to retrieve published component details from a team library.
  • Get component: Get component data with automatic simplification. Returns clean, AI-friendly component structure.
  • Get component set: Retrieves detailed metadata for a specific published Figma component set using its unique `key`.
  • Get current user: Retrieves detailed information for the currently authenticated Figma user.
  • Get dev resources: Retrieves development resources (e.g., Jira/GitHub links) for a Figma main file, optionally filtering by specific node IDs.
  • Get file component sets: Retrieves all published component sets from the specified Figma main file (file_key must not be for a branch).
  • Get file components: Retrieves published components from a Figma file, which must be a main file (not a branch) acting as a library.
  • Get file json: Get 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.
  • Get file metadata: Get 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.
  • Get file nodes: Fetch 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.
  • Get file styles: Retrieves a list of published styles (like colors, text attributes, effects, and layout grids) from a specified main Figma file (not a branch).
  • Get files in a project: Fetches a list of files in a Figma project, optionally including branch metadata.
  • Get image fills: Retrieves temporary (14-day expiry) download URLs for all image fills in a Figma file; requires `imageRef` from `Paint` objects to map URLs.
  • Get library analytics component action data: Retrieves component insertion and detachment analytics for a specified Figma library, groupable by 'component' or 'team' and filterable by a date range (YYYY-MM-DD).
  • Get library analytics component usage data: Retrieves component usage analytics for a specified Figma library file (identified by `file_key`), with data groupable by 'component' or 'file'.
  • Get library analytics style action data: Retrieves 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.
  • Get library analytics style usage data: Retrieves 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.
  • Get library analytics variable action data: Retrieves 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.
  • Get library analytics variable usage data: Retrieves paginated analytics data on variable usage from a specified Figma library, grouped by 'file' or 'variable', for libraries with enabled analytics.
  • Get local variables: Retrieves all local/remote variables for a Figma file/branch; crucial for obtaining mode-specific values which `/v1/files/{file_key}/variables/published` omits.
  • Get payments: Retrieves a user's payment information for a Figma plugin, widget, or Community file; the authenticated identity must own the resource.
  • Get projects in a team: Retrieves projects within a specified Figma team that are visible to the authenticated user.
  • Get published variables: Retrieves variables published from a specified Figma file; this API is available only to full members of Enterprise organizations.
  • Get reactions for a comment: Retrieves reactions for a specific comment in a Figma file.
  • Get style: Retrieves detailed metadata for a specific style in Figma using its unique style key.
  • Get team component sets: Retrieves a paginated list of published component sets (collections of reusable UI elements) from a specified Figma team's library.
  • Get team components: Retrieves components published in a specific Figma team's library; the team must have published components, otherwise an empty list is returned.
  • Get team styles: Retrieves 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.
  • Get versions of a file: Retrieves the version history for a Figma file or branch, as specified by its `file_key`.
  • Get webhook requests: Retrieves a history of webhook requests for a specific Figma webhook subscription; data is available for requests sent within the last seven days.
  • Get webhooks: Retrieves 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.
  • Render images of file nodes: Render 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
  • Update a webhook: Updates an existing Figma webhook, identified by `webhook_id`, allowing modification of its event type, endpoint, passcode, status, or description.
  • Update dev resources: Updates the name and/or URL of one or more existing Figma Dev Resources, each identified by its unique `id`.

How to connect Figma

  1. Sign in to Definable AI and go to Apps
  2. Search for Figma and click Connect
  3. Authorize via OAuth2 — takes under 30 seconds
  4. Use Figma actions in your AI agents and workflows