Questionnaire Designer

From Resco's Wiki
Jump to: navigation, search
Resco Academy
Resco Academy has a course on the same subject:

Questionnaire Designer, also called Inspections Designer is a web application that runs in a web browser. It is one of the main components of Resco Inspections that allows users to build questionnaires in a data-driven user interface. It utilizes a per-record architecture (not per-entity), so you don’t need to work with metadata when creating questionnaire forms – no need to have system admin access privileges and mess around with potentially risky data scheme changes.

Instead, any skilled user can design one-of-a-kind questionnaires and select the best from the wide variety of available question types: Inspectors can be asked to fill out checkboxes, select picklists, scan barcodes, take and edit photos, and much more. Conceptually, this list of questions serves both as a guidance for workers and a control tool for checking the process of inspection.

You can set up a custom business logic for your questionnaires, utilizing smart elements or questionnaire rules. Once your questionnaire is ready, you can instantly deliver it to your field team via the app.

Questionnaires and snippets

Questionnaire is the main tool of Inspections scenarios. It is a structured form consisting of set of components or question groups designed to collect, manage and store data (information) on specific topics from users.

Generally, a questionnaire is the data collecting technique that serves for:

  • Fieldwork operations – provides instructions and collects feedback from respondents.
  • Communication purposes – collects information about various issues and topics as a first-hand communication channel with respondents.

Sometimes, when the distinction is important, we use the term questionnaire template to denote the questions and set them apart from the answers. Use the designer to prepare the templates, then use the app to fill in the answers.

Snippet is a portion of a questionnaire that you can save separately. You can reuse them in the same questionnaire at multiple locations, or even in different templates. Snippets can include questions and/or groups. See this blog for tips how to speed up the setup of questionnaires using snippets. Blog

Life cycle of a questionnaire template

Lifecycle of a versioned template

Over time, you might need to modify your questions. You have two options for managing your templates.

Non-versioned templates
These templates have a simple life cycle. They start in draft status. You can then Activate them to make them available in the app, or Deactivate them to disable them. You can edit non-versioned templates at any point; it can happen that your app users manage to launch the questionnaire while you're in the middle of a change.
Versioned templates
These are useful if you expect more frequent editing of your templates and you want to avoid the potential pitfalls. Once you enable Versioning for a template, this process cannot be reversed. These templates also start in draft status. You have the option to Stage them, i.e. make them available in the app, but only for test users. You can Publish them to make them available for all users.
Once published, you cannot edit a template. However, you can Revise it to create a new version in draft status, while your app users continue to use the published version. Once you're happy with your draft or staged revision, you can publish it; moving the previously published version to archive. You can also access the version history and easily return to an older version of the template.

To control which questionnaires can users see in their app, use filters.

See also: Quick guide to versioning and folders Blog

Accessing the designer

Microsoft Dynamics CRM
Log in to Dynamics, go to Settings, and in the MobileCRM section, select Inspections. On the Inspections page, select Designer.
Resco Cloud
Log in to your organization and select Questionnaire Designer.
Log in to Salesforce, start the App Launcher, then select Questionnaire Designer. Requires Resco managed package.

Managing questionnaires

The designer main screen shows a list of your questionnaire templates. If you have many templates, you can use the left menu to filter the entries. You can also access snippets here.

Questionnaire Designer.png

The bottom right corner has a pair of buttons that allow you to switch between grid layout (default) and list layout.

The main toolbar offers the following functions (not all functions are available for snippets).

Actions group

  • New – Create a new questionnaire or snippet from scratch.
  • Edit – Open the selected item for editing.
  • Delete – Permanently delete the selected questionnaire, snippet, or folder.
  • Clone – Create a copy of the selected item. You are prompted to enter a new name for the duplicate.
  • Activate / Deactivate – Mark a template as active or inactive. Active templates are available in the app.
  • Associate – Use this function to add or remove entities to which the questionnaire should be associated. See also this blog post. Blog
  • Mobile Report – Start the Report Designer for the currently selected questionnaire template. The report is automatically associated with the questionnaire and it reuses the questionnaire's structure. See mobile reports for Resco Inspections for more information.

Data group

  • Import – Select a .qbuilder file and import it.
  • Export – Export the selected questionnaire or snippet in XML format (.qbuilder file).

