> For the complete documentation index, see [llms.txt](https://docs.insurgrid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.insurgrid.com/intake-forms.md).

# Intake Forms

InsurGrid **intake forms** let you collect a customer's information through a form embedded in your own app — and get the result back as structured data (every answer, any uploaded files, and filled ACORD PDFs) without building, hosting, or maintaining the form yourself.

## What you get

* A ready-to-embed intake form that runs inside your product — one `<iframe>`.
* Every completed submission delivered to you automatically, as structured data.
* Filled ACORD PDFs when the form maps to ACORD forms.

There are three parts to an integration: **build** a form, **embed** it, and **receive** the submissions. Here's each.

***

## 1. Build a form — two ways

You can create and manage forms **two ways**. Pick based on how much control you need — and you can mix them (build in the visual builder, manage via API later, or vice versa).

|               | **Way 1 — Visual builder (iframe)**                                     | **Way 2 — API**                                                            |
| ------------- | ----------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| How           | Embed InsurGrid's form builder in your app; build and edit by clicking. | Create, update, and publish forms with HTTP calls to `/v2/forms`.          |
| Who does it   | Your owner/admin users, in a browser.                                   | Your backend.                                                              |
| Code required | Minimal — one server call to mint a session, then one `<iframe>`.       | Full programmatic control from your server.                                |
| Best for      | Letting non-developers build forms inside your product.                 | Templating, bulk creation, automation, source-controlled form definitions. |

**Way 1 — Visual builder (iframe).** Your backend mints a session (`POST /v2/builder-sessions`), you embed the returned URL in an `<iframe>`, and your admins build forms visually — starting from a blank form or a starter template. Full details: [Builder sessions](/intake-forms/builder-sessions.md).

![The embedded builder's "Choose a starting point" screen — begin from a blank form or a starter template (Auto, Home, Intake, ACORD-Ready).](https://3825213797-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjBgAFiZ99Eug1CmRq2QO%2Fuploads%2Fb7Nh5takZf8C4S5MtN8T%2Fform-builder-starting-point.png?alt=media)

**Way 2 — API.** Create a draft (`POST /v2/forms`), set its steps/questions/logic (`PATCH`), then publish (`POST /v2/forms/{id}/publish`). Full details: [Forms API](/intake-forms/forms.md) · walkthrough: [Build forms via the API](/intake-forms/c-build-forms-api.md).

## 2. Embed it

Once a form is published, embed it in your app with the fill-form `<iframe>` (`?embed=1`). The consumer fills it in place — no redirect, no InsurGrid chrome. Walkthrough: [Embed a form](/intake-forms/b-embed-form.md).

## 3. Get the data — webhooks

When a consumer submits, InsurGrid delivers the completed submission to a URL you control as a **`form-submission` webhook** — the same signed, at-least-once delivery pipeline (with a delivery log and replay) used for policy data. The payload carries every answer, links to any uploaded files, and a link to the filled ACORD PDFs.

You can also **pull submissions on demand** via the [Submissions API](/intake-forms/submissions.md) — same data shape — for backfill or reconciliation.

Full payload reference: [Webhook events & payloads → `form-submission`](/api-reference/webhook-events.md#form-submission).

***

## In this section

* [Embed a form](/intake-forms/b-embed-form.md) — drop a form into your app and receive submissions.
* [Build forms via the API](/intake-forms/c-build-forms-api.md) — create, structure, and publish forms from your backend.
* [Forms API](/intake-forms/forms.md) — the full read/write endpoint reference.
* [Builder sessions](/intake-forms/builder-sessions.md) — embed the visual builder.
* [Submissions API](/intake-forms/submissions.md) — list and re-fetch submissions on demand.

## Related

* [Webhook events & payloads](/api-reference/webhook-events.md) — the `form-submission` event and its payload.
* [Verify a webhook signature](/guides/signing-verification.md)
* [The two embeds (builder vs fill form)](/guides/embeds.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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.insurgrid.com/intake-forms.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
