> ## Documentation Index
> Fetch the complete documentation index at: https://squad.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Figma

> What agents can do in Figma at each access level, and how to connect, limit, and disconnect Figma.

Connect Figma so your agents can work in your Figma account. You choose an access level for each account, and Squad refuses any agent action outside that level.

## Access levels

Each Figma account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.

| Level                          | The connect window describes this level as        | Actions agents can use |
| ------------------------------ | ------------------------------------------------- | ---------------------- |
| **Read-only**                  | "Read file content, metadata, and comments."      | 42 of 53               |
| **Read + write** (recommended) | "Read files and create/edit content."             | 48 of 53               |
| **Full access**                | "Read/write variables, library assets, webhooks." | 53 of 53               |

**Read + write** is the recommended level. The connect window selects it for you, and you can choose another level.

The Figma sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every agent action against the level you chose, and it refuses actions outside that level.

## What agents can do at each level

Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my Figma account?" The agent can search the Figma actions for you.</Tip>

Each action shows its name, a one-line description where the Figma action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

<AccordionGroup>
  <Accordion title="Read-only">
    Agents can use 42 of the 53 Figma actions at this level:

    * View components
    * View styles
    * View usage
    * View files
    * View and run images
    * View and search resources
    * View and manage tokens
    * View variables
    * View webhooks
    * View comments
    * View interactions
    * View logs

    All 42 actions at this level:

    <AccordionGroup>
      <Accordion title="Comments (1)">
        | Action                 | What it does                                                                                                                                                                                         | Slug                           |
        | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
        | 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. | `FIGMA_GET_COMMENTS_IN_A_FILE` |
      </Accordion>

      <Accordion title="Components (8)">
        | Action                                      | What it does                                                                                                                                                          | Slug                                                |
        | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
        | Get component                               | DEPRECATED: Use FIGMA\_GET\_FILE\_NODES instead.                                                                                                                      | `FIGMA_GET_COMPONENT`                               |
        | Get component set                           | Retrieves detailed metadata for a specific published Figma component set using its unique key.                                                                        | `FIGMA_GET_COMPONENT_SET`                           |
        | Get component2                              | Fetches metadata for a specific component using its unique identifier.                                                                                                | `FIGMA_GET_COMPONENT2`                              |
        | Get file component sets                     | Retrieves all published component sets from the specified Figma main file (file\_key must not be for a branch).                                                       | `FIGMA_GET_FILE_COMPONENT_SETS`                     |
        | Get file components                         | Retrieves published components from a Figma file, which must be a main file (not a branch) acting as a library.                                                       | `FIGMA_GET_FILE_COMPONENTS`                         |
        | 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). | `FIGMA_GET_LIBRARY_ANALYTICS_COMPONENT_ACTION_DATA` |
        | Get team component sets                     | Retrieves a paginated list of published component sets (collections of reusable UI elements) from a specified Figma team's library.                                   | `FIGMA_GET_TEAM_COMPONENT_SETS`                     |
        | Get team components                         | Retrieves components published in a specific Figma team's library.                                                                                                    | `FIGMA_GET_TEAM_COMPONENTS`                         |
      </Accordion>

      <Accordion title="Files (4)">
        | Action                 | What it does                                                                                                   | Slug                           |
        | ---------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------ |
        | Get file JSON          | Get Figma Design file data with automatic simplification.                                                      | `FIGMA_GET_FILE_JSON`          |
        | Get file metadata      | Get Figma file metadata including name, creator, last modification details, thumbnail, and access information. | `FIGMA_GET_FILE_METADATA`      |
        | Get file nodes         | Fetch JSON for specific node IDs from a Figma file to avoid full-file payload limits.                          | `FIGMA_GET_FILE_NODES`         |
        | Get files in a project | Fetches a list of files in a Figma project, optionally including branch metadata.                              | `FIGMA_GET_FILES_IN_A_PROJECT` |
      </Accordion>

      <Accordion title="Images (3)">
        | Action                      | What it does                                                                           | Slug                                |
        | --------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------- |
        | Download Figma images       | Download images from Figma file nodes.                                                 | `FIGMA_DOWNLOAD_FIGMA_IMAGES`       |
        | Get image fills             | Retrieves temporary (14-day expiry) download URLs for all image fills in a Figma file. | `FIGMA_GET_IMAGE_FILLS`             |
        | Render images of file nodes | Render Figma nodes as images (PNG, JPG, SVG, PDF).                                     | `FIGMA_RENDER_IMAGES_OF_FILE_NODES` |
      </Accordion>

      <Accordion title="Interactions (1)">
        | Action                         | What it does                                                    | Slug                                   |
        | ------------------------------ | --------------------------------------------------------------- | -------------------------------------- |
        | Extract prototype interactions | Extract prototype interactions and animations from Figma files. | `FIGMA_EXTRACT_PROTOTYPE_INTERACTIONS` |
      </Accordion>

      <Accordion title="Logs (1)">
        | Action            | What it does                                                                                             | Slug                      |
        | ----------------- | -------------------------------------------------------------------------------------------------------- | ------------------------- |
        | Get activity logs | Retrieves activity log events from Figma, allowing filtering by event types, time range, and pagination. | `FIGMA_GET_ACTIVITY_LOGS` |
      </Accordion>

      <Accordion title="Payments (1)">
        | Action       | What it does                                                                          | Slug                 |
        | ------------ | ------------------------------------------------------------------------------------- | -------------------- |
        | Get payments | Retrieves a user's payment information for a Figma plugin, widget, or Community file. | `FIGMA_GET_PAYMENTS` |
      </Accordion>

      <Accordion title="Projects (1)">
        | Action                 | What it does                                                                                 | Slug                           |
        | ---------------------- | -------------------------------------------------------------------------------------------- | ------------------------------ |
        | Get projects in a team | Retrieves projects within a specified Figma team that are visible to the authenticated user. | `FIGMA_GET_PROJECTS_IN_A_TEAM` |
      </Accordion>

      <Accordion title="Reactions (1)">
        | Action                      | What it does                                                | Slug                                |
        | --------------------------- | ----------------------------------------------------------- | ----------------------------------- |
        | Get reactions for a comment | Retrieves reactions for a specific comment in a Figma file. | `FIGMA_GET_REACTIONS_FOR_A_COMMENT` |
      </Accordion>

      <Accordion title="Resources (2)">
        | Action                   | What it does                                                                                                                | Slug                             |
        | ------------------------ | --------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |
        | Discover Figma resources | Smart Figma resource discovery.                                                                                             | `FIGMA_DISCOVER_FIGMA_RESOURCES` |
        | Get dev resources        | Retrieves development resources (e.g., Jira/GitHub links) for a Figma main file, optionally filtering by specific node IDs. | `FIGMA_GET_DEV_RESOURCES`        |
      </Accordion>

      <Accordion title="Settings (1)">
        | Action                           | What it does                                     | Slug                                     |
        | -------------------------------- | ------------------------------------------------ | ---------------------------------------- |
        | Get SCIM service provider config | Get Figma's SCIM service provider configuration. | `FIGMA_GET_SCIM_SERVICE_PROVIDER_CONFIG` |
      </Accordion>

      <Accordion title="Styles (4)">
        | Action                                  | What it does                                                                                                                                    | Slug                                            |
        | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
        | 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). | `FIGMA_GET_FILE_STYLES`                         |
        | Get library analytics style action data | Retrieves style usage analytics (insertions, detachments) for a Figma library, grouped by 'style' or 'team'.                                    | `FIGMA_GET_LIBRARY_ANALYTICS_STYLE_ACTION_DATA` |
        | Get style                               | Retrieves detailed metadata for a specific style in Figma using its unique style key.                                                           | `FIGMA_GET_STYLE`                               |
        | Get team styles                         | Retrieves a paginated list of published styles (fill colors, text styles, effects, grids) from a specified Figma team's library.                | `FIGMA_GET_TEAM_STYLES`                         |
      </Accordion>

      <Accordion title="Tokens (2)">
        | Action                    | What it does                                                                                      | Slug                              |
        | ------------------------- | ------------------------------------------------------------------------------------------------- | --------------------------------- |
        | Design tokens to tailwind | Convert design tokens to Tailwind CSS configuration.                                              | `FIGMA_DESIGN_TOKENS_TO_TAILWIND` |
        | Extract design tokens     | Extract design tokens from Figma files by combining styles, variables, and node-extracted values. | `FIGMA_EXTRACT_DESIGN_TOKENS`     |
      </Accordion>

      <Accordion title="Usage (3)">
        | Action                                     | What it does                                                                                                                                                | Slug                                               |
        | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
        | 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'.             | `FIGMA_GET_LIBRARY_ANALYTICS_COMPONENT_USAGE_DATA` |
        | Get library analytics style usage data     | Retrieves style usage analytics for a published Figma library.                                                                                              | `FIGMA_GET_LIBRARY_ANALYTICS_STYLE_USAGE_DATA`     |
        | 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. | `FIGMA_GET_LIBRARY_ANALYTICS_VARIABLE_USAGE_DATA`  |
      </Accordion>

      <Accordion title="Users (1)">
        | Action           | What it does                                                               | Slug                     |
        | ---------------- | -------------------------------------------------------------------------- | ------------------------ |
        | Get current user | Retrieves detailed information for the currently authenticated Figma user. | `FIGMA_GET_CURRENT_USER` |
      </Accordion>

      <Accordion title="Variables (3)">
        | Action                                     | What it does                                                                                                                                                                                                            | Slug                                               |
        | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
        | 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. | `FIGMA_GET_LIBRARY_ANALYTICS_VARIABLE_ACTION_DATA` |
        | Get local variables                        | Retrieves all local/remote variables for a Figma file/branch.                                                                                                                                                           | `FIGMA_GET_LOCAL_VARIABLES`                        |
        | Get published variables                    | Retrieves variables published from a specified Figma file.                                                                                                                                                              | `FIGMA_GET_PUBLISHED_VARIABLES`                    |
      </Accordion>

      <Accordion title="Versions (1)">
        | Action                 | What it does                                                                             | Slug                           |
        | ---------------------- | ---------------------------------------------------------------------------------------- | ------------------------------ |
        | Get versions of a file | Retrieves the version history for a Figma file or branch, as specified by its file\_key. | `FIGMA_GET_VERSIONS_OF_A_FILE` |
      </Accordion>

      <Accordion title="Webhooks (3)">
        | Action               | What it does                                                                                                                  | Slug                         |
        | -------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
        | Get a webhook        | Retrieves detailed information about a specific webhook by its ID, provided the webhook exists and is accessible to the user. | `FIGMA_GET_A_WEBHOOK`        |
        | Get team webhooks    | Retrieves all webhooks registered for a specified Figma context (team, project, or file).                                     | `FIGMA_GET_TEAM_WEBHOOKS`    |
        | Get webhook requests | Retrieves a history of webhook requests for a specific Figma webhook subscription.                                            | `FIGMA_GET_WEBHOOK_REQUESTS` |
      </Accordion>

      <Accordion title="Other actions (1)">
        | Action            | What it does                                                 | Slug                      |
        | ----------------- | ------------------------------------------------------------ | ------------------------- |
        | Detect background | Detect background layers for selected nodes in a Figma file. | `FIGMA_DETECT_BACKGROUND` |
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Read + write (recommended)">
    Agents can use 48 of the 53 Figma actions at this level: everything in **Read-only**, plus:

    * Create and update resources
    * Create and update webhooks

    The 6 actions that this level adds to **Read-only**:

    | Works on      | Action                      | What it does                                                                                                                                       | Slug                                |
    | ------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
    | **Comments**  | 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).                         | `FIGMA_ADD_A_COMMENT_TO_A_FILE`     |
    | **Reactions** | 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.                      | `FIGMA_ADD_A_REACTION_TO_A_COMMENT` |
    | **Resources** | Create dev resources        | Creates and attaches multiple uniquely-URLed development resources to specified Figma nodes, up to 10 per node.                                    | `FIGMA_CREATE_DEV_RESOURCES`        |
    |               | Update dev resources        | Updates the name and/or URL of one or more existing Figma Dev Resources, each identified by its unique id.                                         | `FIGMA_UPDATE_DEV_RESOURCES`        |
    | **Webhooks**  | Create a webhook            | Creates a Figma webhook to receive POST notifications when specific events occur.                                                                  | `FIGMA_CREATE_A_WEBHOOK`            |
    |               | Update a webhook            | Updates an existing Figma webhook, identified by webhook\_id, allowing modification of its event type, endpoint, passcode, status, or description. | `FIGMA_UPDATE_A_WEBHOOK`            |
  </Accordion>

  <Accordion title="Full access">
    Agents can use 53 of the 53 Figma actions at this level: everything in **Read + write**, plus:

    * Delete comments
    * Delete reactions
    * Delete resources
    * Create variables
    * Delete webhooks

    The 5 actions that this level adds to **Read + write**:

    | Works on      | Action                         | What it does                                                                                                                                          | Slug                                   |
    | ------------- | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
    | **Comments**  | Delete a comment               | Deletes a specific comment from a Figma file or branch, provided the authenticated user is the original author of the comment.                        | `FIGMA_DELETE_A_COMMENT`               |
    | **Reactions** | Delete a reaction              | Deletes a specific emoji reaction from a comment in a Figma file.                                                                                     | `FIGMA_DELETE_A_REACTION`              |
    | **Resources** | 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. | `FIGMA_DELETE_DEV_RESOURCE`            |
    | **Variables** | Create modify delete variables | Manages variables, collections, modes, and their values in a Figma file via batch create/update/delete operations.                                    | `FIGMA_CREATE_MODIFY_DELETE_VARIABLES` |
    | **Webhooks**  | Delete a webhook               | Permanently deletes an existing webhook, identified by its unique webhook\_id.                                                                        | `FIGMA_DELETE_A_WEBHOOK`               |
  </Accordion>