Versioning group

  • Versioning – Enable versioning for a template. This cannot be reversed.
  • Version History – Show a list of versions available for this template.
  • Publish – Make the questionnaire available in the app. Similar to Activate for non-versioned questionnaires. Published templates cannot be edited.
  • Stage – Make the questionnaire available for test users in the app. Staged templates can still be edited.
  • Revise – Change the status of a template to Draft (makes it available for editing). Available for published or archived versions.
  • Archive – Mark a published template as archived: This will make the template unavailable in the app.
  • Discard – Permanently delete current draft version.

Folders group

Use folders to keep your questionnaires organized.

  • New Folder – Create a new folder.
  • Rename Folder – Rename a folder.
  • Move To – Move a template or folder to a folder.

You can also click Delete in the Actions group to delete a folder including all templates and subfolders.

Note Folders only serve to organize templates in the designer; they have no impact on questionnaire availability in the app. To modify which questionnaires are available in the app, use the view filters.

Library group

  • Sample Templates – Import sample questionnaires. Select templates from different industry verticals, such as manufacturing, property maintenance, or energy.

Editing a questionnaire

Main toolbar

Main toolbar is in the top section of the application. These are the commands available on the main toolbar.

Publishing group
  • Save – Save the questionnaire
  • Save & Close – Save the questionnaire and returns user to the home screen.
  • Publish – Make a versioned template available in the app.
  • Stage – Make a versioned template available for test users in the app.
Edit group
  • Clone – Clone/duplicate the selected component
  • Delete – Delete the selected component
Organize group
  • Move Up – Move up the selected component
  • Move down – Move down the selected component
  • Collapse All – Collapse all components in the central pane and in the Navigation pane
  • Expand All – Expand all components in the central pane and in the Navigation pane
  • Multiselect - Allow you to select multiple components. You can use the selection for example to create a snippet.
  • Create Snippet – Select multiple components (for example using the Multiselect button), then click Create Snippet and specify a distinct name to save it for later use.
  • Score – Enable or disable scoring.
  • Preview BETA – Preview the questionnaire in your browser. Rules are ignored in preview mode. You must save the questionnaire at least once to allow preview.
Rules group
  • On Load – Executed when the user starts filling out the questionnaire
  • On Save – Executed when user completes the questionnaire
  • On Change – Executed each time a value of a question is changed by the user
  • On Repeat – Executed when a new instance of a question group is created
  • On Delete – Executed when an instance of a question group is removed from the questionnaire
Commands group
  • Edit – Select which commands should be available in the app for users who fill out a questionnaire.
  • On Can Execute – Using rules, configure when a command is available.
  • On Execute – Using rules, configure what happens when a command is executed.
Use styles to modify how the questionnaire appears in the app. You can change for example text color, alignment, position of questions and answers, etc.
Use localization to define language mutations for your questionnaire.

Navigation pane

The Navigation pane shows a chronological list of components within a questionnaire, similar to a table of contents. Selecting a component in the Navigation pane also selects it in the main central pane and displays component's details in the properties pane on the right. For longer questionnaires, you can collapse groups for additional overview. You can also use Multiselect components here.

Components pane

The Components pane shows a list of available components or building blocks that you can add to your questionnaire.

The main component of a questionnaire is a group. It its a collection of questions. Typically, it is used to categorize questions by relevance.

Static components

Static components are designed to show static text, images, links or entity links. These components cannot be changed by user filling the questionnaire template.

Component Description
Logo Allows you to upload your company's logo (or any other image). Each questionnaire template can have only one logo. It is placed on top of the questionnaire. The same image can also be used for the automatic report.
Description Adds a section for describing questions, questionnaire sections or for providing any other information for user, other than a question. It consists of a label and a description part and can be used as a separator component.
Link Adds a static link.
Entity Link Adds a section with a static link on an entity record. It is possible to set the label, description of a section and label for the link. Clicking on “Click to select…” opens a window where an entity and its record that is going to be linked, is set. A typical use case for this component is to provide additional documentation (manual, scheme, or legal information) for a question.
Static Image Adds a section with a static image on a questionnaire template. It is possible to set the label and description of the image.


