---
title: Figma API Integration on Truto
slug: figma
category: Default
canonical: "https://truto.one/integrations/detail/figma/"
---

# Figma API Integration on Truto



**Category:** Default  
**Status:** Generally available

## Unified APIs

### Unified User Directory API

- **Activities** — Activities are the actions performed by users in the source application.

## MCP-ready AI tools

Truto exposes 45 tools for Figma that AI agents can call directly.

- **list_all_figma_activity_logs** — List activity logs in Figma. Returns fields such as event type, timestamp, and user details. Requires id of organization context automatically inferred from the token.
- **list_all_figma_me** — Get information about the authenticated user in Figma. Returns id (unique user identifier), handle (user name), img_url (profile image URL), and email (user email).
- **get_single_figma_file_by_id** — Get details of a file in Figma using id. Returns name, lastModified, thumbnailUrl, editorType, linkAccess, and version as metadata, along with document structure, components, componentSets, schemaVersion, styles, mainFileKey, and branches.
- **list_all_figma_team_projects** — List projects in a specified Figma team using team_id. Returns project fields such as id, name, and last_modified that identify and describe each visible project.
- **list_all_figma_project_files** — List files in a given project in Figma. Requires project_id. Returns file details such as name, key, thumbnail_url, and file type in the response.
- **list_all_figma_comments** — Get comments for a file in Figma using key. Returns an array of comments, each containing message text, user info, created time, and related file context.
- **create_a_figma_comment** — Create a new comment in Figma for the specified file_key. Returns the created comment including id, message, and position metadata.
- **delete_a_figma_comment_by_id** — Delete a specific comment in Figma using file_key and id. Only the user who created the comment can delete it. The response returns no content.
- **list_all_figma_comments_reactions** — List reactions on a comment in Figma. Requires file_key and comment_id. Returns reaction details including emoji type, user who reacted, and timestamp.
- **create_a_figma_comments_reaction** — Create a reaction on a specific comment in Figma. Requires file_key and comment_id. Returns no content in the response.
- **delete_a_figma_comments_reaction_by_id** — Delete a specific comment reaction in Figma. Requires file_key and comment_id. Only the reaction author can delete it. Returns no content in the response.
- **list_all_figma_file_versions** — List all versions of a file in Figma. Requires key. Returns an array of versions along with pagination details including prev_page and next_page.
- **list_all_figma_team_components** — List published team-components in Figma using team_id. Returns component key, name, description, containing frame, file key, and thumbnail URL.
- **list_all_figma_file_components** — List published file-components in Figma for a specified file_key. Returns component metadata including name, description, and key identifiers. Requires a main file_key (not a branch key).
- **get_single_figma_component_by_id** — Get metadata about a specific component in Figma using id. Returns key properties such as name, description, and component metadata for the specified id.
- **list_all_figma_team_component_sets** — List published component sets in a team library in Figma. Requires team_id. Returns component set details like name, key, and description for each published component set.
- **list_all_figma_file_component_sets** — List published component sets in a Figma file. Requires file_key as the main file key (not a branch). Returns each component set’s key, name, description, and node_id for published components.
- **get_single_figma_component_set_by_id** — Get metadata about a specific component-set in Figma using id. Returns key details such as key, file_key, node_id, thumbnail_url, name, description, updated_at, created_at, user, and containing_frame.
- **list_all_figma_team_styles** — List published team-styles in Figma for the specified team_id. Returns style id, name, description, key, file_key, node_id, and other metadata.
- **list_all_figma_file_styles** — List published file-styles in Figma for a given file_key. The response returns each style’s id, key, name, style_type, and description.
- **get_single_figma_style_by_id** — Get metadata about a specific style in Figma. Requires id. Returns fields such as name, description, style_type, key, and file_key representing the style's attributes and source file.
- **get_single_figma_file_node_by_id** — Get nodes from a specific file in Figma using key and ids. Returns metadata fields such as name, lastModified, thumbnailUrl, editorType, version, as well as document, components, and styles mappings. Some nodes may be null if ids are invalid.
- **get_single_figma_image_by_id** — Get rendered images from a specific file in Figma. Requires key. Returns a map of node IDs to image URLs, with null values for nodes that failed rendering. Images expire after 30 days.
- **get_single_figma_image_fill_by_id** — Get image fills in Figma for a file identified by key. Requires key. Returns a mapping of image references to temporary download URLs that expire after 14 days.
- **get_single_figma_file_metadatum_by_id** — Get metadata for a specific file in Figma using id. Returns key file details such as name, last_modified, and thumbnail_url in the response.
- **list_all_figma_webhooks** — List webhooks in Figma. Returns information about webhooks such as id, event type, team or project context, and callback URL. Requires context, context_id, or plan_api_id.
- **get_single_figma_webhook_by_id** — Get details about a specific webhook in Figma using id. Returns webhook id, event type, and related configuration information.
- **create_a_figma_webhook** — Create a new webhook in Figma that triggers when the specified event occurs. Requires event_type, context, context_id, endpoint, and passcode. Returns WebhookV2 with fields like id, event_type, and status in the response.
- **update_a_figma_webhook_by_id** — Update a specific webhook in Figma using id. Returns the updated webhook object including event_type, endpoint, passcode, status, and description fields.
- **delete_a_figma_webhook_by_id** — Delete a specific webhook in Figma using id. Returns the deleted WebhookV2 object, confirming the webhook was successfully removed.
- **list_all_figma_discovery** — Get text event discovery data from Figma for a given time range. Requires start_date. Returns urls containing downloadable JSON files of text events organized by hour, along with error, status, and i18n fields.
- **get_single_figma_payment_by_id** — Get payment information in Figma using plugin_payment_token. Returns details such as payment status, amount, and user-related payment data.
- **list_all_figma_variables** — List local and remote variables for a given file in Figma. Requires file_key. Returns variable and variable collection objects including modes and subscribed_id for remote variables.
- **create_a_figma_variable** — Bulk create, update, or delete variables and variable collections in Figma for a file identified by file_key. Returns tempIdToRealId mapping for created objects and ensures atomic operations across variableCollections, variableModes, variables, and variableModeValues.
- **list_all_figma_published_variables** — Get published variables in Figma for a specific file using file_key. Returns each variable's id, subscribed_id, key, and updatedAt timestamps, showing current published state and update times.
- **list_all_figma_dev_resources** — Get dev resources in a Figma file. Requires file_key. Returns dev_resources including metadata about developer resources associated with nodes in the file.
- **create_a_figma_dev_resource** — Create multiple dev-resources across Figma files. Returns links_created containing successfully created dev-resources and errors listing any failures due to invalid file_key, duplicate URLs, or resource limits.
- **update_a_figma_dev_resource_by_id** — Bulk update dev resources in Figma. Requires a list of dev_resources. Returns links_updated for successfully updated resources and errors for failed ones.
- **delete_a_figma_dev_resource_by_id** — Delete a specific dev resource from a Figma file using file_key and id. Nothing is returned from this endpoint.
- **list_all_figma_component_actions** — Get historical component actions in Figma for a specific library using library_file_key and group_by. Returns action counts (insertions and detachments) ordered from most recent to least recent.
- **list_all_figma_component_usage** — Get component usage data in Figma for a specific library using library_file_key. Returns usage information grouped by components or files, including component names, number of files, teams, and instance counts.
- **list_all_figma_styles_actions** — Get style usage analytics actions in Figma for a specific library_file_key and required group_by parameter. Returns time series data of style actions ordered from most recent to least recent, including style or team breakdowns.
- **list_all_figma_styles_usage** — Get style usage data in Figma for a specific library_file_key. Returns usage grouped by style or file, including details on how styles are used across files and teams. Rows include only teams or styles with data.
- **list_all_figma_variables_actions** — Get variable usage analytics actions in Figma for a specific library_file_key and group_by parameter. Returns time series data including actions grouped by variable or team, listed from most recent to least recent.
- **list_all_figma_variables_usages** — Get usage data of variables in Figma using library_file_key and group_by. Returns files_using, teams_using, usages, variable_key, variable_name, variable_type, collection_key, and collection_name in the response.

