Design system changelog when your Figma library publishes

Every time your team republishes the Figma library, engineering and design get a plain-language recap of what changed, posted to Slack and logged in Notion.

Agentic Task
FigmaSlack BotNotionProductEngineeringNotifications & AlertsContent Generation
PromptCreate

Whenever our Figma design system library is republished, write a human-readable changelog covering what components, component sets, and styles were added, changed, or removed since the last publish, and broadcast it to engineering and design.

Trigger: a Figma webhook subscription on the LIBRARY_PUBLISH event for the library file. The webhook payload includes the publisher's release notes (the `description` field) plus `created_components`, `modified_components`, `deleted_components`, and the equivalent lists for styles. That payload alone is enough to draft the recap, but we also pull the current inventory so names, containing frames, and thumbnails are accurate.

On each publish, do the following in order:

1. Call Figma Get File Components and Get File Component Sets against the library file to pull the current published inventory. Also call Get File Styles to cover color, text, and effect styles. These are the standard file-level operations available on Team and Professional plans; do NOT reach for the Enterprise-only library analytics endpoints.

2. Diff the fresh inventory against the last snapshot the workflow stored. Cross-reference with the webhook payload's `created_components` / `modified_components` / `deleted_components` (and style equivalents) so keyed changes line up with human names from the inventory. Group results into Added, Changed, and Removed.

3. Draft a plain-language recap. Structure: publisher name and timestamp, then the release notes from the webhook `description` quoted verbatim at the top, then Added / Changed / Removed sections for components, component sets, and styles. Keep the tone crisp so a consumer can tell at a glance whether they need to update their app's design tokens or component wrappers. Call out breaking changes explicitly (renames, removals, prop changes noted in the release notes).

4. Post the recap to Slack in the #design-system channel using Slack Send a Message on the slackbot integration. Format for skimmability with Slack mrkdwn: bold section headers, bulleted lists under each of Added / Changed / Removed, and a one-line 'you should update if...' summary at the bottom when there are breaking changes.

5. Append a new dated heading-2 section to a running Notion changelog page using Notion Append Block Children. On the very first run there is no page yet: use Notion Create a Page to create it under a configured parent page, seed it with a `Releases` heading-1 block, and then append this run's entry as a heading-2 dated section followed by the same Added / Changed / Removed content. Store the new page's ID so subsequent runs append to it instead of re-creating.

6. Save the fresh inventory (component keys, component set keys, style keys, plus names and modified_at timestamps) as the new baseline snapshot for the next publish.

Configuration knobs to expose: the Figma library file key, the Slack channel (default #design-system), the Notion parent page ID for the changelog page, and the changelog page title (default: 'Design system changelog').

First-run behavior: if no baseline snapshot exists yet, still create the Notion page and post a short 'Changelog started, tracking the library from here' note to Slack. The very next publish is the first with a full added/changed/removed recap.

Additional information

What does this prompt do?
  • Fires the moment your design system library is republished in Figma
  • Compares the new components, component sets, and styles against the last snapshot the workflow saved
  • Writes a crisp added, changed, and removed recap that quotes the publisher's release notes so context is not lost
  • Posts the recap to your design system Slack channel and appends a dated section to a running Notion changelog page
What do I need to use this?
  • A Figma design system library that publishes updates to a team
  • A Slack workspace and the channel you want the recap in, like #design-system
  • A Notion workspace where the workflow can keep a running changelog page
How can I customize it?
  • Point it at a different Slack channel if your design system announcements live elsewhere
  • Change the Notion parent page or rename the changelog page title
  • Adjust the tone so consumers know when they need to update tokens or component wrappers

Frequently asked questions

Do we need Figma Enterprise for this?
No. This uses the standard file-level components, component sets, and styles data available on Team and Professional plans, not the Enterprise-only library analytics endpoints.
What happens on the very first publish, when there is no baseline?
The workflow creates the Notion changelog page, saves an initial inventory as the baseline, and posts a short kickoff note to Slack. The next publish is the first one with a full added, changed, and removed recap.
Can we send it to more than one Slack channel?
Yes. You can pick any channel your workspace uses. If you want to notify multiple channels, duplicate the workflow and change the target on each copy.
Does it cover styles like colors and typography, or only components?
Both. Added, changed, and removed styles are grouped alongside components and component sets in the same recap.
Are the publisher's release notes included in the recap?
Yes. The notes typed into the Figma publish dialog are quoted at the top of every recap so the intent behind the release is preserved.

Stop hand-writing your design system changelogs.

Every Figma library publish becomes a shareable recap your engineers and designers actually read.