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

# Contact form

> A card that renders inside your own contact page.

The contact form is a card you place inside your own page, not a panel floating
over it. What people submit lands in the same inbox as chat.

Reach for it when a contact page should stay a page. Reach for
[chat](/channels/chat-widget) when you want to catch someone mid-task.

## Set it up

<Steps>
  <Step title="Add the channel">
    In the dashboard, go to **Channels** and pick **Contact form**.
  </Step>

  <Step title="Paste two lines into your page">
    Under **Install** you get both. They are not interchangeable.
  </Step>
</Steps>

```html theme={null}
<script async src="https://cdn.minidesk.ai/widget/current/widget.js" data-public-key="pk_live_..." data-mode="form"></script>
<div data-minidesk-form></div>
```

## The two lines do different jobs

This is the one thing to get right.

`data-mode="form"` tells the bundle to mount a form, not a floating chat
button. Without it, you get chat.

`<div data-minidesk-form>` is **where the card draws**. Unlike the chat script,
this one's position matters: place it where the form should appear on the
page. The script tag itself can sit at the bottom with everything else.

<Warning>
  If the div is missing, the widget logs an error and draws nothing. A form
  that silently fails to appear is almost always this.
</Warning>

## What the visitor fills in

Name, email, an optional order or account reference, and what happened. The
email address is required, because a form submission with no way to reply is
not a support request.

Addresses collected here are stored **unverified**, the same as chat. See
[requesters](/channels/overview#requesters-and-what-verified-means).

## Styling

The card follows the colour you set on the placement and inherits your page's
width. It is built to sit inside your layout, not fight it.

## One form per workspace

A workspace runs at most one contact form. You can put the same two lines on
several pages: they all feed one placement, and every submission arrives with
`source: "widget"`.

## Turning it off

**Pause** stops the key from resolving, and the card stops rendering. Your
page keeps the markup and shows nothing, so switching it off needs no deploy.