Questions are components that you can add to the questionnaire and users can or must provide an answer in some form.

Component Description
Text Add a question type of a single line of text.
Multiple Lines of Text Add a question type of multiline text on a questionnaire template.
Single Choice Add a question with multiple answer options on a questionnaire template. Users can only select one of the available answers. Single Choice also comes with a built-in search option, users can start typing their answer to quickly find it in a large list.
Multiple Choices Add a question with multiple answer options on a questionnaire template. Users can select multiple available answers.
Whole Number Add a question that requires a whole number as an input. The number has to be in between the minimum and maximum limits if they are set.
Decimal Number Add a question that requires a decimal number as an input. The number has to be in between the minimum and maximum limits if they are set. Users can also specify precision for the input that represents the number of decimal digits.
Checkbox Provide users with a switch between two values. You can set the label for each.
Option Set It's similar to the Single Choice component, but each item is composed of a text label and number value. The number is saved as the answer.
Date Add a field to the questionnaire template to enter date data.
Date and Time Add a field to the questionnaire template to enter the date and time.
Lookup Add a field to a questionnaire that can be answered by selecting an entity record.
Image Add a question that requires a picture as an input. Image is stored as Note image. Optionally, select the image question and check Image Description on the Properties pane to add an optional text field under the image.
Tagged Image Add a question that requires a picture as an input. Additionally, you can mark portions of the image with tags.
Image Recognition Add a question that requires a picture as an input. Uses AI Image Recognition for further processing.
Signature Add an input for the signature. Signature is stored as Note image.
Email Add an input for the email address.
URL Add an input for a specified URL.
Barcode Add a way to scan a barcode.
HTML Add a text field for a web address.

Some question types might be unavailable if your inspectors are using smartwatch or voice to perform the inspection; see supported question types.

Regarding lookup component

Component Description
Regarding Lookup Regarding lookup is a special component. When you open the questionnaire from an entity record, this field is automatically filled with the record. In this case you might just want to display it on screen. Alternatively, when you start the questionnaire from the home screen, this field will not be filled automatically; the user of the mobile app can select an entity record there.

Snippets pane

The Snippets pane shows a list of available snippets that you can add to your questionnaire.

Properties pane

When you select a component in a questionnaire or snippet, the properties of the component are displayed on the right side of the window.

Basic properties
  • Id – Each component has its own unique ID. Users can’t change it.
  • Name – User can edit the displayed name for any component. It can be changed at any point, however, if the displayed names are used in any rules, you must change the rules as well.
Properties on Questionnaire level
  • Label – The displayed name of the questionnaire.
  • Dependency Level – Should the questionnaire answers be saved in a self-contained way (independent from the questionnaire template, duplicating all template data), or save only answers and link to the original questionnaire template. See performance considerations for details.
  • Version Name – Internal name of the versioned questionnaire. You set it when you enable versioning for a template; it cannot be changed afterward.
  • Version – Number of the version. Assigned by the system, cannot be changed.
  • Status – Questionnaires start in Draft status. Status cannot be changed on the Properties pane, use toolbar buttons instead. Available values depend on whether the questionnaire template is versioned or not:
    • Non-versioned: Active, Draft, Inactive
    • Versioned: Draft, Published, Staged, Archived
  • Answer Storage – Select how should the answers be stored:
    • Records: This is the default option. Each answer is transferred as a single record during synchronization. This may make synchronization slower, but ensures the best compatibility with the backend servers and allows you to leverage existing tools to visualize the data.
    • JSON or Compressed JSON: These options offer improved synchronization performance, however, not all tools understand JSON.
  • Reuse Answers – Select whether answers from previously completed questionnaires should be prefilled on new questionnaires:
    • Never: Do not reuse.
    • First Match: Take answers from the first completed questionnaire that the system can find.
    • Ask User: User can decide whether to prefill answers or not.
    • Select by User: User can select from a list of previously completed questionnaires.
  • Reuse Fetch – Click to display the Filter editor where you define or modify the list of questionnaires available for reuse.
  • Validate On – Select when to validate answers: when saving or when completing the questionnaire.
  • Rules version – Select which version of rules to use. Questionnaires created before release 13.1 use version 1 of the rules. Questionnaires created after use version 2. See Editing rules section below for more information.
  • Scoring – Assign a score to each answer to quickly measure questionnaire results. See Scoring.
  • Last Modified On – Date and time of the last time the template was modified.
  • Last Modified By – User name of the user who saved this template for the last time.
  • Script Path – Path to the offline JavaScript file that offers enhanced logic to the questionnaire.
  • Questionnaire Icon – You can upload an image that will be used as the icon for the questionnaire in the app.
  • Storage Entity – Select the entity for storing the questionnaire icon.