## How it works

1. **Link your customer's Figma account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Figma.** The Proxy API is a 1-to-1 mapping of the Figma API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Sync design feedback with your issue tracking platform** — If you build a project management or issue tracking SaaS, integrating Figma lets your users link design files to tickets, push comments bidirectionally, and trigger status updates when designs change — all without leaving either tool.
- **Automate design token pipelines for developer tooling** — Developer infrastructure and frontend platform companies can read Figma Variables and Component Sets, then transform them into code-ready tokens (CSS, Tailwind, JSON) to power automated design-to-code workflows for their customers.
- **Build design system adoption dashboards** — Analytics and observability SaaS products can pull component usage, style actions, and variable usage data from Figma to help design leadership measure adoption, detect detachments, and quantify design system ROI.
- **Power localization previews directly in Figma** — Translation management platforms can read and write Figma Variables to sync localized strings, letting designers preview translations across multiple languages on the canvas without manual copy-pasting.
- **Extract and manage design assets for DAM or CMS platforms** — Digital asset management or content platforms can programmatically render specific Figma nodes as PNG or SVG images, automating asset extraction from finalized design files into their customers' content pipelines.

## What you can build

- **Bidirectional comment sync** — Push comments from your platform onto specific Figma canvas locations and pull Figma comments back as tasks or notifications using the comments API.
- **Dev resource linking from external tools** — Programmatically attach ticket URLs, pull request links, or documentation pages to specific Figma design nodes so developers see contextual links in Dev Mode.
- **Design token sync and CI/CD triggers** — Read Figma Variables and published variables, then register webhooks to automatically kick off code-generation pipelines when a designer updates the design system.
- **Component and style adoption analytics** — Fetch component usage, component actions, style usage, and style actions data to build dashboards that show which design system elements are being adopted or detached across teams.
- **Automated asset rendering pipeline** — Use the image and file node endpoints to render specific layers or frames as exportable PNG/SVG URLs for visual regression testing, CMS publishing, or asset cataloging.
- **Activity log ingestion for audit and compliance** — Pull Figma organization activity logs into your platform via the Unified User Directory API to power audit trails, access reviews, and security monitoring.

