Indie Dev Workflow
A Support Workflow for Notifying Customers When Fixes Ship
A practical workflow for small teams to track who reported a bug, confirm the fix is live, and notify every affected customer by email or app store review reply.
When a customer reports a bug, you usually tell them "we're on it." Many teams never follow up after the fix ships. The customer doesn't find out it's fixed. They may keep using a workaround or quietly stop using the product.
A good follow-up process doesn't need special tools. It needs four habits:
- Link every report to one issue as soon as it comes in.
- Keep a list of affected customers on that issue.
- Treat "shipped" as "live for customers," not "merged."
- Send a short, specific notice in the same channel the customer used.
The rest of this article explains each step, the platform details that affect it, and the edge cases that tend to cause problems.
Why this matters for small teams
On small teams, the person who fixes the bug is often the person who answers support. That makes following up easy in theory. In practice, it's easy to forget: once the fix merges, you've already moved on to the next task.
Apple's guidance for developers treats the follow-up as worth doing. On its ratings and reviews page, Apple says that when an update fixes issues mentioned in older reviews, you should mention it in your release notes and "consider replying to relevant reviews to tell these users about the fix," calling this "an effective method for reengaging previously dissatisfied users."
Step 1: Link each report to an issue when it arrives
Do the linking when the report comes in, not later. If you wait until the fix ships, you'll have to dig through your inbox to find who asked.
Common ways to do this:
- Built-in integrations. Linear's Customer Requests feature attaches customer requests to issues. You can create requests from support platforms, email, CRM tools, or shared Slack channels. Zendesk's Jira integration links tickets to Jira issues. Zendesk's documentation says one Jira issue can be linked to up to 200 tickets, which helps when many customers report the same bug.
- A lightweight approach. Add a label or tag to the support thread, such as
bug-1234, and paste the thread link into the issue. For a solo developer, this is often enough.
For each affected customer, write down:
- Name and contact channel (email, iOS review, Android review)
- A link to the original conversation
- Any workaround you gave them
- Plan tier or account details, if the fix only applies to some plans
Step 2: Decide what "shipped" means for each platform
A closed issue doesn't always mean customers have the fix. Check this before you notify anyone.
Code merged isn't the same as released. GitHub can close an issue automatically when a linked pull request merges, using keywords like Fixes #123. GitHub's documentation says these keywords only work when the pull request targets the repository's default branch. Even then, a merged pull request may not be deployed yet. If you use "issue closed" as your trigger, add a separate step to confirm the release.
Mobile rollouts can be gradual.
- On Apple platforms, a phased release sends an update over 7 days to users who have automatic updates turned on. Users who update manually get it right away.
- On Google Play, a staged rollout reaches only the percentage of users you choose. That percentage doesn't increase automatically.
For mobile fixes, you have two options. You can wait until the rollout reaches everyone, or you can tell customers to update manually and include the version number.
Web apps. For a SaaS product, "shipped" usually means deployed to production and checked there. If you use feature flags, it means the flag is on for the affected customers.
Step 3: Get alerted when the fix is live
Don't rely on remembering. Set up a trigger that reminds you to follow up. Some documented options:
- Linear with a support tool. With the Intercom integration, Linear re-opens the linked conversation when the issue is completed, "so it's easy to reach out to your customers." The Plain integration moves the thread into a Close the Loop state when the linked issue is completed or cancelled. You can also subscribe to a customer and get notified when their requested issues ship.
- Jira with Zendesk. A "Notify Zendesk Ticket" workflow step can add an internal note, a public comment, a status change, or tags to linked tickets when an issue changes status. Zendesk's own example adds an internal note so the agent can then contact the customer (Zendesk docs).
- Manual process. Add "notify affected customers" to your release checklist. When you tag a release, open each issue in that release and go through its customer list.
One piece of advice: make the trigger an internal alert that prompts a person to act. An automatic public message is riskier. It might go out before the fix reaches that customer, or it might go to someone whose issue was only partly fixed.
Step 4: Write a short, specific notice
A good fix notice answers three questions: What was fixed? How do I get it? What if it still doesn't work?
Here's a hypothetical example email:
Hi Sam,
>
Quick follow-up on the CSV export problem you reported on the 12th, where exports with more than 10,000 rows were cut off. That's fixed in today's release. You don't need to do anything, since it's live on your account now.
>
If you set up the split-export workaround we talked about, you can remove it.
>
If you still see truncated files, reply here with the export date and I'll take another look.
Why this format works:
- It uses their words. Describe the problem the way they described it, not with your internal issue title.
- It gives a date or version. For mobile apps, name the version number so they can check it.
- It covers the workaround. Tell them whether they can undo it.
- It invites a reply. You'll hear quickly if the fix didn't work for them.
- It's short. This is a status update, not a changelog.
Step 5: Send it in the channel the customer used
Reply in the original thread. That gives the customer the history and makes clear this isn't marketing email. If several customers reported the same bug, send a personal reply to each person. A mass email with everyone in CC exposes their addresses.
App Store reviews (iOS)
Apple says that when you respond to a review, "the reviewer is notified and has the option to update their review." Apple also says you can edit your response at any time, and only the latest version is shown (Apple Developer). Replies are public, so keep them general and point the reviewer to email for anything account-specific.
Google Play reviews (Android)
Google Play has some rules that directly affect fix notices, according to Google's Reply to Reviews API documentation:
- Users are notified the first time you reply to a new or updated review.
- Editing your existing reply doesn't send a new notification.
- Replies can be at most 350 characters.
- Google discourages posting automated replies that you plan to edit by hand later.
In practice: if you already replied with "we're looking into it," editing that reply to say "fixed in version 2.4.1" probably won't reach the reviewer. The exception is when they've updated their review since then. It's worth keeping this in mind when you write your first reply. The Play Console Help Center also reminds developers that replies are public, so leave out sensitive user information.
Step 6: Close the loop and record it
After you send the notices:
- Mark each linked conversation as notified, using a tag like
fix-notified. - Move the thread to solved or pending, depending on whether you asked for confirmation.
- Note any customer who says the fix didn't work, and reopen or link a new issue.
This record helps later, when a customer asks "did this ever get fixed?" or the same bug comes back.
Edge cases to plan for
- Partial fixes. If only part of the problem is fixed, say so. Don't close the thread for the part that's still broken.
- Fixes on specific plans or platforms. A fix in the web app doesn't help someone reporting the bug in the iOS app. Check each customer's platform before you notify them.
- Customers who left. A short, low-pressure note to a former customer is reasonable if they reported the problem to you directly. Keep it factual and don't add a sales pitch.
- Regressions. If a fix you announced breaks again, tell the same customers. They'll trust your next update more.
- "Won't fix" and cancelled issues. Some integrations, like Linear's Plain and Salesforce integrations, trigger the follow-up when an issue is cancelled, not just completed. Those customers need an honest update too.
Where AI drafting fits in this workflow
Fix notices are repetitive and short, and they depend on context. That makes them good candidates for drafting help, but a person should still review each one. The facts in the message need to be right for each customer, including version, platform, and workaround.
SupportMe is built around that human-review model. It connects to email inboxes and to App Store and Google Play review responses, and it drafts replies in your own writing style. Nothing is sent without your approval, and it learns from the edits you make to its drafts. In this workflow, it could draft individual follow-ups for your list of affected customers while you check each one before sending. SupportMe is currently pre-launch, in its waitlist phase.
Conclusion
Notifying customers when a fix ships is mostly a record-keeping habit. Link reports to issues when they arrive, and keep a list of who's affected. Treat "shipped" as "live for this customer," not "merged." Then send a short, specific note in the same channel they used. Pay attention to platform rules: phased and staged mobile rollouts, and Google Play's rule that editing a reply doesn't notify the user. This process doesn't need a big support stack, just a consistent trigger and a person reviewing each message.
References
- Apple Developer: Ratings, reviews, and responses
- Apple Developer: Release a version update in phases
- Google for Developers: Reply to Reviews API
- Play Console Help: Release app updates with staged rollouts
- Play Console Help: View and analyze your app's ratings and reviews
- GitHub Docs: Linking a pull request to an issue
- Linear Docs: Customer Requests
- Plain Docs: Linear integration
- Zendesk Help: Updating a ticket when the status of a Jira issue changes
Tags
Related posts
Indie Dev Workflow
A Support Workflow for Side Projects With a Day Job
A practical support workflow for side-project builders with full-time jobs: one inbox, fixed support windows, clear triage rules, reusable answers, and a weekly review that keeps support from spreading into every hour.
10 min read
Indie Dev Workflow
How to Prioritize Support for Free and Paid Users
Prioritize customer support by issue severity, paid commitments, and waiting time. This practical guide helps small SaaS teams define support tiers, handle exceptions, and keep free users from being overlooked.
7 min read
Indie Dev Workflow
Support or Custom Work? A Decision Guide for Indie Devs
Learn how to distinguish customer support from custom development, handle ambiguous requests fairly, and set clear boundaries around paid work without leaving customers stuck or making promises you cannot keep.
7 min read