Properties on Question level
  • Style – User can choose from the offered component styles
  • Show on report – when enabled, the component is visible on the report.
  • Image Description – available for image components, this adds a text field under an image question that serves as an image description.
  • Filter – for lookup questions, you can set up filter the available records or change the sort order.
  • Reuse – prefill answer for this question
  • Format – some components offer the additional option to select the desired format.
  • Storage – for image-type questions, select the entity where the image is stored
Actions for image-type questions
  • Action Mask – numeric representation of the actions selected below
  • Signature – allow user to answer the image question by drawing a signature
  • Capture Photo – allow user to answer the image question by capturing a photo
  • Select Photo – allow user to answer the image question by selecting from your existing photos
  • Select File – allow user to answer the image question by selecting from files
  • Record Audio – allow user to answer the image question by recording an audio message
  • Record Video – allow user to answer the image question by recording a video message
  • Import
  • Edit Image – allow user to edit the image
Properties on Group level
  • Repeatable – Repeatable groups may appear in your questionnaire multiple times.
  • Min Repeat Count, Max Repeat Count – Specify how many instances of a question group are allowed.
  • Copy Values – Prefill answers to the questions in a repeated group based on the previous answers. This is useful when most of the entered values don't change.

See also smart question properties below.

Managing components

  • To add components to a questionnaire or snippet, go to the Components pane and click the plus sign (+). The chosen component is added into or under the currently selected component.
  • To select a component, click it - either in the Questions pane or in the central pane.
  • To move a component to a different location, click the left part of the component and drag it to the right spot. Alternatively, use the Move Up and Move Down toolbar buttons.
  • To toggle visibility of a component, use the eye icon or change the Visible property on the Properties pane.
  • To mark a question as mandatory, click the exclamation point (!), or change the Required property on the Properties pane.
  • To create a duplicate of a component, click Clone.
  • To delete a component, click Remove.

Smart question properties

You can add no-code business logic to your questionnaire.

  • On each question, you can select the "smart" option for controlling whether a question is visible, enabled, and required.
  • On each group, you can select the "smart" option for controlling whether a group is visible and expanded.
  1. Select a question (or group).
  2. Click one of the business logic buttons Smart question properties.png directly on the question and select Smart.
  3. In the Smart question editor, specify when should the question be visible, enabled, or mandatory. Build conditions by clicking and selecting the appropriate option from a drop-down list.
    Smart question rule.png
  4. You can specify multiple conditions and group them using logical and or or operators.
  5. Click OK to save the conditions.

Use colors to identify how a particular smart property is configured:

Smart question properties with colors.png

  • Blue means yes or true (for example, a question is enabled or visible)
  • Grey means no or false (for example, a question is hidden or not required)
  • Green means smart, i.e., smart question properties are enabled for this question or group. To disable the smart logic, click the green button to open the conditions editor and then click Reset.
Note Alternatively, you can use rules or JavaScript to add more advanced business logic to your questionnaire.

Smart default values

For many question types, you can configure a default value. These defaults can include values from the entity record, from which you open the questionnaire. For example, for text type questions, it might make sense to offer your record's city or the name of the current app user.

Smart default value.png

You can select the value from a list. You can even combine the values with your own text, for example, the default for a favorite restaurant could be "The Best Sushi in {{Regarding.City}}".

These smart default values work best if you are using the default entities and with default fields. The system attempts to map the selected smart default to an entity field. For example, the smart default value Contact Name, if you are on the contact entity, it's simply the field; if you are on the account entity, it's the primary contact reference field.

See also: ConfigurationSmart default in action YouTube

Smart styles

In the case of numeric questions and option sets, you can add a specific style to the values that are answered.

Smart style.png


