> ## Documentation Index
> Fetch the complete documentation index at: https://docs.os.default.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Switch from HubSpot routing and meetings to Default

> Migration guide for teams that keep HubSpot as their CRM and move lead routing and meeting scheduling to Default: how scheduling pages, form redirects, and the Rotate record to owner action map to Default, the setup steps in order, and what has no direct equivalent.

Teams that keep HubSpot as their CRM can move lead routing and meeting scheduling from HubSpot's
meetings tool and workflows to Default. HubSpot stays the system of record, and Default reads and
writes HubSpot contacts, companies, and deals, picks owners from queues, and books meetings
on your reps' calendars.

This guide is for admins. It covers HubSpot scheduling pages, forms that redirect to a scheduling
page, and workflows that use the **Rotate record to owner** action. Default does not import these, so
plan to rebuild them.

## HubSpot and Default at a glance

| HubSpot | What it does in HubSpot | Where it lives in Default |
| - | - | - |
| **One-on-one** scheduling page | Lets contacts book time with 1 person. | A **Quick event**. |
| **Group** scheduling page | Shows times when all selected team members are free. | A **Team event** with several hosts, each marked required. |
| **Round robin** scheduling page | Shows each team member's availability, and books whoever is free. | A **Team event** with a [queue](/queues) as host. The queue's [routing policy](/policies) picks the rep. |
| Form redirect to a scheduling page, with conditional redirects | Sends visitors from a form to a scheduling page based on their answers. | A [workflow](/workflows) with the **Form Submission** trigger, branching nodes, and **Display Scheduler**. |
| **Rotate record to owner** workflow action | Assigns records to users or teams in rotation. | A workflow with the **CRM Record Created** trigger, a **Round-Robin** node, and an **Update Record** node. |
| Confirmation and reminder emails | Emails the contact after booking and before the meeting. | Message templates in [Messages](/scheduling-messages), sent by email or SMS. |
| **No show** meeting outcome | Records that a meeting did not happen. | **Mark as no-show** in [Meetings](/meetings), and the **Meeting Status** trigger. |

## HubSpot scheduling pages in Default

