A client follow-up tracker records what you requested, who needs to respond, when you last contacted them, and what you will do next. Use one row per open request, with a next action and a date to review it.
This is useful when you are waiting for approval, content, access, payment confirmation, or a decision across several client projects.
The aim is to open your workday and know which conversations need attention, without searching every email thread.
Below is a free copy-paste template, a filled example, and a simple way to turn follow-ups into dated tasks.
Copy this into a spreadsheet or document. Use the ID to keep related notes attached to the same request.
| ID | Client / project | Request or decision needed | Waiting on | Last contact | Agreed reply date | Next action | Follow-up date | Status |
|---|---|---|---|---|---|---|---|---|
| F-001 | [Client / project] | [Specific input needed] | [Person] | [Date] | [Date or not agreed] | [Your next action] | [Date] | [Status] |
| F-002 | [Client / project] | [Specific input needed] | [Person] | [Date] | [Date or not agreed] | [Your next action] | [Date] | [Status] |
| F-003 | [Client / project] | [Specific input needed] | [Person] | [Date] | [Date or not agreed] | [Your next action] | [Date] | [Status] |
Add a short note beneath a row, or in a separate notes column, when you need:
Keep those details brief. The tracker should help you return to the source conversation.
Agreed reply date is when the other person said they would respond.
Follow-up date is when you intend to check or act.
You can set a follow-up date yourself. You cannot turn it into a client commitment.
If nobody agreed to a reply date, write “not agreed.” That is more useful than presenting your preferred date as an overdue promise.
The following example is fictional. Dates illustrate how the tracker works.
| ID | Client / project | Request or decision needed | Waiting on | Last contact | Agreed reply date | Next action | Follow-up date | Status |
|---|---|---|---|---|---|---|---|---|
| F-001 | North Studio / website | Approve homepage draft | Maya | Oct 12 | Oct 16 | Check for approval; send a specific question if missing | Oct 16 | Waiting on client |
| F-002 | North Studio / website | Supply team photos | Maya | Oct 13 | Not agreed | Ask when approved photos will be ready | Oct 15 | Waiting on client |
| F-003 | Harbor Co / store | Provide collaborator access | Daniel | Oct 14 | Oct 15 | Verify access before starting configuration | Oct 15 | Waiting on client |
| F-004 | Cedar Consulting / report | Confirm which figures to use | Priya | Oct 14 | Not agreed | Send the two options with the effect of each | Oct 15 | Action needed from me |
| F-005 | Harbor Co / store | Confirm contact form recipient | Daniel | Oct 14 | Oct 15 | Update configuration and run a delivery test | Oct 15 | Ready for work |
Notice the difference between the final two rows.
For Cedar Consulting, the next useful move belongs to you. You need to make the question easier to answer.
For Harbor Co, the reply has already arrived. The request is ready for implementation, but the work is not finished yet.
“Client replied” and “request resolved” are different outcomes.
Write the exact thing that will move the work forward.
Weak: “Website feedback.”
Better: “Approve the homepage headline and section order.”
A broad request often produces a broad reply. A specific question gives both sides a clearer endpoint.
Name the person responsible for the next response.
If you do not know who can approve the work, your next action is to identify that person.
For a small team, add an internal owner column as well. “Waiting on Maya” does not explain who on your team should follow up.
Record the date of the latest meaningful message and keep a short note of what changed.
For example:
Oct 14: Maya requested a headline revision. Revised preview sent the same afternoon.
You do not need to copy an entire conversation into the tracker.
Start with a verb:
“Waiting” describes a condition. It does not tell you what to do when you review the row.
Choose a date based on the work, the agreed response window, and the effect of a delay.
A launch-blocking approval needs different attention from an optional testimonial request.
These labels are enough for most freelance and small-team workflows:
| Status | Meaning | What happens next |
|---|---|---|
| Action needed from me | You owe a message, clarification, or deliverable | Put the action on a working day |
| Waiting on client | A clear request has been sent | Review on the follow-up date |
| Waiting on third party | Another provider or stakeholder needs to act | Identify who will coordinate |
| Ready for work | The required answer or input has arrived | Schedule implementation |
| Closed | The request is resolved or explicitly cancelled | Keep a short outcome note |
Use a separate impact note for blocked work, such as “launch cannot proceed without approval.”
This avoids confusing two things: who owes the next action and how important the delay is.
You do not need to check every row throughout the day.
Review rows whose follow-up date has arrived.
For each one, choose an action:
If no action is useful yet, move the review date and record why.
Update the row while the conversation is fresh.
Record the answer, change the status, and schedule any resulting work.
If the reply only answers part of the question, keep the missing part visible. Split the request when separate answers will now move on different timelines.
Review every open row.
Look for requests with no next action, repeated unanswered messages, and work whose delivery assumptions have changed.
Sometimes the right move is a clearer question or a scheduling discussion.
Start with the response window you agreed.
If you asked for a decision by Friday, avoid treating Thursday as late. If there is no response window, set one in your next message.
For routine requests with no agreement, you might choose to review after two or three business days. Treat that as a starting point, not a universal rule.
Adjust for:
After repeated unanswered messages, explain what is blocked and ask whether timing or priorities have changed.
Increasing the number of reminders does not make an unclear request easier to answer.
Hi [Name],
Following up on [specific request] from [date].
Could you confirm [decision or input]? I need it before [next project step].
If [proposed date] is difficult, please let me know what timing works.
Hi [Name],
We are still waiting for [input] before we can complete [work].
The current delivery plan assumes we receive it by [date]. If it arrives later, I will need to review the remaining schedule and confirm a revised delivery date.
Could you let me know when to expect it?
Use this wording only when that scheduling assumption is accurate. Do not suggest a deadline was previously agreed if it was not.
Hi [Name],
Thanks for the update. I have enough information to proceed with [confirmed part].
One point is still open: [specific question].
Would you prefer [option A] or [option B]? The difference is [brief practical effect].
These messages make the requested response visible. They also give you a useful record of what remains unresolved.
The template provides an overview. A dated task gives you somewhere to act on it.
In SelfManager, you can organize work in date-based tables and keep related notes and comments with the tasks.
For example, on October 16:
Table: Client follow-ups
Record the result beside the task. If another step is needed, create it on the appropriate day.
The field labels in this article are a template you can use in notes or a separate tracker. They are not a claim that SelfManager has a dedicated CRM pipeline with these exact columns.
SelfManager fits when follow-ups belong alongside your other daily client work. A dedicated CRM may fit better if your main need is sales stages, automatic email logging, or outbound sequences.
Try SelfManager with this week’s active follow-ups: create a dated table, add the next actions, and keep the latest decisions in the comments.
SelfManager’s table AI can use task details and, when included, comments to help you review the work.
A useful prompt is:
Review these client follow-up tasks and included comments.
Separate:
Actions I owe.Requests waiting on a client.Replies that need implementation.Questions with no clear next step.
Use only the information recorded here. Flag missing dates rather than inventing them. Draft messages for me to review.
Verify drafts against the actual conversation before sending. Replies that only exist in your inbox need to be recorded or supplied as context.
Start with your active requests.
You can add historical records later if they serve a purpose. Your first goal is to make today’s open loops visible.
A useful row answers three questions:
Put those next actions on the days you intend to handle them in SelfManager, and keep a short outcome note after each conversation.
It is a record of open client requests, replies, responsible people, and next actions. It helps you see which conversations need attention and what is holding up the work.
Yes. Copy the table into your preferred spreadsheet or document and adapt the fields. Add filters if you want to review a particular client, status, or follow-up date.
A reply date is an agreed commitment from the person responding. A follow-up date is your own planned review or action date. Keep them separate so your reminder does not become an invented client deadline.
Only if the reply resolves it completely. If the answer requires implementation, move it to “Ready for work.” If information is still missing, record the remaining question and the next action.
The workflow described here uses SelfManager to plan actions, record context, and draft messages with AI. You review and send the message through your communication channel. This template does not depend on automatic email sending or inbox synchronization.

Plan smarter, execute faster, achieve more
Create tasks in seconds, generate AI-powered plans, and review progress with intelligent summaries. Perfect for individuals and teams who want to stay organized without complexity.
Get started with your preferred account