KuFlow Documentation

website·Indexed 31 days ago

https://docs.kuflow.com

A platform for managing business processes and robotic process automation (RPA). KuFlow provides tools for building Temporal-based workers in Python, Java, and TypeScript, as well as managing 'KuBots' (assisted robots). The platform includes a CLI tool called kuflowctl, integrations with UiPath and Robot Framework, and features for defining process data structures, forms, and permissions.

Tokens
44K
Snippets
144
Records
293
Agent score
51%

What's inside KuFlow

  1. Overview of KuFlow User Actions

    User Actions allow process administrators to configure customized behaviors that users can trigger at any time during a process cycle via a drop-down menu on the process detail page. Unlike standard workflow tasks, these actions provide flexibility to perform out-of-band operations such as generating reports, downloading files, or sending notifications. Visibility of these actions is determined by user permissions (Initiator or Process Manager) and optional Availability Expressions.
  2. Overview of the KuFlow platform

    KuFlow is a platform designed for designing and executing business processes. It is built with an engineering-centric approach, focusing on concrete implementation and problem-solving capabilities.
  3. Overview of KuFlow SDKs

    KuFlow provides official SDKs to simplify integration with its platform, handling low-level details like authentication and API client implementation. All SDKs are distributed under the MIT license and are available via standard language dependency managers and GitHub.
  4. Define form layout using UI Schema

    The UI Schema defines how form fields are presented and organized. It uses JSON Forms elements to configure layout and visual styling. If no UI Schema is defined, the form defaults to a Vertical Layout of all elements in the schema root. You can use the UI Schema to selectively display specific schema elements or nest layouts to create complex structures.
    {
      "type": "HorizontalLayout",
      "elements": [
        {
          "type": "Control",
          "scope": "#/properties/name"
        },
        {
          "type": "Control",
          "scope": "#/properties/email"
        },
        {
          "type": "Control",
          "scope": "#/properties/age"
        }
      ]
    }
  5. Integrate external systems with KuFlow

    KuFlow provides two primary methods for system integration: a REST API and Temporal workflows. While the REST API is the fundamental building block for all communication, using Temporal for implementing Workers is recommended to ensure higher resilience in service orchestration. KuFlow provides a cloud deployment of Temporal servers and sample implementations to facilitate this integration.
  6. Create forms using KuFlow's JSON Forms integration

    KuFlow uses a customized integration of JSON Forms to manage data models, validation rules, and UI layouts. To implement a form, you must define two primary components: the Schema (defining the data model and validation) and the UI Schema (defining the user interface layout). Note that some standard JSON Forms features may be unavailable due to platform-specific customizations.
  7. Understand Assisted vs Unassisted Automation in KuFlow

    KuFlow differentiates between two types of RPA based on the requirement for human interaction during execution:

    • Assisted Automation: Requires a human to be present at the computer during execution. This is typically used when a robot needs a user to provide personal credentials to log into a web or desktop application before the robot can proceed with automated tasks.
    • Unassisted Automation: Does not require human presence. The robot has all necessary information or access to carry out the work independently once execution begins.
  8. Integrate Robot Framework with KuFlow Workflows

    KuFlow provides a dedicated library for Robot Framework (an open-source Python-based RPA framework) to allow robots to be executed as part of complex workflows involving humans and systems. The library enables robots to communicate with the KuFlow API to retrieve and store information from the workflow tasks where they are executed, ensuring that robot logic remains decoupled from workflow manipulation.
  9. Integrate KuFlow with UiPath using KuFlow.UiPathLibrary.Activities

    The KuFlow.UiPathLibrary.Activities library provides a set of activities for UiPath robots to interact with the KuFlow API. This allows RPA robots to programmatically manage KuFlow tasks and processes, including reading task/process data, modifying task information, reclaiming tasks, managing files within tasks, and writing task logs. The library is available via the KuFlow organization in the UiPath Marketplace.
  10. Integrate systems with KuFlow APIs

    KuFlow provides two primary methods for system integration: a REST API and Temporal workflows. While the REST API is the fundamental communication layer, using Temporal for Worker implementation is recommended to ensure resilience in service orchestration. KuFlow provides a managed deployment of Temporal servers in their cloud and offers sample implementations to assist with integration.
  11. Expense Reimbursement Workflow logic overview

    The implemented expense reimbursement workflow follows these business rules:

    • Initiation: Employee submits a claim; a task is automatically assigned to them.
    • Automatic Approval: If the claim amount is ≤ €1,000, the system processes it automatically and completes the workflow.
    • Managerial Approval: If the amount is > €1,000, the task is routed to a manager.
    • Manager Decisions:
      • Accept: System processes the reimbursement and completes the workflow.
      • Reject: Workflow completes immediately without further steps.
      • Review Required: The task is returned to the initiating employee (with previously entered data preserved) for adjustments.