| HubSpot meetings tool | Default |
| - | - |
| **One-on-one** scheduling page | **Quick event**, hosted by 1 member. Each rep can create their own. |
| **Group** scheduling page | **Team event** with several member hosts marked required, so a time appears only when all of them are free. |
| **Round robin** scheduling page | **Team event** with a queue as host. With **Slots Rule** set to **All Active Members**, the booking page shows times when any active member is free. |
| Meeting rotation, which shows only the next user's availability | **Slots Rule** set to **Single Member**: Default picks 1 member first and shows only that member's times. |
| Round robin picks the user who has gone the longest without a meeting | The **Least recent assignment** distribution rule. **Take turns equally** balances counts instead, with optional weights. |
| **Prioritize contact owner** | A workflow: **Match Record** finds the contact, and **Display Scheduler** uses the **Contact owner** as host. See [Replace a form redirect](#replace-a-form-redirect-to-a-scheduling-page). |
| Booking form fields: contact properties and custom questions | **Booking Form Questions**, built from Person and Company fields. See [Events](/events). |
| **Block free email domains** | **Require work email** on the event's Email question. |
| **Allow guests** | Every Default booking page has an **Invite guests** field, where the booker can add up to 10 guests. |
| Confirmation email and up to 3 reminder emails | Notification and reminder templates in [Messages](/scheduling-messages), assigned in each event's **Messages** section. Guests and hosts can also get SMS. To alert a host in Slack, build a workflow with the **Meeting Status** trigger and **Send Slack Message**. |
| Scheduling page link | **Permanent** and **Expiring** booking links from the event's **Booking links** drawer. |

## HubSpot Rotate record to owner in Default

The **Rotate record to owner** workflow action assigns HubSpot records to users or teams in turn. In
Default, a workflow starts when HubSpot creates the record, a queue picks the member, and
**Update Record** writes the owner.

| HubSpot Rotate record to owner | Default |
| - | - |
| Rotate between **Specific users** or **Teams** | A queue with those members. 1 routing policy can drive many queues. |
| Sets the **\[object] owner** property | **Update Record** sets **Contact owner**, **Company owner**, or **Deal owner** to **Latest assigned user**. |
| A custom HubSpot user property | **Update Record** can write another user property. Only the owner property counts toward the queue's round robin. |
| **Overwrite if \[object] has an existing owner** | Route only the records that need an owner. Limit the trigger with a **Condition**, or check for an existing record with **Match Record** first. |
| Equal distribution, or **Round Robin**, **Load Balanced**, and **Random** on some HubSpot objects | The policy's distribution rule, **Take turns equally** or **Least recent assignment**, and the **Tiebreaker rule**, **Recency** or **Random**. |
| **Assign to available users only** | The policy's **Availability** tab skips members who are out of office, and optionally members who are busy on their calendar. |
| Workflow history | Workflow [run logs](/workflows/run-logs), and **Routing** → **Assignments** with the scores behind each decision. |

## Replace a form redirect to a scheduling page

This example replaces a HubSpot form that redirects to a round robin scheduling page with
**Prioritize contact owner** turned on. Known contacts book with their owner, and new contacts book
through a queue of account executives named `Inbound AEs`.

<Steps>
  <Step title="Add the HubSpot form to Default">
    Open **Signals**, select **Add Domain**, and install the Pixel snippet on your site. Then open the
    domain's menu, select **Catalog forms**, add the HubSpot form, and map its fields. Default
    recognizes embedded HubSpot forms. See [Your forms](/forms/your-forms).
  </Step>

  <Step title="Start from the form">
    In **Workflows**, create a workflow and add the **Form Submission** trigger. Set
    **Connected Form** to the form.
  </Step>

  <Step title="Look up the contact">
    Add **Match Record** with **CRM** set to **HubSpot** and **Record** set to **Contact**, matched on
    email.
  </Step>

  <Step title="Book known contacts with their owner">
    On **Match**, add **Display Scheduler** with a **Team event**. Turn off **Use event hosts** and set
    the host to the matched contact's **Contact owner**.
  </Step>

  <Step title="Book new contacts through the queue">
    On **No Match**, add **Display Scheduler** with a **Team event** that the `Inbound AEs` queue
    hosts. Keep **Use event hosts** on, so the queue picks the rep.
  </Step>

  <Step title="Test and publish">
    Select **Test**, then **Run Test** for a known contact and for a new contact. Then select
    **Publish**, and turn on the [deployment switch](/workflows#the-enabled-switch) so the status
    reads **Live**.
  </Step>
</Steps>

To send visitors to different scheduling pages by their answers, the way conditional redirects do,
add a **Multi-Branch** node before the **Display Scheduler** nodes, with 1 branch for each
condition.

## Replace Rotate record to owner

This example replaces a HubSpot workflow that rotates new contacts across a sales team.

<Steps>
  <Step title="Add the trigger">
    In **Workflows**, create a workflow and add the **CRM Record Created** trigger. Set **CRM** to
    **HubSpot** and **Record** to **Contact**. Add a **Condition** if only some contacts should route.
  </Step>

  <Step title="Pick the owner">
    Add **Round-Robin** and set **Queue** to your team's queue.
  </Step>

  <Step title="Write the owner">
    Add **Update Record** with **Platform** set to **HubSpot** and **Record Type** set to **Contact**.
    Choose the contact from the trigger, add **Contact owner** under **Fields**, and set it to
    **Latest assigned user**.
  </Step>

  <Step title="Test and publish">
    Select **Test**, then **Run Test** with a test contact, and confirm the contact owner changed in
    HubSpot. Then select **Publish**, and turn on the
    [deployment switch](/workflows#the-enabled-switch) so the status reads **Live**.
  </Step>
</Steps>

<Warning>
  A workflow test performs real actions. It updates HubSpot records and counts routing assignments.
  Use a test contact.
</Warning>

## Move from HubSpot routing and meetings to Default step by step

<Steps>
  <Step title="Connect HubSpot and your conferencing tool">
    Select **Settings** in the sidebar, then **Integrations** under **Workspace Settings**, and
    connect HubSpot. See [HubSpot](/settings/integrations/hubspot). If your team meets on Zoom,
    connect Zoom once for the workspace. Google Meet and Microsoft Teams links come from each member's
    own calendar connection.
  </Step>

  <Step title="Invite your team and connect calendars">
    In **Settings** → **Users**, select **Invite People**. Each member connects Google Calendar or
    Outlook Calendar and sets working hours. See [Member onboarding](/member-onboarding).
  </Step>

  <Step title="Map each rep to their HubSpot owner">
    In **Settings** → **Users**, add each rep's HubSpot Owner ID. Default needs this mapping to write
    HubSpot owners and to use a contact owner as a meeting host. See [Users](/settings/users).
  </Step>

  <Step title="Create policies and queues">
    In **Routing** → **Policies**, select **Create Policy**. Include **Objects** in
    **Assignment Units** to replace **Rotate record to owner**, and **Meetings** to replace round robin
    scheduling pages. In **Routing** → **Queues**, select **Create Queue** for each team. See
    [Policies](/policies) and [Queues](/queues).
  </Step>

  <Step title="Rebuild scheduling pages as events">
    In **Scheduling** → **Event Types**, select **Create new event**. Use a **Team event** with a queue
    as host for each round robin page, and ask each rep to create a **Quick event** for their personal
    page. Assign reminder and notification templates under **Messages**. See [Events](/events).
  </Step>

  <Step title="Rebuild form redirects and rotation workflows">
    Build the workflows in
    [Replace a form redirect](#replace-a-form-redirect-to-a-scheduling-page) and
    [Replace Rotate record to owner](#replace-rotate-record-to-owner).
  </Step>

  <Step title="Log meetings in HubSpot">
    Build a workflow with the **Meeting Status** trigger set to **Booked**. Find the contact with
    **Match Record**, then add **Create Engagement** with **Engagement type** set to **Meeting**.
  </Step>

  <Step title="Switch over">
    When each Default workflow passes its tests, publish it and set it live. Then turn off the
    HubSpot workflow that rotated the same records, so 2 tools do not assign the same contact. Remove
    the scheduling page redirect from the form, and turn off or delete the HubSpot scheduling pages
    you replaced. Share Default booking links in their place.
  </Step>
</Steps>

## What does not carry over from HubSpot routing and meetings

* **Configuration.** Default has no importer for HubSpot scheduling pages, form redirects, or
  workflows. You rebuild them in Default.
* **Meetings already booked.** Meetings booked through HubSpot scheduling pages stay in HubSpot.
  Default's [Meetings](/meetings) list starts with the first meeting booked through Default.
* **Meeting logging.** Default writes meetings to HubSpot through a workflow you build, with
  **Create Engagement**.
* **Ticket and chat routing.** Default routes HubSpot contacts, companies, and deals. It does not
  route tickets or chat conversations.
* **Custom user properties in round robin.** Default can write any user property, but only the owner
  property counts toward a queue's round robin.
* **Existing scheduling page links.** Links you shared keep pointing at HubSpot. Replace them with
  Default booking links.

Related: [Default vs HubSpot](https://www.default.com/comparison/hubspot)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.