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

# Adding a form to a page

> Connect a registered form to a hosted allGood page or to a page on your own website.

A form only captures submissions once it's connected to a page that renders it. How you connect it depends on where the page lives.

## On a hosted allGood page

The page template already knows how to render the form. Choose the form when you set up the page's content, and it's connected. No code to copy.

## On a page on your own website

Open the form and choose **Add it to another site**: **Copy install code** copies the script tag and markup straight to your clipboard. **Send to your developer** opens the full drawer instead: the endpoint, Form ID, the install code, and the raw HTTP contract for a custom integration, all in one place for them to work from.

![Copy the install code, or open the full drawer to send to your developer](https://mintcdn.com/allgoodtechnologyinc/9DaQ84rhZ2o4ihI1/images/mk/content/forms/form-placements-mini.png?fit=max\&auto=format\&n=9DaQ84rhZ2o4ihI1\&q=85\&s=83c41fd68fbf628a40af9cbaddcfbe95)

Copy the install code, or open the full drawer to send to your developer.

That drawer is where the install code itself lives: a script tag plus the form's own markup, labeled and ready to drop in (or a **Minimal** version, for a developer who'd rather write the markup by hand). allGood never renders or restyles it. The code also carries a set of hidden tracking fields (UTM parameters, `gclid`, and the like) that the script fills in from the page's URL on its own; nobody wires those up by hand.

![The endpoint, Form ID, and the install code, ready to use or minimal](https://mintcdn.com/allgoodtechnologyinc/9DaQ84rhZ2o4ihI1/images/mk/content/forms/form-integration-drawer.png?fit=max\&auto=format\&n=9DaQ84rhZ2o4ihI1\&q=85\&s=28c172256fb458b7a99eb61778555982)

The endpoint, Form ID, and the install code, ready to use or minimal.

> [!NOTE]
>
> The page's own origin has to be on the form's allowed-origins list before it can submit. See [What protects a form](https://docs.allgoodhq.com/mk/content/forms/what-protects-a-form.md).

## For developers

Building a custom submission flow instead of using the install code, or want something other than the default thank-you message, such as a redirect or a custom confirmation? Both are developer work: see [Capture a form](https://docs.allgoodhq.com/mk/developer/web-edge/capture-a-form.md) for the install script's full behavior, or [posting to the form API directly](https://docs.allgoodhq.com/mk/developer/web-edge/reference/form-api.md) for a server-side integration.

## Related articles

* [Testing a form](https://docs.allgoodhq.com/mk/content/forms/testing-a-form.md)
* [What protects a form](https://docs.allgoodhq.com/mk/content/forms/what-protects-a-form.md)
* [Find where a form is used](https://docs.allgoodhq.com/mk/content/forms/finding-where-a-form-is-used.md)


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