# Get Custom Form

`lawmatics_get-custom-form` · Lawmatics MCP tool · Custom Forms

Fetch a single Lawmatics custom intake form by UUID, including its layout of rows and components. The IDs of its input components (componentType "field"/"general_field") are the field keys accepted by lawmatics_submit-custom-form. Upstream, Lawmatics serves this endpoint without authentication; this tool still calls it with the org's credentials and requires reader access.

## Input

- **customFormId** `string` (required, pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$) — UUID of the custom form to fetch (custom form IDs are UUIDs, not numeric)

## Output

- **id** `string` (required) — UUID of the custom form
- **name** `string` (required) — Display name of the form
- **contactableType** `string | null` (required) — Record type the form creates on submission, lowercase (e.g. "prospect" — a Lawmatics matter); null if not reported
- **prettyType** `string | null` (required) — Display-cased variant of the record type (e.g. "Prospect"); null if not reported
- **displayName** `string | null` (required) — Public-facing display name of the form; null if unset
- **internal** `boolean | null` (required) — Whether the form is internal (used by firm staff rather than embedded publicly); null if not reported
- **redirectUrl** `string | null` (required) — URL the form redirects to after submission; null if unset
- **status** `string | null` (required) — Form status as reported by Lawmatics (e.g. "active"); null if not reported
- **createdAt** `string` (required) — When the form was created, as an ISO 8601 timestamp
- **updatedAt** `string` (required) — When the form was last updated, as an ISO 8601 timestamp
- **rows** `array` (required) — Form layout as rows of components; input components carry the field IDs
  - **[]** `object`
    - **components** `array` (required) — Components laid out on this row of the form
      - **[]** `object`
        - **id** `string` (required) — Component ID. For input components (componentType "field"/"general_field") this is the form field ID — a key accepted by lawmatics_submit-custom-form (standard fields use readable IDs like first_name; custom/general fields use opaque IDs). Layout-only component IDs are not submit keys
        - **componentType** `string` (required) — Kind of component: "field" and "general_field" are inputs; "instructions" and "horizontal_divider" are layout-only. Other kinds exist (e.g. "booking_request")
        - **simplifiedId** `string | null` (required) — Friendly alias for the field ID, also accepted by lawmatics_submit-custom-form (e.g. "first_name", "custom_field_2263"); null when the API does not report one
        - **fieldType** `string | null` (required) — Value type for input components (e.g. "string", "integer", "boolean", "date", "list", "text", "lookup"); null for layout-only components or when not reported
        - **label** `string | null` (required) — Human-readable label shown on the form (HTML for instructions components); null when the component has none
        - **required** `boolean | null` (required) — Whether the field must be filled to submit the form; null when the API does not report it. Typically set on input components, but the API can return it on layout-only components too
        - **listOptions** `array | null` (required) — Selectable choices for "list"-type fields; null otherwise
          - **[]** `object`
            - **label** `string` (required) — Display label of the choice
            - **value** `string | number` (required) — Value to submit when this choice is selected
