Field plug-in catalog

Before exploring the catalog, we suggest that you read the guide to field-plug-ins. Also, click on the "Follow" button in the top right to learn about new field plug-ins that are published.

This catalog is a curated list of available field plug-ins for use in SurveyCTO form designs. Each one contains a brief description, and links below for downloading the plug-in file, as well as links to any available documentation, guides, and sample forms for that plug-in. 

For those looking to transition away from face-to-face data collection, the call-phone-number and launch-sms field plug-ins are used in our computer-assisted telephone interviewing (CATI) starter kit. Find these two in the integration field plug-in category.

Table of contents

Either scroll down or click on a category of field plug-in to jump to that section:

  1. Baseline field plug-ins: For use as templates for designing new field plug-ins, but also contain useful improvements over default field functionality.
  2. Integration with outside applications: Connect SurveyCTO Collect with other applications and services.
  3. Timed data collection: Impose time limits and/or record elapsed time. 
  4. New data input modes: Offer new ways to input data into forms.
  5. Simplified data input options: Familiar data entry, simplified through added convenience.
  6. Web services: Connect your forms to useful web services.

Baseline field plug-ins

While the baseline field plug-ins are intended as templates for developers, they have improvements over default SurveyCTO field functionality that can be useful for non-developers. By using baseline field plug-ins as templates, the same general improvements can be added to new field plug-ins. Download the baseline field plug-ins here and read below about their general improvements over default functionality

HTML label styling support with baseline-select_one and baseline-select_multiple

The labels of choice lists options can now be styled using HTML tags, just like with field labels when using the baseline-select_one and baseline-select_multiple field plug-ins. Just add HTML tags directly into the label with your actual content.

Download baseline field plug-ins above.

Right-to-left languages support with baseline-select_one and baseline-select_multiple

If you use a right-to-left language (like Arabic) in your form, and you would like the choice lists in your select_one and select_multiple fields to reverse direction for that language, you can use the baseline-select_one and baseline-select_multiple field plug-ins. These field plug-ins will make choice lists responsive to the current form language, positioning the radio buttons and checkboxes to the right of the choice label for right to left languages (and leaving the default behavior for left-to-right languages).

Download baseline field plug-ins above.

Render HTML returned in field references in all baseline field plug-ins

All baseline field plug-ins (including the baseline-select_one and baseline-select_multiple field plug-ins above) improve field labels support by rendering HTML returned in field references. In more detail, when a value is returned and displayed in a field's label using the ${fieldname} syntax, if that value included HTML, those tags would be rendered through the use of a baseline field plug-in (or any field plug-in that was created using a baseline field plug-in as a template). For an example, see this sample form.

Download baseline field plug-ins above.

Integration with outside applications

Find field plug-ins that integrate with other apps and services here. Field plug-ins that achieve integrations with other Android apps do so using intents

Launch a phone call with call-phone-number

The call-phone-number field plug-in launches a dialer on the target platform, populating it with a phone number captured in the form, ready to be called. Use this field plug-in to easily implement computer-assisted telephone interviews (CATI), or launch and dial a phone number for any other purpose.

User guideDocumentation | Plug-in file | Sample form

Send an SMS with launch-sms

The launch-sms field plug-in launches an SMS application on the target platform, populating it with a phone number and message stored in the form, ready to be sent by the user. This SMS might contain important feedback for the respondent determined in the form. For example, the SMS could contain the details of an assessment, an appointment to be kept, or a receipt for a transaction.

User guide | Documentation | Plug-in file | Sample form

Timed data collection

Field plug-ins add capabilities for time-limiting activities, and measuring how much time an activity took. Find all of our time-related field plug-ins in this category.

Time-limit responses with timed-advanced

The timed-advanced field plug-in makes it possible to specify a time limit to answer a field. When time runs out, the form will automatically advance to the next screen whether an answer has been supplied or not. en time runs out, the form will automatically advance to the next screen whether an answer has been supplied or not. No pressure!

Documentation | Plug-in file | Sample form

Time progress with a task using counter-with-stopwatch

With counter-with-stopwatch, you can track exactly how long a task takes to complete, and also count the number of times a certain event occurs. For example, during an early grade reading assessment (EGRA), you can check how long it takes for a respondent to read a section of text, and use the counter to track how many times the respondent mis-reads a word. Use this field plug-in for any simple counting task where you need to know the duration.

Documentation | Plug-in file | Sample form

Track progress for a task against a time limit using counter-with-timer

With the counter-with-timer field plug-in, you can count the number of times an event occurs in a set period of time. For example, as part of EGRA, you can track how many sentences a respondent can read in one minute. Use this field plug-in for any time-limited simple counting task.

Documentation | Plug-in file | Sample form

New data input modes

Entirely new modes of data collection are offered through this category of field plug-ins. Use these field plug-ins to offer new, intuitive approaches to collecting more accurate data.

Add clickable images with clickable-svg

With the clickable-svg field plug-in, you can offer an alternative method for collecting categorical data. Instead of a list of choices with radio buttons, present an image with a clickable or tappable region, and the user will make their selection by tapping on a specific part of the image. Conventionally, this would be ideal for situations where choices are parts of a whole, and where a visual approach to presenting answers has advantages. For example, you can have an image of the human body, and the respondent can tap to show where they hurt. Field plug-ins like this one will go some way to making forms a little more user-friendly, especially for low-literacy populations.

To use this field plug-in, users will need to generate their own Scalable Vector Graphic (SVG) files. Look at the More resources heading in the GitHub repository to learn more.

