Form Response Events

When subscribed to the Form Response events webhook, the following event data will be received:

event object

Field nameDescriptionJSON TypeData Type
idThe unique ID of the event. May be used to ensure that an event is not processed twice in the case of a webhook that is re-tried due to an error or timeout.string
createdDateA timestamp signifying when the event was generated.
Format: YYYY-MM-DDThh:mm:ss[.SSS]Z
Note: millisecond is denoted as optional [.SSS]
stringdatetime
typeEvent type:
formResponse
string
actionEvent action:
created
string
payloadThe payload of the event. The contents of this object depend on the type of event.objectpayload

payload object

Field nameDescriptionJSON TypeData Type
responseIdThe response Id string
formIdThe form Idstring
customerIdThe customer Id associated with the form responsestring
businessIdThe business Id that this form response is associated withstring
businessAliasThe alias (nickname) of the businessstring
businessGroupIdThe unique identifier for a multilocation group.string
appointmentIdThe appointment Id associated with this form responsestring
membershipIdThe membership Id associated with this form responsestring
formTitleThe title of the formstring
formPublishedDateThe date/time that the form was published.
Format: YYYY-MM-DDThh:mm:ss[.SSS]Z
Note: millisecond is denoted as optional [.SSS]
stringdatetime
questionsAndAnswersArray of objects with the content containing the questions and answers from the form responsearrayquestionsAndAnswers

questionAndAnswers object

Field nameDescriptionJSON TypeData Type
idThe question idnumericlong
orderThe order in which the question was askednumericint
questionTypeThe question type of the question in the form:
short_answer
long_answer
choose_one
multiple_choise
dropdown
scale
contact_information
date

Note that the following form question types are NOT supported:
image
file_upload
signature
payment_information
string
questionThe text of the question in the formstring
answerThe answers given in the form response. This could contain (1 - n) answers depending on the question asked.

Note: that for questionType : contact_information there will always be a string array with six items. If one of the contact items is not required or not filled by the user, it will be an empty string.
arraystring

Example

{
	"id": "254FA623-D2B0-4785-A07D-A1A7059C74FF",
	"createdDate": "2024-02-15T00:00:00Z",
	"type": "formResponse",
	"action": "created",
	"payload": {
		"responseId": "Tkhj89234jadkjal23rnjlasfdsakjlewtewt234fw4=",
		"formId": "U2FsdGVkX18zRbwyUxRZaHNTYGwjKCpDdAkKP4eUDsE=",
		"customerId": "681550E7A9CDA57700B419E351D50D80",
		"businessId": "U2FsdGVkX18zRbwyUxRZaHNTYGwjKCpDdAkKP4eUDsE=",
		"businessGroupId": "tYKEZF-L445YEDnCx0TIfA==",
		"appointmentId": "2dwfErtmMAFxe6hoCnQStw==",
		"membershipId": "344sdSGDE837Hhhs==",
		"formTitle": "Intake form",
		"formPublishedDate": "2023-02-15T00:00:00Z",
		"questionsAndAnswers": [
			{
				"id": 3341,
				"order": 1,
				"questionType": "short_answer",
				"question": "Are you allergic to any hair products?",
				"answer": [
					"No"
				]
			},	
			{
				"id": 5478,
				"order": 2,
				"questionType": "multiple_choice",
				"question": "How would you describe your hair?",
				"answer": [
					"long",
					"curly",
					"oily"
				]
			},
			{
				"id": 5478,
				"order": 3,
				"questionType": "scale",
				"question": "How would you rate your previous appointment?",
				"answer": [
					"8"
				]
			},
			{
				"id": 5478,
				"order": 4,
				"questionType": "contact_information",
				"question": "Please provide your contact information.",
				"answer":[
					"John",
					"",
					"4430 Rosewood Drive, Dublin, CA 94568",
					"[email protected]",
					"+1(123)456-7890",
					"male",
					"",
					""			
				]
			}	
		]
	}
}

What’s Next