Skip to content

Advanced Routing

Distribute records between reps using weighted routing profiles. Choose each rep’s target share, respect availability, and reuse the configuration across workflows.

Advanced Routing supports contact, company, deal and ticket workflows. It can return an owner for a later workflow step or directly overwrite an owner property on the enrolled record.

Use Advanced Routing when reps should receive different shares of incoming records, or when you want to manage routing settings centrally and monitor assignment results.

A profile contains individual users, relative weights, availability checks and a default fallback. Multiple workflow actions can use the same profile, but each action maintains its own assignment balance. Assignments in one action do not count towards another action’s distribution.

For a simple rotation, see Round Robin. To pause a workflow until someone becomes available, use Wait Until Available. Advanced Routing chooses an owner when it runs; it does not wait for an unavailable rep.

  • Install Smart Lead & Ticket Routing in your HubSpot account.
  • Choose the individual users who should receive records.
  • Check their HubSpot Available/Away status, out-of-office settings and working hours if you plan to use availability checks.
  • For direct updates, enable Direct Update permissions in the app’s Settings. The selected property must be writable and accept HubSpot owners.

Open the installed app’s Settings, select Advanced Routing, then choose Create profile on the Profiles tab.

Give the profile a name you will recognise in your workflows, such as Inbound sales, and select its users. Enter a whole-number weight from 1 to 10000 for each user. The app calculates target percentages automatically.

Weights are relative: they do not need to total 100. For example:

RepWeightTarget share
Alex350%
Sam2About 33%
Taylor1About 17%

With a stable, available pool, this aims for three assignments to Alex, two to Sam and one to Taylor per six weighted assignments. These are shares over time, not daily quotas or limits on open records.

Current profile editor showing two users with weights of 2 and 1 and target shares of 66.7% and 33.3%.

The screenshot shows a separate two-user example: weights of 2:1 produce target shares of approximately 67% and 33%.

Choose Continue to save the draft and move to availability. Saving a draft does not publish it.

Choose which conditions users must meet:

  • Are marked available: the user is Available rather than Away in HubSpot.
  • Are not out of office: the user is not currently out of office.
  • Are within working hours: the user is within their configured working hours.

All three are enabled by default for a new profile. All enabled checks must pass. If a required availability signal is missing, the user is skipped. Disabling all checks removes those availability restrictions.

Choose what happens When nobody qualifies:

FallbackResult
Return no ownerComplete without an owner. Handle this outcome in a workflow branch.
Select a fallback ownerUse a fixed user who has a valid owner ID and is still active.
Fail the actionReport a failed routing outcome for investigation.

A fixed fallback bypasses availability checks. Choose someone who should receive records even when they would not qualify for the weighted pool. Fallback assignments do not consume weighted turns.

Availability step showing the three checks, fallback selector and catch-up help.

This existing example profile has its checks disabled. New profiles start with all three enabled.

Choose Continue to save availability settings and open Review & publish. Review the people, weights, checks, fallback and affected workflows, then publish explicitly.

If the linked-workflow check cannot complete, retry review before publishing. There is no simulation or test step in the profile wizard.

Review and publish step listing the profile configuration and affected workflow.

In a contact, company, deal or ticket workflow, add Advanced Routing and configure:

FieldWhat to choose
Routing profileThe published profile to use.
Assignment modeReturn owner as action output, or directly overwrite owner property.
Owner property to overwriteIn direct-update mode, the owner property on the enrolled record.
Fallback overrideUse the profile fallback, return no owner, select a fixed fallback owner, or fail the action.
Fixed fallback userThe active user to use when the override selects a fixed fallback.

Leave the fallback override unset, or choose Use profile fallback, to inherit the profile’s fallback.

Advanced Routing workflow action configured to return an owner from a published profile, with an optional fallback override.

This mode selects an owner without changing the record. Use the returned owner in a later workflow step.

Example contact workflow:

  1. Enrol contacts that need assignment.
  2. Add Advanced Routing, select your published profile and choose Return owner as action output.
  3. Branch on Owner returned successfully being true.
  4. On the successful branch, add Edit record, select Contact owner, and use the Advanced Routing Selected owner ID output as its value.
  5. On the other branch, handle the unassigned record according to your process.

Use assigned_owner_id for the assignment step. The separate selected_owner_id output can also exist after a failed direct update, so it is not proof of success.

