[Open Source] A Fully Self-Developed Workflow Engine and Custom Form Engine with Support for Custom Extensions
![[Open Source] A Fully Self-Developed Workflow Engine and Custom Form Engine with Support for Custom Extensions](https://yy123.ink/api/img/1782595714784-y1datv.jpg)
1. Project Overview
neatlogic-itsm features a fully self-developed workflow engine and custom form engine, both supporting custom extensions. It supports subtasks, complex SLA calculation strategies, and multiple ticket assignment rules, meeting the needs of various complex IT operations and maintenance scenarios in large enterprise groups.
2. Open Source License
Licensed under AGPL-3.0
3. Screenshots
Workflow
Includes built-in nodes such as general, conditional, and scheduled nodes. When other functional modules are enabled, specialized nodes for automation, configuration item synchronization, change management, and more are also available. Supports sequential, parallel, conditional, aggregation, branching, and rollback workflows. Custom nodes can also be implemented through extensions. 
-
Supports calling third-party APIs. The workflow provides an automated processing node for invoking third-party APIs during workflow execution.
-
Supports webhook triggers that invoke third-party API actions when a ticket or a specific node reaches a designated status.
-
Supports automatic node initiation and automatic workflow transitions.
-
Supports complex ticket assignment logic, including assignment to specified users, organizations, roles, stakeholders, or previous-step handlers, as well as assignment based on form values.
SLA
Policy-based SLA calculation methods. 
-
Supports time-based policies with precision down to individual tickets.
-
Supports time-based policies with precision down to individual nodes.
-
Supports dynamic time limits based on priority, impact scope, and whether the reporter is a VIP.
-
Supports notifications for overdue or soon-to-expire tasks.
-
Supports automatic reassignment of overdue or soon-to-expire tasks.
Service Catalog

-
Supports custom service catalogs and hierarchical relationships.
-
Supports custom service priorities, service categories, service reporting permissions, and more.
Ticket Center

The Ticket Center allows users to preset various search criteria based on their personal roles, making it easier to track different types of tickets.
4. Feature Overview
neatlogic-itsm is an IT service management module that includes features such as a built-in workflow engine, custom forms, service catalogs, and SLA management.
Function List
|
ID |
Category |
Function Point |
Description |
|
1 |
Workflows |
Workflow Components |
Automatically loads workflow components from the corresponding modules based on the modules enabled on the platform, such as incident, problem, change, release, automation, custom release, and API invocation components. |
|
2 |
Supports secondary development, allowing users to define custom workflow components for scenarios such as OA system approvals and bastion host authorization. |
||
|
3 |
Workflow Management |
Supports user-defined IT operations management service workflows with graphical drag-and-drop layout design. |
|
|
4 |
Supports workflow export and import for migrating workflows between different environments. |
||
|
5 |
Supports copying existing workflows to create new workflows similar to the originals. |
||
|
6 |
Supports parallel, sequential, and conditional nodes, enabling aggregation, branching, and rollback of workflow paths. |
||
|
7 |
Workflow nodes support automatic processing initiation and automatic transition settings. |
||
|
8 |
Supports user-defined personalized forms within workflows, with the ability to hide or disable specific form fields at different workflow stages. |
||
|
9 |
Workflow steps support user-defined actions, such as sending reminders, canceling requests, and modifying submitted information. |
||
|
10 |
Workflow steps support user-defined notification policies, notification actions, and notification content. |
||
|
11 |
Workflow steps support user-defined external invocation actions, such as synchronizing workflow status changes to third-party systems in real time. |
||
|
12 |
Provides automated processing nodes for invoking third-party APIs within workflows. |
||
|
13 |
Provides automation nodes and CMDB nodes to enable closed-loop management between platform product data and operational scenarios. |
||
|
14 |
Forms |
Form management |
Supports custom forms with drag-and-drop form layout design. |
|
15 |
Provides a rich set of components, including text, rich text, date and time, password, dropdown, cascading dropdown, tree dropdown, hyperlinks, file uploads, user selectors, table selectors, and table input fields. |
||
|
16 |
Supports configuring different viewing and editing permissions for the same form at different workflow nodes. |
||
|
17 |
Supports form data linkage. For example, when the value of form control A changes, operations such as showing, hiding, disabling, assigning values to, or filtering form control B can be performed automatically. |
||
|
18 |
Supports form previews during the form design process. |
||
|
19 |
Supports tabular form layouts, including row and column merging. |
||
|
20 |
Supports form version management, allowing users to quickly switch to a specified version and view version history. |
||
|
21 |
Supports copying existing forms to create new forms similar to the originals. |
||
|
22 |
Supports form export and import for migrating forms between different environments. |
||
|
23 |
Service Catalog |
Service Types |
Supports adding, editing, and deleting service types. |
|
24 |
Supports defining common service types, such as incidents, problems, changes, and releases. |
||
|
25 |
Supports custom display colors and ticket numbering rules for different service types, such as type + date (year, month, and day) + the number of tickets of the same type created on that day. |
||
|
26 |
Service Catalog |
Supports adding, editing, and deleting service catalogs. |
|
|
27 |
Supports unlimited service catalog levels, permission settings for service catalogs, and custom submission guidance for each service catalog. |
||
|
28 |
Service Channels |
Supports adding, editing, and deleting service channels. |
|
|
29 |
Supports associating multiple service channels with a single service management workflow. |
||
|
30 |
Supports configuring service channel priorities, service types, service windows, service scopes (permissions), and service channel help information. |
||
|
31 |
Supports specifying whether a service channel is available on mobile devices. |
||
|
32 |
Supports dynamically matching SLA policies based on service channels, service windows, and priorities. |
||
|
33 |
Supports quick searching and bookmarking of service channels. |
||
|
34 |
Ticket Dashboard |
Ticket Center |
Supports custom personal task categories from the user's perspective, such as My Submissions, Pending My Action, Pending My Group's Action, and Tickets I Participate In. |
|
35 |
Supports configuring ticket viewing permissions by ticket type. |
||
|
36 |
Supports displaying ticket data in both card and list views, with overdue tickets marked in red. |
||
|
37 |
Supports simple ticket search criteria and advanced searches using complex combined conditions. |
||
|
38 |
Users can create personal ticket categories based on criteria such as reporter, assignee, submission channel, and overdue status. These categories appear as fixed menu items in the ticket center. |
||
|
39 |
Task Assignment |
Manual Assignment |
Supports assigning tasks to specific users, organizations, roles, or stakeholders (such as the reporter or intended recipient). |
|
40 |
Supports service desk staff or authorized users manually intervening to reassign ticket handlers, groups, or roles. |
||
|
41 |
Supports allowing the handler of a previous workflow step to designate the handler for a subsequent node. |
||
|
42 |
Automatic Assignment |
Supports dynamically assigning handlers, groups, and roles based on form field values. |
|
|
43 |
Supports dynamic assignment through advanced assignment rules. For example, tasks can be distributed evenly based on workload or assigned to the reporter's department manager. |
||
|
44 |
User Incident Reporting |
Service Request Submission |
Supports quick incident reporting from both PC and mobile devices. |
|
45 |
Supports bulk incident reporting by authorized users through file imports, including retrospective ticket creation. |
||
|
46 |
Supports authorized users or service desk staff submitting problem reports on behalf of others. |
||
|
47 |
Ticket Processing |
Ticket Workflow |
Supports ticket transitions, rejection, cancellation, and administrative intervention. |
|
48 |
Supports auditing operations such as ticket submission, processing activities, and activity logs. |
||
|
49 |
Supports ticket handoffs, assistance requests, and consultation transfers during ticket processing. |
||
|
50 |
Supports synchronizing ticket content to the knowledge base to generate knowledge base articles. |
||
|
51 |
Supports associating tickets with other service tickets and creating related tickets during processing. |
||
|
52 |
Supports recording operation logs throughout the ticket lifecycle, including all changes such as form modifications, replies, attachment uploads, ticket transitions, and rollbacks. |
||
|
53 |
Supports viewing ticket workflow diagrams to monitor ticket progress globally. |
||
|
54 |
Provides a workbench mode from the handler's perspective, allowing users to quickly switch between multiple pending tasks. |
||
|
55 |
Timeliness |
SLA Timeliness |
Supports ticket-level SLA policies, calculating timeliness metrics on a per-ticket basis. |
|
56 |
Supports node-level SLA policies, calculating timeliness metrics for individual or multiple workflow nodes. |
||
|
57 |
Supports dynamic timeliness settings based on priority, impact scope, and whether the reporter is a VIP. Different timeliness policies can be configured according to these conditions. |
||
|
58 |
Supports notifications for overdue or approaching-deadline tasks. Automatic overdue notifications can be configured with customizable notification times, such as N minutes before a deadline or N minutes after a task becomes overdue. Notification recipients can also be customized. |
||
|
59 |
Supports automatic reassignment of overdue or approaching-deadline tasks. Automatic reassignment policies can be configured with customizable reassignment times, such as N minutes before a deadline or N minutes after a task becomes overdue. Reassignment recipients can also be customized. |
||
|
60 |
Notifications |
Notification Templates |
Notification content supports configurable templates that can reference ticket information, including but not limited to ticket numbers, ticket titles, service paths, submission content, reporters, ticket statuses, and priorities. |
|
61 |
Notification recipients can be configured as ticket stakeholders (such as reporters and handlers) or specified users and roles. |
||
|
62 |
Notification Policies |
Supports notification channels such as phone calls and SMS. Notification plugins support secondary development by users. |
|
|
63 |
Supports user-defined notification triggers, such as workflow step activation, handoff, completion, and rollback. |
||
|
64 |
Supports scheduled reminder notifications for pending tasks, such as reminders for my pending tasks and pending tasks assigned to my group. |
||
|
65 |
Satisfaction Surveys |
Rating Templates |
Supports user-defined rating templates and rating criteria that can be associated with workflows, allowing different workflows to use different rating criteria. |
|
66 |
Automatic Rating |
Supports users submitting ratings within a specified time window. Workflow steps are automatically closed when the time window expires. |
|
|
67 |
Mobile |
Service Request Submission |
Supports service-side users quickly initiating and registering problem reports through the corresponding service channels. |
|
68 |
Ticket Center |
Provides consistent operation interfaces on mobile and PC platforms, supporting data searches, ticket categorization, and ticket transitions. |
|
|
69 |
Ticket Workflow |
Provides consistent operation interfaces on mobile and PC platforms, supporting standard workflow operations such as handoffs, rollbacks, and completion. |
|
|
70 |
Knowledge base |
Knowledge Base Templates |
Supports knowledge base template definitions to simplify and standardize the process of adding knowledge articles. |
|
71 |
Knowledge base |
Supports basic knowledge base management, as well as publishing approval and version management for corresponding knowledge base types. |
|
|
72 |
Supports knowledge base version comparisons, with differences highlighted. |
||
|
73 |
Supports Markdown syntax and highlighted code blocks. |
||
|
74 |
Supports directly generating knowledge articles from tickets. |
||
|
75 |
Knowledge Permissions |
Supports custom knowledge groups and custom group members and approval members. Users with the corresponding permissions can access the relevant knowledge bases. |
5. Tech Stack
NeatLogic natively supports multi-tenancy (shared middleware with separate databases for each tenant) and modular extensions. It includes key core features such as a workflow engine, form engine, reporting engine, large-screen dashboards, and dashboards. Features sensitive to data volume, such as CMDB, have been carefully designed while also taking into account the performance requirements of reporting and daily operations. When using only basic features, Tomcat, Nginx, and MySQL8+ are sufficient. Some advanced features, such as automatic data collection, require MongoDb.
NeatLogic provides both Docker image deployment and installation package deployment. All databases and middleware are included, and all critical services have built-in start and stop commands. Middleware, software packages, and configuration files are separated to facilitate routine maintenance.
Running environment
Operating System: Linux, Java Version: 8+, Process Memory: 4 GB or more, 8 GB recommended.
Dependency Components
|
Components |
Version |
Required |
Description |
|
Tomcat |
9.0.75 |
✅ |
Servlet Container |
|
Mysql |
8.0.27 |
✅ |
Database |
|
Nginx |
1.16.1 |
✅ |
Frontend Server |
|
MongoDb |
4.4.3 |
✖️ |
Temporary database for automatic data collection. Required if the CMDB automatic data collection feature is enabled. |
|
MinIO |
5.0.6(2020-05-08T02:40:49Z) |
✖️ |
Attachment storage. If not deployed, the system automatically switches to local storage mode. When multiple services share attachments, the upload directory must be configured as a shared directory, such as NAS. |
|
Nacos |
2.1.0 |
✖️ |
Centralized configuration management. If Nacos is not deployed, configuration will be read from the local config.properties file instead. |
|
ActiveMQ Artemis |
2.17.0 |
✖️ |
Message queue. Deployment is optional if no third-party system needs to consume messages. |
Note: neatlogic-itsm is an IT service management module. When using only basic features, Tomcat, Nginx, and MySQL8 are sufficient.