Batching for freelancers with multiple clients: a practical guide to group tasks without losing context
Learn how to apply batching for freelancers with multiple clients using Foco: time blocks, tags, automations with Plus Connections, and real examples to avoid context switching.
Batching for freelancers with multiple clients isn’t just another productivity hack—it’s a lifeline when you’re juggling deadlines, meetings, and deliverables across different projects. The core idea—grouping similar tasks to reduce the mental cost of context switching—clashes with the reality of working with multiple clients: each has their own tools, deadlines, and priorities. In this guide, we’ll walk you through how to implement batching in Foco, leveraging its features to stay in control without missing details. You’ll see concrete examples of tags, time blocks, and automations with Plus Connections, and why this method outperforms alternatives like spreadsheets or generic note-taking apps.
Why traditional batching fails with multiple clients (and how to adapt it)
Classic batching suggests grouping tasks by type (e.g., answering emails, invoicing, designing) or energy level (creative tasks in the morning, administrative ones in the afternoon). But when you work with multiple clients, this approach falls short: grouping by type isn’t enough because each client has their own workflow, deadlines, and tools. For example, if you batch "code reviews" without distinguishing between a client who uses GitHub and another who uses Jira, you’ll end up jumping between platforms and losing focus.
The solution is context-based batching, where each group of tasks includes only what’s related to a specific project or client. This minimizes tool-switching and keeps you focused. Foco is built for this: each work (task container) has a unique name and color, and you can view all your tasks in Panorama mode (with each client’s color) or filter to see only one work in Focus mode. This lets you apply batching without mixing contexts.
Real example: how to structure your works in Foco
- Create a work for each client or project (e.g., "Client A - Web", "Client B - Mobile App"). Assign a distinct color (e.g., blue for Client A, green for Client B).
- If a client has subprojects, use tags to differentiate them (e.g., #frontend, #backend, #design). Tags are unlimited and have their own color.
- For personal or administrative tasks (e.g., invoicing, internal meetings), create a work called "Operations" or "Personal" with a neutral color (gray).
- Use Focus mode to concentrate on one work: when you enter it, the dashboard shows only that client’s tasks, eliminating distractions.
Effective batching for multiple clients isn’t about grouping similar tasks, but about grouping tasks that share the same context: tools, deadlines, and priorities.
Step-by-step: how to implement batching in Foco with time blocks
1. Define your time blocks by context
Time-blocking is key to batching. In Foco, use the completion date for each task to assign it a time block in your calendar. This date includes the start time and duration, and it automatically appears in the Calendar view (available in Foco and Plus plans). For example:
- Block 1 (mornings): Development tasks for Client A (GitHub). Example: "Review PR #45" with a completion date at 9:00 AM and a 2-hour duration.
- Block 2 (afternoons): Design tasks for Client B (Figma). Example: "Create homepage wireframes" with a completion date at 2:00 PM and a 3-hour duration.
- Block 3 (end of day): Administrative tasks (e.g., "Invoice Client A" in the "Operations" work).
To avoid overlaps, use the Calendar view in week mode: you’ll see your time blocks alongside events from Google Calendar or Outlook (if you sync them). If a block runs long, drag the task in the desktop calendar to adjust its duration.
2. Use tags to group tasks within the same block
Tags let you refine batching within a single work. For example, in the "Client A - Web" work, you could create tags like:
- #bug (red): For critical errors that need immediate attention.
- #improvement (yellow): For non-urgent optimizations.
- #meeting (blue): For tasks related to calls or follow-ups.
- #documentation (green): For updating manuals or code comments.
In the List view, group tasks by tag to see all tasks of one type together. For example, if you have a block for "fixing bugs" today, filter by the #bug tag and work only on those tasks. This reduces the friction of deciding what to do next.
3. Automate task capture with Plus Connections
If you use tools like GitHub, Jira, or Asana to manage client tasks, Plus Connections (available in the Plus plan) saves you the hassle of manually copying each task. Here’s how it works:
- Connect Foco to your tools via OAuth (no data migration needed). For example, link your GitHub account so Foco automatically imports issues assigned to you.
- Choose a destination work for each connection: Automatic (AI decides based on content) or a fixed work (e.g., "Client A - Web").
- Enable the "complete in source too" option so that when you mark a task as done in Foco, it’s automatically closed in GitHub, Jira, etc.
- Imported tasks include a link to the original item, the due date (if it has one), and are assigned to the correct work with its color.
Example: If a client assigns you an issue in GitHub, Foco creates a task in the "Client A - Web" work with the #bug tag (if the title includes "bug"). This saves you time copying information and lets you apply batching from the start. Learn more in How to Unify Tasks from Multiple Apps in One Place Without Migrating Data.
4. Capture tasks via email and voice to avoid breaking your flow
Batching breaks when you have to stop to jot down a new task. Foco offers two ways to capture tasks without leaving your flow:
- Email capture (Plus plan only): Each user has a unique email address (e.g., u-xxxx@in.heyfoco.com). Forward a client email to that address, and Foco automatically extracts a task with the subject as the title, the body as a note, and the email attached. Example: If a client emails "Need logo adjustments by Friday," Foco creates a task with a Friday due date and the email as a reference.
- Voice capture: Dictate a task, and Foco transcribes it, detecting dates, times, priorities, and recurrences. For example: "Meeting with Client B on Thursday at 10:00 AM, 1 hour, urgent priority, #meeting tag." The task is created with those details and the audio attached. In the Plus plan, the Burst feature lets you dictate multiple tasks in a row and review them before saving.
Batching vs. alternatives: why Foco wins for freelancers with multiple clients
The typical alternative for managing multiple clients is a mix of tools: a spreadsheet for deadlines, a note-taking app for ideas, and the clients’ own platforms (GitHub, Jira, etc.). This has three major problems:
- Context loss: Jumping between tools fragments information. For example, if a client assigns you a task in Jira but you note it in a spreadsheet, you lose the link to the original issue and the comment history.
- Double work: Manually copying tasks from one tool to another wastes time and increases the risk of errors (e.g., missing a deadline).
- Lack of global visibility: In a spreadsheet, you can’t see your tasks alongside calendar events, nor can you filter by priority or client intuitively.
Foco solves these problems with:
- One place for everything: Tasks from all your clients live in one dashboard, each with its work’s color. In Panorama mode, you see everything at once; in Focus mode, you filter by client.
- Automation of repetitive tasks: With Plus Connections, tasks from GitHub, Jira, etc., are imported automatically, and completing them in Foco closes them in the source. With email capture, you avoid manually copying information.
- Integrated time blocks: The Calendar view shows your tasks alongside events from Google Calendar or Outlook, preventing overlaps. You can drag tasks to adjust their duration, something impossible in a spreadsheet.
- Advanced tags and filters: Group tasks by client, type, priority, or due date with one click. For example, filter by "urgent tasks for Client A" or "meetings this week."
If you already use a system like Time Blocking for Multiple Clients, batching in Foco complements it: while time-blocking helps you decide when to do tasks, batching helps you plan what to group together.
Practical example: a day of batching in Foco
Imagine you’re a freelance developer with two clients: one uses GitHub, and the other uses Jira. Here’s how you’d apply batching in Foco:
- 8:00 - 10:00 AM: Development block for Client A (GitHub). In Focus mode, filter by the "Client A - Web" work and the #bug tag. Work on tasks automatically imported from GitHub, without leaving Foco.
- 10:00 - 10:30 AM: Email review. Use email capture to turn important emails into tasks (e.g., "Adjust logo by Friday").
- 10:30 AM - 12:30 PM: Design block for Client B (Figma). In Focus mode, filter by the "Client B - Mobile App" work and the #design tag. Tasks include links to Jira issues, imported via Plus Connections.
- 12:30 - 1:30 PM: Meeting with Client B. Use Listen mode to record the call and transcribe it. The transcription is saved as a note in the "Weekly meeting Client B" task.
- 2:00 - 3:00 PM: Administrative block. In the "Operations" work, review tasks with the #invoicing and #follow-up tags. Use the Kanban view to move them between columns (e.g., "To do," "Sent," "Paid").
- 3:00 - 4:00 PM: Documentation block. Filter by the #documentation tag across all your works and update manuals for both clients.
At the end of the day, the daily briefing (Plus plan only) summarizes what you accomplished, what’s due tomorrow, and what’s pending. This way, you start the next day with clarity.
Conclusion: batching without losing control
Batching for freelancers with multiple clients isn’t just a productivity technique—it’s a system for staying in control when managing multiple workflows. The key is grouping tasks by context (client, tool, priority) and using tools that reduce friction, like Foco. With features like color-coded works, time blocks in the calendar, customizable tags, and automations with Plus Connections, you can implement batching without losing details or jumping between platforms.
If you want to dive deeper into organizing tasks by type, check out How to Group Tasks by Work Type in Foco: Step-by-Step System to Avoid Context Switching.
FAQ
How do I avoid missing client deadlines with batching?
Use the due date in Foco for each task and filter by it in the List view. This shows you what’s due today or this week, regardless of the client. You can also sync your calendar to see events and tasks in one place.
Can I use batching if my clients use different tools (e.g., GitHub and Jira)?
Yes. With Plus Connections, Foco automatically imports tasks from GitHub, Jira, and other tools, assigning them to the correct work. This lets you work from one dashboard without losing the link to the original item.
How do I handle urgent tasks that don’t fit my time blocks?
Use the priority setting in Foco (urgent, important, normal) and the List view to group tasks by priority. If an urgent task pops up outside your planned block, adjust its completion date in the calendar to fit it in without overlaps.
Does batching work for creative tasks or just repetitive ones?
It works for both. For creative tasks, group by type (e.g., design, writing) and assign long time blocks (2-3 hours). For repetitive tasks (e.g., invoicing), use recurrence in Foco to create them automatically.
How do I combine batching with the 2-minute rule?
Use batching to plan long time blocks (e.g., 2 hours for development) and the 2-minute rule for quick tasks that come up between blocks. In Foco, you can create a "Microtasks" section in the List view to group them.
Try Foco
Every task from every job in one place. Free to start.



