Simple External Form Process

Last Updated: 07/20/2016 Introduced in Verision: 2.0

External Form step was designed in Decisions to interact with forms using html methods or service calls. External Form step could be found in the Flow Designer in the ToolBox under Forms[Interaction] category. This method can also pass data into external form and retrieve data from the external form.

 

Example

 

In this example we are going to set up a simple External Form Process.

Begin with Creating a New Flow in your Designer Folder.

createFlow

Name the Flow and click Create to proceed to the Flow Designer.

nameFlow

Next, from the Flow Designer start-up window under Flows, Rules, Forms and Reports > Forms[Interaction] category select External Form step. Click Add to add it to our workspace.

flowStarts

 

This step requires URL of the form it is going to communicate with. We input our form’s url address into Url > Value field.

inputUrl

Mention that our External Form step does not have any outcomes. We need to create at least one outcome for this step. Locate Service Outcomes box under Service Definition and click Add New link.

addOutcome

 

In the resulting pop-up window we define our Outcome. For this example we will not provide any parameters. We simply give our outcome name and click Ok to save and close this pop-up window.

This outcome name is important because our form needs to know the outcome path Name.

outcome

 

Now we can connect our step to the step of our flow to complete it.

connectOutcome

To test our flow click Debug Flow from the top panel of the Flow Designer.

Note that in Decisions version 3.5 and above, you’ll need to click Test Flow to access the Debugger.

3.5 Test Flow Shot

debugFlow

We can see that our external form opens in a new window.

formOpens

Mention that our form received flowTracking id stepTracking id and CallBackUrl to talk back to our flow. These parameters were sent to our external form in URL. In our external form we use simple javascript code to get these parameters from the URL like following:

 Next, we provide the outcome path in a specially designed textbox and submit the form. This Outcome Path should match the one that we provided for our Outcome Path from the External Form step in the Flow.

inputOutcomeName

When we submit our form we trigger another function in our external form that builds a New URL and redirects us to this URL to resume our Flow and send all data to it from our form. This function is implemented like following:

 

After we submitted our form our flow continues…

We can check the outcome Data from our External form in the Data tab in our debugger.

outcomeDataFromForm

The flow diagram shows that the flow was executed with no errors.

flowCompleted

Note: This will not work on in crossdomain environment. For example if Portal Base URL in format [machine name]/decisions/Primary and we try to call Form on localhost.

External Form used in this tutorial can be downloaded from here: ExternalFormTest

Additional Resources