Choose this mode to select the owner and update the record in the same action. Select the Owner property to overwrite and make sure Direct Update permissions are enabled.

Existing owner values are overwritten. If you only want to assign unowned records, add an enrolment condition or branch that checks the owner property before Advanced Routing runs.

Use Owner property updated to confirm the update succeeded. A selected owner alone does not confirm that the record changed.

Unavailable users are skipped, but keep earning their share of assignment credit as successful weighted turns occur. When they return, they can receive consecutive records while the distribution catches up.

For example, a rep who is out of office may receive several assignments in succession after returning. This is expected catch-up behaviour. Weights do not impose a daily cap or a limit based on current workload.

  • Each workflow action has its own balance, even when several actions share a profile.
  • Switching profiles starts or resumes that profile’s separate balance for the action.
  • Weight changes affect future shares while preserving existing assignment credit.
  • Newly added users do not receive historical credit for assignments before they joined.
  • Fixed fallbacks, no-owner outcomes and failed writes do not consume weighted turns.

Open a profile to edit it. The published version remains live while you save draft changes. Review affected workflows before publishing: new executions automatically use the newly published version. Existing in-flight executions and retries keep their original version and selection.

Use the profile’s More menu to archive it. Archiving removes it from new profile selections; existing linked actions continue using its last published version. Archiving is not a way to stop an existing workflow. Archived profiles are hidden by default; enable Show archived profiles to find them.

Open Advanced Routing > Distribution to compare target and actual assignment shares. Filter by Profile, Workflow and Routing action, then select Today, Last 7 days, Last 30 days or All time.

Filters apply automatically. Changing the profile clears workflow and action selections; changing the workflow clears the action. Clear filters retains the selected profile. Refresh updates the results and last-updated time.

All time is the default. Today starts at midnight in your browser’s local timezone; the seven-day and 30-day options are rolling windows based on execution start time.

The report includes all matching executions, not just one page of Activity. Targets reflect the weights used for the counted executions, including earlier published versions. Fixed fallbacks are excluded from weighted percentages. Returned owners, confirmed direct updates and pending reservations are reported separately: returning an owner does not prove a later Edit record step succeeded.

Distribution filters and target-versus-actual table after one returned owner in the example profile.

This example contains only one returned owner, so actual shares differ from the targets. Use a larger sample when assessing distribution.

Open Advanced Routing > Activity to filter execution history by profile, workflow/action, record, object type or outcome. Expand an execution to inspect its selection, candidate reasons and update result.

Pending direct updates can be retried from Activity. A manual retry repairs the saved assignment; it does not independently advance a stopped HubSpot workflow. Output-mode retries must originate in HubSpot so the workflow receives the action outputs. Pending executions are not automatically replayed by a background worker if HubSpot stops retrying.

OutputMeaning
assigned_owner_idSelected owner ID returned on a successful output or direct update. Use this in a later owner assignment step.
selected_owner_idSelected owner ID, including when the subsequent direct update failed.
assigned_user_nameName of the selected user, when available.
user_returnedTrue when the owner was successfully returned or the direct update succeeded.
property_updatedTrue only when the direct owner-property update succeeded.
fallback_usedWhether the action used its fallback.
profile_versionEffective profile version used for this execution.
execution_idIdentifier for finding the execution in history.
reasonRouting outcome or error reason.

An owner ID may be absent when no owner was selected. Branch on the success outputs before using an owner value.

ProblemWhat to check
Profile is missing from the workflow pickerPublish it first and check that it is not archived.
Publish is unavailableComplete the profile fields and retry the affected-workflow review if it failed.
A user is always skippedCheck each enabled availability condition and inspect their candidate reasons in Activity. Missing required signals also cause a skip.
A returning user receives several records in a rowThis can be catch-up for credit retained while unavailable.
Actual shares differ from targetsCheck availability, date range, profile versions and pending outcomes. Small samples can differ from long-term targets.
An unavailable fallback receives a recordFixed fallbacks deliberately bypass availability checks.
An owner was selected but the property did not changeIn output mode, check the later assignment step. In direct-update mode, check permissions, property compatibility and the update result in Activity.
A manual retry succeeded but the workflow is still stoppedThe retry repairs the assignment only. Check the workflow’s status in HubSpot separately.