How to Run a Client Meeting That Does Not Waste Everyone's Time
by Eric Hanson, Backend Developer at Clean Systems Consulting
Most meetings fail before they start because no one was clear about what needed to be decided. Structure is the difference between a meeting that moves things forward and one that produces another meeting.
The Meeting That Did Not Need to Happen
The most common type of bad meeting is one that should have been an email, a Slack message, or a brief async update. It was called because someone was uncertain, or felt like they needed face time, or defaulted to scheduling a call without thinking through whether the synchronous time was necessary.
Remote contractors who are thoughtful about meetings protect two things: their own time, and the time of clients who have more meetings than they need already.
Before scheduling any meeting, the question worth asking: "Is the value of this conversation better delivered synchronously, or can I accomplish the same thing asynchronously?" If the answer is async, send the message. If you genuinely need back-and-forth, real-time input, or a decision that requires discussion — then the meeting is justified.
The Single Most Important Thing Before Any Meeting
Know what needs to be decided or completed by the end of it.
Not "discuss the integration" — that is a topic. A decision sounds like: "By the end of this call, we need to agree on whether we are building authentication ourselves or using Auth0, and who is responsible for procurement if we go the Auth0 route."
That single sentence changes the entire meeting. It gives every attendee a frame. It makes it clear when you are done. It prevents the meeting from becoming a general conversation that could go anywhere.
A meeting without a stated outcome is a conversation without a purpose. Both parties leave wondering what they accomplished.
Sending an Agenda — Even a Short One
A brief agenda sent before the meeting does several useful things:
- It forces you to clarify what the meeting is actually for.
- It gives attendees the chance to prepare, which makes the conversation faster.
- It signals that you are organized and respect their time.
The agenda does not need to be formal. Three bullet points in a calendar invite is enough:
- Quick status check on the integration
- Decision: authentication approach (options attached)
- Any blockers or questions from client side?
That is a meeting that everyone can prepare for and one that will take 20 minutes instead of 60.
During the Meeting: Who Should Talk
In a client meeting, the contractor's job is to move toward a decision or a clear next step — not to fill the time with demonstrations of effort.
That means:
- Asking direct questions and waiting for real answers.
- Not interrupting to add more context when the client is thinking.
- Summarizing what has been decided so far and confirming it is correct.
- Being explicit when you need input: "I need your call on this before I can proceed."
The meeting is not a performance. It is a decision-making session, and the contractor who facilitates it efficiently earns respect.
Closing Every Meeting the Same Way
The last two minutes of any effective meeting should do three things:
- Confirm the decisions made. "So we've agreed to use Auth0, and you'll get me the procurement process by Wednesday."
- Identify who does what next. Action items with owners and timelines.
- Confirm the next meeting or check-in point (if needed — sometimes the next touchpoint is a status update, not a meeting).
Follow up with a written summary within a few hours. Not a lengthy minutes document — just a brief email or Slack message that captures the decisions and next steps. This creates a record both parties can refer to.
The written summary prevents 80% of the "that's not what we agreed" conversations. It is worth every minute it takes to write.
A good meeting has a purpose, makes decisions, and ends. Everything else is a status update that should have been an email.