Skip to content
English
  • There are no suggestions because the search field is empty.

Attribute-Based Routing

Attribute-based routing compares a value on the HubSpot record against values you have assigned to your team members, and routes to a member who matches.

Who this is for

This guide is for RevOps admins and sales leaders who need records routed to reps by a matching characteristic, such as language, territory, product specialty, or certification.

Setup has three parts: create the attribute, assign values to members, then point the workflow action at the record property.

Step 1: Create the attribute

Go to Settings, then Manage Attributes, and add an attribute with:

  • Label — what people see in Distributely
  • Internal Name — letters, numbers, and underscores only
  • Attribute Type — one of Text Input, Dropdown Select, Multiple Select, or Radio Button (Yes/No).

Dropdown Select and Multiple Select require you to add options, each with a value and a label. Use the value that will actually appear on the HubSpot record, for example CA with the label California.

Step 2: Assign values to each member

Go to Team Agents, find the person, and choose Attributes. On the Agent Attributes screen, the Assign Attribute Values section lists every attribute in your portal. Fill in the ones that apply and choose Save Changes.

Two things worth knowing:

  • A member can hold multiple values for one attribute. Values are stored comma-separated, which Multiple Select does for you. A rep with NY,VT,TX matches a record in any of those three states.
  • Matching is case-insensitive. A member value of spanish matches a record value of Spanish.
Step 3: Configure the workflow action

On the Distributely custom action in your HubSpot workflow:

  1. Set Owner Selection Logic to Attribute-based Round Robin (Team) 
  2. In the Attribute for owner selection field, enter the internal name of the HubSpot property that holds the value to match on, for example hs_language or state.

That field takes the HubSpot property's internal name, not the Distributely attribute label. Distributely reads that property off the record and compares its value to your members' attribute values.

Attribute-based Round Robin (Team) narrows the pool. Only members whose attribute matches the record's value are considered. Distributely walks your teams in Team Order, and in the first team with a matching available member, it round robins among just those matching members. (Team) runs a separate rotation inside each matching subgroup, so a Spanish-speaking rep's position is only affected by other Spanish-speaking reps.

Worked example: routing by state

You create an attribute with Label Territory, Internal Name territory, and type Multiple Select, with options CA, TX, NY, and VT.

You assign values:

  • Dana: CA
  • Miguel: TX,NY
  • Priya: NY,VT

On the workflow action you set Owner Selection Logic to Attribute-based Round Robin (Team) and enter state in Attribute for owner selection.

A contact comes in with state set to NY. Dana is excluded. Miguel and Priya are both eligible, and the rotation picks whichever of the two is next in line. A contact with state set to TX goes to Miguel every time, because he is the only match.

When nothing matches
  • If the record's property is empty, or no member in any team matches the value, the team's Fallback Behavior decides what happens next
  • If the Attribute for owner selection field is left blank, attribute matching is skipped entirely and the run quietly falls back to plain Round Robin. There is no error and no warning on the record. If attribute routing seems to be ignoring your attributes, check this field first.
FAQ

Does the HubSpot property name have to match the attribute internal name?

No. They are independent. The Internal Name identifies the attribute inside Distributely; the Attribute for owner selection field identifies the HubSpot property on the record. Keeping them the same is a convenience, not a requirement.

What if a rep should cover several territories?

Give them several values. Use Multiple Select and check every option that applies, or enter them comma-separated. Any one match is enough.

Do unavailable members still match?

No. Only active, available members are considered. Someone on time off, outside working hours, or at their cap is not eligible even if their attribute matches.

Can I use attribute routing and weights at the same time?

No. Owner Selection Logic is a single choice per workflow action. See Owner Selection Methods for the alternatives.