Automatically post updates to a Slack channel each day with the updates from a Figma file's version history. View example
- Click the Deploy to Heroku button
- Give your Heroku app a name
- For the Config Vars section, proceed to the Figma and Slack sections of the README in order to obtain your
FIGMA_FILE_KEY
,FIGMA_PERSONAL_ACCESS_TOKEN
,SLACK_CHANNEL_ID
,SLACK_TEAM_ID
,SLACK_USER_ID
- Click "Deploy app"
- After the deploy is successful, click on "Manage App"
- Click on "Heroku Scheduler" in the Installed add-ons section
- Click on "Create job"
- Customize your job
- In the Schedule section, set the interval to "Every day at..." and choose a time (in UTC) that works best for you
- In the Run Command section, set the command to
python update.py
- Click on "Save Job"
First, in the Figma file that you grabbed the file key for earlier, make some changes and create a version.
- In the dashboard for the app that you created in Heroku, click on "More" in the top right corner, and then "Run console"
- Enter
python update.py
and click "Run" - Your changes should be posted to Slack 🎉
Now that you're all set up, your Slack channel will receive updates every day at the time you've selected your Heroku Scheduler job to run (assuming changes were made in Figma).
If there was an issue while running, first make sure to double check that your Config Vars are correct in the Settings section of your Heroku app. If you're still running into an issue, be sure to create an issue.
- While logged into Figma on the web or the desktop app, visit your Account Settings
- Under Personal Access Tokens, click "Create a new personal access token"
- Name the the access token whatever you'd like, for example:
figma-slack-updates
- Copy the token - this is your only chance to do so! This is your
FIGMA_PERSONAL_ACCESS_TOKEN
Visit the Figma file that you'd like to post updates for and copy its file key
. The file key can be found when you copy the file's link or visit the file on the web: figma.com/file/file key
/... This is your FIGMA_FILE_KEY
- While logged into Slack on the web, visit Your Apps
- Click on "Create New App". Give it a name and a team to post in.
- After the app is created, visit Incoming Webhooks
- Turn the Activate Incoming Webhooks toggle on
- Under Webhook URLs for Your Workspace, click "Add New Webhook to Workspace"
- Choose a channel for the Slack app to post updates to
- Under Webhook URLs for Your Workspace, take note of the code inside of "Sample curl request to post to a channel". There are three pieces of info to copy from the URL: the team ID, user ID, and channel ID. hooks.slack.com/services/
team id
/user id
/channel id
. In sequential order, these are yourSLACK_TEAM_ID
,SLACK_USER_ID
, andSLACK_CHANNEL_ID
In the Figma file that you set up to post changes from, you can either publish your component changes or create a new version in your file's version history. Both of these kinds of changes will be posted to Slack.
Note: The "Description" field for each of these is required in order for it to be posted to Slack. If there is no description provided, the changes won't be mentioned in Slack.
Slack posts will happen every day at the time you've selected your Heroku Scheduler job to run (assuming changes were made in Figma). They'll appear with the date of the changes, followed by a list of all of your changes for that given day.