Skip to main content
Figma logo

Overview

Add Figma to any ModuleX agent or workflow. Design collaboration platform for creating, sharing, and commenting on design files via the Figma REST API (api.figma.com).
Categories: Productivity & Collaboration · Design · Auth: OAuth2 · Actions: 3

Authentication

OAuth2 Authentication

Connect using Figma OAuth (recommended)

Required Credentials

FieldDescriptionRequiredFormat
Client IDFigma OAuth App Client IDYes-
Client SecretFigma OAuth App Client SecretYes-

OAuth Configuration

  • Authorization URL: https://www.figma.com/oauth
  • Token URL: https://api.figma.com/v1/oauth/token
  • Scopes: file_content:read, file_comments:read, file_comments:write

Available Actions

Parameters

file_id
string
required
The Figma file ID (found in the file URL after /file/)

Response

{
  "$defs": {
    "CommentUser": {
      "additionalProperties": false,
      "description": "A Figma user who authored a comment.",
      "properties": {
        "handle": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Handle"
        },
        "img_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Img Url"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        }
      },
      "title": "CommentUser",
      "type": "object"
    },
    "FigmaComment": {
      "additionalProperties": false,
      "description": "A single comment on a Figma file.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "file_key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "File Key"
        },
        "parent_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Parent Id"
        },
        "user": {
          "anyOf": [
            {
              "$ref": "#/$defs/CommentUser"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "created_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Created At"
        },
        "resolved_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Resolved At"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        },
        "order_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Order Id"
        }
      },
      "title": "FigmaComment",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "comments": {
      "items": {
        "$ref": "#/$defs/FigmaComment"
      },
      "title": "Comments",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListCommentsOutput",
  "type": "object"
}

Parameters

file_id
string
required
The Figma file ID (found in the file URL after /file/)
comment_id
string
required
The ID of the comment to delete

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteCommentOutput",
  "type": "object"
}

Parameters

file_id
string
required
The Figma file ID (found in the file URL after /file/)
message
string
required
The text contents of the comment to post
comment_id
string
The ID of the comment to reply to (must be a root comment)

Response

{
  "$defs": {
    "CommentUser": {
      "additionalProperties": false,
      "description": "A Figma user who authored a comment.",
      "properties": {
        "handle": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Handle"
        },
        "img_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Img Url"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        }
      },
      "title": "CommentUser",
      "type": "object"
    },
    "FigmaComment": {
      "additionalProperties": false,
      "description": "A single comment on a Figma file.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "file_key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "File Key"
        },
        "parent_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Parent Id"
        },
        "user": {
          "anyOf": [
            {
              "$ref": "#/$defs/CommentUser"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "created_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Created At"
        },
        "resolved_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Resolved At"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        },
        "order_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Order Id"
        }
      },
      "title": "FigmaComment",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "comment": {
      "anyOf": [
        {
          "$ref": "#/$defs/FigmaComment"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "PostACommentOutput",
  "type": "object"
}

Limits & Quotas

  • Figma REST API rate limit: 30 requests per minute per OAuth token (may vary by endpoint and plan).
  • No per-request billing; API access is included with Figma Professional and above.
  • Error model: non-2xx responses are caught and returned as success=False + error rather than raising.

Cal.com

Canva

ConvertAPI