{
"$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
}
}
}
}
}
}
}
]
}