Post unresolved Figma comments to Slack every weekday

By General Input

Every weekday afternoon, we send designers a Slack recap of every open Figma comment they still need to address, grouped by file with deep links.

Integrations

  • Figma
  • Slack Bot

Type

Deterministic Code

Categories

  • Product

Every weekday at 5pm, post a plain digest of unresolved Figma comments to Slack so designers see outstanding feedback before they log off. Use a cron trigger.

Configuration inputs the workflow should accept: the list of Figma file keys or URLs to check, the Slack channel to post the digest to, and the cron schedule (default: weekdays at 5pm in the workspace timezone).

For each Figma file in the configured list, call Figma's Get Comments operation and walk the pagination. Figma returns pagination.next_page as a ready-to-fetch URL on comment endpoints, so follow next_page until it is null so no comments are missed. After all pages are collected, filter each file's results to comments where resolved_at is null.

Group the surviving comments by file. For each file, render a section with the file name as a bold header (Slack mrkdwn, so *File name*) linking to the file, followed by a bullet list. Each bullet shows the commenter's handle (user.handle), a one-line preview of the comment message (first ~80 characters on a single line, ellipsized if truncated), the age of the comment in whole days computed from created_at, and a deep-link into the file at the pinned node. The deep-link format is https://www.figma.com/design/{file_key}/?node-id={hyphenated-node-id} — Figma's API returns node ids with colons (e.g. 1:2) and the URL expects hyphens (e.g. 1-2), so convert colons to hyphens before building the URL. If a comment has no pinned node, link to the file root.

Send the whole digest as ONE Slack Bot Send a Message to the configured channel — not one message per file. If a file has zero unresolved comments, omit that file from the digest entirely. If every configured file is clean, send a single "No open comments today" message instead of sending nothing.

Cap the digest at ~50 comments total across all files to keep the Slack message readable. If the combined count exceeds the cap, truncate the tail and append an "and 12 more" overflow line (with the real remaining count) at the bottom of the message so nothing is silently dropped.

This is a deterministic template — same operations, same format, every run — so build it as a code workflow, not an agent. The only two integrations involved are Figma (Get Comments) and Slack Bot (Send a Message).

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them