Deep Link
The integration schemes described on this page, allows you to:
Open Form.com mobile or Windows desktop app from any external source - website or another application;
Pass a set of parameters and open a form on a mobile application with pre-filled data;
Launch externally Task Definitions, Task Management, Tasks, or Forms attached to Tasks.
The article covers 2 types of schemes and URL templates for the above mentioned cases.
2 Types of Links
Form.com application deep linking may be implemented using 2 schemes supported by iOS, Android, and Windows operating systems:
Universal links - https://launch.form.com
If universal links are supported, users can tap a link on a website or in another application and get redirected to Form.com application if it is installed on a device. Otherwise, users will be prompted to download and install the app.
Custom links - launch.form.com://
Although this is the legacy scheme for older OS versions, it is still supported and widely used. This method has lower minimal system requirements but is lacking system feedback when the application is not installed. If your respondents use both Mobile apps and Windows Desktop app, it is preferable to use this scheme, as you will need to compose only 1 link.
Custom / Universal links system requirements
Custom links | Universal links | |
Platforms | iOS/Android/Windows | iOS/Android |
Browser | Chrome(v 54 or higher) - desktop and mobile / Safari mobile/ MS Edge/ MS IE9 and higher | |
Internet connection | Online/Offline |
Please note that that the Universal and Custom Links will not launch the Mobile App if you insert them directly into the address bar of a browser.
URL Templates
URL Templates for viewing/editing existing Responses or creating new ones
This URL templates allow opening pre-populated forms. The links should be created by you and added to the external application/website code for Form.com mobile app to be launched.
Link structure:
{prefix}/server/{customer_server_base_url}/portal/{portal_id}/nosync|sync/forms/{form_id}/view (/{response_id}) | edit (/{response_id}) | new (?{import_param_prefix}&{param1}={value_1}&{param_N}={value_N})
ℹ Example
HTTPS URL for Android and iOS:
https://launch.form.com/server/app.form.com/portal/123456/sync/forms/123456/view/123456789/ (viewing existing response)
Custom Scheme URL for Android, iOS and Windows:
launch.form.com://server/app.form.com/portal/123456/sync/forms/123456/new?LQID=1&Name=John&Age=25&Position=Developer (creating a new response with prefilled info)
These links have additional parameters which allow to determine whether you want to view or edit existing responses, or create a new one with prefilled information.
Parameters used in the link:
Parameter | Type | Description |
{prefix} | variable | For Universal Links the prefix consists of scheme_type https:// and register_domain launch.form.com for Form.com applications respectively. For Custom Scheme URLs the prefix consists of scheme_type launch.form.com:// |
/server/ | constant | The reference to the user's server |
{customer_server_base_url} | variable | Account's Server URL |
/portal/ | constant | The reference to the 'portal' functionality |
{portal_id} | variable | The ID of a portal |
/sync or nosync/ | constant | Tells the app to sync or not sync when the item being referenced is not found |
/forms/ | constant | The reference to a Form |
{form_id} | variable | The ID of a Form |
view | constant | A command to view response specified further in /{response_id} parameter. If response_id is omitted, the response view for corresponding form will be opened. |
edit | constant | A command to open response in the Edit mode. A response ID is specified further in /{response_id} parameter. if response_id is omitted, the response view for corresponding form will be opened. |
new | constant | A command to create a new response |
{import_param_prefix} | constant | Static system parameter to identify the start of custom parameters list. The value for this parameter is ‘?LQID=1’ |
¶m1=value_1¶mN=value_N | variable | URL import parameters with values to prefill |
URL Import may be used only when creating new responses.
URL Templates for launching the Tasks or Forms attached to Tasks
The link structures described below make it possible to trigger the launch of a Task Definition, Task Management, Tasks, or Forms attached to Tasks from an external source.
Link structure:
{prefix}/server/{customer_server_base_url}/portal/{portal_id}/nosync|sync/tasks/{task_definition_id}/admin_view|task_view/{task_id}/form?{import_param_prefix}&{param1}={value_1}&{param_N}={value_N}
ℹ Example
HTTPS URL for Android and iOS:
https://launch.form.com/server/app.form.com/portal/123456/sync/forms/123456/view/123456789/ (viewing existing response)
Custom Scheme URL for Android, iOS and Windows:
launch.form.com://server/app.form.com/portal/123456/sync/forms/123456/new?LQID=1&Name=John&Age=25&Position=Developer (creating a new response with prefilled info)
These links may also include custom URL Import parameters to prefill form questions.
Parameters used in the link:
Parameter | Type | Description |
{prefix} | variable | For Universal Links the prefix consists of scheme_type https:// and register_domain launch.form.com, launch.keysurvey.com for Form.com and Keysurvey applications respectively. For Custom Scheme URLs the prefix consists of scheme_type launch.form.com://, launch.keysurvey.com:// |
/server/ | constant | The reference to the user's server |
{customer_server_base_url} | variable | Account's Server URL |
/portal/ | constant | The reference to the 'portal' functionality |
{portal_id} | variable | The ID of a portal |
/sync or nosync/ | constant | Tells the app to sync or not sync when the item being referenced is not found |
/tasks/ | constant | The reference to the Tasks functionality |
{task_definition_id} | variable | The ID of a Task Definition |
/task_view or admin_view/ | constant | The reference to one of the viewing modes of the Task Definition: ether a user's task list mode, or task management mode |
{task_id} | variable | The ID of a task within the given Task Definition |
/form | constant | The reference to a form attached to a task |
{import_param_prefix} | constant | Static system parameter to identify the start of custom parameters list. The value for this parameter is ‘?LQID=1’ |
¶m1=value_1¶mN=value_N | variable | URL import parameters with values to prefill |
URL Templates for launching the App and opening a pre-populated Form
These are alternative link structures for opening pre-populated forms. These links may also include custom URL Import parameters to prefill application fields and form questions.
Link structure:
{prefix}/server/{customer_server_base_url}/portal/{portal_id}/form/{form_id}/{import_param_prefix}&{param_1}={value_1}&{param_N}={value_N}
ℹ Example
HTTPS URL for Android and iOS:
https://launch.form.com/server/app.form.com/portal/123456/form/1234567/?LQID=1&Name=John&Age=25&Position=Developer
Custom Scheme URL for Android, iOS and Windows:
launch.form.com://server/app.form.com/portal/123456/form/1234567/?LQID=1&Name=John&Age=25&Position=Developer
These links may also include custom URL Import parameters to prefill application fields and form questions.
Parameters used in the link:
prefix;
For Universal Links the prefix consists of scheme_type https:// and register_domain launch.form.com Form.com applications respectively.
For Custom Scheme URLs the prefix consists of scheme_type launch.form.com://
server, portal, form - Server URL, Portal ID and Form ID that should be opened;
import_param_prefix - Static system parameter to identify the start of custom parameters list. The value for this parameter is ‘?LQID=1’;
param_1=value_1; param_N=value_N - URL import parameters with values to prefill;
'offline_' + {ID} - use this parameter in case the Respondent ID is unknown.
The following values must not be used as parameter names: onunload, validateTime, ARGS, LQID, i_n_f, Dir, surveyID, CharsetLine, goNextPage.y, goNextPage.x, RID, SID, RespondentID, pwd, pwd2, ALL_QIDS, EMAIL, WebPoll, SFObj, SFObjID, integrationSurveyID, ALL_COLUMNS, ALL_QUESTIONS, dispLinkId, globalFormID, logicPluginMenu, rspEmailAddress, startTime, VMOD