> 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/routing/outbound-routing/forms.md).

# Outbound Forms

An Outbound Form defines the questions in a sales handoff and who can supply or see each answer. Its published versions are reusable and immutable. Each Outbound Router pins one published version.

This is different from [website form mapping](/routing-forms/overview.md): you design the outbound questions in Distro rather than mapping an existing website form.

![Outbound Form editor in dark mode with field order and the booker preview.](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQA3GQNrIYVrPQ90NBwRa%2Fuploads%2F3YfGftgDUNszlbzBlf8G%2Foutbound-form-preview-dark.png?alt=media\&token=58685715-1fc1-4acd-a4f7-a4751be70efe)

### Build and publish a form

{% stepper %}
{% step %}

#### Create the form

Open **Outbound routing → Outbound Forms → New Outbound Form**. Enter a **Form name** sellers will recognize.

**Work email** and **Full name** are required identity fields and cannot be removed. Use **Add field** for the extra information your handoff needs.
{% endstep %}

{% step %}

#### Choose fields and responsibility

Choose short text, long text, single selection, multiple selection, number, or boolean. Give each field a clear label. Selection fields need **Options (one per line)**.

Review **Audience and responsibility** using the table below. Turn on **Required** only when the responsible actor must provide a value. A field's type and key are fixed after creation; changing its label does not turn it into another type.
{% endstep %}

{% step %}

#### Set destinations and defaults

Under **Routing and destinations**, review **CRM prefill**, **Affects routing**, **Internal booking context**, **Calendar invitation**, and supported **CRM destinations**.

**Affects routing** means changing the answer invalidates the provisional route. **Calendar invitation** can expose the value to the prospect. Booker-only fields are excluded from invitation content.

A default applies only when no explicit answer or permitted CRM prefill is available. Save each field. CRM mappings are snapshotted when the version is published.
{% endstep %}

{% step %}

#### Preview both audiences

Use **Booker** and **Prospect** in the live preview. Check which fields appear, what is required, and whether the prospect can edit shared answers. Reorder extra fields by dragging or using **Alt + arrow keys**.

For reusable links, confirm a prospect can complete every required field without an unavailable booker-only value. A locked required field may need an appropriate default or a different audience.
{% endstep %}

{% step %}

#### Publish and connect the version

Choose **Publish version**. In the [Outbound Router](/routing/outbound-routing/routers.md), open **Outbound Form**, select the new published version, save, and activate or publish the router.

Publishing the form alone does not change any router's pinned version.
{% endstep %}
{% endstepper %}

### Who supplies the answer?

| Audience                | Intended use                               | Prospect behavior                                         |
| ----------------------- | ------------------------------------------ | --------------------------------------------------------- |
| **Booker only**         | Internal handoff context from the teammate | Omitted from the prospect's form and calendar invitation. |
| **Booker and prospect** | Shared context                             | Visible to both; review **Prospect can edit**.            |
| **Prospect completes**  | Information the recipient supplies         | Completed by the prospect in their part of the flow.      |

![Outbound field settings in dark mode showing audience, required and editable controls, routing, and calendar destinations.](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQA3GQNrIYVrPQ90NBwRa%2Fuploads%2FLIlVueq4YgBghWbvZgKh%2Foutbound-field-settings-dark.png?alt=media\&token=874d7fb3-fe8a-47d9-aab3-2af6c6401021)

*Audience controls who sees and completes the field. Destination controls determine how its value is used.*

### Change a published form

{% stepper %}
{% step %}

#### Create a new draft

Open the form and choose **Create draft**. The previous published version stays available to existing routers.
{% endstep %}

{% step %}

#### Edit and preview

Update fields and review both actor previews. Use **Discard draft** if you want to remove unpublished changes and keep the published version. The initial unpublished draft cannot be discarded this way.
{% endstep %}

{% step %}

#### Publish and update the router

Choose **Publish version**, then explicitly select that version in each router that should adopt it. Test and publish those router changes. Existing sessions retain their starting configuration.
{% endstep %}
{% endstepper %}

### Troubleshoot form behavior

| Symptom                                 | Check                                                                             |
| --------------------------------------- | --------------------------------------------------------------------------------- |
| A seller still sees old questions       | Confirm the router's pinned version and active publication.                       |
| A prospect cannot see a field           | Check its audience in the Prospect preview.                                       |
| A shared answer cannot be edited        | Review **Prospect can edit** and the field's audience.                            |
| A route changes after editing an answer | Check **Affects routing**; the old provisional result must be recalculated.       |
| Reusable links fail activation          | Review required booker-only and locked fields, defaults, and prospect completion. |
| A field value appears in invitations    | Review **Calendar invitation** separately from internal context.                  |

### Check CRM prefill

A field needs **CRM prefill** enabled and an appropriate mapping for the matched CRM object before Distro can supply its value. The required full-name field can also use the matched person's name. Work email remains the identity used for lookup.

The value must fit the field: for example, a selection must match one of its options. Explicit booker or prospect answers take precedence, and defaults apply only when neither an explicit answer nor permitted CRM prefill is available.

Publish the form and adopt that version in the router before expecting new handoffs to use changed mappings. See [Sales handoffs](/routing/outbound-routing/book-a-meeting.md#review-crm-prefilled-details) for reviewing prefilled details before starting.


---

# 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/routing/outbound-routing/forms.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.
