Connect Figma to OpenClaw on Operator.io
Figma is a collaborative interface design tool for teams and individuals. It streamlines design workflows with real-time collaboration and easy sharing.
Automate Figma with AI
Your OpenClaw agent lives on Operator and treats Figma as one more service it can drive. Send it an outcome in a Telegram or Discord message and it works out which of the 52 Figma actions to run, then runs them.
Your agent reaches Figma directly or through connectors like Composio MCP and Pipedream MCP, which handle the sign in and token refresh for you, so there is nothing to wire up and no API keys to paste.
What your agent can do with Figma
Your agent can call any of these Figma actions by name as part of a larger task. Ask for the outcome you want and it picks the right ones.
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 fil...
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 `re...
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' pa...
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/c...
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...
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 obj...
Extract design tokens
Extract 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. Req...
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...
Get activity logs
Retrieves activity log events from Figma, allowing filtering by event types, time range, and pagination.
Get a webhook
Retrieves detailed information about a specific webhook by its ID, provided the webhook exists and is accessible to the user.
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 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 components
Retrieves published components from a Figma file, which must be a main file (not a branch) acting as a library.
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 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 support...
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...
Get files in a project
Fetches a list of files in a Figma project, optionally including branch metadata.
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 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:r...
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 Enter...
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 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 style
Retrieves detailed metadata for a specific style in Figma using its unique style key.
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 component sets
Retrieves a paginated list of published component sets (collections of reusable UI elements) from a specified Figma team's library.
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 pub...
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 le...
Get versions of a file
Retrieves the version history for a Figma file or branch, as specified by its `file_key`.
Plus 4 more Figma actions your agent can call.
How to connect Figma
You authorize Figma once from your dashboard. Operator holds the connection and refreshes the access tokens on its own, so your agent keeps working with Figma without you signing in again. The same setup unlocks every other app your agent can reach, so you only do it once.
When you are ready, the get started guide walks through standing up your OpenClaw agent.
Common questions about Figma
- How do I connect Figma to Operator?
- Connecting Figma is a one time sign in from your Operator dashboard. Operator keeps the connection live and rotates the token on its own, so the agent stays connected to Figma and you never reauthorize by hand.
- Can my agent work with my designs and assets in Figma?
- Yes. It can read project details, create or update assets, and pull what you need back to you. Hand it a request and it runs the matching Figma actions, so routine asset work happens from a chat instead of the editor.
- Do I need to write code or manage Figma API keys?
- No. Operator manages the Figma connection and token refresh, so there are no API keys to paste and nothing to deploy.
- Can my agent use Figma together with my other apps?
- Yes. The same agent reaches every app you connect, so it can move between Figma and tools like Cloudinary, Miro, Imgix in one job, reading from one and acting in another without you wiring anything between them.
Figma integrations
Pick an app to see what your agent does across Figma and it, or browse all integrations.
Put your agent on Figma
Sign in, connect Figma, and hand your agent the work. Your first week is free.
Get started