Questions are usually organized into groups. One of the advantages of groups is that they can be set as repeatable. Instead of creating a questionnaire with the same set of questions multiple times, repeatable question groups offer the ability to repeat the grouped questions either arbitrarily (not known beforehand) or precisely specified number of times.

Repeatable question groups are useful in cases such as when:

  • User needs to enter multiple addresses
  • User needs to enter data about more than one result of the same issue (checking 10 identical parts of a machine)
  • User needs to enter multiple pictures of the same object

Use the group property Copy values if you want that the answers to the questions in a repeated group are pre-filled based on the previous answers. This is useful when most of the entered values don't change.

Individual questions have numerical indexes, question groups have alphabetical indexes and they are sorted alphabetically.

Question groups are always displayed after the questions with numerical indexes. It is not possible to re-position question groups, only sort them by changing their alphabetical index. For example, it is not possible to put the question group B between questions with indexes 2 and 3, but it is possible to place the question group B instead of question group A, changing its position within the question group section.


The lookup question allows the user to answer by selecting an entity record. When designing a lookup question:

  • You must select one or more entities as target(s) of the lookup.
  • You can configure a filter to display only the relevant records to the user.
  • You can configure a custom view that is displayed in the app to locate the record. Click the View icon in the target entity row and define up to 7 fields that should be displayed in the view.
    If this custom view does not exist, the app uses the lookup view for the entity (if any), or simply the default view.

Tagged image

The tagged image question allows the user to capture or select an image, and then drag tags onto the image. On devices that support augmented/virtual reality, such as HoloLens, you can instead capture a holographic scene. In the questionnaire template, each tag is actually a question group. Users can add information to each tag. If the question groups are repeatable, the tag can be dragged to the image multiple times.

  1. Edit a questionnaire template.
  2. Go to the Components pane and add a Tagged Image to the template.
  3. Add one or more question groups to the template. For example, create repeatable groups called Person and Thing.
  4. Add some questions to each group. For example, into the Person group, add a Text question called Name and a Whole Number question called Age.
  5. Select the Tagged Image question created in step 2. On the Properties pane, check what Actions should be available: Capture Photo or Select Photo. By default, both are enabled.
  6. In the Allowed Groups selector under Tagged Image, select the question groups that you want to be available as tags, then click + button to add them.
  7. For each added group/tag, you can then:
    • Select the background color of your tag
    • Upload an icon that appears in the center of your tag.
    • Mark the tag as mandatory.


Questionnaire scoring is a function that allows you to assign a score to each answer, and depending on the total score, you can quickly evaluate how a questionnaire was answered, for example, pass or fail.

  1. Enable scoring: Edit a questionnaire template, select the questionnaire body, and on the Properties pane, set Scoring to enabled.
  2. For each question set a score value.
    • For some questions, for example, text or image, you can assign a single score for answering the question.
    • For multiple-option questions, you can define a score for each option.
    • For numbers, you can define ranges and a score for each range.
  3. Optionally, scroll down to the end of the questionnaire template to the Questionnaire Result section and define labels to score ranges. Ranges can overlap; the first matching range is used as the questionnaire result.

The final score or the result is displayed for completed questionnaires in the app and also in the Results Viewer.

Editing rules

Rules describe sequences of steps that are executed when a user is filling out the questionnaire. These steps allow you to further customize the questionnaire form’s design and usage (hide or disable form fields, assign values to them, etc.). To create a rule, open the Rules editor by clicking on the corresponding event button.

  • On Load rules are executed when users start to fill out the questionnaire.
  • On Change rules are executed whenever users change any value. On Change rules are also executed when a questionnaire is first displayed.
  • On Save rules are executed when users complete a questionnaire (just before).
  • On Repeat rules are executed when a new instance of a repeatable group is displayed.
  • On Delete rules are executed when an existing instance of a repeatable group is deleted.
  • On Can Execute rules configure when a command is available.
  • On Execute rules configure what happens when a command is executed.

In the rules editor, add rules and conditions using the toolbar to create your rule script.

