DevResults integrates fully with SurveyCTO, a mobile data collection tool. Surveys in SurveyCTO can be imported to DevResults as a data table. In this article:
- Tips for designing your SurveyCTO survey
- Create a DevResults data table and import SurveyCTO data
- Refresh an existing DevResults data table with SurveyCTO data
- Set up automatic import of data from SurveyCTO to DevResults
- Edit information in a SurveyCTO-linked DevResults data table
Note: To enable the SurveyCTO integration, a site owner must go to Administration > Settings and enable SurveyCTO integration from the list of available features.
Tips for designing your SurveyCTO survey
Whether or not you've already created your SurveyCTO surveys, please reach out to us at help@devresults.com to chat about the design. We can provide you with an automatically-generated file that contains the multiple choice answers to your survey questions so that all you need to do is upload it to SurveyCTO and link it to your questions. This means that:
- It saves you time creating the survey.
- Most importantly, this is the best way to make sure that what you import from SurveyCTO will match your indicator's geographic and demographic disaggregations in DevResults. Multiple choice answers in SurveyCTO must match your disaggregation categories in DevResults in order to be imported, and we have a simple way to ensure that they match, and to keep things synced as you change or expand your program information.
- If you're collecting new location information via SurveyCTO, we can help with a shortcut to add those new places to DevResults, which is also key to keeping things synced between the systems.
Create a DevResults data table and import SurveyCTO data
From any page on DevResults, go to Program Info > Data Tables.
Click (+) New Data Table, name the table, and select Import from SurveyCTO. Then click Next.
You will now be prompted to enter information on the SurveyCTO form you would like to connect to.
You will need to enter the Server name (this is the prefix to your SurveyCTO URL), the Form ID (the name of the SurveyCTO form you want to link to), as well as your SurveyCTO email and password. If you're unsure about any of these fields, please refer to SurveyCTO's documentation and then reach out to us at help@devresults.com.
Once you've entered this information, click Next.
You can now configure the titles and types of columns you want to import, de-select fields you don't want to import, and choose to either create the table and import data or create the table without importing data.
Click (+) Create Data Table to complete the import process.
Refresh an existing DevResults data table with SurveyCTO data
When new information has been collected on SurveyCTO, you can refresh the data table by clicking on the right-hand gear icon and clicking "Import from SurveyCTO."
DevResults does not store external passwords, so you will be prompted to enter your SurveyCTO password once again.
You will then be asked to review the new and updated rows of information before you can complete the import. Click Import data once you've reviewed the new information.
Set up automatic import of data from SurveyCTO to DevResults
1. In DevResults, create an API key that will be used by SurveyCTO to log into DevResults. The key should belong to a permission group that has View & Edit permissions for the Data Table Manager role; sometimes it makes sense to create a group just for the new API Key. Take note of the "API Key" field (you do not need the "API Secret" field).
2. In SurveyCTO, create webhooks for each table that you'd like to automatically update.
- Point the webhook at the relevant API endpoint for each table. You can find the API endpoint at the bottom of the Design tab for each SurveyCTO-linked data table. The format for the API endpoint is:
https://{site}.devresults.com/api/dynamictables/{dynamicTableID}/webhook
- For each table, select the fields/columns that should be published to DevResults (some or all of the table).
- For each webhook, add authorization. Use a JSON text summary and call it DevResultsApiToken. The value that you send is the API Key value from the first step.
Currently, SurveyCTO is not able to send any error messages if something is incorrect, so if the data does not import as expected, please reach out to us at help@devresults.com and we will investigate.
Edit information in a SurveyCTO-linked DevResults data table
You may add/import, edit, or delete data in a SurveyCTO-linked data table just as you would any other data table. You may also add, edit, delete, or reorder columns, though any changes you make will not automatically synchronize with SurveyCTO.
Note: Changes made to the data as well as the structure of a SurveyCTO-linked data table will not be replicated or automatically synchronized with the survey or data in SurveyCTO. Instead, you should only make changes in DevResults to reflect changes that you have already enacted in your SurveyCTO server. When adding a new column to a SurveyCTO-linked data table, be sure to list the name of the SurveyCTO field in the External Field column on the DevResults data table design tab.
Each row of SurveyCTO data in DevResults is associated with both a DevResults KeyValue and a SurveyCTO ExternalKeyValue. This ExternalKeyValue will let you identify the same row of data in DevResults and SurveyCTO.
You can look up specific rows in SurveyCTO by clicking on the Monitor tab, and selecting "Look up by key" for your form.
Didn't answer your question? Please email us at help@devresults.com.