- Dispatching from a Third-Party App into ProntoForms
- Dispatching to Multiple Questions
- Unsupported Question and Data Types
ProntoForms supports inter-app communication and pushing data between a third-party app and the ProntoForms app. This means that it is possible to take data from one app and dispatch it to forms in the ProntoForms mobile app. This functionality is supported on ProntoForms for iOS, Android, and Windows 10.
For information on URL schema and supported actions, please read: Inter-App Communications.
Building an inter-app dispatch URL uses the Open action and the form ID, form name, or form iteration ID as described in the ProntoForms Inter-App Communication documentation, and adds parameters - strings of information separated by & symbols - to push information from the third-party app into the ProntoForms app. It uses the form's question labels to tell the information where to go in the form.
When using the Form Name with the Open action to Dispatch, it is possible to have partial string matches. This means that the app will bring up a list of forms with names that are partial matches to the string. Users select the appropriate form if there are multiple matches, and the data is pushed to the appropriate question labels.
When dispatching information into questions, please ensure you are using the question label, not the question text. The question label is a unique identifier that you can find on the Pages & Questions tab of the form in the web portal, or in multiple other places. You must use this in order to successfully dispatch to a particular question in the form.
As it is a URL, the question label and the data you are trying to dispatch into the form must be percent-encoded (for more information on percent encoding, look at wikipedia's article), and each parameter must be separated by an & symbol. This requires all spaces to be replaced by %20, not by + symbols. All characters in encoded values (for example, %2F) must be capitalized to function correctly. There is one exception to percent encoding: the "(" and ")" symbols should not be encoded in Android platform dispatches. These un-encoded symbols will work for Android, iOS, and Windows.
This example will search for a form named "Construction Estimate". If there are multiple matches, it will open the app to the Form Selection screen and prompt the user to select the correct form. Then, it fills the Job Phone # (note that %23 is percent encoding for #) question with "416-555-0192" on that particular form.
You can use the same URL structure to dispatch from a third-party app into a ProntoForms form. Simply add parameters after the first, each separated by an &.
This would fill the Job Phone # question with "416-555-0192", and the Job Location question with "2195 Still St., Rogers, AR, 72756."
If your dispatch string contains parameters (question labels) that are not contained in the form, that data will be ignored.
ProntoForms does not support inter-app dispatching of information into the following question and data types:
- Label information
- Button Group
- Digit Extraction
- Time based math and calculations
- Number (currency) calculation
- Date/Time Stamp
- Range Slider
- Geolocation/GPS-related questions
- Credit card
- Multi-Select Questions