[MOAR][FIGMA] Figma Starter Toolkit (#621)

Co-authored-by: Francisco Liberal <francisco@arcade.dev>
This commit is contained in:
jottakka 2025-10-16 14:15:01 -03:00 committed by GitHub
parent 0a2f2016b8
commit d71521ac81
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
53 changed files with 11792 additions and 0 deletions

View file

@ -2,6 +2,7 @@ arcade-airtable-api
arcade-box-api
arcade-calendly-api
arcade-cursor-agents-api
arcade-figma-api
arcade-freshservice-api
arcade-linkedin
arcade-math

View file

@ -0,0 +1,18 @@
files: ^.*/figma_api/.*
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: "v4.4.0"
hooks:
- id: check-case-conflict
- id: check-merge-conflict
- id: check-toml
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.7
hooks:
- id: ruff
args: [--fix]
- id: ruff-format

View file

@ -0,0 +1,44 @@
target-version = "py310"
line-length = 100
fix = true
[lint]
select = [
# flake8-2020
"YTT",
# flake8-bandit
"S",
# flake8-bugbear
"B",
# flake8-builtins
"A",
# flake8-comprehensions
"C4",
# flake8-debugger
"T10",
# flake8-simplify
"SIM",
# isort
"I",
# mccabe
"C90",
# pycodestyle
"E", "W",
# pyflakes
"F",
# pygrep-hooks
"PGH",
# pyupgrade
"UP",
# ruff
"RUF",
# tryceratops
"TRY",
]
[lint.per-file-ignores]
"**/tests/*" = ["S101"]
[format]
preview = true
skip-magic-trailing-comma = false

View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025, Arcade AI
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -0,0 +1,54 @@
.PHONY: help
help:
@echo "🛠️ github Commands:\n"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
.PHONY: install
install: ## Install the uv environment and install all packages with dependencies
@echo "🚀 Creating virtual environment and installing all packages using uv"
@uv sync --active --all-extras --no-sources
@if [ -f .pre-commit-config.yaml ]; then uv run --no-sources pre-commit install; fi
@echo "✅ All packages and dependencies installed via uv"
.PHONY: install-local
install-local: ## Install the uv environment and install all packages with dependencies with local Arcade sources
@echo "🚀 Creating virtual environment and installing all packages using uv"
@uv sync --active --all-extras
@if [ -f .pre-commit-config.yaml ]; then uv run pre-commit install; fi
@echo "✅ All packages and dependencies installed via uv"
.PHONY: build
build: clean-build ## Build wheel file using poetry
@echo "🚀 Creating wheel file"
uv build
.PHONY: clean-build
clean-build: ## clean build artifacts
@echo "🗑️ Cleaning dist directory"
rm -rf dist
.PHONY: test
test: ## Test the code with pytest
@echo "🚀 Testing code: Running pytest"
@uv run --no-sources pytest -W ignore -v --cov --cov-config=pyproject.toml --cov-report=xml
.PHONY: coverage
coverage: ## Generate coverage report
@echo "coverage report"
@uv run --no-sources coverage report
@echo "Generating coverage report"
@uv run --no-sources coverage html
.PHONY: bump-version
bump-version: ## Bump the version in the pyproject.toml file by a patch version
@echo "🚀 Bumping version in pyproject.toml"
uv version --no-sources --bump patch
.PHONY: check
check: ## Run code quality tools.
@if [ -f .pre-commit-config.yaml ]; then\
echo "🚀 Linting code: Running pre-commit";\
uv run --no-sources pre-commit run -a;\
fi
@echo "🚀 Static type checking: Running mypy"
@uv run --no-sources mypy --config-file=pyproject.toml

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,195 @@
{
"name": "AddFigmaCommentReaction",
"fully_qualified_name": "FigmaApi.AddFigmaCommentReaction@0.1.0",
"description": "Add a reaction to a comment on a Figma file.\n\nUse this tool to post a new reaction to an existing comment on a Figma file. It should be called when you want to react to a specific comment in a Figma project.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "file_or_branch_key",
"required": true,
"description": "Key of the file or branch where the comment reaction should be posted. Can be obtained via the Figma API.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to post comment reactions to. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "comment_id",
"required": true,
"description": "The unique identifier of the comment you want to react to in a Figma file.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of comment to react to."
},
"inferrable": true,
"http_endpoint_parameter_name": "comment_id"
},
{
"name": "reaction_emoji",
"required": true,
"description": "The emoji type of reaction as shortcode (e.g. `:heart:`, `:+1::skin-tone-2:`).",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"emoji": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The emoji type of reaction as shortcode (e.g. `:heart:`, `:+1::skin-tone-2:`). The list of accepted emoji shortcodes can be found in [this file](https://raw.githubusercontent.com/missive/emoji-mart/main/packages/emoji-mart-data/sets/14/native.json) under the top-level emojis and aliases fields, with optional skin tone modifiers when applicable."
}
},
"inner_properties": null,
"description": "Reaction to post."
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'postCommentReaction'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_comments:write"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/comments/{comment_id}/reactions",
"http_method": "POST",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "file_key",
"tool_parameter_name": "file_or_branch_key",
"description": "File to post comment reactions to. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to post comment reactions to. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "comment_id",
"tool_parameter_name": "comment_id",
"description": "ID of comment to react to.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of comment to react to."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "reaction_emoji",
"description": "Reaction to post.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"emoji": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The emoji type of reaction as shortcode (e.g. `:heart:`, `:+1::skin-tone-2:`). The list of accepted emoji shortcodes can be found in [this file](https://raw.githubusercontent.com/missive/emoji-mart/main/packages/emoji-mart-data/sets/14/native.json) under the top-level emojis and aliases fields, with optional skin tone modifiers when applicable."
}
},
"inner_properties": null,
"description": "Reaction to post."
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": "{\n \"description\": \"Reaction to post.\",\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"emoji\": {\n \"type\": \"string\",\n \"description\": \"The emoji type of reaction as shortcode (e.g. `:heart:`, `:+1::skin-tone-2:`). The list of accepted emoji shortcodes can be found in [this file](https://raw.githubusercontent.com/missive/emoji-mart/main/packages/emoji-mart-data/sets/14/native.json) under the top-level emojis and aliases fields, with optional skin tone modifiers when applicable.\"\n }\n },\n \"required\": [\n \"emoji\"\n ]\n }\n }\n }\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,179 @@
{
"name": "BulkUpdateFigmaDevResources",
"fully_qualified_name": "FigmaApi.BulkUpdateFigmaDevResources@0.1.0",
"description": "Update multiple Figma dev resources in bulk.\n\nThis tool updates developer resources across multiple Figma files. It should be called when you need to apply changes to several resources at once. The response will include arrays indicating which resources were successfully updated and which encountered errors.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "dev_resources_to_update",
"required": true,
"description": "A JSON list of dev resources to update. Each resource should include its unique identifier, name, and URL.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"dev_resources": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Unique identifier of the dev resource"
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the dev resource."
},
"url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The URL of the dev resource."
}
},
"description": "An array of dev resources."
}
},
"inner_properties": null,
"description": "A list of dev resources that you want to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'putDevResources'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_dev_resources:write"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/dev_resources",
"http_method": "PUT",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "requestBody",
"tool_parameter_name": "dev_resources_to_update",
"description": "A list of dev resources that you want to update.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"dev_resources": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Unique identifier of the dev resource"
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the dev resource."
},
"url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The URL of the dev resource."
}
},
"description": "An array of dev resources."
}
},
"inner_properties": null,
"description": "A list of dev resources that you want to update."
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": "{\n \"description\": \"A list of dev resources that you want to update.\",\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"dev_resources\": {\n \"type\": \"array\",\n \"description\": \"An array of dev resources.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier of the dev resource\"\n },\n \"name\": {\n \"type\": \"string\",\n \"description\": \"The name of the dev resource.\"\n },\n \"url\": {\n \"type\": \"string\",\n \"description\": \"The URL of the dev resource.\"\n }\n },\n \"required\": [\n \"id\"\n ]\n }\n }\n },\n \"required\": [\n \"dev_resources\"\n ]\n }\n }\n }\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,195 @@
{
"name": "CreateBulkDevResources",
"fully_qualified_name": "FigmaApi.CreateBulkDevResources@0.1.0",
"description": "Bulk create developer resources in multiple Figma files.\n\nUse this tool to create multiple developer resources across different Figma files. Successfully created resources will be listed in the response, while any errors will also be provided, indicating issues such as non-existent file keys or duplicate URLs.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "dev_resources_list",
"required": true,
"description": "A JSON array of dev resources to create, each with a name, URL, file key, and node ID.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"dev_resources": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the dev resource."
},
"url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The URL of the dev resource."
},
"file_key": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The file key where the dev resource belongs."
},
"node_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The target node to attach the dev resource to."
}
},
"description": "An array of dev resources."
}
},
"inner_properties": null,
"description": "A list of dev resources that you want to create."
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'postDevResources'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_dev_resources:write"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/dev_resources",
"http_method": "POST",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "requestBody",
"tool_parameter_name": "dev_resources_list",
"description": "A list of dev resources that you want to create.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"dev_resources": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the dev resource."
},
"url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The URL of the dev resource."
},
"file_key": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The file key where the dev resource belongs."
},
"node_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The target node to attach the dev resource to."
}
},
"description": "An array of dev resources."
}
},
"inner_properties": null,
"description": "A list of dev resources that you want to create."
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": "{\n \"description\": \"A list of dev resources that you want to create.\",\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"dev_resources\": {\n \"type\": \"array\",\n \"description\": \"An array of dev resources.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"The name of the dev resource.\"\n },\n \"url\": {\n \"type\": \"string\",\n \"description\": \"The URL of the dev resource.\"\n },\n \"file_key\": {\n \"type\": \"string\",\n \"description\": \"The file key where the dev resource belongs.\"\n },\n \"node_id\": {\n \"type\": \"string\",\n \"description\": \"The target node to attach the dev resource to.\"\n }\n },\n \"required\": [\n \"name\",\n \"url\",\n \"file_key\",\n \"node_id\"\n ]\n }\n }\n },\n \"required\": [\n \"dev_resources\"\n ]\n }\n }\n }\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,263 @@
{
"name": "CreateFigmaWebhook",
"fully_qualified_name": "FigmaApi.CreateFigmaWebhook@0.1.0",
"description": "Create a new webhook for Figma events.\n\nThis tool creates a webhook in Figma that triggers an event to a specified endpoint. It sends a PING event by default, unless set to PAUSED, and can be reactivated later.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "webhook_details",
"required": true,
"description": "JSON containing details for creating the webhook, including event type, endpoint, and context.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"event_type": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"PING",
"FILE_UPDATE",
"FILE_VERSION_UPDATE",
"FILE_DELETE",
"LIBRARY_PUBLISH",
"FILE_COMMENT",
"DEV_MODE_STATUS_UPDATE"
],
"properties": null,
"inner_properties": null,
"description": "An enum representing the possible events that a webhook can subscribe to"
},
"team_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Team id to receive updates about. This is deprecated, use 'context' and 'context_id' instead."
},
"context": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Context to create the webhook for. Must be \"team\", \"project\", or \"file\"."
},
"context_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the context you want to receive updates about."
},
"endpoint": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTTP endpoint that will receive a POST request when the event triggers. Max length 2048 characters."
},
"passcode": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "String that will be passed back to your webhook endpoint to verify that it is being called by Figma. Max length 100 characters."
},
"status": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"ACTIVE",
"PAUSED"
],
"properties": null,
"inner_properties": null,
"description": "An enum representing the possible statuses you can set a webhook to:\n- `ACTIVE`: The webhook is healthy and receive all events\n- `PAUSED`: The webhook is paused and will not receive any events"
},
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "User provided description or name for the webhook. Max length 150 characters."
}
},
"inner_properties": null,
"description": "The webhook to create."
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'postWebhook'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"webhooks:write"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v2/webhooks",
"http_method": "POST",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "requestBody",
"tool_parameter_name": "webhook_details",
"description": "The webhook to create.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"event_type": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"PING",
"FILE_UPDATE",
"FILE_VERSION_UPDATE",
"FILE_DELETE",
"LIBRARY_PUBLISH",
"FILE_COMMENT",
"DEV_MODE_STATUS_UPDATE"
],
"properties": null,
"inner_properties": null,
"description": "An enum representing the possible events that a webhook can subscribe to"
},
"team_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Team id to receive updates about. This is deprecated, use 'context' and 'context_id' instead."
},
"context": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Context to create the webhook for. Must be \"team\", \"project\", or \"file\"."
},
"context_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the context you want to receive updates about."
},
"endpoint": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTTP endpoint that will receive a POST request when the event triggers. Max length 2048 characters."
},
"passcode": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "String that will be passed back to your webhook endpoint to verify that it is being called by Figma. Max length 100 characters."
},
"status": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"ACTIVE",
"PAUSED"
],
"properties": null,
"inner_properties": null,
"description": "An enum representing the possible statuses you can set a webhook to:\n- `ACTIVE`: The webhook is healthy and receive all events\n- `PAUSED`: The webhook is paused and will not receive any events"
},
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "User provided description or name for the webhook. Max length 150 characters."
}
},
"inner_properties": null,
"description": "The webhook to create."
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": "{\n \"description\": \"The webhook to create.\",\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"event_type\": {\n \"type\": \"string\",\n \"description\": \"An enum representing the possible events that a webhook can subscribe to\",\n \"enum\": [\n \"PING\",\n \"FILE_UPDATE\",\n \"FILE_VERSION_UPDATE\",\n \"FILE_DELETE\",\n \"LIBRARY_PUBLISH\",\n \"FILE_COMMENT\",\n \"DEV_MODE_STATUS_UPDATE\"\n ]\n },\n \"team_id\": {\n \"type\": \"string\",\n \"description\": \"Team id to receive updates about. This is deprecated, use 'context' and 'context_id' instead.\",\n \"deprecated\": true\n },\n \"context\": {\n \"type\": \"string\",\n \"description\": \"Context to create the webhook for. Must be \\\"team\\\", \\\"project\\\", or \\\"file\\\".\"\n },\n \"context_id\": {\n \"type\": \"string\",\n \"description\": \"The id of the context you want to receive updates about.\"\n },\n \"endpoint\": {\n \"type\": \"string\",\n \"description\": \"The HTTP endpoint that will receive a POST request when the event triggers. Max length 2048 characters.\"\n },\n \"passcode\": {\n \"type\": \"string\",\n \"description\": \"String that will be passed back to your webhook endpoint to verify that it is being called by Figma. Max length 100 characters.\"\n },\n \"status\": {\n \"type\": \"string\",\n \"description\": \"An enum representing the possible statuses you can set a webhook to:\\n- `ACTIVE`: The webhook is healthy and receive all events\\n- `PAUSED`: The webhook is paused and will not receive any events\",\n \"enum\": [\n \"ACTIVE\",\n \"PAUSED\"\n ]\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"User provided description or name for the webhook. Max length 150 characters.\"\n }\n },\n \"required\": [\n \"event_type\",\n \"endpoint\",\n \"passcode\",\n \"context\",\n \"context_id\"\n ]\n }\n }\n }\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,144 @@
{
"name": "DeleteDevResource",
"fully_qualified_name": "FigmaApi.DeleteDevResource@0.1.0",
"description": "Delete a dev resource from a Figma file.\n\nCall this tool to delete a specific developer resource from a Figma file using the file key and resource ID.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "target_file_key",
"required": true,
"description": "The main file key from which to delete the dev resource. Must not be a branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The file to delete the dev resource from. This must be a main file key, not a branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "dev_resource_id",
"required": true,
"description": "The ID of the developer resource to delete from the Figma file.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the dev resource to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "dev_resource_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'deleteDevResource'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_dev_resources:write"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/dev_resources/{dev_resource_id}",
"http_method": "DELETE",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "file_key",
"tool_parameter_name": "target_file_key",
"description": "The file to delete the dev resource from. This must be a main file key, not a branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The file to delete the dev resource from. This must be a main file key, not a branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "dev_resource_id",
"tool_parameter_name": "dev_resource_id",
"description": "The id of the dev resource to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the dev resource to delete."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,144 @@
{
"name": "DeleteFigmaComment",
"fully_qualified_name": "FigmaApi.DeleteFigmaComment@0.1.0",
"description": "Delete your comment from a Figma file.\n\nUse this tool to delete a specific comment you made on a Figma file. Only the original commenter can delete their comments.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "figma_file_key",
"required": true,
"description": "The file or branch key from which to delete the comment. Use `GET /v1/files/:key` with `branch_data` to obtain the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to delete comment from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "comment_identifier",
"required": true,
"description": "The ID of the comment you wish to delete from the Figma file. Only the original commenter can perform this action.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Comment id of comment to delete"
},
"inferrable": true,
"http_endpoint_parameter_name": "comment_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'deleteComment'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_comments:write"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/comments/{comment_id}",
"http_method": "DELETE",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "file_key",
"tool_parameter_name": "figma_file_key",
"description": "File to delete comment from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to delete comment from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "comment_id",
"tool_parameter_name": "comment_identifier",
"description": "Comment id of comment to delete",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Comment id of comment to delete"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "DeleteFigmaWebhook",
"fully_qualified_name": "FigmaApi.DeleteFigmaWebhook@0.1.0",
"description": "Delete a specified webhook in Figma.\n\nUse this tool to delete a specified webhook in Figma. This action is irreversible and should be called when a webhook is no longer needed.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "webhook_id_to_delete",
"required": true,
"description": "The unique identifier of the webhook you wish to delete. This ID is required for the deletion operation.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of webhook to delete"
},
"inferrable": true,
"http_endpoint_parameter_name": "webhook_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'deleteWebhook'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"webhooks:write"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v2/webhooks/{webhook_id}",
"http_method": "DELETE",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "webhook_id",
"tool_parameter_name": "webhook_id_to_delete",
"description": "ID of webhook to delete",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of webhook to delete"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,177 @@
{
"name": "DeleteMyCommentReaction",
"fully_qualified_name": "FigmaApi.DeleteMyCommentReaction@0.1.0",
"description": "Deletes your specific comment reaction in Figma.\n\nThis tool allows users to delete a reaction they added to a comment in a Figma file. It can only be used if the reaction was made by the person attempting to delete it.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "reaction_emoji",
"required": true,
"description": "The emoji associated with the reaction to be deleted. Only the emoji used for the reaction you added can be deleted.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "emoji"
},
{
"name": "file_or_branch_key",
"required": true,
"description": "Key of the Figma file or branch where the reaction should be deleted. Use `GET /v1/files/:key` with the `branch_data` query param to obtain the branch key if needed.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to delete comment reaction from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "comment_id",
"required": true,
"description": "The ID of the comment from which you want to delete your reaction.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of comment to delete reaction from."
},
"inferrable": true,
"http_endpoint_parameter_name": "comment_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'deleteCommentReaction'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_comments:write"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/comments/{comment_id}/reactions",
"http_method": "DELETE",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "emoji",
"tool_parameter_name": "reaction_emoji",
"description": "",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": ""
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "file_or_branch_key",
"description": "File to delete comment reaction from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to delete comment reaction from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "comment_id",
"tool_parameter_name": "comment_id",
"description": "ID of comment to delete reaction from.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of comment to delete reaction from."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,177 @@
{
"name": "FetchCommentReactions",
"fully_qualified_name": "FigmaApi.FetchCommentReactions@0.1.0",
"description": "Retrieve reactions from a specific comment in Figma.\n\nUse this tool to obtain a list of reactions left on a specific comment in a Figma file. This can help track engagement or feedback on comments.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "file_or_branch_key",
"required": true,
"description": "The key for the file or branch to retrieve the comment reactions from in Figma.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get comment containing reactions from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "comment_id",
"required": true,
"description": "ID of the comment from which to retrieve reactions.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of comment to get reactions from."
},
"inferrable": true,
"http_endpoint_parameter_name": "comment_id"
},
{
"name": "pagination_cursor",
"required": false,
"description": "Cursor for pagination. Use the cursor from the previous call's response to retrieve the next set of reactions.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor for pagination, retrieved from the response of the previous call."
},
"inferrable": true,
"http_endpoint_parameter_name": "cursor"
}
]
},
"output": {
"description": "Response from the API endpoint 'getCommentReactions'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_comments:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/comments/{comment_id}/reactions",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "cursor",
"tool_parameter_name": "pagination_cursor",
"description": "Cursor for pagination, retrieved from the response of the previous call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor for pagination, retrieved from the response of the previous call."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "file_or_branch_key",
"description": "File to get comment containing reactions from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get comment containing reactions from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "comment_id",
"tool_parameter_name": "comment_id",
"description": "ID of comment to get reactions from.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of comment to get reactions from."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,183 @@
{
"name": "FetchComponentUsageData",
"fully_qualified_name": "FigmaApi.FetchComponentUsageData@0.1.0",
"description": "Fetch library analytics component usage data by dimension.\n\nThis tool retrieves a list of library analytics component usage data, providing insights into how components are used, broken down by the specified dimension.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "group_by_dimension",
"required": true,
"description": "A dimension to group the returned analytics data. Choose between 'component' or 'file'.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"component",
"file"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"inferrable": true,
"http_endpoint_parameter_name": "group_by"
},
{
"name": "library_file_key",
"required": true,
"description": "The file key of the library to fetch analytics data for. Required for specifying the target library.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "data_page_cursor",
"required": false,
"description": "Cursor indicating which page of data to fetch, obtained from a prior API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"inferrable": true,
"http_endpoint_parameter_name": "cursor"
}
]
},
"output": {
"description": "Response from the API endpoint 'getLibraryAnalyticsComponentUsages'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_analytics:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/analytics/libraries/{file_key}/component/usages",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "cursor",
"tool_parameter_name": "data_page_cursor",
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "group_by",
"tool_parameter_name": "group_by_dimension",
"description": "A dimension to group returned analytics data by.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"component",
"file"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "library_file_key",
"description": "File key of the library to fetch analytics data for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,309 @@
{
"name": "FetchFigmaFile",
"fully_qualified_name": "FigmaApi.FetchFigmaFile@0.1.0",
"description": "Retrieve a Figma file as a JSON object using its file key.\n\nUse this tool to fetch a Figma document as JSON, identified by a file key. The returned data includes the document structure and metadata about components.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "file_key",
"required": true,
"description": "The unique key of the Figma file or branch to retrieve as JSON.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to export JSON from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "version_id",
"required": false,
"description": "Specify the version ID to retrieve a specific version of the file. Default is the current version.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A specific version ID to get. Omitting this will get the current version of the file."
},
"inferrable": true,
"http_endpoint_parameter_name": "version"
},
{
"name": "node_ids_of_interest",
"required": false,
"description": "Comma-separated list of node IDs to retrieve specific parts of the Figma document.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Comma separated list of nodes that you care about in the document. If specified, only a subset of the document will be returned corresponding to the nodes listed, their children, and everything between the root node and the listed nodes.\n\nNote: There may be other nodes included in the returned JSON that are outside the ancestor chains of the desired nodes. The response may also include dependencies of anything in the nodes' subtrees. For example, if a node subtree contains an instance of a local component that lives elsewhere in that file, that component and its ancestor chain will also be included.\n\nFor historical reasons, top-level canvas nodes are always returned, regardless of whether they are listed in the `ids` parameter. This quirk may be removed in a future version of the API."
},
"inferrable": true,
"http_endpoint_parameter_name": "ids"
},
{
"name": "traversal_depth",
"required": false,
"description": "Positive integer indicating the depth in the document tree to retrieve. For example, 1 returns only Pages; 2 returns Pages and top-level objects.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Positive integer representing how deep into the document tree to traverse. For example, setting this to 1 returns only Pages, setting it to 2 returns Pages and all top level objects on each page. Not setting this parameter returns all nodes."
},
"inferrable": true,
"http_endpoint_parameter_name": "depth"
},
{
"name": "export_vector_data",
"required": false,
"description": "Set to \"paths\" to include vector data in the response.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Set to \"paths\" to export vector data."
},
"inferrable": true,
"http_endpoint_parameter_name": "geometry"
},
{
"name": "include_plugin_data",
"required": false,
"description": "Comma separated list of plugin IDs and/or 'shared'. Includes plugin data in the result.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A comma separated list of plugin IDs and/or the string \"shared\". Any data present in the document written by those plugins will be included in the result in the `pluginData` and `sharedPluginData` properties."
},
"inferrable": true,
"http_endpoint_parameter_name": "plugin_data"
},
{
"name": "include_branch_metadata",
"required": false,
"description": "Set to true to include metadata about branches related to the file. If false, branch information will not be returned.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Returns branch metadata for the requested file. If the file is a branch, the main file's key will be included in the returned response. If the file has branches, their metadata will be included in the returned response. Default: false."
},
"inferrable": true,
"http_endpoint_parameter_name": "branch_data"
}
]
},
"output": {
"description": "Response from the API endpoint 'getFile'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_content:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "version",
"tool_parameter_name": "version_id",
"description": "A specific version ID to get. Omitting this will get the current version of the file.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A specific version ID to get. Omitting this will get the current version of the file."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "ids",
"tool_parameter_name": "node_ids_of_interest",
"description": "Comma separated list of nodes that you care about in the document. If specified, only a subset of the document will be returned corresponding to the nodes listed, their children, and everything between the root node and the listed nodes.\n\nNote: There may be other nodes included in the returned JSON that are outside the ancestor chains of the desired nodes. The response may also include dependencies of anything in the nodes' subtrees. For example, if a node subtree contains an instance of a local component that lives elsewhere in that file, that component and its ancestor chain will also be included.\n\nFor historical reasons, top-level canvas nodes are always returned, regardless of whether they are listed in the `ids` parameter. This quirk may be removed in a future version of the API.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Comma separated list of nodes that you care about in the document. If specified, only a subset of the document will be returned corresponding to the nodes listed, their children, and everything between the root node and the listed nodes.\n\nNote: There may be other nodes included in the returned JSON that are outside the ancestor chains of the desired nodes. The response may also include dependencies of anything in the nodes' subtrees. For example, if a node subtree contains an instance of a local component that lives elsewhere in that file, that component and its ancestor chain will also be included.\n\nFor historical reasons, top-level canvas nodes are always returned, regardless of whether they are listed in the `ids` parameter. This quirk may be removed in a future version of the API."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "depth",
"tool_parameter_name": "traversal_depth",
"description": "Positive integer representing how deep into the document tree to traverse. For example, setting this to 1 returns only Pages, setting it to 2 returns Pages and all top level objects on each page. Not setting this parameter returns all nodes.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Positive integer representing how deep into the document tree to traverse. For example, setting this to 1 returns only Pages, setting it to 2 returns Pages and all top level objects on each page. Not setting this parameter returns all nodes."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "geometry",
"tool_parameter_name": "export_vector_data",
"description": "Set to \"paths\" to export vector data.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Set to \"paths\" to export vector data."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "plugin_data",
"tool_parameter_name": "include_plugin_data",
"description": "A comma separated list of plugin IDs and/or the string \"shared\". Any data present in the document written by those plugins will be included in the result in the `pluginData` and `sharedPluginData` properties.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A comma separated list of plugin IDs and/or the string \"shared\". Any data present in the document written by those plugins will be included in the result in the `pluginData` and `sharedPluginData` properties."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "branch_data",
"tool_parameter_name": "include_branch_metadata",
"description": "Returns branch metadata for the requested file. If the file is a branch, the main file's key will be included in the returned response. If the file has branches, their metadata will be included in the returned response. Default: false.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Returns branch metadata for the requested file. If the file is a branch, the main file's key will be included in the returned response. If the file has branches, their metadata will be included in the returned response. Default: false."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": false,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "file_key",
"description": "File to export JSON from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to export JSON from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,210 @@
{
"name": "FetchFileVersionHistory",
"fully_qualified_name": "FigmaApi.FetchFileVersionHistory@0.1.0",
"description": "Fetch the version history of a Figma file.\n\nUse this tool to obtain the version history of a specific Figma file, enabling the analysis of its changes over time. This can be useful for reviewing past edits or rendering specific versions.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "target_file_key",
"required": true,
"description": "The key of the file or branch to fetch version history for. Use this to specify the Figma file whose version history you need.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get version history from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "number_of_items_per_page",
"required": false,
"description": "Specify the number of items to return per page. Defaults to 30 if not provided.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of items returned in a page of the response. If not included, `page_size` is `30`."
},
"inferrable": true,
"http_endpoint_parameter_name": "page_size"
},
{
"name": "get_versions_before_id",
"required": false,
"description": "A version ID to get versions before it in the history. Used for pagination.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A version ID for one of the versions in the history. Gets versions before this ID. Used for paginating. If the response is not paginated, this link returns the same data in the current response."
},
"inferrable": true,
"http_endpoint_parameter_name": "before"
},
{
"name": "after_version_id",
"required": false,
"description": "Version ID to fetch subsequent versions. Used for pagination. Omit if not paginating.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A version ID for one of the versions in the history. Gets versions after this ID. Used for paginating. If the response is not paginated, this property is not included."
},
"inferrable": true,
"http_endpoint_parameter_name": "after"
}
]
},
"output": {
"description": "Response from the API endpoint 'getFileVersions'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_versions:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/versions",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "page_size",
"tool_parameter_name": "number_of_items_per_page",
"description": "The number of items returned in a page of the response. If not included, `page_size` is `30`.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of items returned in a page of the response. If not included, `page_size` is `30`."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "before",
"tool_parameter_name": "get_versions_before_id",
"description": "A version ID for one of the versions in the history. Gets versions before this ID. Used for paginating. If the response is not paginated, this link returns the same data in the current response.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A version ID for one of the versions in the history. Gets versions before this ID. Used for paginating. If the response is not paginated, this link returns the same data in the current response."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "after",
"tool_parameter_name": "after_version_id",
"description": "A version ID for one of the versions in the history. Gets versions after this ID. Used for paginating. If the response is not paginated, this property is not included.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A version ID for one of the versions in the history. Gets versions after this ID. Used for paginating. If the response is not paginated, this property is not included."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "target_file_key",
"description": "File to get version history from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get version history from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "FetchImageFillLinks",
"fully_qualified_name": "FigmaApi.FetchImageFillLinks@0.1.0",
"description": "Retrieve download links for images in a Figma document.\n\nUse this tool to get download links for all images present in the image fills of a Figma document. These links allow access to images users have added to their design files. The URLs will expire after about 14 days and can be found using image references.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "file_or_branch_key",
"required": true,
"description": "The file or branch key from which to retrieve image URLs. Use `GET /v1/files/:key` to get the branch key if needed.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get image URLs from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
}
]
},
"output": {
"description": "Response from the API endpoint 'getImageFills'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_content:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/images",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "file_key",
"tool_parameter_name": "file_or_branch_key",
"description": "File to get image URLs from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get image URLs from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,249 @@
{
"name": "FetchLibraryAnalyticsVariableActions",
"fully_qualified_name": "FigmaApi.FetchLibraryAnalyticsVariableActions@0.1.0",
"description": "Retrieve library analytics variable actions data from Figma.\n\nCall this tool to obtain a breakdown of library analytics variable actions data from Figma based on a specific dimension.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "group_by_dimension",
"required": true,
"description": "A dimension to group the returned analytics data by. Options: 'variable', 'team'.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"variable",
"team"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"inferrable": true,
"http_endpoint_parameter_name": "group_by"
},
{
"name": "library_file_key",
"required": true,
"description": "The file key of the library for which to fetch analytics data.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "page_cursor",
"required": false,
"description": "Cursor to indicate which page of data to fetch, obtained from a previous API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"inferrable": true,
"http_endpoint_parameter_name": "cursor"
},
{
"name": "earliest_week_start_date",
"required": false,
"description": "ISO 8601 date string (YYYY-MM-DD) representing the earliest week to include. Rounded back to the nearest week's start. Defaults to one year prior.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior."
},
"inferrable": true,
"http_endpoint_parameter_name": "start_date"
},
{
"name": "end_date",
"required": false,
"description": "ISO 8601 date string (YYYY-MM-DD) for the latest week to include. Defaults to the latest computed week.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week."
},
"inferrable": true,
"http_endpoint_parameter_name": "end_date"
}
]
},
"output": {
"description": "Response from the API endpoint 'getLibraryAnalyticsVariableActions'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_analytics:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/analytics/libraries/{file_key}/variable/actions",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "cursor",
"tool_parameter_name": "page_cursor",
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "group_by",
"tool_parameter_name": "group_by_dimension",
"description": "A dimension to group returned analytics data by.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"variable",
"team"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "start_date",
"tool_parameter_name": "earliest_week_start_date",
"description": "ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "end_date",
"tool_parameter_name": "end_date",
"description": "ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "library_file_key",
"description": "File key of the library to fetch analytics data for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "FigmaGetTeamProjects",
"fully_qualified_name": "FigmaApi.FigmaGetTeamProjects@0.1.0",
"description": "Fetch all projects within a specified Figma team.\n\nThis tool retrieves a list of projects for a specified team in Figma, visible to the authenticated user.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "team_id",
"required": true,
"description": "The unique ID of the Figma team to list projects from. This is required to specify which team's projects to retrieve.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of the team to list projects from"
},
"inferrable": true,
"http_endpoint_parameter_name": "team_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'getTeamProjects'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"projects:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/teams/{team_id}/projects",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "team_id",
"tool_parameter_name": "team_id",
"description": "ID of the team to list projects from",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of the team to list projects from"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,144 @@
{
"name": "GetDevResources",
"fully_qualified_name": "FigmaApi.GetDevResources@0.1.0",
"description": "Retrieve development resources from a Figma file.\n\nUse this tool to gather development resources from a specific Figma file using the file key.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "file_key",
"required": true,
"description": "The main file key for fetching development resources from a Figma file. Ensure it is not a branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The file to get the dev resources from. This must be a main file key, not a branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "target_node_ids",
"required": false,
"description": "Comma separated list of node IDs to filter dev resources. If left blank, returns resources for all nodes.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Comma separated list of nodes that you care about in the document. If specified, only dev resources attached to these nodes will be returned. If not specified, all dev resources in the file will be returned."
},
"inferrable": true,
"http_endpoint_parameter_name": "node_ids"
}
]
},
"output": {
"description": "Response from the API endpoint 'getDevResources'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_dev_resources:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/dev_resources",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "node_ids",
"tool_parameter_name": "target_node_ids",
"description": "Comma separated list of nodes that you care about in the document. If specified, only dev resources attached to these nodes will be returned. If not specified, all dev resources in the file will be returned.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Comma separated list of nodes that you care about in the document. If specified, only dev resources attached to these nodes will be returned. If not specified, all dev resources in the file will be returned."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "file_key",
"description": "The file to get the dev resources from. This must be a main file key, not a branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The file to get the dev resources from. This must be a main file key, not a branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "GetFigmaComponentMetadata",
"fully_qualified_name": "FigmaApi.GetFigmaComponentMetadata@0.1.0",
"description": "Retrieve metadata for a Figma component by key.\n\nUse this tool to obtain detailed metadata about a specific Figma component using its key.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "component_key",
"required": true,
"description": "The unique identifier of the Figma component to retrieve metadata for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The unique identifier of the component."
},
"inferrable": true,
"http_endpoint_parameter_name": "key"
}
]
},
"output": {
"description": "Response from the API endpoint 'getComponent'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_assets:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/components/{key}",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "key",
"tool_parameter_name": "component_key",
"description": "The unique identifier of the component.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The unique identifier of the component."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "GetFigmaComponentSet",
"fully_qualified_name": "FigmaApi.GetFigmaComponentSet@0.1.0",
"description": "Retrieve metadata for a Figma component set using its key.\n\nUse this tool to obtain detailed metadata about a published component set in Figma by providing its unique key identifier.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "component_set_key",
"required": true,
"description": "The unique key identifier for the Figma component set to retrieve metadata.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The unique identifier of the component set."
},
"inferrable": true,
"http_endpoint_parameter_name": "key"
}
]
},
"output": {
"description": "Response from the API endpoint 'getComponentSet'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_assets:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/component_sets/{key}",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "key",
"tool_parameter_name": "component_set_key",
"description": "The unique identifier of the component set.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The unique identifier of the component set."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,144 @@
{
"name": "GetFigmaFileComments",
"fully_qualified_name": "FigmaApi.GetFigmaFileComments@0.1.0",
"description": "Retrieve comments from a Figma file.\n\nUse this tool to get a list of comments left on a specific Figma file. It is useful for accessing feedback or discussions related to file elements.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "figma_file_or_branch_key",
"required": true,
"description": "Specify the file or branch key to retrieve comments from. Use the `GET /v1/files/:key` endpoint with `branch_data` query param for branch keys.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get comments from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "return_comments_as_markdown",
"required": false,
"description": "Set to true to return comments as markdown equivalents when applicable.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "If enabled, will return comments as their markdown equivalents when applicable."
},
"inferrable": true,
"http_endpoint_parameter_name": "as_md"
}
]
},
"output": {
"description": "Response from the API endpoint 'getComments'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_comments:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/comments",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "as_md",
"tool_parameter_name": "return_comments_as_markdown",
"description": "If enabled, will return comments as their markdown equivalents when applicable.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "If enabled, will return comments as their markdown equivalents when applicable."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "figma_file_or_branch_key",
"description": "File to get comments from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get comments from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "GetFigmaFileComponents",
"fully_qualified_name": "FigmaApi.GetFigmaFileComponents@0.1.0",
"description": "Retrieve published components from a Figma file library.\n\nUse this tool to obtain a list of all published components within a specific Figma file, allowing for design asset management or analysis.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "file_key",
"required": true,
"description": "Main file key to list components from. Must not be a branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to list components from. This must be a main file key, not a branch key, as it is not possible to publish from branches."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
}
]
},
"output": {
"description": "Response from the API endpoint 'getFileComponents'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_content:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/components",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "file_key",
"tool_parameter_name": "file_key",
"description": "File to list components from. This must be a main file key, not a branch key, as it is not possible to publish from branches.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to list components from. This must be a main file key, not a branch key, as it is not possible to publish from branches."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,276 @@
{
"name": "GetFigmaFileNodes",
"fully_qualified_name": "FigmaApi.GetFigmaFileNodes@0.1.0",
"description": "Retrieve nodes and metadata from a Figma file.\n\nUse this tool to get detailed information about specific nodes in a Figma file, including metadata like name, last modified date, thumbnail URL, editor type, version, and link access permissions. Also retrieves document structure, component mappings, and styles. Useful for accessing and analyzing Figma design elements.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "node_ids_to_retrieve",
"required": true,
"description": "A comma-separated list of Figma node IDs to retrieve as JSON.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A comma separated list of node IDs to retrieve and convert."
},
"inferrable": true,
"http_endpoint_parameter_name": "ids"
},
{
"name": "figma_file_key",
"required": true,
"description": "The file or branch key from which to export JSON data in Figma.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to export JSON from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "specific_version_id",
"required": false,
"description": "Specify a version ID to retrieve a particular version of the Figma file. If omitted, the current version is retrieved.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A specific version ID to get. Omitting this will get the current version of the file."
},
"inferrable": true,
"http_endpoint_parameter_name": "version"
},
{
"name": "node_tree_depth",
"required": false,
"description": "Positive integer indicating how deep into the node tree to traverse from the starting node. A value of 1 returns only immediate children. Leaving it unset returns all nodes.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Positive integer representing how deep into the node tree to traverse. For example, setting this to 1 will return only the children directly underneath the desired nodes. Not setting this parameter returns all nodes.\n\nNote: this parameter behaves differently from the same parameter in the `GET /v1/files/:key` endpoint. In this endpoint, the depth will be counted starting from the desired node rather than the document root node."
},
"inferrable": true,
"http_endpoint_parameter_name": "depth"
},
{
"name": "export_vector_data",
"required": false,
"description": "Set to \"paths\" to include vector data in the response.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Set to \"paths\" to export vector data."
},
"inferrable": true,
"http_endpoint_parameter_name": "geometry"
},
{
"name": "include_plugin_data",
"required": false,
"description": "Comma-separated plugin IDs and/or 'shared' to include plugin-related data in results.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A comma separated list of plugin IDs and/or the string \"shared\". Any data present in the document written by those plugins will be included in the result in the `pluginData` and `sharedPluginData` properties."
},
"inferrable": true,
"http_endpoint_parameter_name": "plugin_data"
}
]
},
"output": {
"description": "Response from the API endpoint 'getFileNodes'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_content:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/nodes",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "ids",
"tool_parameter_name": "node_ids_to_retrieve",
"description": "A comma separated list of node IDs to retrieve and convert.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A comma separated list of node IDs to retrieve and convert."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "version",
"tool_parameter_name": "specific_version_id",
"description": "A specific version ID to get. Omitting this will get the current version of the file.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A specific version ID to get. Omitting this will get the current version of the file."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "depth",
"tool_parameter_name": "node_tree_depth",
"description": "Positive integer representing how deep into the node tree to traverse. For example, setting this to 1 will return only the children directly underneath the desired nodes. Not setting this parameter returns all nodes.\n\nNote: this parameter behaves differently from the same parameter in the `GET /v1/files/:key` endpoint. In this endpoint, the depth will be counted starting from the desired node rather than the document root node.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Positive integer representing how deep into the node tree to traverse. For example, setting this to 1 will return only the children directly underneath the desired nodes. Not setting this parameter returns all nodes.\n\nNote: this parameter behaves differently from the same parameter in the `GET /v1/files/:key` endpoint. In this endpoint, the depth will be counted starting from the desired node rather than the document root node."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "geometry",
"tool_parameter_name": "export_vector_data",
"description": "Set to \"paths\" to export vector data.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Set to \"paths\" to export vector data."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "plugin_data",
"tool_parameter_name": "include_plugin_data",
"description": "A comma separated list of plugin IDs and/or the string \"shared\". Any data present in the document written by those plugins will be included in the result in the `pluginData` and `sharedPluginData` properties.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A comma separated list of plugin IDs and/or the string \"shared\". Any data present in the document written by those plugins will be included in the result in the `pluginData` and `sharedPluginData` properties."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "figma_file_key",
"description": "File to export JSON from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to export JSON from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,144 @@
{
"name": "GetFigmaProjectFiles",
"fully_qualified_name": "FigmaApi.GetFigmaProjectFiles@0.1.0",
"description": "Retrieve all files from a specific Figma project.\n\nThis tool fetches a list of all files within the specified Figma project. Use it when you need to access or manage project files stored in Figma.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "project_identifier",
"required": true,
"description": "The unique string ID of the Figma project from which to list files.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of the project to list files from"
},
"inferrable": true,
"http_endpoint_parameter_name": "project_id"
},
{
"name": "include_branch_metadata",
"required": false,
"description": "Include branch metadata for each main file with a branch in the project. Set to true to receive this data, otherwise false.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Returns branch metadata in the response for each main file with a branch inside the project."
},
"inferrable": true,
"http_endpoint_parameter_name": "branch_data"
}
]
},
"output": {
"description": "Response from the API endpoint 'getProjectFiles'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"projects:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/projects/{project_id}/files",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "branch_data",
"tool_parameter_name": "include_branch_metadata",
"description": "Returns branch metadata in the response for each main file with a branch inside the project.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Returns branch metadata in the response for each main file with a branch inside the project."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": false,
"documentation_urls": []
},
{
"name": "project_id",
"tool_parameter_name": "project_identifier",
"description": "ID of the project to list files from",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of the project to list files from"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "GetFigmaWebhook",
"fully_qualified_name": "FigmaApi.GetFigmaWebhook@0.1.0",
"description": "Retrieve a Figma webhook by its ID.\n\nUse this tool to obtain detailed information about a specific Figma webhook by providing its unique ID.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "webhook_id",
"required": true,
"description": "Unique identifier of the Figma webhook to retrieve.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of webhook to get"
},
"inferrable": true,
"http_endpoint_parameter_name": "webhook_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'getWebhook'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"webhooks:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v2/webhooks/{webhook_id}",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "webhook_id",
"tool_parameter_name": "webhook_id",
"description": "ID of webhook to get",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of webhook to get"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,210 @@
{
"name": "GetFigmaWebhooks",
"fully_qualified_name": "FigmaApi.GetFigmaWebhooks@0.1.0",
"description": "Retrieve a list of webhooks from Figma.\n\nCall this tool to get a list of webhooks available in your Figma context or plan. This can be used to manage and view all the webhooks you have access to, with results provided in a paginated format.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "webhook_context",
"required": false,
"description": "Specify the context for the webhooks. Accepts 'team', 'project', or 'file'.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Context to create the resource on. Should be \"team\", \"project\", or \"file\"."
},
"inferrable": true,
"http_endpoint_parameter_name": "context"
},
{
"name": "context_identifier",
"required": false,
"description": "The ID of the context to fetch attached webhooks. Cannot be used with plan_api_id.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the context that you want to get attached webhooks for. If you're using context_id, you cannot use plan_api_id."
},
"inferrable": true,
"http_endpoint_parameter_name": "context_id"
},
{
"name": "plan_id_for_webhooks",
"required": false,
"description": "The ID of your plan for retrieving webhooks across all accessible contexts. Cannot be used with context or context_id.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of your plan. Use this to get all webhooks for all contexts you have access to. If you're using plan_api_id, you cannot use context or context_id. When you use plan_api_id, the response is paginated."
},
"inferrable": true,
"http_endpoint_parameter_name": "plan_api_id"
},
{
"name": "pagination_cursor",
"required": false,
"description": "Cursor for pagination when using plan_api_id. Provide next_page or prev_page from previous response to navigate pages.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "If you're using plan_api_id, this is the cursor to use for pagination. If you're using context or context_id, this parameter is ignored. Provide the next_page or prev_page value from the previous response to get the next or previous page of results."
},
"inferrable": true,
"http_endpoint_parameter_name": "cursor"
}
]
},
"output": {
"description": "Response from the API endpoint 'getWebhooks'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"webhooks:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v2/webhooks",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "context",
"tool_parameter_name": "webhook_context",
"description": "Context to create the resource on. Should be \"team\", \"project\", or \"file\".",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Context to create the resource on. Should be \"team\", \"project\", or \"file\"."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "context_id",
"tool_parameter_name": "context_identifier",
"description": "The id of the context that you want to get attached webhooks for. If you're using context_id, you cannot use plan_api_id.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the context that you want to get attached webhooks for. If you're using context_id, you cannot use plan_api_id."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "plan_api_id",
"tool_parameter_name": "plan_id_for_webhooks",
"description": "The id of your plan. Use this to get all webhooks for all contexts you have access to. If you're using plan_api_id, you cannot use context or context_id. When you use plan_api_id, the response is paginated.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of your plan. Use this to get all webhooks for all contexts you have access to. If you're using plan_api_id, you cannot use context or context_id. When you use plan_api_id, the response is paginated."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "cursor",
"tool_parameter_name": "pagination_cursor",
"description": "If you're using plan_api_id, this is the cursor to use for pagination. If you're using context or context_id, this parameter is ignored. Provide the next_page or prev_page value from the previous response to get the next or previous page of results.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "If you're using plan_api_id, this is the cursor to use for pagination. If you're using context or context_id, this parameter is ignored. Provide the next_page or prev_page value from the previous response to get the next or previous page of results."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "GetFileMetadata",
"fully_qualified_name": "FigmaApi.GetFileMetadata@0.1.0",
"description": "Retrieve metadata for a specified Figma file.\n\nThis tool is used to obtain metadata information from a specific Figma file by providing the file key. It can be called when users need to access details about a Figma file, such as its name, creator, and other properties.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "file_identifier",
"required": true,
"description": "File or branch key to get metadata for. Use the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get metadata for. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
}
]
},
"output": {
"description": "Response from the API endpoint 'getFileMeta'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_metadata:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/meta",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "file_key",
"tool_parameter_name": "file_identifier",
"description": "File to get metadata for. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get metadata for. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,249 @@
{
"name": "GetLibraryAnalyticsComponentActions",
"fully_qualified_name": "FigmaApi.GetLibraryAnalyticsComponentActions@0.1.0",
"description": "Get analytics for library component actions.\n\nRetrieve detailed data on library component actions in Figma, broken down by the specified dimension. This tool is used to gain insights into how components in a Figma library are being utilized.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "group_by_dimension",
"required": true,
"description": "Specify the dimension to group the analytics data by. Options are 'component' or 'team'.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"component",
"team"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"inferrable": true,
"http_endpoint_parameter_name": "group_by"
},
{
"name": "library_file_key",
"required": true,
"description": "The unique file key for the Figma library to retrieve analytics data from.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "data_page_cursor",
"required": false,
"description": "Cursor indicating the specific page of data to fetch, obtained from a previous API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"inferrable": true,
"http_endpoint_parameter_name": "cursor"
},
{
"name": "earliest_start_date",
"required": false,
"description": "ISO 8601 date string (YYYY-MM-DD) for the earliest week to include. Rounded back to the start of a week. Defaults to one year prior.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior."
},
"inferrable": true,
"http_endpoint_parameter_name": "start_date"
},
{
"name": "latest_inclusion_date",
"required": false,
"description": "ISO 8601 date string (YYYY-MM-DD) of the latest week to include, rounded forward to the nearest week's end. Defaults to the latest computed week.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week."
},
"inferrable": true,
"http_endpoint_parameter_name": "end_date"
}
]
},
"output": {
"description": "Response from the API endpoint 'getLibraryAnalyticsComponentActions'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_analytics:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/analytics/libraries/{file_key}/component/actions",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "cursor",
"tool_parameter_name": "data_page_cursor",
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "group_by",
"tool_parameter_name": "group_by_dimension",
"description": "A dimension to group returned analytics data by.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"component",
"team"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "start_date",
"tool_parameter_name": "earliest_start_date",
"description": "ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "end_date",
"tool_parameter_name": "latest_inclusion_date",
"description": "ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "library_file_key",
"description": "File key of the library to fetch analytics data for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,183 @@
{
"name": "GetLibraryAnalyticsVariableUsages",
"fully_qualified_name": "FigmaApi.GetLibraryAnalyticsVariableUsages@0.1.0",
"description": "Retrieve analytics on library variable usage.\n\nFetches a breakdown of library analytics variable usage data by the specified dimension.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "group_by_dimension",
"required": true,
"description": "Specifies the dimension ('variable' or 'file') for grouping library analytics data.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"variable",
"file"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"inferrable": true,
"http_endpoint_parameter_name": "group_by"
},
{
"name": "library_file_key",
"required": true,
"description": "The unique key of the library to fetch analytics data from.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "page_cursor",
"required": false,
"description": "A token to fetch the specific page of results, received from a previous API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"inferrable": true,
"http_endpoint_parameter_name": "cursor"
}
]
},
"output": {
"description": "Response from the API endpoint 'getLibraryAnalyticsVariableUsages'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_analytics:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/analytics/libraries/{file_key}/variable/usages",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "cursor",
"tool_parameter_name": "page_cursor",
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "group_by",
"tool_parameter_name": "group_by_dimension",
"description": "A dimension to group returned analytics data by.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"variable",
"file"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "library_file_key",
"description": "File key of the library to fetch analytics data for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,249 @@
{
"name": "GetLibraryStyleActions",
"fully_qualified_name": "FigmaApi.GetLibraryStyleActions@0.1.0",
"description": "Retrieve library style analytics actions data by dimension.\n\nUse this tool to obtain detailed actions data for styles in a Figma library, categorized by the specified dimension. Ideal for analyzing how styles are used or modified.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "group_by_dimension",
"required": true,
"description": "Specify the dimension ('style' or 'team') to group the returned analytics data by.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"style",
"team"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"inferrable": true,
"http_endpoint_parameter_name": "group_by"
},
{
"name": "library_file_key",
"required": true,
"description": "The unique file key of the Figma library to retrieve analytics data for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "pagination_cursor",
"required": false,
"description": "A cursor to indicate which page of data to fetch. Obtain this from a prior API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"inferrable": true,
"http_endpoint_parameter_name": "cursor"
},
{
"name": "earliest_week_start_date",
"required": false,
"description": "ISO 8601 date string (YYYY-MM-DD) for the earliest week to include. Dates round back to the nearest week start. Defaults to one year prior.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior."
},
"inferrable": true,
"http_endpoint_parameter_name": "start_date"
},
{
"name": "end_date",
"required": false,
"description": "ISO 8601 date string (YYYY-MM-DD) for the latest week to include, rounded to the week's end. Defaults to the latest computed week if not specified.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week."
},
"inferrable": true,
"http_endpoint_parameter_name": "end_date"
}
]
},
"output": {
"description": "Response from the API endpoint 'getLibraryAnalyticsStyleActions'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_analytics:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/analytics/libraries/{file_key}/style/actions",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "cursor",
"tool_parameter_name": "pagination_cursor",
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "group_by",
"tool_parameter_name": "group_by_dimension",
"description": "A dimension to group returned analytics data by.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"style",
"team"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "start_date",
"tool_parameter_name": "earliest_week_start_date",
"description": "ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "end_date",
"tool_parameter_name": "end_date",
"description": "ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "library_file_key",
"description": "File key of the library to fetch analytics data for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,183 @@
{
"name": "GetLibraryStyleUsageData",
"fully_qualified_name": "FigmaApi.GetLibraryStyleUsageData@0.1.0",
"description": "Retrieve style usage data from Figma library analytics.\n\nThis tool returns library analytics style usage data from Figma, broken down by the requested dimension. It should be used to analyze style usage within a specific Figma library file.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "group_by_dimension",
"required": true,
"description": "Dimension to group the returned analytics data by. Options are 'style' or 'file'.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"style",
"file"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"inferrable": true,
"http_endpoint_parameter_name": "group_by"
},
{
"name": "library_file_key",
"required": true,
"description": "The file key of the Figma library to fetch analytics data for. This is required to specify the source library.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "pagination_cursor",
"required": false,
"description": "Cursor indicating which page of data to fetch, obtained from a previous API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"inferrable": true,
"http_endpoint_parameter_name": "cursor"
}
]
},
"output": {
"description": "Response from the API endpoint 'getLibraryAnalyticsStyleUsages'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_analytics:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/analytics/libraries/{file_key}/style/usages",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "cursor",
"tool_parameter_name": "pagination_cursor",
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating what page of data to fetch. Obtained from prior API call."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "group_by",
"tool_parameter_name": "group_by_dimension",
"description": "A dimension to group returned analytics data by.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"style",
"file"
],
"properties": null,
"inner_properties": null,
"description": "A dimension to group returned analytics data by."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "library_file_key",
"description": "File key of the library to fetch analytics data for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File key of the library to fetch analytics data for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "GetPublishedComponentSets",
"fully_qualified_name": "FigmaApi.GetPublishedComponentSets@0.1.0",
"description": "Retrieve published component sets from a Figma file.\n\nCall this tool to get a list of published component sets within a specified Figma file library. Useful for accessing design components efficiently.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "main_file_key",
"required": true,
"description": "The main file key of the Figma file to list component sets from. Must not be a branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to list component sets from. This must be a main file key, not a branch key, as it is not possible to publish from branches."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
}
]
},
"output": {
"description": "Response from the API endpoint 'getFileComponentSets'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_content:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/component_sets",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "file_key",
"tool_parameter_name": "main_file_key",
"description": "File to list component sets from. This must be a main file key, not a branch key, as it is not possible to publish from branches.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to list component sets from. This must be a main file key, not a branch key, as it is not possible to publish from branches."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "GetPublishedStylesFromFile",
"fully_qualified_name": "FigmaApi.GetPublishedStylesFromFile@0.1.0",
"description": "Retrieve published styles from a Figma file library.\n\nUse this tool to get a list of published styles within a specific Figma file library. Useful when you need to analyze or display the styles used in a Figma file.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "main_file_key",
"required": true,
"description": "Main file key to list styles from. Must not be a branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to list styles from. This must be a main file key, not a branch key, as it is not possible to publish from branches."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
}
]
},
"output": {
"description": "Response from the API endpoint 'getFileStyles'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_content:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/styles",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "file_key",
"tool_parameter_name": "main_file_key",
"description": "File to list styles from. This must be a main file key, not a branch key, as it is not possible to publish from branches.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to list styles from. This must be a main file key, not a branch key, as it is not possible to publish from branches."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "GetPublishedVariables",
"fully_qualified_name": "FigmaApi.GetPublishedVariables@0.1.0",
"description": "Retrieve published variables from a Figma file.\n\nCall this tool to get a list of variables that are published from a specified Figma file. The response includes variable and collection details along with `subscribed_id`. Ideal for users needing information on published variables from a file within an Enterprise organization.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "main_file_key",
"required": true,
"description": "The key of the Figma file to retrieve published variables from. Only use the main file key, not a branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get variables from. This must be a main file key, not a branch key, as it is not possible to publish from branches."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
}
]
},
"output": {
"description": "Response from the API endpoint 'getPublishedVariables'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_variables:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/variables/published",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "file_key",
"tool_parameter_name": "main_file_key",
"description": "File to get variables from. This must be a main file key, not a branch key, as it is not possible to publish from branches.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get variables from. This must be a main file key, not a branch key, as it is not possible to publish from branches."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "GetRecentWebhookRequests",
"fully_qualified_name": "FigmaApi.GetRecentWebhookRequests@0.1.0",
"description": "Retrieve recent webhook requests from the last week.\n\nUse this tool to gather webhook requests sent within the last week for debugging purposes.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "webhook_subscription_id",
"required": true,
"description": "The ID of the webhook subscription for which to retrieve recent events.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the webhook subscription you want to see events from"
},
"inferrable": true,
"http_endpoint_parameter_name": "webhook_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'getWebhookRequests'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"webhooks:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v2/webhooks/{webhook_id}/requests",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "webhook_id",
"tool_parameter_name": "webhook_subscription_id",
"description": "The id of the webhook subscription you want to see events from",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the webhook subscription you want to see events from"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "GetStyleMetadata",
"fully_qualified_name": "FigmaApi.GetStyleMetadata@0.1.0",
"description": "Retrieve Figma style metadata by key.\n\nUse this tool to get detailed metadata about a specific style in Figma using its unique key. Useful for accessing style information for design analysis or integration.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "style_key",
"required": true,
"description": "The unique identifier of the Figma style to retrieve metadata for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The unique identifier of the style."
},
"inferrable": true,
"http_endpoint_parameter_name": "key"
}
]
},
"output": {
"description": "Response from the API endpoint 'getStyle'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"library_assets:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/styles/{key}",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "key",
"tool_parameter_name": "style_key",
"description": "The unique identifier of the style.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The unique identifier of the style."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,210 @@
{
"name": "GetTeamComponentSets",
"fully_qualified_name": "FigmaApi.GetTeamComponentSets@0.1.0",
"description": "Fetch published component sets from a Figma team library.\n\nThis tool retrieves a paginated list of component sets that have been published within a specified team library in Figma. It should be used when you need to access or explore available component sets in a particular Figma team.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "team_id",
"required": true,
"description": "The unique identifier for the team from which to list component sets.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Id of the team to list component sets from."
},
"inferrable": true,
"http_endpoint_parameter_name": "team_id"
},
{
"name": "number_of_items_per_page",
"required": false,
"description": "Specify the number of items to return per page in the results. Defaults to 30.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Number of items to return in a paged list of results. Defaults to 30."
},
"inferrable": true,
"http_endpoint_parameter_name": "page_size"
},
{
"name": "start_after_cursor",
"required": false,
"description": "Cursor indicating the starting point for retrieving component sets, exclusive with `end_before_cursor`. This cursor is an internally tracked integer not corresponding to any IDs.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id after which to start retrieving component sets for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"inferrable": true,
"http_endpoint_parameter_name": "after"
},
{
"name": "cursor_before_id",
"required": false,
"description": "Cursor ID indicating the point before which to retrieve component sets. It must be exclusive with the 'after' cursor.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id before which to start retrieving component sets for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"inferrable": true,
"http_endpoint_parameter_name": "before"
}
]
},
"output": {
"description": "Response from the API endpoint 'getTeamComponentSets'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"team_library_content:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/teams/{team_id}/component_sets",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "page_size",
"tool_parameter_name": "number_of_items_per_page",
"description": "Number of items to return in a paged list of results. Defaults to 30.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Number of items to return in a paged list of results. Defaults to 30."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": 30,
"documentation_urls": []
},
{
"name": "after",
"tool_parameter_name": "start_after_cursor",
"description": "Cursor indicating which id after which to start retrieving component sets for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id after which to start retrieving component sets for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "before",
"tool_parameter_name": "cursor_before_id",
"description": "Cursor indicating which id before which to start retrieving component sets for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id before which to start retrieving component sets for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "team_id",
"tool_parameter_name": "team_id",
"description": "Id of the team to list component sets from.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Id of the team to list component sets from."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,210 @@
{
"name": "GetTeamComponents",
"fully_qualified_name": "FigmaApi.GetTeamComponents@0.1.0",
"description": "Retrieve published components from a team's Figma library.\n\nUse this tool to get a list of components that have been published within a specified team's library in Figma.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "team_id",
"required": true,
"description": "The unique identifier of the team whose components you want to retrieve. This ID is necessary to specify the source team library in Figma.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Id of the team to list components from."
},
"inferrable": true,
"http_endpoint_parameter_name": "team_id"
},
{
"name": "number_of_items_per_page",
"required": false,
"description": "Specify the number of components to return in one page. Defaults to 30, maximum is 1000.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Number of items to return in a paged list of results. Defaults to 30. Maximum of 1000."
},
"inferrable": true,
"http_endpoint_parameter_name": "page_size"
},
{
"name": "cursor_after_id",
"required": false,
"description": "Cursor indicating which ID to start retrieving components after. Cannot be used with 'before'.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id after which to start retrieving components for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"inferrable": true,
"http_endpoint_parameter_name": "after"
},
{
"name": "cursor_before",
"required": false,
"description": "Cursor to retrieve components starting before a specific id. Exclusive with 'cursor_after'.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id before which to start retrieving components for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"inferrable": true,
"http_endpoint_parameter_name": "before"
}
]
},
"output": {
"description": "Response from the API endpoint 'getTeamComponents'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"team_library_content:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/teams/{team_id}/components",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "page_size",
"tool_parameter_name": "number_of_items_per_page",
"description": "Number of items to return in a paged list of results. Defaults to 30. Maximum of 1000.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Number of items to return in a paged list of results. Defaults to 30. Maximum of 1000."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": 30,
"documentation_urls": []
},
{
"name": "after",
"tool_parameter_name": "cursor_after_id",
"description": "Cursor indicating which id after which to start retrieving components for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id after which to start retrieving components for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "before",
"tool_parameter_name": "cursor_before",
"description": "Cursor indicating which id before which to start retrieving components for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id before which to start retrieving components for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "team_id",
"tool_parameter_name": "team_id",
"description": "Id of the team to list components from.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Id of the team to list components from."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,210 @@
{
"name": "GetTeamStyles",
"fully_qualified_name": "FigmaApi.GetTeamStyles@0.1.0",
"description": "Retrieve a list of published styles from a team's library in Figma.\n\nThis tool retrieves a paginated list of styles that have been published within a specified team's library in Figma. It should be called when you need access to design styles, such as colors or text styles, that a team has made available in their library.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "team_id",
"required": true,
"description": "The unique identifier of the team from which to retrieve published styles.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Id of the team to list styles from."
},
"inferrable": true,
"http_endpoint_parameter_name": "team_id"
},
{
"name": "items_per_page",
"required": false,
"description": "Specify the number of styles to return per page. Defaults to 30 if not provided.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Number of items to return in a paged list of results. Defaults to 30."
},
"inferrable": true,
"http_endpoint_parameter_name": "page_size"
},
{
"name": "start_after_cursor",
"required": false,
"description": "Cursor to start retrieving styles after a specific ID. Cannot be used with before. Internally tracked integer.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id after which to start retrieving styles for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"inferrable": true,
"http_endpoint_parameter_name": "after"
},
{
"name": "cursor_before_id",
"required": false,
"description": "Cursor for retrieving styles before a specific ID. Use this to paginate backwards. Exclusive with after.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id before which to start retrieving styles for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"inferrable": true,
"http_endpoint_parameter_name": "before"
}
]
},
"output": {
"description": "Response from the API endpoint 'getTeamStyles'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"team_library_content:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/teams/{team_id}/styles",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "page_size",
"tool_parameter_name": "items_per_page",
"description": "Number of items to return in a paged list of results. Defaults to 30.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Number of items to return in a paged list of results. Defaults to 30."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": 30,
"documentation_urls": []
},
{
"name": "after",
"tool_parameter_name": "start_after_cursor",
"description": "Cursor indicating which id after which to start retrieving styles for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id after which to start retrieving styles for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "before",
"tool_parameter_name": "cursor_before_id",
"description": "Cursor indicating which id before which to start retrieving styles for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Cursor indicating which id before which to start retrieving styles for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "team_id",
"tool_parameter_name": "team_id",
"description": "Id of the team to list styles from.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Id of the team to list styles from."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,76 @@
{
"name": "GetUserInformation",
"fully_qualified_name": "FigmaApi.GetUserInformation@0.1.0",
"description": "Retrieve information for the authenticated Figma user.\n\nUse this tool to obtain the profile information of the user currently authenticated in the Figma service.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'getMe'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"current_user:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/me",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,451 @@
{
"name": "RenderFigmaImages",
"fully_qualified_name": "FigmaApi.RenderFigmaImages@0.1.0",
"description": "Fetch rendered images from Figma files by node IDs.\n\nUse this tool to render and retrieve images from a Figma file by specifying node IDs. The tool returns a mapping of node IDs to URLs of the rendered images. Note: Some entries may be null if rendering fails for certain nodes. Images expire after 30 days.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "node_ids_to_render",
"required": true,
"description": "A comma-separated list of node IDs for images to be rendered.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A comma separated list of node IDs to render."
},
"inferrable": true,
"http_endpoint_parameter_name": "ids"
},
{
"name": "figma_file_key",
"required": true,
"description": "The key for the Figma file or branch to export images from. Use with the `branch_data` query parameter to obtain branch key if needed.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to export images from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
},
{
"name": "version_id",
"required": false,
"description": "Specify a version ID to retrieve a particular version of a Figma file. If omitted, will use the current version.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A specific version ID to get. Omitting this will get the current version of the file."
},
"inferrable": true,
"http_endpoint_parameter_name": "version"
},
{
"name": "image_scale_factor",
"required": false,
"description": "A number between 0.01 and 4, representing the image scaling factor for rendering.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A number between 0.01 and 4, the image scaling factor."
},
"inferrable": true,
"http_endpoint_parameter_name": "scale"
},
{
"name": "image_output_format",
"required": false,
"description": "Specify the image format for the output. Options are 'jpg', 'png', 'svg', or 'pdf'.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"jpg",
"png",
"svg",
"pdf"
],
"properties": null,
"inner_properties": null,
"description": "A string enum for the image output format."
},
"inferrable": true,
"http_endpoint_parameter_name": "format"
},
{
"name": "render_text_as_outlines",
"required": false,
"description": "Determines if text elements are rendered as outlines in SVGs. Set `true` for visual consistency; `false` for selectable text.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether text elements are rendered as outlines (vector paths) or as `<text>` elements in SVGs.\n\nRendering text elements as outlines guarantees that the text looks exactly the same in the SVG as it does in the browser/inside Figma.\n\nExporting as `<text>` allows text to be selectable inside SVGs and generally makes the SVG easier to read. However, this relies on the browser's rendering engine which can vary between browsers and/or operating systems. As such, visual accuracy is not guaranteed as the result could look different than in Figma."
},
"inferrable": true,
"http_endpoint_parameter_name": "svg_outline_text"
},
{
"name": "include_svg_id_attributes",
"required": false,
"description": "Include id attributes for all SVG elements. Adds the layer name to the 'id' attribute.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether to include id attributes for all SVG elements. Adds the layer name to the `id` attribute of an svg element."
},
"inferrable": true,
"http_endpoint_parameter_name": "svg_include_id"
},
{
"name": "include_node_id_in_svg_elements",
"required": false,
"description": "Set to true to include node ID attributes for all SVG elements, adding the node ID to a `data-node-id` attribute.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether to include node id attributes for all SVG elements. Adds the node id to a `data-node-id` attribute of an svg element."
},
"inferrable": true,
"http_endpoint_parameter_name": "svg_include_node_id"
},
{
"name": "svg_stroke_simplification_enabled",
"required": false,
"description": "Set to true to simplify inside/outside strokes in SVG using stroke attributes instead of `<mask>`.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether to simplify inside/outside strokes and use stroke attribute if possible instead of `<mask>`."
},
"inferrable": true,
"http_endpoint_parameter_name": "svg_simplify_stroke"
},
{
"name": "exclude_overlapping_content",
"required": false,
"description": "Set to true to exclude overlapping content from rendering. Set to false to include overlaps, which may increase processing time.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether content that overlaps the node should be excluded from rendering. Passing false (i.e., rendering overlaps) may increase processing time, since more of the document must be included in rendering."
},
"inferrable": true,
"http_endpoint_parameter_name": "contents_only"
},
{
"name": "use_full_dimensions_without_cropping",
"required": false,
"description": "Export using full node dimensions, ignoring cropping and empty space. Ensures text nodes are fully visible.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Use the full dimensions of the node regardless of whether or not it is cropped or the space around it is empty. Use this to export text nodes without cropping."
},
"inferrable": true,
"http_endpoint_parameter_name": "use_absolute_bounds"
}
]
},
"output": {
"description": "Response from the API endpoint 'getImages'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_content:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/images/{file_key}",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "ids",
"tool_parameter_name": "node_ids_to_render",
"description": "A comma separated list of node IDs to render.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A comma separated list of node IDs to render."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "version",
"tool_parameter_name": "version_id",
"description": "A specific version ID to get. Omitting this will get the current version of the file.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A specific version ID to get. Omitting this will get the current version of the file."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "scale",
"tool_parameter_name": "image_scale_factor",
"description": "A number between 0.01 and 4, the image scaling factor.",
"value_schema": {
"val_type": "number",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A number between 0.01 and 4, the image scaling factor."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "format",
"tool_parameter_name": "image_output_format",
"description": "A string enum for the image output format.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"jpg",
"png",
"svg",
"pdf"
],
"properties": null,
"inner_properties": null,
"description": "A string enum for the image output format."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": "png",
"documentation_urls": []
},
{
"name": "svg_outline_text",
"tool_parameter_name": "render_text_as_outlines",
"description": "Whether text elements are rendered as outlines (vector paths) or as `<text>` elements in SVGs.\n\nRendering text elements as outlines guarantees that the text looks exactly the same in the SVG as it does in the browser/inside Figma.\n\nExporting as `<text>` allows text to be selectable inside SVGs and generally makes the SVG easier to read. However, this relies on the browser's rendering engine which can vary between browsers and/or operating systems. As such, visual accuracy is not guaranteed as the result could look different than in Figma.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether text elements are rendered as outlines (vector paths) or as `<text>` elements in SVGs.\n\nRendering text elements as outlines guarantees that the text looks exactly the same in the SVG as it does in the browser/inside Figma.\n\nExporting as `<text>` allows text to be selectable inside SVGs and generally makes the SVG easier to read. However, this relies on the browser's rendering engine which can vary between browsers and/or operating systems. As such, visual accuracy is not guaranteed as the result could look different than in Figma."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": true,
"documentation_urls": []
},
{
"name": "svg_include_id",
"tool_parameter_name": "include_svg_id_attributes",
"description": "Whether to include id attributes for all SVG elements. Adds the layer name to the `id` attribute of an svg element.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether to include id attributes for all SVG elements. Adds the layer name to the `id` attribute of an svg element."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": false,
"documentation_urls": []
},
{
"name": "svg_include_node_id",
"tool_parameter_name": "include_node_id_in_svg_elements",
"description": "Whether to include node id attributes for all SVG elements. Adds the node id to a `data-node-id` attribute of an svg element.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether to include node id attributes for all SVG elements. Adds the node id to a `data-node-id` attribute of an svg element."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": false,
"documentation_urls": []
},
{
"name": "svg_simplify_stroke",
"tool_parameter_name": "svg_stroke_simplification_enabled",
"description": "Whether to simplify inside/outside strokes and use stroke attribute if possible instead of `<mask>`.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether to simplify inside/outside strokes and use stroke attribute if possible instead of `<mask>`."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": true,
"documentation_urls": []
},
{
"name": "contents_only",
"tool_parameter_name": "exclude_overlapping_content",
"description": "Whether content that overlaps the node should be excluded from rendering. Passing false (i.e., rendering overlaps) may increase processing time, since more of the document must be included in rendering.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether content that overlaps the node should be excluded from rendering. Passing false (i.e., rendering overlaps) may increase processing time, since more of the document must be included in rendering."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": true,
"documentation_urls": []
},
{
"name": "use_absolute_bounds",
"tool_parameter_name": "use_full_dimensions_without_cropping",
"description": "Use the full dimensions of the node regardless of whether or not it is cropped or the space around it is empty. Use this to export text nodes without cropping.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Use the full dimensions of the node regardless of whether or not it is cropped or the space around it is empty. Use this to export text nodes without cropping."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": false,
"documentation_urls": []
},
{
"name": "file_key",
"tool_parameter_name": "figma_file_key",
"description": "File to export images from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to export images from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,111 @@
{
"name": "RetrieveFigmaLocalVariables",
"fully_qualified_name": "FigmaApi.RetrieveFigmaLocalVariables@0.1.0",
"description": "Retrieve local and remote variables from a Figma file.\n\nUse this tool to get a list of local variables created in a Figma file and any remote variables utilized, identified by their `subscribed_id`. This tool is available to full members of Enterprise organizations. It's useful for examining mode values and understanding variable usage within a file.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "file_or_branch_key",
"required": true,
"description": "The key for the file or branch to retrieve variables from in Figma. If a branch, use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get variables from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"inferrable": true,
"http_endpoint_parameter_name": "file_key"
}
]
},
"output": {
"description": "Response from the API endpoint 'getLocalVariables'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"file_variables:read"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v1/files/{file_key}/variables/local",
"http_method": "GET",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "file_key",
"tool_parameter_name": "file_or_branch_key",
"description": "File to get variables from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "File to get variables from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,248 @@
{
"name": "UpdateFigmaWebhook",
"fully_qualified_name": "FigmaApi.UpdateFigmaWebhook@0.1.0",
"description": "Update a Figma webhook by its ID.\n\nUse this tool to update the settings or parameters of an existing webhook in Figma by specifying the webhook ID.",
"toolkit": {
"name": "ArcadeFigmaApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "webhook_id_to_update",
"required": true,
"description": "Provide the ID of the Figma webhook you want to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of webhook to update"
},
"inferrable": true,
"http_endpoint_parameter_name": "webhook_id"
},
{
"name": "webhook_update_data",
"required": true,
"description": "JSON object containing the data for the webhook update, including properties like event type, endpoint, passcode, status, and description.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"event_type": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"PING",
"FILE_UPDATE",
"FILE_VERSION_UPDATE",
"FILE_DELETE",
"LIBRARY_PUBLISH",
"FILE_COMMENT",
"DEV_MODE_STATUS_UPDATE"
],
"properties": null,
"inner_properties": null,
"description": "An enum representing the possible events that a webhook can subscribe to"
},
"endpoint": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTTP endpoint that will receive a POST request when the event triggers. Max length 2048 characters."
},
"passcode": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "String that will be passed back to your webhook endpoint to verify that it is being called by Figma. Max length 100 characters."
},
"status": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"ACTIVE",
"PAUSED"
],
"properties": null,
"inner_properties": null,
"description": "An enum representing the possible statuses you can set a webhook to:\n- `ACTIVE`: The webhook is healthy and receive all events\n- `PAUSED`: The webhook is paused and will not receive any events"
},
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "User provided description or name for the webhook. Max length 150 characters."
}
},
"inner_properties": null,
"description": "The webhook to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'putWebhook'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-figma",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"webhooks:write"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Tools that enable LLMs to interact directly with the figma API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.1.0",
"description": ""
},
"url": "https://api.figma.com/v2/webhooks/{webhook_id}",
"http_method": "PUT",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "webhook_id",
"tool_parameter_name": "webhook_id_to_update",
"description": "ID of webhook to update",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ID of webhook to update"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "webhook_update_data",
"description": "The webhook to update.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"event_type": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"PING",
"FILE_UPDATE",
"FILE_VERSION_UPDATE",
"FILE_DELETE",
"LIBRARY_PUBLISH",
"FILE_COMMENT",
"DEV_MODE_STATUS_UPDATE"
],
"properties": null,
"inner_properties": null,
"description": "An enum representing the possible events that a webhook can subscribe to"
},
"endpoint": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTTP endpoint that will receive a POST request when the event triggers. Max length 2048 characters."
},
"passcode": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "String that will be passed back to your webhook endpoint to verify that it is being called by Figma. Max length 100 characters."
},
"status": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"ACTIVE",
"PAUSED"
],
"properties": null,
"inner_properties": null,
"description": "An enum representing the possible statuses you can set a webhook to:\n- `ACTIVE`: The webhook is healthy and receive all events\n- `PAUSED`: The webhook is paused and will not receive any events"
},
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "User provided description or name for the webhook. Max length 150 characters."
}
},
"inner_properties": null,
"description": "The webhook to update."
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"request_body_spec": "{\n \"description\": \"The webhook to update.\",\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"event_type\": {\n \"type\": \"string\",\n \"description\": \"An enum representing the possible events that a webhook can subscribe to\",\n \"enum\": [\n \"PING\",\n \"FILE_UPDATE\",\n \"FILE_VERSION_UPDATE\",\n \"FILE_DELETE\",\n \"LIBRARY_PUBLISH\",\n \"FILE_COMMENT\",\n \"DEV_MODE_STATUS_UPDATE\"\n ]\n },\n \"endpoint\": {\n \"type\": \"string\",\n \"description\": \"The HTTP endpoint that will receive a POST request when the event triggers. Max length 2048 characters.\"\n },\n \"passcode\": {\n \"type\": \"string\",\n \"description\": \"String that will be passed back to your webhook endpoint to verify that it is being called by Figma. Max length 100 characters.\"\n },\n \"status\": {\n \"type\": \"string\",\n \"description\": \"An enum representing the possible statuses you can set a webhook to:\\n- `ACTIVE`: The webhook is healthy and receive all events\\n- `PAUSED`: The webhook is paused and will not receive any events\",\n \"enum\": [\n \"ACTIVE\",\n \"PAUSED\"\n ]\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"User provided description or name for the webhook. Max length 150 characters.\"\n }\n },\n \"required\": [\n \"event_type\",\n \"team_id\",\n \"endpoint\",\n \"passcode\"\n ]\n }\n }\n }\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,60 @@
[build-system]
requires = [ "hatchling",]
build-backend = "hatchling.build"
[project]
name = "arcade_figma_api"
version = "0.1.0"
description = "Tools that enable LLMs to interact directly with the figma API."
requires-python = ">=3.10"
dependencies = [
"arcade-tdk>=3.0.0,<4.0.0",
"httpx[http2]>=0.27.2,<1.0.0",
"jsonschema>=4.0.0,<5.0.0",
]
[[project.authors]]
email = "support@arcade.dev"
[project.optional-dependencies]
dev = [
"arcade-mcp[all]>=1.2.0,<2.0.0",
"arcade-serve>=3.0.0,<4.0.0",
"pytest>=8.3.0,<8.4.0",
"pytest-cov>=4.0.0,<4.1.0",
"pytest-mock>=3.11.1,<3.12.0",
"pytest-asyncio>=0.24.0,<0.25.0",
"mypy>=1.5.1,<1.6.0",
"pre-commit>=3.4.0,<3.5.0",
"tox>=4.11.1,<4.12.0",
"ruff>=0.7.4,<0.8.0",
]
# Tell Arcade.dev that this package is a toolkit
[project.entry-points.arcade_toolkits]
toolkit_name = "arcade_figma_api"
# Use local path sources for arcade libs when working locally
[tool.uv.sources]
arcade-mcp = { path = "../../", editable = true }
arcade-serve = { path = "../../libs/arcade-serve/", editable = true }
arcade-tdk = { path = "../../libs/arcade-tdk/", editable = true }
[tool.mypy]
files = [ "arcade_figma_api/**/*.py",]
python_version = "3.10"
disallow_untyped_defs = "True"
disallow_any_unimported = "True"
no_implicit_optional = "True"
check_untyped_defs = "True"
warn_return_any = "True"
warn_unused_ignores = "True"
show_error_codes = "True"
ignore_missing_imports = "True"
[tool.pytest.ini_options]
testpaths = [ "tests",]
[tool.coverage.report]
skip_empty = true
[tool.hatch.build.targets.wheel]
packages = [ "arcade_figma_api",]

View file