Working in FigJam
FigJam
FigJam is an online, collaborative whiteboard that teams use to brainstorm, develop, and organize ideas.
Use cases for FigJam:
- Brainstorm and explore ideas
- Create decision trees, diagrams, and mind maps
- Run critiques or feedback sessions on designs
- Collect ideas, note feedback, and organize research
- Plan and run meetings, tutorials, or other interactive sessions
- Collaborate and align with project stakeholders all in one place
And like Figma's other products, plugins can also integrate with FigJam.
Key differences between plugins in FigJam and other plugins
Plugins in FigJam have some key differences when compared to other plugins:
Pages
FigJam files contain one or more pages, but the Plugin API in FigJam doesn't support the ability to create multiple pages. This includes the createPage()
function.
Components
FigJam files have their own purpose-built stickers, which you can access using the plugin API, along with any components from your enabled libraries, or any designs pasted from Figma design files into FigJam files. You ’ll also be able to access any local styles or instances in a FigJam file using the plugin API.
However, it’s not possible to create new components in a FigJam file using the plugin API, or combine existing components as variants. You won’t be able to use the following functions:
You can, however, create an InstanceNode
of a ComponentNode
that is in a FigJam file.
Styles
When using the plugin API in FigJam files, you can only access styles applied to existing nodes. You won’t be able to create or manage local styles using the following functions:
createPaintStyle()
createTextStyle()
createEffectStyle()
createGridStyle()
moveLocalPaintStyleAfter()
moveLocalTextStyleAfter()
moveLocalEffectStyleAfter()
moveLocalGridStyleAfter()
moveLocalPaintFolderAfter()
moveLocalTextFolderAfter()
moveLocalGridFolderAfter()
FigJam-specific nodes
FigJam files have a few specific types of nodes, which are unique to that file type. This includes the StickyNode
, ShapeWithTextNode
, ConnectorNode
, CodeBlockNode
, MediaNode
, and TableNode
node types. When using the plugin API in FigJam, you can create and modify these node types.
It’s not possible to create these nodes in a Figma file, but you can read and modify any existing nodes of these types in Figma files.
If the editorType
in your manifest does not include figjam
, you won’t be able to access the following functions relating to those nodes:
figma.createSticky()
figma.createShapeWithText()
figma.createConnector()
figma.createCodeBlock()
figma.createGif()
figma.createTable(numRows, numColumns)
FigJam Timer
FigJam files support a Timer, which allows users in a file to set a time limit for their activities and watch it count down. The timer is visible to everyone with at least view access to the FigJam file.
The timer is specific to FigJam files, so you can access it via the plugin API in FigJam.
If the editorType
in your manifest does not include figjam
, you won’t be able to access the figma.timer function. This includes any events and properties related to that function.
Modifying nodes
There are certain node types in FigJam that you only read and modify, and not create, those are the BooleanOperationNode
, StampNode
, and WidgetNode
types.
Creating Figma-specific nodes in FigJam
There are some Figma-specific node types that can't be created using FigJam's UI, but can be created using the plugin API in FigJam. Those are the LineNode
, PolygonNode
, RectangleNode
, SliceNode
, StarNode
, TextNode
, and VectorNode
types.