Steps group
  • Step – Step is a specific action that can be defined within the condition branch or separately in the rule. Once it is a part of the condition branch, the step begins after its preceding condition is met. To move a step in the rule editor use arrows in the editing line. To delete it, use the delete button in the same line.
  • Say text – When the rule condition is fulfilled, a message window with chosen text appears on the user’s screen. This button serves as a means of setting the message text.
  • Scan Image – Allows you to initiate barcode scanning or image recognition, resulting barcode or recognized image is saved to a string.
  • Variable – define a variable that is added into the Property selector of the rule. This variable will be only used for the specified rule. Remember that you can only use this variable after the step where it was defined. To enter a variable into the workflow after defining it, just click elsewhere the variable editor. To delete it, click on the variable and choose the delete option in the editing line.
  • Shared variable – add a variable which covers the entire questionnaire form
Conditions group
  • If – The first condition contains the label “If” and the condition string. The conditional branch consists of the condition and steps that are executed only when the condition is valid. Steps and variables are displayed in the “Then” or “Begin” section. All parts of the rule can be modified or re-ordered using the up and down arrows at the end of the editing line.
  • Else – Using this option, otherwise branch of the condition will be added to the actual (selected) condition. The "Otherwise" part of the rule condition prevents the user from experiencing unexpected, incorrect behavior.
  • Condition – adds another condition to the same if
  • Group And / Group Or – select two or more conditions and choose whether all need to be met or only one of them
  • Ungroup – Selected condition consisting of several conditions is divided into separate conditions

See Questionnaire Designer examples for a few sample rules.

Rules version

For each questionnaire, you can define the version of the rules used in the parameter Rules Version on the Properties pane on questionnaire level. This affects the execution of On Change rules.

  • In version 1, when a question is changed, all the OnChange rules are executed (the rules defined on root level and also for all groups).
  • In version 2, root rules are executed always. Group rules are executed if the question belongs to that group or depends on it. (The On Change rule depends on a question if it uses that question and that question is not a context question of that rule. Context questions of the rule are listed under the Questions property.)

When a questionnaire is loaded

The following rules are executed when a questionnaire is loaded:

  • For every question of the questionnaire, the On Change rules are executed.
    • The IsLoaded property equals false.
    • The ChangedItem property equals the name of the question.
(In version 1, if you had N questions and M groups, the On Change workflow was executed N*(M+1) times in the load phase. It is recommended to use IsLoaded property in On Change rules to speed up the loading process of the questionnaire.)
  • The On Load rules for root level and group level are executed once.
    • The IsLoaded property is set to true.

When a question is changed

The following rules are executed when a question is changed:

  • The On Change rules are executed as described above.
  • The ChangedItem property contains the name of the changed question

When a questionnaire is completed

  • All On Save rules are executed.

When a repeatable group is repeated

The following rules are executed when a new instance of a repeatable group is created.

  • On Change is executed for every question of the group (IsLoaded is set to false)
  • On Load of the group is executed.
  • On Repeat of the group is executed.

When a repeatable group is deleted

  • On Change is executed for every question of the group
  • On Delete of the group is executed

Interaction with smart rules

Smart rules are a simplified version of the rules. The process of creating is simplified, however, under the hood, the classic rules are generated. These workflows are stored on a question and are combined at the execution time with On Change rules as follows:

  • When the questionnaire loads and the scripts are initialized, the question's smart rules are appended just before the On Change rule. If the question is in a group, the smart rules are appended before the group's On Change rule; if not, the smart rules are appended before the root On Change rule. Group smart rules are always appended to the root On Change.
  • The whole smart rule section of the group or root On Change is automatically placed under the condition IsLoaded == true. In this case, the same smart rules are not executed multiple times during the load phase. See section When a questionnaire is loaded.
  • In a similar way, the smart rules are appended before the On Load rules and are executed exactly once when the questionnaire is loaded.

Advanced note: The smart value rule that sets the style and score is further encapsulated in the ChangedItem == questionname condition because only that question's value is used in its condition.

Scoring in rules

With questionnaire scoring, introduced in release 13.1, users can react on a change in a score or result in rules. If the score or the result of the questionnaire changes, the root On Change is executed and the ChangedItem is set to Score or Result.

Editing styles

You can use hand-crafted styles to customize the design of your questionnaire. Styles apply to question blocks (combination of question and answer).

  • To assign styles, select a question and then choose the style on the Properties pane. You can also change this assignment via rules.
  • To modify or add new styles, click Styles to open the styles editor.

