> ## Documentation Index
> Fetch the complete documentation index at: https://plain-mattvagni-patch-1.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Contact forms

> The best way to offer support at scale.

With contact forms, you can pre-triage every support request so that you know exactly what to prioritize in Plain.

Plain **does not** provide any UI components or a drop-in script tag. Instead, you use your own UI components and then use Plain's API.

When a contact form is submitted, you first [create the customer in Plain](/api-reference/graphql/customers/upsert) and then [create a thread](/api-reference/graphql/threads/create) in Plain.

Depending on your desired behavior, you can also do other things as part of the form submission, such as [add the customer to a customer group](/api-reference/graphql/customers/customer-groups), [set labels](/labels), and add a priority to a thread. Contact forms can take any shape and be very specific to your product and customers.

Here are just a few examples as starting points for you to customize:

### Example floating contact form

This shows how you can build a very simple floating contact form (bottom right) in NextJS.

[**View demo ↗**](https://example-nextjs-floating-form.vercel.app/) | [View source on Github↗](https://github.com/team-plain/example-nextjs-floating-form)

<Frame>![Screenshot of the floating contact form](https://mintlify.s3-us-west-1.amazonaws.com/plain-mattvagni-patch-1/public/images/contact-form-floating.png)</Frame>

### Example advanced contact form

This shows a more advanced contact form in NextJS with structured inputs depending on the topic you are getting in touch about and categorization.

[**View demo ↗**](https://example-nextjs-advanced-contact-form.vercel.app/) | [View source on Github↗](https://github.com/team-plain/example-nextjs-advanced-contact-form)

<Frame>![Screenshot of the advanced contact form](https://mintlify.s3-us-west-1.amazonaws.com/plain-mattvagni-patch-1/public/images/contact-form-advanced.png)</Frame>
