Skip to content
Notis

Carry approved token decisions into Figma

Once a color, spacing, or typography token is agreed in Slack, keep the Figma variables aligned with that decision.

Trigger

Channel Message Received

Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.

Action

Create, modify, or delete variables

Manages variables, collections, modes, and their values in a figma file via batch create/update/delete operations; use temporary ids to link new related items in one request and ensure `variablemodevalues` match the target variable's `resolvedtype`.

Why this helps

Token decisions can be acknowledged in chat but left unapplied, causing the design system and the team's understanding to drift.

  • Reduces manual transfer of approved token values.
  • Keeps shared design variables aligned with team decisions.
  • Makes follow-through on design system updates more reliable.

Setup

Build it in a few focused steps.

  • 1Connect Slack and Figma to Notis once in the portal.
  • 2Create an automation and instruct Notis in plain language to act only on confirmed token changes, identify the matching Figma variables, and update them with the agreed values.
  • 3Select the Slack Channel Message Received trigger and a channel for run reports.
  • 4Test with one reviewed token change and verify the variable and mode values in Figma.

Questions about this workflow

Does this change variables based on suggestions?

The instruction should make clear that only explicitly approved changes qualify.

Can a token have different values by mode?

Yes. The Figma action supports variable values by mode; include the intended mode context in the Slack decision and prompt.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Slack to Figma. A trigger fires from one place; an action lands in another.

Slack triggers

Figma actions

Recurring trigger

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

TriggerScheduled

Add a comment to a file

Posts a new comment to a figma file or branch, optionally replying to an existing root comment (replies cannot be nested); `region height` and `region width` in `client meta` must be positive if defining a comment region.

ActionInstant

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

TriggerInstant

Add a reaction to a comment

Posts a specified emoji reaction to an existing comment in a figma file or branch, requiring valid file key and comment id.

ActionInstant

New Channel Created Trigger

Triggered when a new channel is created in Slack.

TriggerInstant

Create a webhook

Creates a figma webhook for a `team id` to send post notifications for an `event type` to a publicly accessible https `endpoint`; an initial ping is sent unless `status` is `paused`.

ActionInstant

Channel Message Received

Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.

TriggerInstant

Create dev resources

Creates and attaches multiple uniquely-urled development resources to specified figma nodes, up to 10 per node.

ActionInstant

Direct Message Received

Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.

TriggerInstant

Create, modify, or delete variables

Manages variables, collections, modes, and their values in a figma file via batch create/update/delete operations; use temporary ids to link new related items in one request and ensure `variablemodevalues` match the target variable's `resolvedtype`.

ActionInstant

Message Reaction Added

Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Delete a comment

Deletes a specific comment from a figma file or branch, provided the authenticated user is the original author of the comment.

ActionInstant

Message Reaction Removed

Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Delete a reaction

Deletes a specific emoji reaction from a comment in a figma file; the user must have originally created the reaction.

ActionInstant

Reaction Added Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.

TriggerInstant

Delete a webhook

Permanently deletes an existing webhook, identified by its unique `webhook id`; this operation is irreversible.

ActionInstant

Connect any two apps with Notis in the middle.

Slack and Figma, or any other combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Figma.