Skip to content

Workload Balancing

ClickUp users have long requested a native feature for round-robin task assignment that also considers workload. The idea is simple: when a new task comes in, automatically assign it to team members in rotation, but prioritize those with fewer tasks currently on their plate.

ClickUp Feature Request

This guide shows you how to build this solution using EnforcedFlow’s Advanced Round Robin feature integrated with Zapier to create two automations:

  1. Automation 1 (Task Assignment): When a new task is created in ClickUp, it automatically assigns the task to the next available agent based on their current workload priority.

  2. Automation 2 (Workload Tracking): Runs on a schedule (e.g., every hour) to count each agent’s in-progress tasks and update their priority weights accordingly. Agents with fewer tasks get higher priority for new assignments.


Before you begin, ensure you have:

  1. An account with EnforcedFlow (Sign up here)
  2. Zapier account
  3. EnforcedFlow and ClickUp connected to your Zapier account (you can do this when setting up the automation)

Ensure you have a Zapier account with your ClickUp workspace connected. You’ll need this connection for both automations.


After signing up, you’ll land on the EnforcedFlow dashboard where you can configure your round-robin group.

  1. Navigate to the Advanced Round Robin section in your dashboard
  2. Click to create a new group
  3. Give your group a descriptive name (e.g., “ClickUpTaskAssignmentDemo”)

Create Group

You need to add a field to store each agent’s ClickUp User ID. This allows EnforcedFlow to identify which ClickUp user corresponds to each agent.

  1. In your group, under the Settings tab, find the Agent’s Information Fields section
  2. In the Add New Field input, type clickup_user_id
  3. Click Add

Adding Agent Information Field

Once added, you’ll see the field listed under Agent’s Information Fields.

Agent Information Field Added

Now switch to the Fields tab to add a weight field for workload tracking.

Fields Tab

  1. Click Create First Field
  2. Select Weight as the Field Type
  3. Set Display Label to In Progress Tasks
  4. Select De-prioritize as the Weight Mode
  5. Click Save

Understanding Weight Modes: Weight fields control agent prioritization. Prioritize means higher values receive more assignments (useful for seniority). De-prioritize means higher values receive fewer assignments (ideal for workload balancing). With De-prioritize, agents with more in-progress tasks will be deprioritized, and agents with fewer tasks will receive new assignments first.

Weight Field Configuration

Switch to the Agents tab to add your team members. Click Add Agent to open the agent form.

Agents Tab

Before adding agents, you’ll need each team member’s ClickUp User ID. To get it:

  1. Log into ClickUp
  2. Click Teams in the left sidebar
  3. Select All People to see all workspace members

ClickUp Teams Page

  1. Click the more options (three dots) on a team member’s card
  2. Select Copy member ID

Copy Member ID

For each team member, fill in the Add New Agent form:

  1. Enter the Agent Name (e.g., “Sarah”)
  2. Paste the Clickup User Id you copied
  3. Set the In Progress Tasks weight value to 1 (starting value)
  4. Click Add Agent

Repeat for all agents in your team.

Add New Agent Form

Once done, you’ll see all agents listed.

Agents List


Part 2: Automation 1 - Assign Tasks on Creation

Section titled “Part 2: Automation 1 - Assign Tasks on Creation”

This automation triggers when a new task is created in ClickUp and assigns it to the next available agent.

We recommend creating a folder in Zapier to organize both automations.

Zapier Folder

The completed automation flow looks like this:

Automation 1 Flow

  1. Create a new Zap in Zapier
  2. Select ClickUp as the app
  3. Choose New Task as the trigger event
  4. Connect your ClickUp account
  5. Click Continue

ClickUp Trigger Setup

  1. Select your Workspace
  2. Optionally select a Space to limit the scope (leave empty to track all tasks)
  3. Set Include Subtasks to True if needed
  4. Click Continue

ClickUp Trigger Configure

  1. Click Find new records to pull recent tasks from ClickUp
  2. Select a test task from the list
  3. Click Continue with selected record

ClickUp Trigger Test

Click the + button to add a new step.