Documentation | Plug-in file | Sample form

Add continuous sliders using slider and slider-label

The slider and slider-label field plug-ins offer an alternative to SurveyCTO's likert field appearance option. These plug-ins work with integer and decimal field types as opposed to select_one. These slider type plug-ins have a number of advantages, allowing for wide value ranges, free-flowing refinement of inputs.

For capturing more subjective inputs, use the slider field plug-in.

Documentation | Plug-in file | Sample form

For scenarios requiring greater precision, use the slider-label field plug-in with a marked scale to guide the user.

Documentation | Plug-in file | Sample form

Easily rank choices with ranking-choices

Use this field plug-in to easily drag-and-drop choices to rank them in a select_multiple field on a single screen. It will store a space-separated list of values in rank order.

Documentation | Plug-in file | Sample form

Simplified data input options

While you'll recognize these field types, these field plug-ins offer improvements to help simplify familiar data entry tasks.

Present a choice list in sortable, filterable table using table-list

Use table-list to present a select_one or select_multiple field as a table of choices with many attributes. Enumerators can sort that table's attribute columns by tapping on the headers, and filter it using search terms, to help you find the choice you are looking for. Use table-list to make long lists of people, place names, occupations, or medications (just a few examples) easy to navigate.

User guide | Documentation | Plug-in file | Sample form   

Search choice lists on the same screen with search-select_one and search-select_multiple

The search-select field-plug-ins allow enumerators to filter the choices listed in select_one and the select_multiple fields. This is useful when you have to choose from long option lists. By typing in a search term or part of the term, the options will be filtered accordingly on the same screen.

Add buttons to collect standard responses using extra-buttons

With the extra-buttons field plug-in, you can make your forms more intuitive and easier to complete by including buttons for standard responses on screen for supported field types that don't use choice lists. The historical convention in SurveyCTO has been to tell the form's users to enter special numeric codes that represent standard responses like "don't know" and "refused to answer" when asking for numeric inputs. Using this field plug-in, you can add intuitive "don't know" and "refused" buttons in any language which will correspond with special codes that get automatically filled into the field. 

Small usability improvements can help you improve the quality of data in aggregate, with fewer mistakes being made in the field.

Documentation | Plug-in file | Sample form

Web services

While SurveyCTO has always facilitated 100% offline data collection, field plug-ins are built on web technology, making it easy to connect and integrate with web services. These field plug-ins work in both web forms and the SurveyCTO Collect mobile app, although they require an internet connection.

Embed YouTube videos with scto-youtube

With this field plug-in, you can easily embed a YouTube video into your form by simply copying-and-pasting the video's URL. That way, the whole form can be completed in SurveyCTO Collect without needing to switch apps to watch a video. The device will however require an internet connection in order to play the video. If you will need to play the video without an internet connection, download the video file, and attach it directly to the form, as illustrated in the product documentation on including media, using a field's media:video parameter.

This field plug-in was developed by Mehrab Ali of Innovations for Poverty Action.

Documentation | Plug-in file | Sample form

Collect IP addresses with get-ip-address

Use the get-ip-address field plug-in to record the IP addresses of respondents in web forms. For projects where there are concerns about privacy, there is also an optional parameter to store the hash of the IP address, to anonymize it. Lastly, due to how field plug-ins work in their current form, this field plug-in needs to be attached to a visible field in the form design, so consider displaying a message that must be read for long enough to get the IP address.

User guideDocumentation | Plug-in file | Sample form

The end…

More field plug-ins

Didn't find what you're looking for?

Don't worry! Field plug-ins are a gateway of possibilities.The SurveyCTO team is working on more useful field plug-ins, so do click on the "Follow" button in the top right corner of this article to get updates when new plug-ins are added.

Do you have requests?

Requests are welcome. We don't distinguish between general feature and field plug-in requests, so we ask that you submit a feature request whenever you'd like to see SurveyCTO do something that it doesn't currently do. If it is possible to implement your request using field plug-in support, depending on the popularity or merit of your feature request, it could get selected for development. One of the great things about field plug-ins is their development can happen completely independently of the main SurveyCTO platform.

Do you want it sooner?

No need to wait. If you have the skills, develop the field plug-in you need yourself. If you don't, consider hiring someone who does. Another idea is that if you think your plug-in idea could help others like you, consider reaching out to other SurveyCTO users to see about sharing development costs.


  • 0
    Amrik Cooper

    Since the launch of the field plug-in catalog, there have been some improvements and new additions:

    • The existing call-phone-number and launch-sms field plug-ins now support calls on any system including iOS, and web forms (assuming the browser can connect to a phone app).
    • Use the new scto-youtube field plug-in to imbed YouTube videos.
    • Collect IP addresses in web forms using the new get-ip-address field plug-in.
    • Easy and intuitively rank items in a choice list using the ranking-choices field plug-in.

    We hope you find these additions useful!

  • 0
    Amrik Cooper

    We have three new field plug-ins ready for you!

    1. The table-list field plug-in, for presenting a choice list with several attributes in a table that can be sorted by columns, and filtered using a search field. Compatible with the select_one and select_multiple field types.
    2. The search-select_one field plug-in, which adds a search field for filtering the choice list for a select_one field.
    3. The search-select_multiple field plug-in, which adds a search field for filtering the choice list for a select_multiple field.

    Use these field plug-ins to make long and complex choice lists easier to work with! Find them under the new "Simplified data input options" category.

Please sign in to leave a comment.