App connections that launch another App in the middle of a Process are used in cases where you want to link business processes, such as from a Quotation Process to an Order Application Process, or from a Delivery Process to a Billing Process. It is also used when a large App is to be divided or some of the business processes are to be made independent as subroutines. By dividing Apps, visibility can be increased and business improvements can be facilitated. In addition, if some tasks, such as translation or a legal review, are defined as independent Apps, the business process can be incorporated into the flow simply by setting up a function that calls the specified App.
In this article, we will explain how to set up a specific configuration using as an example the mechanism for splitting an App and launching a child App from the parent App. In the “Sub Processes” section (to be released soon), we will explain how to build a sub process that starts a child App from the parent App and passes data from the child App to the parent App.
Split a Workflow App
In a workflow application, the workflow from start to finish, the person in charge of each processing step, and the business data to be passed on are defined in advance.
However, in the case of work that involves many departments, workflow apps tend to be complicated when trying to define the procedures and data required by each department.
Order – Shipping – Billing Flow
Suppose we have the following workflow app with a defined flow of work starting from order receipt and shipping to billing.

With this app, business can be conducted across departments, including the sales department, shipping department, and accounting department.
In this case, we will define a split workflow app for each department. By connecting the divided apps via HTTP communication, we will ensure that they can proceed with their work in the same manner.
- This article describes the apps that are divided by department, up to the connection between the Sales Department and the Accounting Department. (see M411: Auto-starting a “Billing Process” Triggered by a “Shipping Process”)
- The app connection between the Sales Department and the Delivery Department is explained in the sub-process section
Items Used for Workflow App Connections
The app connection uses items for HTTP communication. [Message Start Event (HTTP)] is placed in the child app (the one being called) to receive the HTTP request and starts the process. And the parent app (the one calling) places and uses [Service Task (Start Child Process)], which is configured to send HTTP requests to the [Message Start Event (HTTP)] that is waiting to receive the request.
Message Start Event (HTTP)

Service Task (Start Child Process)

Sample App
Create and connect two apps by dividing the aforementioned app, one for the Sales Department’s order Accepting and the other for the Accounting Department’s Billing.

When the Sales Department supervisor approves the order at the “2. Order Confirmation” step, the Billing App of the Accounting Department will be launched to start the billing Process. When the Accounting Department’s billing app is launched, the data of the purchaser’s name, address, detailed list, and total amount is passed to the accounting department. The Accounting Department staff will issue and send invoices based on the information received and confirm payment.
- The number of Steps and data is set to be small for simplicity
- We will omit explanations of settings other than the connection settings
Accounting Department’s Billing App (child)
The first step is to create a “Billing app” for the Accounting Department.
Place a [Message Start Event (HTTP)] at the top and set the Data Item that receives and saves data from the Sales Department’s “Order Accepting App” to [ Editable] in the Properties screen.

Data Items
Data Item Name | Data Type | Field Name | Required | Description |
Title | – | – | – | |
Billing Name | String-type (single line) | q_billing_name | ||
Postal Address | String-type (multiple lines) | q_billing_address | ||
Amount Billed | Numeric-type | q_billing_amount | ✓ | |
Itemized Billing Statement | Table-type | q_details | The table column (table item) settings must be identical to the calling app. | |
PDF File Name | String-type (single line) | q_filename | ||
PDF File | File name | q_pdf |
Billing Start (Message Start Event (HTTP))
Data Item | Editing Permission |
Title | ![]() |
Billing Name | ![]() |
Postal Address | ![]() |
Itemized Billing Statement | ![]() |
Amount Billed | ![]() |
PDF File Name | ![]() |
PDF File | ![]() |
After completing the settings, close the edit screen and [Release] the app. Check the [App ID] (m-number) and [App Name] at the top of the screen.
Sales Department’s Order Accepting App (parent)
Once the “Billing app” for the Accounting Department is completed and [released], the next step is to create the “Order Accepting app” for the Sales Department.

Data Items
Data Item Name | Data Type | Field Name | Required | Description |
Title | – | – | – | The string entered in this data item becomes the process subject in other apps |
Name of Orderer | String-type (single line) | q_name | – | |
Address of Orderer | String-type (multiple lines) | q_address | – | |
Total Amount | Numeric-type | q_amount | – | |
Sales Details | Table-type | q_table | – | The table column (table item) settings must be identical to the calling app. |
Billing Request ([Service Task (Start Child Process)])
What is a Service Task (Start Child Process)?
Place a [Service Task (Start Child Process)] icon behind the [Order Confirmation] step that triggers the Billing app for the Accounting Department to start. On the Edit App palette, go to [Auto-Processing Task] & [Connection with other workflow apps] and find the “Billing App” for the Accounting Department that you created earlier.

- [Service Task (Start Child Process)] is a generic name for icons of equivalent functions, and the individual icons are named “app ID, app name, node number, and step name”
- There are as many [Service Tasks (child process start)] as there are [Message Start Events (HTTP)] that have been placed in the released app
The item name of each setting item is the name of the Data Item in the Billing App of the Accounting Department. To specify the data to be set, select the Data Item name of the data you want to pass using [Insert reference…] to set the expression. Except for String-type, select the Data Item name from the drop-down menu.
Item Name | Configuration Details |
At: Title | #{processInstanceTitle}(Select ” Title”) |
A0: Billing Name | #{#q_name}(Select “Name of Orderer”) |
A1: Postal Address | #{#q_address}(Select “Address of Orderer”) |
A5: Itemized Billing Statement | Sales Detail (Select) |
A2: Amount Billed | Total Amount (Select) |
If any of the following deficiencies are found in the passed data, automatic processing will result in an error and the app will fail to start.
- No data is passed (empty data is passed) for data items set to [Required] at the receiving end
- Passing data that does not satisfy input checks such as the minimum/maximum number of characters set in the recipient’s data item and regular expressions that must be satisfied.
- Number of columns does not match in Table type data items, corresponding column subtypes are different
This completes the setup. Run [Debug only this node] to confirm that a Process for the Billing App in the Accounting Department has been started and data is being passed on.
- The Billing App process in the Accounting Department initiated will also be a debug process
- Human Tasks in the debug process initiated are assigned to the latest editors of the Billing app in the Accounting Department

Summary
The app connection is set up in two steps
- Connection settings to set up connection points for the called (child) app and the calling (parent) app
- Data linkage settings to specify data to be passed between apps
If the app being called has a [Message Start Event (HTTP)], the above two-step setup is completed by applying the following settings to the app on the calling side.
- Deploy [Service Task (Start Child Process)]
- Specify the Data Items to be passed in the setting items of the [Service Task (Start Child Process)]
Although this article has been written about splitting an already existing workflow app, there are many other scenarios where app connections can be considered in addition to app splitting.
For example, for business apps that accept requests from outside the department and manually start Processes, adding an automatic start point ([Message Start Event (HTTP)]) will allow Processes to be started directly from outside the department (business app). Using the app connection facilitates the handover of business data, eliminates the need for manual initiation, and avoids human errors such as input errors.
Understand the basic workflow app connection mechanism and how to set it up, and use it in actual app operations.
In the next section, “Sub-Processes“, we will explain how to build a mechanism (sub-process) to pass data from the child app to the parent app after the child app is launched from the parent app and the child app is terminated.