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.
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.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
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.
New Channel Created Trigger
Triggered when a new channel is created in Slack.
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`.
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
Create dev resources
Creates and attaches multiple uniquely-urled development resources to specified figma nodes, up to 10 per node.
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
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`.
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
Delete a comment
Deletes a specific comment from a figma file or branch, provided the authenticated user is the original author of the comment.
Message Reaction Removed
Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.
Delete a reaction
Deletes a specific emoji reaction from a comment in a figma file; the user must have originally created the reaction.
Reaction Added Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.
Delete a webhook
Permanently deletes an existing webhook, identified by its unique `webhook id`; this operation is irreversible.
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.