Create Personality Test
When building a personality test you can add:
- SingleChoiceand- MultipleChoicequestions
- Form fields
- General blocks
- One result page
Setting personalities
For each personality test build configuration you must define at least two personalities. This is done in the personalities property of the build object.
Properties
| Property | Required | Type | Description | Default | 
|---|---|---|---|---|
| title | ✓ | string | The title of the personality | |
| description | string | The description of the personality | ||
| media | string | A media URL to an image to display as part of the personality | 
Example
For the example let's add a SingleChoice question (which is described further in the next section):
{
    "type": "Personality",
    "build": {
        "personalities": [
            {
                "title": "Introvert",
                "description": "Prefers solitary activities and quiet environments.",
                "media": "https://example.com/introvert.jpg"
            },
            {
                "title": "Extrovert",
                "description": "Enjoys socializing and being around others.",
                "media": "https://example.com/extrovert.jpg"
            }
        ],
        "blocks": [
            {
                "title": "Do you enjoy social gatherings?",
                "type": "SingleChoice",
                "items": {
                    "Yes": {
                        "scores": [0, 1]
                    },
                    "No": {
                        "scores": [1, 0]
                    }
                }
            }
        ]
    }
}
Add single/multiple choice questions
Properties
| Property | Required | Type | Description | Default | 
|---|---|---|---|---|
| title | ✓ | string | title of the question | |
| type | ✓ | string | set to SingleChoiceorMultipleChoice | |
| items | ✓ | object | key-value array, consisting of the question as the key and the value is an object, see specification below | |
| itemsShuffled | boolean | If set to true, the order of the items/choices will be shuffled | false | |
| layoutType | string | The layout of the items, either RowsorColumns | Rows | 
Example object
{
    "title": "Do you enjoy social gatherings?",
    "type": "SingleChoice",
    "items": {
        "Yes": {
            "scores": [0, 1]
        },
        "No": {
            "scores": [1, 0]
        }
    }
}
Each item in the items object consists of:
| Property | Required | Type | Description | 
|---|---|---|---|
| scores | ✓ | integer[] | An array of integers representing the score for each personality. The order of the scores must match the order of the personalities defined in the personalitiesarray. | 
Result page
In a personality test only one result page is allowed which is specified in build.result. Basic results have a title and description property.
Example in build.result:
{
    "title": "Thank you!",
    "description": "We are happy to have you here"
}
Tip: The "winning personality" and "other personalities" are available as blocks in the result page (also used in the full example below). Use them along text, images, etc to create a more engaging result experience. Learn more
Full example
{
    "type": "Personality",
    "build": {
        "title": "Personality example (Builder API)",
        "personalities": [
            {
                "title": "Pikachu",
                "description": "You are energetic and love to be around friends."
            },
            {
                "title": "Bulbasaur",
                "description": "You are calm and enjoy nature."
            }
        ],
        "blocks": [
            {
                "title": "Which vegetables do you like?",
                "type": "MultipleChoice",
                "items": {
                    "Carrot": {
                        "scores": [
                            0,
                            1
                        ]
                    },
                    "Broccoli": {
                        "scores": [
                            1,
                            0
                        ]
                    },
                    "Spinach": {
                        "scores": [
                            0,
                            1
                        ]
                    }
                }
            },
            {
                "title": "What is your favorite time of the day?",
                "type": "SingleChoice",
                "items": {
                    "Morning": {
                        "scores": [
                            1,
                            0
                        ]
                    },
                    "Afternoon": {
                        "scores": [
                            1,
                            0
                        ]
                    },
                    "Evening": {
                        "scores": [
                            0,
                            1
                        ]
                    }
                }
            }
        ],
        "result": {
            "blocks": [
                {
                    "type": "WinningPersonality"
                },
                {
                    "type": "Text",
                    "text": "<h2>Thank you for taking the test!</h2><p>We hope you enjoyed finding out which pokemon matches your personality.</p>"
                },
                {
                    "type": "OtherPersonalities"
                },
                {
                    "type": "Share",
                    "title": "Share this personality test!"
                }
            ]
        }
    }
}
Next steps
Now that you know the basics of building a personality test, you might want to learn how to:
- Add form fields to your Riddle
- Use the Ad block to monetize your Riddle or add Content blocks
- Define the publish settings: Enable DOI, email automation, add integrations, and more
- Define the preset and palette you want to use
- Define the logic / flow of your Riddle
- Build an advanced result page
- Add media, such as images, videos, and social media content