Add Step

  1. Search for EnforcedFlow
  2. Select EnforcedFlow from the results

Search EnforcedFlow

  1. Select Get Next Agent (Advanced Round Robin) as the action
  2. Connect your EnforcedFlow account
  3. Click Continue

Select Action

  1. Click on Round Robin Group dropdown
  2. Select your group from the list

Select Group

Click Test step to retrieve agent data. This is required for the next step to work properly.

Test EnforcedFlow

Add another step and configure it:

  1. Select ClickUp as the app
  2. Choose Update Task as the action
  3. Connect your ClickUp account
  4. Click Continue

Note: Zapier may show a warning about potential loops. This is safe to ignore as long as your trigger is “New Task” and you’re using “Update Task” (not “Create Task”).

Update Task Setup

  1. Select your Workspace
  2. For the Task field, click to switch to Custom mode

Update Task Configure

  1. Expand 1. New Task in ClickUp from Previous Steps
  2. Select Task Id to map the task from the trigger

Map Task ID

The Task field should now show the mapped Task Id.

  1. Scroll down to Add Assignee and select the Clickup User Id from the EnforcedFlow step

Task ID Selected

  1. Test the step to verify it works
  2. Click Publish to activate the automation

Publish


Part 3: Automation 2 - Update Agent Workloads

Section titled “Part 3: Automation 2 - Update Agent Workloads”

This automation runs periodically to count each agent’s tasks and update their weights, ensuring the round-robin stays balanced based on actual workload.

Automation 2 Overview

  1. Create a new Zap
  2. Select Schedule by Zapier as the trigger app
  3. Choose Every Hour as the trigger event (adjust frequency as needed)
  4. Configure and continue

Schedule Trigger

Step 2: Find Agents in the Round Robin Group

Section titled “Step 2: Find Agents in the Round Robin Group”
  1. Add an EnforcedFlow action
  2. Select Find Agents in Round Robin Group
  3. Connect your account and select your group

Find Agents Config

  1. Click Continue to proceed to the Test tab
  2. Click Test step to retrieve the list of agents

Find Agents

This step returns all agents configured in your group (e.g., 3 agents with their ClickUp User IDs).

The Data out tab shows the agent details including their IDs and names.

Find Agents Test Results

Step 3: Create a Loop to Process Each Agent

Section titled “Step 3: Create a Loop to Process Each Agent”

Since we need to check each agent’s task count individually, we’ll use Zapier’s Loop feature.

  1. Add a Looping by Zapier action
  2. Select Create Loop From Line Items
  3. Click Continue

Loop Add

  1. For the field, name it Assignee
  2. Click in the value field and use the / key to insert dynamic data
  3. Select Agents Meta Clickup User Id from the EnforcedFlow step

Loop Setup

  1. Click Test step to confirm the loop iterates through each agent

The Data out tab shows the Preview Loop Values with the Assignee (ClickUp User ID) for each iteration.

Loop Test Results

Inside the loop, add a ClickUp action to find tasks for the current agent.

  1. Add a ClickUp action
  2. Select Find Tasks (List All)
  3. Select your Workspace

Find Tasks

Filter for active tasks only (tasks that represent actual workload):

  1. Under Task Status, select statuses like:
    • To Do
    • In Progress
    • Shortlisted
    • (Exclude “Completed”)

Task Status Configuration

  1. Under Task Assignee, switch to Custom and select the Assignee from the Loop step

Task Assignee Configuration

  1. Set Successful if no search results are found? to True - this is important so the automation continues even when an agent has no tasks assigned

Find Tasks Configuration

  1. Click Test step to verify the configuration

The Data out tab shows the Tasks list with Task IDs for the current agent.

Find Tasks Test Results

The ClickUp step returns a list of tasks, but EnforcedFlow needs a number. Use Zapier’s Code step to count the tasks.

  1. Click the + button to add a new step
  2. Search for Code in the app picker
  3. Select Code from the results

Search for Code

  1. Select Run Javascript as the action event
  2. Click Continue

Code by Zapier Setup

  1. In the Configure tab, you’ll see the Input Data section and Code editor
  2. Click the expand button to open the full Code Editor