The designer comes with multiple predefined styles. You can use the toolbar buttons Add or Clone to create new styles. Click Delete to remove styles.

See Style editor for more information.


You can add multiple language mutations for your questionnaire templates. App users can answer the questionnaire in their language. In addition to the questionnaires, automatic reports are also localized (in the language of the app).

Take also A closer look. Blog

Adding a new language

  1. Click Localization.
  2. Click Add and select a language, then click OK. All localizable strings are displayed.
  3. Translate all the strings that you need. The following strings can be localized:
    • For a questionnaire, the name, description, and result.
    • For a question: label, description, on label, off label, option items, single-choice and multiple-choice strings
    • For a group: group name
    • You can also add custom strings, see here.
  4. By default, the questionnaire is displayed in the language of the app (configured in Setup/Settings). If your app does not offer the language you need, Woodford administrator must enable the language in the organization; see localization.
    Optionally, you can set Language Selection to Selected by User so that users can select from the full list of available questionnaire languages.
  5. Save everything and verify the result in the app.


If you want to have texts translated by a person without access to the questionnaire designer, you can export the localization to a file, have it translated, and import the result back.

Localizing custom strings

In addition to the texts for all the questions and options, you can also define custom strings that can be localized. You can then use these custom strings in rules, for example, to display a custom message to the user, or to modify the form caption (described in the example below).

  1. Edit a language and click Add custom string.
  2. As the name, enter the internal name of the string. As a label, enter the text in the default language. Optionally, you can format the string using curly braces, for example, Hello, {0}.
  3. Click OK to save the string.
  4. Add the localized text, then save and close localization.
  5. Click On Load to add a new rule that changes the form caption to the localized string.
    Custom string rule.png

Configuring commands

You can configure commands available in the app when answering a questionnaire. This works similarly to Form commands in Woodford.

  1. Edit a questionnaire template.
  2. Click Edit to open the command configuration window.
  3. Move commands from the Available Commands pane to the Selected Commands pane.
  4. If a command has multiple options (like Run report), select it and click Properties to configure the available options.
  5. Click Save & Close.

Available commands

  • Complete and close
  • Complete with a report
  • Run report
  • Cancel the questionnaire
  • Clear answers

You can also create custom commands. Use the rules On Execute and On Can Execute to make the command to actually do anything.

Mobile reports

Resco platform comes with a powerful reports function that allows app users to generate reports on their devices, even offline. See mobile report for more information.

In the case of questionnaires, you can automatically create a mobile report that mirrors the structure of your questionnaire: just select a template in the questionnaire list and click Mobile Report. This opens the Report Designer tool that you can use to customize your report if needed.

App users have the option to complete questionnaires with a report, or they can generate a report on demand.

If you decide to create a report for your questionnaire from scratch, we recommend that you look at an automatic report for inspiration. See also the examples here.

Technical information

All questionnaire data is saved as records on your backend server (Resco Cloud/Dynamics/Salesforce), in multiple custom entities:

  • Resco Questionnaire stores information about the questionnaire as a whole.
  • Resco Question Group stores information about the question groups and the questions it contains.
  • Resco Question stores all the questions created for the questionnaire, as well as answers. The answers are stored in the resco_value field.
  • Resco Questionnaire Folder stores information about the folder structure that organizes questionnaire templates in the designer.

When an app user starts a questionnaire in the app, a new copy of the template is created. For an answered questionnaire, we store both questions and answers. This approach ensures that when you change your questionnaire template, existing answered questionnaires are not affected; historical records are not altered.

See also: Dynamics 365 – how is the data stored? Blog

Data model

Questionnaire data can be saved in three different ways:

  • Record-based model (default): Each answer in a questionnaire is a record.
  • JSON / compressed JSON: Answer are stored in JSON format that might be compressed. JSON requires fewer records and may result in faster synchronization. However, analyzing the answers may require additional effort.
  • Hybrid model (planned for a future release): Combination of the previous two models. For each question, you can configure what you prefer.

The data model can be configured on the Properties pane, in the Answer Storage field.

Completion status

A questionnaire has a status field that can take three values:

  • [0] Active (incomplete, in progress)
  • [1] Completed
  • [2] Canceled

See also