.. _workflow:
.. role:: raw-html(raw)
:format: html
Workflow
=========================
- Workflow refers to a system that manages repetitive processes and tasks that occur in a specific order.
- The functionality of the Workflow in the management console is explained.
Recommended version
--------------------
.. csv-table::
:header: Product (Component), Version, Note
:class: longtable
:widths: 30 30 40
Genian ZTNA (Policy Server), V6.0 or later, N/A
Supported features
--------------------
Genian ZTNA Workflow supports the following features:
- :ref:`workflow-httprequest`
- :ref:`workflow-ifelse`
- :ref:`workflow-crypto`
- :ref:`workflow-loop`
- :ref:`workflow-date`
- :ref:`workflow-base64`
- :ref:`workflow-sendmail`
Common settings
--------------------
* Template Variables (${ })
- The value displayed as ${ } in the input field is replaced with the actual value when executed on the server.
* this keyword
- If the Response Body Template is set to ${this}, it means that the result data from the Response is displayed without filtering.
- If the data is {"result": "true", "message": "success"}, the Response Body Template set to {"res": "${this.result}"} will be filtered to output {"res": "true"}.
* request keyword
- If you pass parameters when calling the Workflow (POST), you can use the parameter values by referring to request as ${request.userId}.
* Copy icon
- The data displayed in the Response Body is filtered according to the Response Body Template defined.
- If the Response Body Template is not defined, the execution result is displayed as is.
- The data displayed in the Response Body can be copied to the next process by clicking the copy icon.
- To use the value, copy and paste it in the format of ${dgdgadgasdgadg.ni_ipstr} in the previous process. ${previous process ID. result column value}
* RAW DATA icon
- The RAW DATA icon is output in the Response Body when the process is executed.
- If the RAW DATA icon is clicked, the response original data is copied to the clipboard.
Setup
--------------------
1. Navigate to the **Workflow** page.
2. Click the **"Create"** button under **Task Selection** to open the Workflow creation UI.
3. Enter the **Flow Name** (**Required field**).
4. Click the **>>** icon on the left panel to configure **Integration Information** (values commonly used across processes).
- You can copy the configured values by clicking the **copy icon** on the right side of the input field.
5. Click the **+** icon in the center to add a process item.
- A panel will appear, allowing you to select the desired process item.
- A settings screen will be displayed where you can modify the details of the added process.
- Click the **Test** button at the bottom to verify that the configuration is working correctly.
- The results of the previous step are shown on the left, and the current step results are displayed on the right.
- You can navigate to the previous or next step's edit screen using the arrows on the left and right.
- Once modifications are complete, click the **X Close** button in the upper right to close the settings screen.
- You can specify configuration values to handle different requests for each process.
6. If you need additional processes, click the **+** icon again to add new items.
7. **You can define the execution order of processes using arrows.**
- Each process item has **arrow connection points** on its left and right sides.
- Drag from the output connection point of one process to the input connection point of the next process to establish an execution sequence.
- The workflow will execute sequentially based on the defined connections.
- You can remove or modify connections as needed.
Integration Information Settings
--------------------------------
- Integration Information settings allow you to set values that are commonly used across processes.
- Integration Information settings can be set in the process settings screen. It is located in the left area of the UI.
- You can copy the configured values by clicking the **copy icon** on the right side of the input field.
- The values you set can be configured as Plaintext or Secret.
- Secret type cannot be modified after input, and must be deleted and added again to use.
Process Item Types
--------------------
Execution Method
--------------------
- Execute the workflow by making a **POST request** to the URL provided in the Workflow list.
.. code-block:: bash
// Example of execution using the policy server CLI. The port number may vary depending on your configuration.
// For external access, use the policy server URL instead of localhost, and add ?apiKey=YOUR_API_KEY at the end of the URL.
curl -X POST "http://localhost:8080/mc2/rest/nac/extsvc/{WorkflowID}/execute" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"param1":"abc", "param2":123}'
Related Documents
--------------------
.. toctree::
:maxdepth: 1
:hidden:
workflow-crypto
workflow-date
workflow-httprequest
workflow-sendmail
workflow-ifelse
workflow-base64
workflow-loop