Log every production feature flag change to Sheets and Slack
Every production flag change lands in a compliance spreadsheet and your release channel, so auditors and engineers both see who changed what.
Trigger this workflow from a LaunchDarkly change history webhook so it runs every time someone makes a change in LaunchDarkly. Build it as deterministic code: parse the incoming event, look up the full detail of the change, write one row to a spreadsheet, and post one Slack message. No summarization or judgement is needed at any step.
First, read the incoming event to get the audit log entry id along with the project key and environment key the change belongs to. Only continue when the environment is one of my production environments. Treat the list of production environment keys as a setting I can edit, defaulting to an environment key of "production". If the change came from staging, development, QA or any other non production environment, stop immediately so that routine churn never reaches the compliance sheet or the Slack channel.
For changes that pass the production filter, call the LaunchDarkly "Get audit log entry" operation with the entry id from the event. That returns the full detail of the change, including the member who made it, the kind of change, the resource that was touched, and the previous version, current version and delta representations. Use the delta together with the two version representations to derive the before and after state of the flag, for example whether targeting was switched on or off in that environment, or which targeting rule or default variation changed.
Append one row to my compliance spreadsheet with the Google Sheets "Append Values" operation. The row should capture the timestamp of the change, the project, the environment, the flag key, the name and email of the member who made the change, the kind of change, a short before and after description derived from the delta, and a link back to the entry in LaunchDarkly so an auditor can open the original record. Let me configure the spreadsheet and the tab name. Always append after the last row so the log grows as a durable, append only record and nothing already written is overwritten.
Then post to my release channel using the Slack "Send a Message" operation. The message should say who changed which flag, in which project and environment, what kind of change it was, and the before and after state on their own lines, with a link to the entry in LaunchDarkly. Keep it short enough to scan in a busy channel. Let me configure the channel, and let me choose which kinds of change are worth posting versus only being logged to the sheet. By default, post every change that passes the production filter.
If the detail lookup fails or the entry cannot be found, still append a row using whatever the incoming event itself contained and note in that row that the detail lookup failed, so the compliance log never has a silent gap.
What does this prompt do?
- Watches your production LaunchDarkly environments and reacts the moment someone changes a feature flag.
- Pulls the full detail of that change, including what the flag looked like before and after.
- Appends a timestamped row to a Google Sheets compliance log with the project, environment, flag, the person who made the change, the kind of change, and a link back to the original record.
- Posts a short update to your release channel in Slack showing who changed which flag and its before and after state, while staging and development churn stays out of both places.
What do I need to use this?
- A LaunchDarkly account with access to the projects and production environments you want tracked
- Permission in LaunchDarkly to set up change notifications for your account
- A Google account and a spreadsheet to use as the compliance log
- A Slack workspace and the channel where release updates should be posted
How can I customize it?
- Choose which environments count as production, so staging, development and QA activity never reaches the sheet or the channel.
- Point the log at any spreadsheet and tab, and add or reorder the columns your auditors care about.
- Decide which kinds of change deserve a Slack post versus being quietly logged, for example only flag on and off flips and targeting changes.
FAQs
Does this replace the change history already inside LaunchDarkly?
Can people without a LaunchDarkly seat read the log?
Will changes in staging or development show up?
What if several flags change at the same time?
Does the log show what the flag was before it changed?
Related templates
When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.
Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.
Turn flag changes into an audit trail nobody has to chase.
Set it up once and every production flag change is logged for compliance and announced to your team automatically.