Dev & Project Management
🎨 Figma integration
Access levels: Read-only · Read + write · Full access · Verified
Dev & Project Management
Access levels: Read-only · Read + write · Full access · Verified
Connect Figma once and every agent in your squad can work in it for you, with exactly as much access as you decide to give, and a receipt for every call it makes.
You can change an account's access level any time under Manage. It applies instantly, no re-authorization. If the connection ever expires, the card shows Reconnect; one click re-authorizes the same account with the same settings.
Multiple accounts: connect as many as you need (say, yours and a client's). One is primary. Agents use it unless a mission says otherwise.
The level you pick at connect time is enforced on our side for every agent call: an agent can never do more than the level allows, no matter what it's asked.
| Level | What it allows | |
|---|---|---|
| Read-only | Read file content, metadata, and comments. | |
| Read + write | Read files and create/edit content. | Recommended |
| Full access | Read/write variables, library assets, webhooks. |
On top of the connection's level, every agent can be individually allowed, scoped down, or denied for this app from the Integrations page. Deny an agent and it doesn't even see the connection.
The 53 tools agents use in Figma through Mission Control, and the lowest access level that includes each. Agents discover these themselves. You never have to name a tool; asking in plain language is enough.
| Tool | What it does | Access level |
|---|---|---|
Add a comment to a fileFIGMA_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 regio… | Read + write, Full access |
Add a reaction to a commentFIGMA_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. | Read + write, Full access |
Create a webhookFIGMA_CREATE_A_WEBHOOK | Creates a Figma webhook to receive POST notifications when specific events occur. | Read + write, Full access |
Create dev resourcesFIGMA_CREATE_DEV_RESOURCES | Creates and attaches multiple uniquely-URLed development resources to specified Figma nodes, up to 10 per node. | Read + write, Full access |
Create modify delete variablesFIGMA_CREATE_MODIFY_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 tar… | Full access |
Delete a commentFIGMA_DELETE_A_COMMENT | Deletes a specific comment from a Figma file or branch, provided the authenticated user is the original author of the comment. | Full access |
Delete a reactionFIGMA_DELETE_A_REACTION | Deletes a specific emoji reaction from a comment in a Figma file; the user must have originally created the reaction. | Full access |
Delete a webhookFIGMA_DELETE_A_WEBHOOK | Permanently deletes an existing webhook, identified by its unique webhook_id; this operation is irreversible. | Full access |
Delete dev resourceFIGMA_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. | Full access |
Design tokens to tailwindFIGMA_DESIGN_TOKENS_TO_TAILWIND | Convert design tokens to Tailwind CSS configuration. | All levels |
Detect backgroundFIGMA_DETECT_BACKGROUND | Detect background layers for selected nodes in a Figma file. | All levels |
Discover figma resourcesFIGMA_DISCOVER_FIGMA_RESOURCES | Smart Figma resource discovery - extract IDs from any Figma URL. | All levels |
Download figma imagesFIGMA_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 (a… | All levels |
Extract design tokensFIGMA_EXTRACT_DESIGN_TOKENS | Extract design tokens from Figma files by combining styles, variables, and node-extracted values. | All levels |
Extract prototype interactionsFIGMA_EXTRACT_PROTOTYPE_INTERACTIONS | Extract prototype interactions and animations from Figma files. | All levels |
Get activity logsFIGMA_GET_ACTIVITY_LOGS | Retrieves activity log events from Figma, allowing filtering by event types, time range, and pagination. | All levels |
Get a webhookFIGMA_GET_A_WEBHOOK | Retrieves detailed information about a specific webhook by its ID, provided the webhook exists and is accessible to the user. | All levels |
Get comments in a fileFIGMA_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. | All levels |
Get componentFIGMA_GET_COMPONENT | DEPRECATED: Use FIGMA_GET_FILE_NODES instead. | All levels |
Get component2FIGMA_GET_COMPONENT2 | Fetches metadata for a specific component using its unique identifier. | All levels |
Get component setFIGMA_GET_COMPONENT_SET | Retrieves detailed metadata for a specific published Figma component set using its unique key. | All levels |
Get current userFIGMA_GET_CURRENT_USER | Retrieves detailed information for the currently authenticated Figma user. | All levels |
Get dev resourcesFIGMA_GET_DEV_RESOURCES | Retrieves development resources (e.g., Jira/GitHub links) for a Figma main file, optionally filtering by specific node IDs. | All levels |
Get files in a projectFIGMA_GET_FILES_IN_A_PROJECT | Fetches a list of files in a Figma project, optionally including branch metadata. | All levels |
Get file componentsFIGMA_GET_FILE_COMPONENTS | Retrieves published components from a Figma file, which must be a main file (not a branch) acting as a library. | All levels |
Get file component setsFIGMA_GET_FILE_COMPONENT_SETS | Retrieves all published component sets from the specified Figma main file (file_key must not be for a branch). | All levels |
Get file jsonFIGMA_GET_FILE_JSON | Get Figma Design file data with automatic simplification. | All levels |
Get file metadataFIGMA_GET_FILE_METADATA | Get Figma file metadata including name, creator, last modification details, thumbnail, and access information. | All levels |
Get file nodesFIGMA_GET_FILE_NODES | Fetch JSON for specific node IDs from a Figma file to avoid full-file payload limits. | All levels |
Get file stylesFIGMA_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). | All levels |
Get image fillsFIGMA_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. | All levels |
Get library analytics component action dataFIGMA_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). | All levels |
Get library analytics component usage dataFIGMA_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'. | All levels |
Get library analytics style action dataFIGMA_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. | All levels |
Get library analytics style usage dataFIGMA_GET_LIBRARY_ANALYTICS_STYLE_USAGE_DATA | Retrieves style usage analytics for a published Figma library. | All levels |
Get library analytics variable action dataFIGMA_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. | All levels |
Get library analytics variable usage dataFIGMA_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. | All levels |
Get local variablesFIGMA_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. | All levels |
Get paymentsFIGMA_GET_PAYMENTS | Retrieves a user's payment information for a Figma plugin, widget, or Community file; the authenticated identity must own the resource. | All levels |
Get projects in a teamFIGMA_GET_PROJECTS_IN_A_TEAM | Retrieves projects within a specified Figma team that are visible to the authenticated user. | All levels |
Get published variablesFIGMA_GET_PUBLISHED_VARIABLES | Retrieves variables published from a specified Figma file; this API is available only to full members of Enterprise organizations. | All levels |
Get reactions for a commentFIGMA_GET_REACTIONS_FOR_A_COMMENT | Retrieves reactions for a specific comment in a Figma file. | All levels |
Get scim service provider configFIGMA_GET_SCIM_SERVICE_PROVIDER_CONFIG | Get Figma's SCIM service provider configuration. | All levels |
Get styleFIGMA_GET_STYLE | Retrieves detailed metadata for a specific style in Figma using its unique style key. | All levels |
Get team componentsFIGMA_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. | All levels |
Get team component setsFIGMA_GET_TEAM_COMPONENT_SETS | Retrieves a paginated list of published component sets (collections of reusable UI elements) from a specified Figma team's library. | All levels |
Get team stylesFIGMA_GET_TEAM_STYLES | Retrieves a paginated list of published styles (fill colors, text styles, effects, grids) from a specified Figma team's library. | All levels |
Get team webhooksFIGMA_GET_TEAM_WEBHOOKS | Retrieves all webhooks registered for a specified Figma context (team, project, or file). | All levels |
Get versions of a fileFIGMA_GET_VERSIONS_OF_A_FILE | Retrieves the version history for a Figma file or branch, as specified by its file_key. | All levels |
Get webhook requestsFIGMA_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. | All levels |
Render images of file nodesFIGMA_RENDER_IMAGES_OF_FILE_NODES | Render Figma nodes as images (PNG, JPG, SVG, PDF). | All levels |
Update a webhookFIGMA_UPDATE_A_WEBHOOK | Updates an existing Figma webhook, identified by webhook_id, allowing modification of its event type, endpoint, passcode, status, or description. | Read + write, Full access |
Update dev resourcesFIGMA_UPDATE_DEV_RESOURCES | Updates the name and/or URL of one or more existing Figma Dev Resources, each identified by its unique id. | Read + write, Full access |
Just ask in plain language: “check Figma for …”, “create … in Figma”, “every Monday, … ”, and the agent finds the right tool, runs it, and reports back with a receipt in your Runs ledger. Anything outward-facing (sending, posting, publishing) that a mission didn't clearly authorize comes back to you as a ticket first.
| Agent says | What's happening | Fix |
|---|---|---|
| "Figma isn't connected" | No active connection (or this agent is denied) | Connect on the Integrations page; check the agent's per-app policy |
| "The connection has expired" | Figma ended the authorization (they all do periodically) | Click Reconnect on the account, same settings, one click |
| "I'm not allowed to do that" | The action is above the account's access level, or the agent is scoped down | Raise the level under Manage, or adjust that agent's policy |
| It did something unexpected | The ask was ambiguous (e.g. matched an existing item) | Be explicit, "create a NEW …", and give agents a working folder where relevant |