Code Configure

  1. In the Input Data section:
    • Name: tasks
    • Value: Click / to insert data
  2. Expand 4. Find a List of All Tasks in ClickUp
  3. Select Tasks ID (Zapier will join multiple IDs with commas)

Code Input Data

In the Code Editor, enter the following code:

Code Editor

const taskList = inputData.tasks;
const count = inputData.tasks?.split(',').filter(Boolean).length ?? 0;
return { count };

This code:

  • Takes the comma-separated list of task IDs
  • Splits it into an array
  • Returns the count (or 0 if no tasks)
  1. Click Run Code to test
  2. Verify the Output Data shows the correct Count
  3. Click Continue

Code Test Results

Step 6: Update the Agent’s Weight in EnforcedFlow

Section titled “Step 6: Update the Agent’s Weight in EnforcedFlow”

Finally, update the agent’s weight with their task count.

  1. Add an EnforcedFlow action
  2. Select Add/Update Agent (Advanced Round Robin)
  3. Connect your account
  4. Click Continue

Update Agent Setup

  1. Select your Round Robin Group
  2. For Clickup User Id, select the Assignee from the Loop step
  3. For In Progress Tasks, click / to insert data from previous steps
  4. Select the Count from the Code step

Update Agent Config

Test the full workflow and click Publish to activate it.


Once both automations are published:

  1. Create a new task in your monitored ClickUp space
  2. Wait a few seconds for Zapier to process
  3. Verify the task was automatically assigned to an agent
  4. Check the EnforcedFlow dashboard to see current agent weights

The agent with the fewest in-progress tasks should receive the assignment. After the hourly update runs, weights will adjust based on actual workload.


EnforcedFlow supports working hours configuration for each agent. When enabled, agents outside their working hours will be skipped during assignment.

To configure:

  1. Go to your group in EnforcedFlow
  2. Edit an agent
  3. Set their Working Days and Working Times
  4. Save the configuration

This is useful for teams across different time zones or with varying schedules.


You’ve now set up a complete workload-balanced round-robin assignment system for ClickUp:

ComponentPurpose
EnforcedFlow GroupStores agents, their ClickUp IDs, and workload weights
Automation 1Assigns new tasks to the agent with lowest workload
Automation 2Updates workload weights hourly based on actual task counts

Key Benefits:

  • Tasks are distributed fairly based on current workload
  • No manual assignment needed
  • Workload weights update automatically
  • Optional working hours support

If you’re using Make or n8n instead of Zapier, you’ll need to make direct API calls to EnforcedFlow. Below are the request formats you can use as templates.

Need help? Our support team can help you set up the automation for Make or n8n. Contact us at [email protected]

Get the next available agent based on workload weights (used for task assignment).

For Make: POST

v1/advanced-round-robin/{groupId}/next-agent

For n8n: POST

https://app.enforcedflow.com/api/v1/advanced-round-robin/{groupId}/next-agent

Request Body:

{}

Note: The request body is empty for basic usage. If your group uses multi-select criteria fields, include them in the request body. Refer to the API documentation for multi-select field configuration.

Retrieve all agents in your round-robin group.

For Make: GET

v1/advanced-round-robin/{groupId}/agents

For n8n: GET

https://app.enforcedflow.com/api/v1/advanced-round-robin/{groupId}/agents

Note: Replace {groupId} with your group ID. You can find this in EnforcedFlow under your group listing - look for “ID” under the group title.

Update an agent’s workload weight after counting their tasks.

For Make: PUT

v1/advanced-round-robin/{groupId}/agents

For n8n: PUT

https://app.enforcedflow.com/api/v1/advanced-round-robin/{groupId}/agents

Request Body:

{
"filter": {
"meta": {
"clickup_user_id": "100925837"
}
},
"data": {
"fields": {
"in_progress_tasks": 5
}
}
}

Important: The field names clickup_user_id and in_progress_tasks must match what you configured in your EnforcedFlow group. Update the groupId in the URL to match your group.


For questions or support, visit the EnforcedFlow documentation or contact support.