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 phone-call-dialer, scto-exotel, twilio-call and launch-sms field plug-ins are options for use 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 managed inside Collect with phone-call

The phone-call field plug-in populates SurveyCTO Collect's built-in phone call management system. Not only can you populate the dialer with a phone number to call which can be managed inside Collect, you can also control the visibility of the phone number, providing a label in its place, to protect personally identifying information.

Documentation | Plug-in file | Sample form

Launch a phone call with phone-call-dialer

This field plug-in has been made obsolete by the above phone-call field plug-in. Please use phone-call instead.

The phone-call-dialer 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

Launch a phone call with twilio-call

The twilio-call field plug-in allows you to initiate calls using the Twilio service (similar to the scto-exotel field plug-in, but voice services are not restricted to India). In contrast to phone-call-dialer (above), the Twilio service will call you (the caller) first, then call the callee, and connect the two. Twilio supports call masking, call recording, centralized billing, and nonprofit pricing (see their website for details). This field plug-in requires that you have a Twilio account to use it. In the sample form, you will define your Twilio account information in a CSV file attached to the form, which you can learn more about in the documentation.

This field plug-in works but is new, so should be tested carefully before adopting. We have only been able to test in a few countries, so we encourage you to start a Twilio trial, test it, and provide feedback (visit the Documentation for details).

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

Stop a recording with twilio-control

With the twilio-control field plug-in, you can stop and delete a Twilio call recording. That way, if the respondent does not wish to be recorded, you can delete the recording that has already been started, as if it had never started. You can also simply stop the recording in case you would like to keep the recording of the respondent denying consent, or even start a recording if it has not been started, and the respondent has given consent to be recorded.

Note: For the sample form, you will need the twilio-call field plug-in, as well as its CSV file to retrieve the Twilio account information.

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

Launch a phone call with scto-exotel

The scto-exotel field plug-in allows you to initiate calls in India using the Exotel service (similar to twilio-call, but only for India). In contrast to phone-call-dialer (above), the Exotel service will call you (the caller) first, then call the callee, and connect the two. Exotel supports call masking, call recording, centralized billing, and nonprofit pricing (see their website for details). This field plug-in requires that you have an Exotel account to use it. 

This field plug-in also allows you to send SMS messages via Exotel to any destination (not only India).

This field plug-in was developed by J-PAL South Asia.

Documentation | 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

Create calendar events with create-google-event

The create-google-event field plug-in launches the Google Calendar app on Android, creating an event, and populating it with details (works offline). In web forms, Google Calendar will be launched in a new browser tab, populated with event details. Use this field plug-in to create calendar events (e.g. for follow-up interviews).

Note: Does not yet support iOS.

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-choice

The timed-choice 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. 

Documentation | Plug-in file | Sample form

This field plug-in works with select_one and select_multiple fields. For text, integer, and decimal fields, use the timed-advance field plug-in.

Documentation | Plug-in file | Sample form

Answer multiple timed fields at once with timed-field-list

If you would like to time your field list, or if you would like the headers of your field list to always stay on the top of the screen, you can use the timed-field-list field plug-in. This field plug-in features many optional parameters you can use to customize it to your needs.

If you would just like to use the persistent headers, you can also leave out the timer.

User guide | 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. 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. Use this field plug-in for any time-limited simple counting task.

Documentation | Plug-in file | Sample form

Easily start a timed task with button-to-advance

If you add button-to-advance to your form, instead of moving ahead by swiping or clicking an arrow, respondents can move to the next field either by clicking a button in the middle of the screen, or pressing a key on their keyboard. That way, their mouse or hands will be in the correct position when the timed field(s) start.

To sample this field plug-in, use the timed-field-list field plug-in (see above).

Documentation | Plug-in file

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.

Display web content in an iframe with display-iframe

With display-iframe you can display content from a web source in an iframe as part of your form.  The principle tested use case is displaying a web-published Google sheet graph, but the field plug-in may work well for other use cases. The content to be displayed needs to be public so sensitive information should not be shared this way. It uses an internet connection to display content.

Documentation | Plug-in file | Sample form

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.

3 Comments

  • 0
    Avatar
    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
    Avatar
    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.

  • 0
    Avatar
    Amrik Cooper

    We have two new field plug-ins for you, all about making phone calls. If you're interested in reliable call recording that works on every device, centralized billing, call masking, and nonprofit pricing, these could be for you.

    Visit the field plug-in catalog to learn more about the twilio-call and scto-exotel field plug-ins (look in the "Integration with outside applications" section).

Please sign in to leave a comment.