Search the knowledge base, browse our resources, and visit our Community Forum for more detailed information
Last updated: 29 Jul 2026
Custom submission messages allow you to display a tailored message after a respondent successfully submits a form.
Custom submission messages can be used to:
Confirm event registrations: For example, to confirm registration, provide event details, and include a calendar download link.
Provide conditional incentives: To display a message based on a respondent’s eligibility, such as a coupon code or thank you message.
Support follow-up workflows: To display a ticket number, a summary of submitted data, or a link to the next step in a process.
This feature must be configured in XLSForm.
To set up a custom submission message in XLSForm:
In the settings sheet, add three columns: name, namespaces, and attribute::kobo:submitMessage
In the name column, enter data
In the namespaces column, enter kobo="http://kobotoolbox.org/xforms"
In the attribute::kobo:submitMessage column, enter /data/submitMessage.
settings sheet
name |
namespaces |
attribute::kobo:submitMessage |
|---|---|---|
text |
kobo=”http://kobotoolbox.org/xforms” |
/data/submitMessage |
settings |
In the survey sheet, create a calculate question.
In the name column, enter submitMessage
In the calculation column, enter the confirmation message you wish to use.
survey sheet
type |
name |
label |
calculation |
|---|---|---|---|
calculate |
submitMessage |
|
|
survey |
For an example of this feature in practice, download a sample XLSForm here.
You can use functions and Markdown in the calculation column to customize the message.
Use if() to display different messages based on form responses.
For example: if(${eligible} = 'yes', 'You are eligible.', 'You are not eligible.')
Use jr:choice-name() to display the label of a selected choice instead of its choice name.
For example: concat('You are registered for ', jr:choice-name(${event}, '${event}'))
Use Markdown to add formatting to the submission message, such as hyperlinks, bold text, italic text, or lists.
For example: '**Congratulations!** You are eligible. Click [here](http://kobotoolbox.org) for more information.'
For more information on formatting text using Markdown, see Styling your forms using XLSForm.
For multilingual forms, you can display the submission message in the language selected by the respondent.
To configure multilingual submission messages:
In the survey sheet, create a select_one question to store the message.
Enter false in the relevant column to hide the question in the form.
In the choices sheet, add the submission message as a choice.
Translate the choice label into each form language.
In the calculation column of the submitMessage row, enter: jr:choice-name('choice_name', '${question_name}')
choice_name is the name of the choice where your message is stored
question_name is the name of the select_one question created above
The submission message will appear in the language selected at the top of the form.
For an example of a form that displays a submission message in multiple languages, download a sample XLSForm here.
Custom submission messages are intended for use with web forms. They work only with the following data collection modes:
Online-Only (single submission)
Online-Only (once per respondent)
They may also appear in KoboCollect, but KoboCollect treats the message as plain text, so Markdown formatting and links are not rendered. Consider your data collection method and test the message before collecting data with your form.
Did you find what you were looking for? Was the information clear? Was anything missing?
Share your feedback to help us improve this article!
KoboToolbox is maintained by Kobo Inc.