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

# Custom Form Component

> Custom form component schema 

Custom form component schema

## Properties

* **receiverEmail** (`string`) - pattern: `^\S+@\S+\.\S+$...` - format: email - Email where Form response will be sent
* **expiry** (`object`) - Form expiry date, timezone and text
  * **date** (`string`) - Expiry date of the form.
  * **timezone** (`string`)
  * **text** (`string`) - maxLength: 1000
* **submitButton** (`object` - ref: [\_base\_button](/guides/category-components/components/button))
* **submissionBehaviour** (`object`)

## Used in Categories

This component is used in the following categories:

* [Coupon](/guides/category-components/categories/coupon)
* [Dynamictext](/guides/category-components/categories/dynamicText)
* [Dynamicvcard](/guides/category-components/categories/dynamicVCard)
* [Event](/guides/category-components/categories/event)
* [Feedback](/guides/category-components/categories/feedback)
* [Product](/guides/category-components/categories/product)
* [Wedding](/guides/category-components/categories/wedding)

## Schema

<CodeGroup>
  ```json Schema theme={null}
  {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Custom Form Component",
    "description": "Custom form component schema ",
    "allOf": [
      {
        "$ref": "_base_form.json"
      },
      {
        "properties": {
          "receiverEmail": {
            "type": "string",
            "description": "Email where Form response will be sent",
            "format": "email",
            "pattern": "^\\S+@\\S+\\.\\S+$"
          },
          "expiry": {
            "type": "object",
            "additionalProperties": false,
            "description": "Form expiry date, timezone and text",
            "properties": {
              "date": {
                "type": "string",
                "description": "Expiry date of the form."
              },
              "timezone": {
                "type": "string"
              },
              "text": {
                "type": "string",
                "maxLength": 1000
              }
            }
          },
          "submitButton": {
            "$ref": "_base_button.json"
          },
          "submissionBehaviour": {
            "submissionOption": "string",
            "message": {
              "type": "string",
              "required": true
            },
            "url": {
              "type": "string",
              "required": true
            },
            "additionalAction": "boolean",
            "additionalActionConfig": {
              "additionalActionType": "string",
              "manualAction": {
                "buttonData": {
                  "$ref": "button.json"
                }
              },
              "automaticAction": {
                "delay": "number",
                "email": {
                  "body": {
                    "type": "string",
                    "required": true
                  },
                  "recipientEmail": {
                    "type": "string",
                    "required": true
                  },
                  "subject": {
                    "type": "string",
                    "required": true
                  }
                },
                "phone": {
                  "phoneNumber": {
                    "type": "number",
                    "required": true
                  }
                },
                "sms": {
                  "message": {
                    "type": "string",
                    "required": true
                  },
                  "phoneNumber": {
                    "type": "number",
                    "required": true
                  }
                }
              }
            }
          }
        }
      }
    ]
  }
  ```
</CodeGroup>
