Component Response Shapes
Reference documentation for all supported component response shapes
The data array in form responses contains question responses, where each response object follows a specific shape based on the component type. This page documents all supported component response shapes.
Response Structure
Each question response in the data array follows this structure:
{
questionId: string;
response: {
type: string; // Component type
componentShapeVersion?: string; // Optional version (e.g., "2.0")
headline?: string; // Optional headline
leadAttribute?: string; // Optional lead attribute
// ... component-specific fields
}
}Identity Info
Component Type: "IdentityInfo"
›Response Fields
typestringrequiredAlways "IdentityInfo" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
firstNamestringFirst name of the respondent.
lastNamestringLast name of the respondent.
emailAddressstringEmail address of the respondent.
workEmailAddressstringWork email address of the respondent.
phoneNumberstringPhone number of the respondent.
companyNamestringCompany name of the respondent.
numberOfEmployeesstringNumber of employees at the company.
websiteUrlstringWebsite URL of the company.
titlestringJob title of the respondent.
streetAddressstringStreet address.
aptSuiteEtcstringApartment, suite, or other address details.
citystringCity name.
statestringState or province.
countrystringCountry name.
zipCodestringZIP or postal code.
companyRevenuestringCompany revenue range.
profilePictureUrlstringURL to the profile picture.
fullNamestringCalculated full name (firstName + lastName).
readExternalStateIdstringExternal state ID being read.
triggerExternalStatesIdsarrayArray of external state IDs to trigger.
enrichedFieldsarrayArray of field names that were enriched.
enrichmentTypestringType of enrichment applied.
Example:
{
"questionId": "identity_123",
"response": {
"type": "IdentityInfo",
"componentShapeVersion": "2.0",
"headline": "Tell us about yourself",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "john.doe@example.com",
"companyName": "Acme Corp",
"fullName": "John Doe"
}
}Multiple Choice Question (MCQ)
Component Type: "MultipleOptionsQuestion"
›Response Fields
typestringrequiredAlways "MultipleOptionsQuestion" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
choicesarrayrequiredArray of choice objects, each containing:
keystringThe choice text/value.
valuebooleanWhether this choice is selected.
indexnumberIndex of the choice in the list.
selectedOtherbooleanWhether the "Other" option is selected.
Example:
{
"questionId": "moq_123",
"response": {
"type": "MultipleOptionsQuestion",
"componentShapeVersion": "2.0",
"headline": "Select all that apply",
"choices": [
{ "key": "Option 1", "value": true, "index": 0 },
{ "key": "Option 2", "value": false, "index": 1 },
{ "key": "Option 3", "value": true, "index": 2 }
],
"selectedOther": false
}
}Dropdown
Component Type: "Dropdown"
›Response Fields
typestringrequiredAlways "Dropdown" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
selectedstring | arraySelected value(s). Can be a single string for single-select dropdowns, or an array of strings for multi-select dropdowns.
Example (Single Select):
{
"questionId": "dropdown_123",
"response": {
"type": "Dropdown",
"componentShapeVersion": "2.0",
"headline": "Select a country",
"selected": "United States"
}
}Example (Multi-Select):
{
"questionId": "dropdown_123",
"response": {
"type": "Dropdown",
"componentShapeVersion": "2.0",
"headline": "Select countries",
"selected": ["United States", "Canada", "Mexico"]
}
}Short Input
Component Type: "ShortInput"
›Response Fields
typestringrequiredAlways "ShortInput" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
inputstringrequiredThe text input value entered by the user.
Example:
{
"questionId": "shortinput_123",
"response": {
"type": "ShortInput",
"componentShapeVersion": "2.0",
"headline": "What's your name?",
"input": "John Doe"
}
}Long Input
Component Type: "LongInput"
›Response Fields
typestringrequiredAlways "LongInput" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
inputstringrequiredThe textarea input value entered by the user.
Example:
{
"questionId": "longinput_123",
"response": {
"type": "LongInput",
"componentShapeVersion": "2.0",
"headline": "Tell us more",
"input": "This is a longer text response..."
}
}Graphic Options
Component Type: "GraphicOptions"
›Response Fields
typestringrequiredAlways "GraphicOptions" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
indexnumberrequiredIndex of the selected option.
valuestringrequiredValue/label of the selected option.
Example:
{
"questionId": "graphic_123",
"response": {
"type": "GraphicOptions",
"componentShapeVersion": "2.0",
"headline": "Choose a plan",
"index": 2,
"value": "Premium Plan"
}
}Calendly Screen
Component Type: "CalendlyScreen"
›Response Fields
typestringrequiredAlways "CalendlyScreen" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
autoscrollsbooleanWhether the component autoscrolls.
eventScheduledbooleanrequiredWhether an event was scheduled.
uristringrequiredCalendly URI for the scheduled event.
meetingTimestringMeeting start time (ISO 8601 format).
meetingEndTimestringMeeting end time (ISO 8601 format).
ownerEmailsstringOwner email address(es).
guestEmailsstringGuest email address(es).
Example:
{
"questionId": "calendly_123",
"response": {
"type": "CalendlyScreen",
"componentShapeVersion": "2.0",
"headline": "Schedule a meeting",
"autoscrolls": true,
"eventScheduled": true,
"uri": "https://calendly.com/user/meeting",
"meetingTime": "2024-01-15T10:00:00Z",
"meetingEndTime": "2024-01-15T10:30:00Z",
"ownerEmails": "owner@example.com",
"guestEmails": "guest@example.com"
}
}File Uploader
Component Type: "FileUploader"
›Response Fields
typestringrequiredAlways "FileUploader" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
fileUrlstringURL of the uploaded file.
Example:
{
"questionId": "file_123",
"response": {
"type": "FileUploader",
"componentShapeVersion": "2.0",
"headline": "Upload a file",
"fileUrl": "https://example.com/uploads/file.pdf"
}
}Disclaimer
Component Type: "Disclaimer"
›Response Fields
typestringrequiredAlways "Disclaimer" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
checkbooleanWhether the disclaimer checkbox is checked.
Example:
{
"questionId": "disclaimer_123",
"response": {
"type": "Disclaimer",
"componentShapeVersion": "2.0",
"headline": "Terms and Conditions",
"check": true
}
}Recaptcha
Component Type: "Recaptcha"
›Response Fields
typestringrequiredAlways "Recaptcha" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
inputstringrequiredThe reCAPTCHA token/response.
Example:
{
"questionId": "recaptcha_123",
"response": {
"type": "Recaptcha",
"componentShapeVersion": "2.0",
"headline": "Verify you're human",
"input": "03AGdBq25..."
}
}Password Input
Component Type: "PasswordInput"
›Response Fields
typestringrequiredAlways "PasswordInput" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
inputstringrequiredThe password value (should be hashed/encrypted).
Example:
{
"questionId": "password_123",
"response": {
"type": "PasswordInput",
"componentShapeVersion": "2.0",
"headline": "Enter your password",
"input": "hashed_password_value"
}
}Password Creator Input
Component Type: "PasswordCreatorInput"
›Response Fields
typestringrequiredAlways "PasswordCreatorInput" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
inputstringrequiredThe created password value (should be hashed/encrypted).
Example:
{
"questionId": "passwordcreator_123",
"response": {
"type": "PasswordCreatorInput",
"componentShapeVersion": "2.0",
"headline": "Create a password",
"input": "hashed_password_value"
}
}Turnstile Widget
Component Type: "TurnstileWidget"
›Response Fields
typestringrequiredAlways "TurnstileWidget" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
tokenstringrequiredCloudflare Turnstile token.
Example:
{
"questionId": "turnstile_123",
"response": {
"type": "TurnstileWidget",
"componentShapeVersion": "2.0",
"headline": "Verify with Turnstile",
"token": "0.abcdefghijklmnop..."
}
}AI Chatbot
Component Type: "AiChatbot"
›Response Fields
typestringrequiredAlways "AiChatbot" for this component type.
componentShapeVersionstringVersion of the component shape (e.g., "2.0").
headlinestringOptional headline text displayed with the component.
leadAttributestringOptional lead attribute mapping for CRM integration.
summarystringrequiredSummary of the conversation.
chatbotModestringrequiredMode of the chatbot. Can be "Conversation" or "Questionnaire".
historystringConversation history.
qnastringQ&A data if in questionnaire mode.
Example:
{
"questionId": "aichatbot_123",
"response": {
"type": "AiChatbot",
"componentShapeVersion": "2.0",
"headline": "Chat with AI",
"summary": "User asked about pricing and features",
"chatbotMode": "Conversation",
"history": "User: What are your prices?\nAI: Our pricing starts at $99/month..."
}
}