## FAQs

### What authentication method does the Figma integration use?

Truto handles OAuth 2.0 for Figma, managing token exchange and refresh so your end users can securely connect their Figma accounts without you building any auth flows.

### Can I write data back to Figma, or is it read-only?

The integration supports both read and write operations. You can create and delete comments, create and manage variables, create and manage dev resources, create and manage webhooks, and create comment reactions — in addition to reading files, components, styles, and usage data.

### What Figma webhook events can I register for?

You can create, update, list, and delete Figma webhooks via the API. Figma supports events like FILE_UPDATE, FILE_COMMENT, FILE_VERSION_UPDATE, and others, which you can use to trigger workflows in your product when designs change.

### Does Truto handle Figma API pagination and rate limits?

Yes. Truto abstracts away pagination across list endpoints (comments, components, styles, variables, activity logs, etc.) and manages rate limit handling so you don't need to implement retry logic or cursor management yourself.

### What design analytics data is available from Figma?

You can access component actions, component usage, style actions, style usage, variable actions, and variable usages endpoints. These provide granular telemetry on how design system elements are being inserted, detached, or modified across an organization's files.

### Is Figma activity log data available through a Unified API?

Yes. Figma activity logs are available through Truto's Unified User Directory API under the Activities resource, letting you normalize Figma audit data alongside activity data from other integrated platforms.