</AccordionGroup>

## Connect Figma

Before you start:

* You need a Figma account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find Figma">
    Find **Figma** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Choose an access level">
    Under **Default scope**, choose an access level. This level applies to every agent.
  </Step>

  <Step title="Click Connect Figma">
    Click **Connect Figma**. The Figma sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to Figma">
    Sign in to Figma and approve the request.
  </Step>
</Steps>

Check that it works: Figma shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Change the access level

1. Under **YOUR CONNECTIONS**, find the Figma account.
2. Open the account menu (⋯) and click **Manage scope**.
3. Under **Default scope**, choose the new level.
4. Click **Save access**.

The change does not need a new sign-in. Agents get the new level from their next call.

## Set access for one agent

Every agent uses the account's level unless you set something else for it. You can narrow one agent to a lower level, or block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the Figma account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose the **Default** option to follow the account's level, choose a lower level, or choose **No access**.
5. Click **Save access**.

An agent never gets more than the account's level, even if you choose a higher level for it. Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one Figma account

Click **+ Account** on the Figma card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* Each account has its own access level.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the Figma side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on Figma**.
3. Sign in to Figma and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the Figma account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected Figma account becomes primary.</Warning>

## Costs

Figma actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent reports that an action is not allowed on this account.

* Cause: the action is outside the account's access level, or outside the level you set for that agent.
* Fix: choose a higher level in **Manage scope**, or change the agent's row under **Per-agent access**.

An agent says it has no access to Figma, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the Figma connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in Figma?">
    Each Figma account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one Figma account?">
    Click **+ Account** on the Figma card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect Figma?">
    Open the account menu (⋯) on the Figma account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
