> For the complete documentation index, see [llms.txt](https://help.distro.so/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.distro.so/booking-links/crm-sync.md).

# CRM sync

Sync confirmed personal and group bookings to your workspace's HubSpot or Salesforce account. Choose whether to log the meeting, create a missing prospect, update mapped fields, or assign prospect ownership.

Connect the CRM first. Workspace admins manage shared defaults; a link's existing editing permissions also apply to its CRM settings.

## Set workspace defaults

1. Open **Settings → CRM → Booking links**, or **Booking links → Links CRM settings**.
2. Turn on **Sync links using workspace defaults**.
3. Choose whether to **Create records** for new prospects and **Update owner** in the CRM. When creating records, review **Map the fields to create records**.
4. Under **Additional sync settings**, review **Log meetings**, **Update mapped fields**, and what happens when a CRM value exists.
5. Click **Save defaults**.

Existing links start **Off** when this feature is introduced. New links use workspace defaults, which initially have sync disabled. Saving defaults alone does not switch a Custom or Off link to inheritance; open each intended link’s **CRM sync** settings, choose **Use workspace defaults**, and save the link.

| Action                   | What it does                                                                                                     |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------- |
| **Log meetings**         | Creates and maintains a HubSpot meeting or Salesforce Event for the prospect.                                    |
| **Create records**       | Creates a person when no unique existing match is found. For Salesforce, choose Contact or Lead for new records. |
| **Update mapped fields** | Sends booking values and mapped answers to existing records.                                                     |
| **Update owner**         | Assigns the Contact or Lead to the booked organizer's verified CRM user.                                         |

A unique existing person is reused before a new record is created. Multiple matches need attention rather than an automatic choice. If no person matches and creation is disabled, delivery is skipped with an explanation.

## Choose settings for one link

Open the personal or group link and find **CRM sync → CRM behaviour**. Custom settings use **Create missing prospects** and **Assign prospect ownership** for the corresponding record and owner actions.

| Choice                     | Behavior                                                 |
| -------------------------- | -------------------------------------------------------- |
| **Use workspace defaults** | Uses the workspace's booking-link settings.              |
| **Custom settings**        | Uses this link's own action and standard-field settings. |
| **Off**                    | Stops CRM delivery for this link.                        |

Save the link after changing its mode. Choosing Custom shows its action controls. Switching modes preserves the saved values, so hiding a control does not erase its configuration.

For group links, group membership alone does not grant permission to edit CRM settings. Ask a workspace admin if the controls are unavailable.

## Map booking answers

Email and name come from the primary prospect. Review their destinations under **Map the fields to create records** in workspace defaults, or **Standard field mappings** in a link’s Custom settings. Email remains the identity used to find the person.

To sync another answer, open **Booking questions**, add or edit the question, and choose **Map answer to CRM field**. Choose **Do not sync this answer** to keep it in booking details only. Salesforce has separate Contact and Lead destinations because an existing match may differ from the type chosen for new records.

For Phone, first save a short-answer question that collects the number. Select it under **Phone answer source** in the link's CRM settings. The Phone question belongs to this link, including when the link inherits workspace defaults.

Only supported writable text-compatible fields are offered. Custom questions cannot overwrite standard identity fields such as Name and Email. IDs, owner fields, relationships, calculated fields, and incompatible destinations are excluded. Two answers cannot use the same destination. Use [Fields & mappings](/crm/fields-and-mappings.md) to inspect available fields and check their refresh status.

For existing records, **Fill empty fields** keeps values already in the CRM. **Replace with nonblank answers** allows booking answers to replace them. Blank optional answers never clear a CRM value.

Salesforce's required fields and validation rules still apply when creating a record. Collect and map the required information; Distro does not invent a Company or Account for the prospect.

## Understand when changes apply

Delivery starts after the booking is confirmed. An abandoned booking form does not create a prospect through this feature. Direct bookings, single-use links, and offered times created from supported personal or group links follow their source link's CRM configuration.

For a group booking, the primary external prospect is the person synced. The booking creates one CRM meeting, with the designated organizer as its owner.

Each booking keeps the settings and answers captured when it was created. Changing defaults or mappings affects future bookings. Rescheduling, cancellation, and supported organizer changes update the same CRM meeting when delivery remains enabled.

Turning the source link **Off** stops pending delivery and later updates for its existing bookings. It does not delete CRM records already created. Turning sync back on does not backfill old bookings or restart deliveries already marked skipped.

A CRM error does not undo a confirmed booking. Review the result in the booking details or [CRM activity](/crm/activity.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.distro.so/booking-links/crm-sync.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
