Track every half finished LaunchDarkly rollout in one board

Open one board each morning to see every flag stuck partway through a rollout, how long it has sat there, and ramp or roll back with one click.

App
LaunchDarklySentryLinearSlackEngineeringProductResearch & MonitoringAI Reports
PromptCreate

I want a rollout control room that I open every morning as the release manager, so I can see every LaunchDarkly feature flag that is currently stuck partway through a rollout. Build it as an app with one main board. Nothing runs on a schedule and nothing changes a flag on its own, because a person decides every ramp.

The board lists one card per flag that is on but not fully rolled out, meaning the flag is enabled in at least one environment and its targeting still serves a percentage rollout rather than a single variation to everybody. Pull these with List feature flags, requesting per environment configuration so each record carries the rollout percentage and the variations for every environment.

Each card shows whether the flag is actually being evaluated, using List feature flag statuses, so I can tell a live 25 percent rollout apart from one that no traffic is hitting. The card also shows who last touched the flag and how many days it has sat at its current percentage. Work that out from List audit log entries by finding the most recent entry that changed the rollout percentage for that flag and measuring from that entry's date to now.

Show every environment side by side on the card, one column per environment with its own on and off state, rollout percentage and variation split. Staging drifting away from production should be obvious at a glance without opening anything.

When a Linear ticket id sits in the flag description or in one of its tags, pull that ticket through Get Issue and show its current state and assignee on the card, so I can see whether the work behind the rollout is even still open.

From a card I can ramp to the next stage, hold, or turn the flag off. Treat the ramp stages as 1, 5, 10, 25, 50, 75 and 100 percent, and let me confirm or edit the target percentage before anything submits. Ramp and turn off both write back with Update feature flag using a semantic patch against the environment I picked. Hold does not touch LaunchDarkly at all, it records a deliberate pause so the card reads as intentional rather than forgotten.

Every one of those three actions requires me to type a one line reason before it will submit. Once the change lands, post the flag, the environment, what changed and my reason to the release channel with Slack Send a Message, so the team gets a running record of who decided what.

Add a Check rollout health button on each card that runs a background agent against that one flag. The agent takes the timestamp of the last ramp from the audit history, then pulls Sentry List Organization Issues and Retrieve Event Counts for a Project for the window since that ramp, and compares error volume in the window after the ramp against an equally long window before it. It also scans recent audit entries for the same flag for competing changes, meaning other people moving the same flag inside the same window. It finishes by writing a ramp, hold or roll back recommendation back onto the card, along with its evidence: the before and after error numbers, the issues that grew most, and any competing changes it found. The recommendation is advice only and never changes the flag.

Sort the board by days stuck at the current percentage, longest first, so a forgotten 25 percent rollout from three weeks ago floats to the top. Never auto ramp anything and never run the health agent on a schedule. A person presses the button.

LaunchDarkly API notes for whoever builds this. The token goes in the Authorization header raw with no Bearer prefix. Send LD-API-Version: 20240415 on every request. Address everything by key rather than id, so projectKey, environmentKey and featureFlagKey. Semantic patch needs Content-Type: application/json; domain-model=launchdarkly.semanticpatch with a body shaped like {"environmentKey":"production","instructions":[{"kind":"turnFlagOff"}]}. Take the API host from the region field on the credential, since commercial, EU and federal accounts each answer on their own host. Responses are HAL style with an items array plus a _links.next href for pagination. The audit log is the awkward one: it pages backwards, caps at 20 items per page, and you fetch older pages by setting before to the date of the oldest entry you received, in epoch milliseconds.

One framing note. This app is the proactive daily surface for rollouts already in flight, and it complements the existing reactive workflow that fires on a Sentry alert to find which flag caused a spike. The difference is that here I choose the flag and the window and press the button myself, rather than chasing an alert after something has broken.

What does this prompt do?

  • Shows every flag that is switched on but not fully rolled out, with the environments side by side so staging drift is obvious.
  • Sorts by how many days each flag has sat at its current percentage, so forgotten rollouts float to the top.
  • Lets you ramp to the next stage, hold, or switch a flag off from the card, with a one line reason posted to your release channel.
  • Adds a Check rollout health button that compares error volume before and after the last ramp and writes a ramp, hold or roll back recommendation onto the card.

What do I need to use this?

  • A LaunchDarkly account, with permission to change flags if you want the ramp and switch off buttons to work.
  • A Sentry account, used by the rollout health check to compare error volume around a ramp.
  • A Slack workspace and the channel your team uses for release announcements.
  • A Linear account, only if you want linked tickets shown on the cards.

How can I customize it?

  • Change the ramp stages, for example 1, 5, 10, 25, 50 and 100 percent, to match how your team rolls out.
  • Pick which environments appear on each card and which one the buttons act on.
  • Choose the release channel that receives the reason messages, or point it at a private channel while you try the board out.

FAQs

Will this ramp my flags automatically?
No. Nothing moves on its own. The board only shows you what is mid flight, and every change happens because a person pressed a button and typed a reason first.
What counts as a stuck rollout?
Any flag that is switched on but still serving a percentage of your users rather than everyone. The board then ranks those flags by how many days they have sat at that same percentage, so the ones nobody has touched in weeks appear first.
Do I need Sentry to use this?
Only for the Check rollout health button. Without Sentry you still get the board, the side by side environment comparison, the linked tickets and the ramp, hold and switch off buttons.
How is this different from an alert that tells me a flag caused an error spike?
That kind of alert is reactive and arrives after something has already broken. This is the board you open every morning to catch half finished rollouts before they turn into an incident, and the health check runs when you ask for it, on the rollout window you choose.
Does the whole team see the same board?
Yes. It reflects your LaunchDarkly project, so everyone sees the same flags and the same current state. Because each action posts its reason to your release channel, there is also a running record of who decided what and why.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Chat quality review board for LiveChat support leads

Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.

LiveChat
Slack
General Input Database
App
Win back no-show and cancelled appointments every morning

Every weekday morning, every appointment that fell through yesterday gets a personal text or email inviting them to rebook, plus a task for the right rep.

LeadConnector
Google Sheets
Slack
Agentic Task
Live Loop returns analytics with product-level drill-down

Pick any date range up to 120 days and see return volume, refund versus exchange mix, and the products behind every number, recalculated each time you open it.

Loop Returns
Google Sheets
Slack
App
Newsletter pre-flight and approval board for Mailjet sends

Every newsletter gets read, checked and signed off in one place, so nothing goes out with a broken link or a half-filled greeting.

Mailjet
Slack
General Input Database
App

Stop losing track of half finished rollouts.

Open one board each morning, see every flag still mid rollout, and ramp or roll back with a reason your whole team can see.