Skip to content

Commit 47a59b0

Browse files
authored
Merge pull request #3 from calcom/Routing-With-Attributes
Routing with attributes
2 parents c5e7f58 + c6263f4 commit 47a59b0

14 files changed

+106
-4
lines changed

Diff for: availabilities/set-up-your-availability.mdx

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ Follow these step-by-step instructions to configure your availability in Cal.com
1111
</Step>
1212
<Step title="Create a new availability schedule">
1313
* Click New in the top-right corner.
14-
* Enter a name for your schedule (e.g., "Test Availability").
15-
* Click Continue to create your schedule.
16-
By default, the schedule is set to 9:00 AM to 5:00 PM.
14+
* Enter a name for your schedule (e.g., "Test Availability").
15+
* Click Continue to create your schedule.
16+
By default, the schedule is set to 9:00 AM to 5:00 PM.
1717
</Step>
1818
<Step title="Customize your availability">
1919
* Enable/Disable Days:

Diff for: images/routing/all-future-members.webp

32.8 KB
Binary file not shown.

Diff for: images/routing/assign-member.webp

30.2 KB
Binary file not shown.

Diff for: images/routing/attribute.webp

40.2 KB
Binary file not shown.

Diff for: images/routing/create-routing-form.webp

27.1 KB
Binary file not shown.

Diff for: images/routing/new-round-robin.webp

35.7 KB
Binary file not shown.

Diff for: images/routing/routing-attributes.webp

50.5 KB
Binary file not shown.

Diff for: images/routing/routing-form-fields.webp

38.4 KB
Binary file not shown.

Diff for: images/routing/routing-form-id.webp

27.4 KB
Binary file not shown.

Diff for: images/routing/share-url.webp

44.8 KB
Binary file not shown.

Diff for: images/routing/team.webp

23.4 KB
Binary file not shown.

Diff for: images/routing/test-preview.webp

42.1 KB
Binary file not shown.

Diff for: mint.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,8 @@
159159
"icon": "arrows-repeat",
160160
"iconType": "solid",
161161
"pages": [
162-
"routing/routing-overview"
162+
"routing/routing-overview",
163+
"routing/routing-with-attributes"
163164
]
164165
},
165166
{

Diff for: routing/routing-with-attributes.mdx

+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
title: 'Routing with Round Robin and Attribute Matching'
3+
---
4+
This guide walks you through how to set up a Round Robin Team Event that routes bookings to team members based on attributes using Cal.com's Routing Forms.
5+
6+
<Note>Attributes are only available in Organizations Plan and Enterprise Plan</Note>
7+
8+
---
9+
10+
## Setting Up a Round Robin Team Event
11+
12+
1. **Ensure a Team exists**
13+
If not already created, go to your organization and create a Team. For example, a team named `Sales` with the slug `sales`.
14+
![Team](../images/routing/team.webp)
15+
16+
1. **Create a Round Robin Event Type**
17+
- Create this event under the team you just set up.
18+
![Create Round Robin Event](../images/routing/new-round-robin.webp)
19+
- **Important**: Enable the setting `Add all team members, including future members`. This ensures team members are selected dynamically based on attributes.
20+
![](../images/routing/all-future-members.webp)
21+
22+
---
23+
24+
## Creating an Attribute
25+
26+
Attributes let you define filters that team members can be matched against.
27+
28+
1. Go to [Organization Attributes](https://app.cal.com/settings/organizations/attributes)
29+
2. Create one or more attributes.
30+
- For matching use cases, **Multi Select** is a great option—especially when team members might belong to multiple attribute values.
31+
- Example: Create an attribute with the name `Service (Attribute)` to clearly indicate it's used in attribute-based routing.
32+
![](../images/routing/attribute.webp)
33+
3. **Assign the attribute** to one or more team members. **This step is critical**.
34+
![](../images/routing/assign-member.webp)
35+
---
36+
37+
## Setting Up a Routing Form
38+
39+
1. Navigate to [Routing Forms](https://app.cal.com/routing)
40+
2. Create a new Routing Form **under the same team** as your event type.
41+
![](../images/routing/create-routing-form.webp)
42+
3. Add fields that you want bookers to fill out.
43+
- It's recommended to include an `Email` field with the identifier `email` to enable integrations with CRMs and contact lookup tools.
44+
- Refer to [this guide](https://cal.com/help/apps-and-integrations/assign-people#option-2-based-on-emails) for more.
45+
4. Create another field that matches the **options** from the attribute you set up.
46+
- The **name and identifier don't have to match** the attribute name.
47+
- Example: A `Service` field with identifier `service`, where the options are identical to those in `Service (Attribute)`.
48+
![](../images/routing/routing-form-fields.webp)
49+
50+
---
51+
52+
## Connecting the RR Team Event, Attributes, and Routing Form
53+
54+
1. In your Routing Form, go to the **Routing** tab
55+
2. Click `Add a new Route`
56+
3. Link the Routing Form field to the corresponding Attribute
57+
- For example, connect the `Service (Attribute)` to the `Service` field in your Routing Form
58+
![](../images/routing/routing-attributes.webp)
59+
60+
4. Click **Test Preview** on the left
61+
- Input a value that exists in both the Routing Form field and the Attribute
62+
- The system should now route the booking to a team member with that value assigned in their attributes
63+
![](../images/routing/test-preview.webp)
64+
---
65+
66+
## Sending Leads or Visitors to the Router
67+
68+
There are two ways to use the Routing setup for collecting bookings:
69+
70+
### 1. Using the Cal.com Routing Form Public Page
71+
72+
- You can find the public link for your Routing Form in the UI
73+
![](../images/routing/share-url.webp)
74+
- The URL will look like:
75+
76+
```
77+
app.cal.com/forms/{FORM_ID}
78+
```
79+
80+
Share this link with your leads or embed it in your site.
81+
![](../images/routing/routing-form-id.webp)
82+
83+
### 2. Using Your Own Form with Headless Router (Embed Mode)
84+
85+
If you prefer to design your own form UI but still leverage Cal.com routing:
86+
87+
- Use the Headless Router endpoint:
88+
89+
```
90+
/router?form={FORM_ID}&service=Service%20Type%201&[email protected]
91+
```
92+
93+
- The field identifiers become query params in the URL
94+
- Cal.com will handle the routing and direct the user to the appropriate booking page
95+
96+
This gives you full control over your form UI while keeping Cal.com as the routing engine.
97+
98+
---
99+
100+
You’ve now set up a powerful attribute-based Round Robin routing system that integrates seamlessly with your team structure and forms.
101+

0 commit comments

Comments
 (0)