Round Robin Action
Round Robin Assignment rotates records across a pool of users and skips anyone who does not meet your availability conditions. It is based on HubSpot’s Rotate Owner, with availability checks built in.
It comes in two versions:
| Action | What it does |
|---|---|
| Round Robin Assignment (Action Outputs) | Chooses the next available user and returns them as an action output. A later workflow step, such as Edit record, assigns the owner. |
| Round Robin Assignment (Direct Update) | Chooses the next available user and writes them to an owner property on the enrolled record in the same step. Requires extra permissions. |
Both versions give each user an equal turn. For unequal shares, teams with capacity limits, routing rules or distribution reporting, use Advanced Routing.
Before you start
Section titled “Before you start”- Install Smart Lead & Ticket Routing in your HubSpot account.
- Make sure the people in the rotation keep their HubSpot status, working hours and out-of-office schedule up to date. See Where availability comes from.
- For the Direct Update version, enable Direct Update permissions first.
Set up the action
Section titled “Set up the action”- Add Round Robin Assignment (Action Outputs) or Round Robin Assignment (Direct Update) from Smart Lead & Ticket Routing to your workflow.
- Choose a Selection Mode and pick the users or teams in the rotation.
- Under Include user when user is…, select at least one availability condition, then set Property Match Logic.
- For Direct Update, choose the Property to Update.
- Choose a Fallback Behavior for when nobody qualifies. If you choose the selected-user fallback, pick the Static User ID.
- Save the action. For the Action Outputs version, add a later step that uses Assigned Owner ID.
Choose who is in the rotation
Section titled “Choose who is in the rotation”| Selection Mode | Fields | How the rotation is built |
|---|---|---|
| Select Users | Filter by Team, User Selection | The users you tick, in the order you select them. |
| Select Teams | Team Selection | Every active user on the selected teams. |
Filter by Team only narrows the list shown in User Selection. Choose All to see everyone. It does not add a whole team to the rotation.
User Selection order is the rotation order. Each user can appear once.
Team Selection accepts one or more teams. Membership is kept in sync automatically, roughly every minute:
- New team members join the end of the rotation.
- People who leave the team, or are deactivated, drop out of it.
- Everyone else keeps their place.
Changing the selected teams in the action rebuilds the rotation from the current members of those teams.
Choose who counts as available
Section titled “Choose who counts as available”Select one or more conditions under Include user when user is…:
| Condition | A user matches when… |
|---|---|
| Is Available | Their HubSpot status is Available, not Away. |
| Is NOT Available | Their HubSpot status is Away. |
| Is Out of Office | The current time falls inside one of their HubSpot out-of-office periods. |
| Is NOT Out of Office | The current time is outside all of their out-of-office periods. |
| Is in Working Hours | HubSpot reports that they are inside their working hours. |
| Is NOT in Working Hours | HubSpot reports that they are outside their working hours. |
Property Match Logic decides how several conditions combine:
| Property Match Logic | A user is included when… |
|---|---|
| OR (default) | They match any selected condition. |
| AND | They match every selected condition. |
For example, to route only to people who are Available, not on leave and inside their working hours, select Is Available, Is NOT Out of Office and Is in Working Hours with AND.
With OR, selecting Is Available and Is in Working Hours includes anyone who is either online or should be working. Selecting a condition and its opposite with OR, such as Is Available and Is NOT Available, includes everyone.
Where availability comes from
Section titled “Where availability comes from”The checks use information stored in HubSpot. To review it for a user:
- Open HubSpot Settings.
- Under Account Management, select Users & Teams.
- Select the user.
- In the top bar, select Edit Working Hours.
User Status at the top of the page is Available or Away. Users can also change it from the conversations inbox.
Working hours are set once and reused every week.
Out of office lists the user’s holidays and other leave. You can also manage it from a workflow with the Out of Office Actions.
How the rotation moves
Section titled “How the rotation moves”- Each run starts with the user after the last person assigned, checks users in rotation order, and picks the first one who qualifies. Users who don’t qualify are skipped for that record.
- Each workflow action keeps its own rotation. Two Round Robin actions with the same users do not share turns.
- The rotation only moves forward when a user is picked. A fallback outcome leaves it where it was. In the Direct Update version, a failed property update also leaves it where it was.
- Editing User Selection keeps the rotation’s position. The next record goes to the user after the last person assigned, or to the first user if that person was removed.
- The action does not count how many records each user has received. Skipped users do not get extra records to catch up.
Fallback behaviour
Section titled “Fallback behaviour”The fallback runs when nobody in the rotation meets your conditions, or the rotation is empty.
| Action Outputs | Direct Update | Result |
|---|---|---|
| Return Nothing | Skip Update | The action succeeds without an owner. User Returned is false. In Direct Update, the record is not changed. |
| Return Selected User | Update to Selected User | The Static User ID user is returned, or written to the property. |
| Fail Action | Fail Action | The action is marked as failed and the workflow continues to its next step. |
The Static User ID user is not checked against your availability conditions. Choose someone who should receive records even when they would not qualify for the rotation.
Direct Update version
Section titled “Direct Update version”Property to Update
Section titled “Property to Update”Property to Update lists the owner properties on the enrolled record’s object that the app can write to, such as Contact owner or Ticket owner. Hidden, calculated and read-only properties are not listed.
Existing values are overwritten. If you only want to assign unowned records, add an enrolment condition or branch that checks the owner property before this action runs.
If the list only shows Enable Additional Permissions in Settings to use this action, the permissions below have not been granted for that object yet.
Enable Direct Update permissions
Section titled “Enable Direct Update permissions”In the app’s Settings tab, find the Round Robin Direct Update tile and choose Connect Direct Update permissions. See Enable Direct Update permissions in the setup guide for the full steps, including accounts that use app approval.
Use the owner in a later step
Section titled “Use the owner in a later step”With the Action Outputs version, use Assigned Owner ID in a later step to commit the owner. For a Rotate Owner-style workflow, add an Edit record action after Round Robin Assignment:
-
In Property to edit, choose Contact owner.
-
In Choose a value, select Choose data token.
-
Under View properties or action outputs from:, select Action Outputs.
-
Find your Round Robin Assignment action and select Assigned Owner ID.
If your fallback can return nothing, branch on User Returned first so records without an owner follow their own path.
Action outputs
Section titled “Action outputs”| Output | Action Outputs | Direct Update | Meaning |
|---|---|---|---|
Assigned Owner ID (assigned_owner_id) | Yes | Yes | The HubSpot owner ID of the chosen user or fallback user. Empty when nobody was assigned. |
Assigned User Name (assigned_user_name) | Yes | Yes | The chosen user’s name. Shows Static User for the fallback user, or a short explanation when nobody was assigned. |
Skipped Users Count (skipped_users_count) | Yes | Yes | How many users were passed over before the chosen user. |
User Returned (user_returned) | Yes | Yes | True when an owner was chosen, including the fallback user. |
Property Updated (property_updated) | No | Yes | True when the owner property was written. |
Updated Property Name (updated_property_name) | No | Yes | The internal name of the property that was written. |
Monitor rotations
Section titled “Monitor rotations”Open Smart Lead & Ticket Routing’s app settings in HubSpot and select the Round Robin tab. It lists each workflow using a Round Robin action with its mode (User Mode or Team Mode), the current Assignment Queue, and who was Last Assigned. Use Refresh to load the latest state.
Example: assign new contacts directly
Section titled “Example: assign new contacts directly”Configure Round Robin Assignment (Direct Update) in a contact workflow with these settings:
| Setting | Value |
|---|---|
| Selection Mode | Select Teams |
| Team Selection | Inbound Sales |
| Include user when user is… | Is Available; Is NOT Out of Office; Is in Working Hours |
| Property Match Logic | AND |
| Property to Update | Contact owner |
| Fallback Behavior | Update to Selected User |
| Static User ID | Your sales manager |
Add an enrolment condition such as Contact owner is unknown so existing owners are not overwritten. New team members join the rotation automatically, and anyone away, on leave or outside their working hours is skipped.
Does the action change the record?
Section titled “Does the action change the record?”Round Robin Assignment (Action Outputs) does not. It returns the chosen owner so you can branch on it, check it, or pass it to a later action such as Edit record. This keeps the app’s permissions narrow: it doesn’t need write access to every object type in your account.
Round Robin Assignment (Direct Update) does. It writes the chosen owner to the property you select, so you don’t need a separate Edit record step. It needs the additional Direct Update permissions.
How is this different from HubSpot’s Rotate Owner?
Section titled “How is this different from HubSpot’s Rotate Owner?”- It skips users who don’t meet your availability conditions.
- It can rotate across whole teams and keep the rotation in sync as members change.
- The Action Outputs version returns an owner instead of writing it, so you control the assignment step.
- It does not track how many records each user has received. Use Advanced Routing for weighted shares and distribution reporting.
Troubleshooting
Section titled “Troubleshooting”The same person gets every record. Other users are failing your conditions. Check each user’s status, working hours and out-of-office periods in HubSpot, and whether Property Match Logic is set to AND.
Everyone is included, even people who are away. With OR, one matching condition is enough. Selecting a condition and its opposite includes everyone.
A new team member is not receiving records. Team membership syncs about once a minute and only includes active users. Check that they are on one of the selected teams and meet your conditions.
Property to Update only shows the permissions message. Enable Direct Update permissions, then reopen the action.
The Direct Update action failed. Check the workflow history for the error. Common causes are missing permissions for the record’s object type or a property that can no longer be written. The rotation does not move forward when the update fails.
Related guides
Section titled “Related guides”- Advanced Routing - weighted shares, teams, rules, capacity limits and reporting.
- Check Availability - check a person, team or record owner’s current status.
- Wait Until Available - pause until somebody qualifies.
- Out of Office Actions - add, clear or read a user’s out-of-office schedule.