<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: NocoBase</title>
    <description>The latest articles on DEV Community by NocoBase (@nocobase).</description>
    <link>https://dev.to/nocobase</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1349233%2Ffe1061e9-2897-4210-a0b2-a96c044ac3b2.jpg</url>
      <title>DEV Community: NocoBase</title>
      <link>https://dev.to/nocobase</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nocobase"/>
    <language>en</language>
    <item>
      <title>How to Build a Production-Ready IT Operations System with AI and NocoBase</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Tue, 18 Aug 2026 07:50:34 +0000</pubDate>
      <link>https://dev.to/nocobase/how-to-build-a-production-ready-it-operations-system-with-ai-and-nocobase-5734</link>
      <guid>https://dev.to/nocobase/how-to-build-a-production-ready-it-operations-system-with-ai-and-nocobase-5734</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/build-it-operations-system-with-ai-nocobase" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/build-it-operations-system-with-ai-nocobase&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;A recent post in Reddit's &lt;a href="https://www.reddit.com/r/sysadmin/comments/1ros5qd/im_honestly_starting_to_forget_how_it_was_before/" rel="noopener noreferrer"&gt;r/sysadmin&lt;/a&gt; described how one user built an ITSM system with AI over a weekend, covering both ticketing and asset management. In actual use, they found it more convenient than many products they had used before.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fanwbmvkijbkdffp9bs73.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fanwbmvkijbkdffp9bs73.png" alt="Reddit1-wme36d.png" width="641" height="573"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The comments also raised a different view: AI can quickly generate a Help Desk that looks mature, but that does not mean it already has the data structure, permissions, security, and extensibility required for production use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz41cmqsq9vpl2kff5g9l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz41cmqsq9vpl2kff5g9l.png" alt="Reddit2-zb0k6t.png" width="634" height="141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In our previous article, &lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;Enterprise IT Asset Management System Guide: From Requirements to Implementation&lt;/a&gt;, we introduced a way to design an IT asset management system: let AI understand and break down business requirements, let NocoBase provide the data, permissions, and automation capabilities, and then have people review and adjust the system against real business rules. &lt;strong&gt;This combines AI's efficiency in understanding requirements and generating systems with the data, permissions, security, workflows, and other foundations that enterprise applications actually need.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;💬 Hey, you're reading the NocoBase blog. NocoBase is the most extensible AI-powered no-code/low-code development platform for building enterprise applications, internal tools, and all kinds of systems. It’s fully self-hosted, plugin-based, and developer-friendly. → &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;Explore NocoBase on GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;This time, we will take that approach further and focus more on efficiency. In about two hours, we will use AI and NocoBase to build a more complete IT operations system from scratch. It will cover IT asset inventory, device assignment and return, service catalog and service requests, device approval and delivery, maintenance management, software license management, an AI IT assistant, an operations knowledge base, and dashboards. We will also improve permissions, workflows, and data synchronization so the system can be used in production and continue evolving with business needs.&lt;/p&gt;

&lt;p&gt;🚀 Try applications built with NocoBase + AI online and see what AI-assisted application building looks like in practice: &lt;a href="https://demo.nocobase.com/new" rel="noopener noreferrer"&gt;https://demo.nocobase.com/new&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All screenshots in this article come from the NocoBase online Demo. The entire system, from design to implementation, was completed by an AI Coding Agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Start by Designing Around the Core Business Process
&lt;/h2&gt;

&lt;p&gt;You are the IT administrator at a mid-sized company. The company has both office-based and remote employees and needs to manage laptops, monitors, phones, printers, servers, network devices, and other office peripherals.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4gs0e6ss36hv4yh5pvr3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4gs0e6ss36hv4yh5pvr3.png" alt="Reddit2-y79mbx.png" width="634" height="141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Employees regularly request new laptops, monitors, software licenses, VPN or remote-access permissions, and they also report password, MFA, device, and other IT issues. These requirements can eventually involve asset management, service requests, approvals, maintenance, software licenses, a knowledge base, permissions, and dashboards.&lt;/p&gt;

&lt;p&gt;But there is no need to put every scenario into the first version. We will start with one of the most common workflows:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Employee requests a laptop → Manager approves → IT selects a device and completes delivery&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Let AI Understand the Requirements First
&lt;/h3&gt;

&lt;p&gt;Once the business scenario and first-stage scope are clear, give the requirements to AI so it can understand the company's IT work and design the first version around laptop requests and delivery.&lt;/p&gt;

&lt;p&gt;You can use the following prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Please help me build an internal IT operations system in NocoBase.

The company has both office-based and remote employees and needs to manage laptops,
monitors, phones, printers, servers, network equipment, and other office peripherals.

Common IT requests include new laptop requests, monitor or peripheral requests,
software license requests, VPN / remote access, password or MFA issues,
and meeting-room equipment support.

Devices may go through registration, inventory, available for assignment, assigned to an employee,
in use, under maintenance, returned, reassigned, or retired. Employee requests may require
manager approval before IT completes delivery.

For the first stage, only build:
- Employees;
- Asset inventory;
- Device assignment and return records;
- Service catalog;
- Service requests;
- Laptop request and delivery workflow.

Maintenance, software licenses, operations manuals, reminders, and operational reporting
will be added later. Keep room for them, but do not create them yet.

Regular employees can submit and view their own requests; managers handle requests
that require approval; IT administrators maintain assets and complete device delivery.

Please return first:
1. The core data needed in the first stage;
2. How the data should be related;
3. How a laptop request should move through delivery;
4. Which pages and workflows you plan to create;
5. Which business rules still need confirmation.

Do not create anything yet. Wait for my confirmation before building.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Check AI's Understanding of the Business Rules
&lt;/h3&gt;

&lt;p&gt;Before AI starts creating the system, confirm that it has correctly understood these five key rules:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;One employee can be associated with multiple devices;&lt;/li&gt;
&lt;li&gt;One device has a clear current user;&lt;/li&gt;
&lt;li&gt;The asset's current status and historical assignment records are stored separately;&lt;/li&gt;
&lt;li&gt;After a service request is approved, the actual device still needs to be delivered;&lt;/li&gt;
&lt;li&gt;When the device is delivered, the asset information and assignment record are updated together.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The rule most likely to be missed is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;An approved service request does not mean the device has already been delivered.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For a new laptop request, approval only means the request has been accepted. IT still needs to select an actual device, assign it, update the asset status, and save the assignment record.&lt;/p&gt;

&lt;p&gt;If AI treats “request approved” as the end of the workflow, ask it to add the IT processing and device delivery steps before creating the system.&lt;/p&gt;

&lt;p&gt;For guidance on collaborating more effectively with an AI Agent, see: &lt;a href="https://docs.nocobase.com/ai-builder/ai-portal/agent-workflow" rel="noopener noreferrer"&gt;https://docs.nocobase.com/ai-builder/ai-portal/agent-workflow&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Build and Check the Core Workflow
&lt;/h2&gt;

&lt;p&gt;After confirming the business rules above, let AI create the first-stage system based on the agreed design. Once it is generated, start from the laptop request workflow and verify step by step that assets, assignment records, service requests, and device delivery work together correctly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Check the Asset Inventory
&lt;/h3&gt;

&lt;p&gt;When an employee is preparing to request a laptop, IT first needs to know what devices exist and which ones are currently available. &lt;strong&gt;Start by checking the asset inventory.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The asset inventory should at minimum record &lt;strong&gt;asset ID, serial number, device category, device name, model, location, current user, warranty expiration date, and current status&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnqjazjnpir803ri8ku6e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnqjazjnpir803ri8ku6e.png" alt="Assets1-xhzxsv.png" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz1dnv5sgjlbcr4sjxt4q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz1dnv5sgjlbcr4sjxt4q.png" alt="Assets2-pbnp9u.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can verify asset status against the following flow:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In inventory → Available → Assigned → In use → Under maintenance / Retired&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here, “Assigned” means IT has selected and allocated the device, but the employee has not formally started using it yet. After delivery is completed, the status changes to “In use.”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0yzryz6nivlz2lbtux22.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0yzryz6nivlz2lbtux22.gif" alt="Asset3-5jxmu9.gif" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The asset inventory mainly answers three questions: &lt;strong&gt;what is this device, who is using it and where, and can it still be assigned?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Check the following points carefully:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Asset IDs must be unique to prevent duplicate registration;&lt;/li&gt;
&lt;li&gt;Devices under maintenance or retired must not appear in the available-device list;&lt;/li&gt;
&lt;li&gt;Assigned or in-use devices must have a clear current user so the same device is not assigned twice.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Also verify the employee-device relationship. One employee may use multiple devices at the same time, such as a laptop, monitor, and phone, while one device should have only one current user at a given time. The employee detail page should directly show all devices assigned to that employee.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3u5fdgza9q2h5a2xn3qf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3u5fdgza9q2h5a2xn3qf.png" alt="Assets4-l8s8bg.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the first-stage system is generated, enter three test devices: one “Available,” one “In use,” and one “Under maintenance.” Then filter for “Available” devices. Only the first device should appear, confirming that the status and filtering rules work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Record Every Device Assignment and Return
&lt;/h3&gt;

&lt;p&gt;The asset inventory records who currently uses a device, but past assignments and returns need to be stored separately. Therefore, &lt;strong&gt;the system also needs a dedicated device assignment and return record linked to both the device and the employee&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Each record should at minimum include the device, assigned employee, assignment time, return time, return condition, operator, and notes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdjcwzqws86iqzl7zjw8t.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdjcwzqws86iqzl7zjw8t.gif" alt="returned1-qazyjm.gif" width="600" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These two data types serve different purposes: the asset inventory stores the current state of the device, while assignment and return records preserve the history of each device movement.&lt;/p&gt;

&lt;p&gt;Next, simulate a complete device lifecycle:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Assign to Employee A → Employee A returns it → Reassign to Employee B&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdb0uujunos0pfxv5lefn.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdb0uujunos0pfxv5lefn.gif" alt="returned2-bwa0li.gif" width="760" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Afterward, check that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The current user on the asset detail page is Employee B;&lt;/li&gt;
&lt;li&gt;Employee A's original assignment and return history is still preserved;&lt;/li&gt;
&lt;li&gt;The device no longer appears in Employee A's current-device list, but does appear in Employee B's list.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl2lj95ss195qlky2b5z1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl2lj95ss195qlky2b5z1.png" alt="returned3-mbvdxp.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fun4rmoyzgzd3c9cb2gx8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fun4rmoyzgzd3c9cb2gx8.png" alt="returned4-nyxmt3.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Extend IT Operations Capabilities on Top of the Core Workflow
&lt;/h2&gt;

&lt;p&gt;Once the laptop request and delivery workflow works end to end, the system already has the basic data for assets, service requests, approvals, and device movement. Next, give the follow-up requirements—device maintenance, software licenses, AI assistance, and operations manuals—to AI and let it extend the existing system. Afterward, test each new capability against a real business scenario.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NocoBase AI Builder&lt;/strong&gt; lets AI design, build, and continue adjusting enterprise applications from natural-language requirements: &lt;a href="https://docs.nocobase.com/ai-builder" rel="noopener noreferrer"&gt;https://docs.nocobase.com/ai-builder&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  A Device Breaks — Add Maintenance Management
&lt;/h3&gt;

&lt;p&gt;Devices can fail after delivery. Once maintenance management is added, IT can create a maintenance record for the original device and save the problem description, date sent for repair, service provider, repair cost, maintenance status, and result.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmlk5xb6bvvld4l5w46xf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmlk5xb6bvvld4l5w46xf.png" alt="Maintenance management1-ctwwsd.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When a device enters maintenance, the asset status must change as well:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In use → Under maintenance → In use / Available / Retired&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If the repaired device goes back to the same employee, restore its status to “In use.” If it returns to inventory, set it to “Available.” If it can no longer be used, set it to “Retired.”&lt;/p&gt;

&lt;p&gt;After creating a test maintenance record, first verify that the linked asset automatically changes to “Under maintenance” and disappears from the available-device list so it cannot be assigned again while being repaired.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg9fp0ymysoo4lc2kxqph.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg9fp0ymysoo4lc2kxqph.gif" alt="Maintenance management2-sbyqjh.gif" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When maintenance is complete, separately test the three outcomes—“return to original employee,” “return to inventory,” and “retire device”—and confirm that the asset status matches the maintenance result.&lt;/p&gt;

&lt;h3&gt;
  
  
  More Software Requests — Manage Software Licenses
&lt;/h3&gt;

&lt;p&gt;As the number and variety of software products grow, IT needs to know how many seats have been purchased, how many are already in use, when each license renews, and the annual cost. &lt;strong&gt;The system therefore also needs software license management.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6qpm4mox0gmiudyo2mfc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6qpm4mox0gmiudyo2mfc.gif" alt="Software licenses1-91l5of.gif" width="600" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each software record should store the vendor, total seats, used seats, renewal date, annual cost, and current status. When handling a software request, first check whether seats remain available, then update the used-seat count after activation is completed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7ainxu1rghkxca2vs8q4.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7ainxu1rghkxca2vs8q4.gif" alt="Software licenses2-zquzcd.gif" width="760" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;These rules can also be handed to AI and automated through NocoBase Workflow.&lt;/strong&gt; For example, notify the owner and create a renewal task when a license is about to expire; if used seats exceed total seats, trigger an overage alert and let AI assist in deciding whether to expand capacity or reclaim accounts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0t58zu1n6vo7ruxh6xz3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0t58zu1n6vo7ruxh6xz3.png" alt="Software licenses3-3ngkzc.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Employees Cannot Explain the Problem Clearly — Let AI Structure the Request
&lt;/h3&gt;

&lt;p&gt;Employees do not always know which service to choose, and they may not describe an issue in the format IT prefers. For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;After resetting my password, I cannot connect to VPN and need access before today's customer call.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fitfafba8zpixr3nqyd54.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fitfafba8zpixr3nqyd54.png" alt="AI1-hfhx6x.png" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Employees can describe the issue in natural language and let AI turn it into a request title, service type, priority, and problem description. The employee can review or edit the result before formally submitting the request.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd449swd41450k37tc4f8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd449swd41450k37tc4f8.png" alt="AI2-y5vyfx.png" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Use the example above as a test and confirm that the service type, priority, and description produced by AI can still be edited and submitted normally. This way, employees can describe issues in their own words while IT still receives a structured request that can be categorized and processed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Repeated Problems — Build an Operations Knowledge Base
&lt;/h3&gt;

&lt;p&gt;Issues involving VPN, MFA, new-laptop setup, and printer failures occur repeatedly. Verified solutions can be organized into operations manuals that record purpose, prerequisites, procedures, validation steps, and exception handling.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh5pge57ibbl8z71mi2ce.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh5pge57ibbl8z71mi2ce.gif" alt="Operation Manual-bcp9qo.gif" width="600" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As the knowledge base grows, AI can also help IT find the relevant procedure based on the content of a request.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Validate the System with a Complete Workflow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Check Whether Everything Stays in Sync
&lt;/h3&gt;

&lt;p&gt;By this point, the system contains asset, service request, assignment, maintenance, and software-license data. &lt;strong&gt;The operations dashboard can summarize&lt;/strong&gt; available devices, devices in use, pending requests, devices under maintenance, license utilization, licenses approaching renewal, and software costs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp5vh3n7d288wr5iae8p6.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp5vh3n7d288wr5iae8p6.gif" alt="Data dashboard-y7igov.gif" width="600" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The dashboard data comes directly from the asset, service request, maintenance, and license records built earlier.&lt;/p&gt;

&lt;p&gt;Change a device status, complete a service request, or add a maintenance record, then confirm that the related dashboard metrics update accordingly. Clicking a metric should also allow users to view the matching details.&lt;/p&gt;

&lt;h3&gt;
  
  
  Validate the Full Process from Request to Return
&lt;/h3&gt;

&lt;p&gt;Finally, return to the employee used in the earlier tests and run through the whole process again:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Request laptop → AI-assisted form filling → Manager approval → IT selects device → Create assignment record → Employee starts using device → Maintenance / Return → Asset status updates → Operations dashboard updates&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8mpk9z0fy20l84wn407u.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8mpk9z0fy20l84wn407u.gif" alt="Data dashboard-5c3w3l.gif" width="600" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After completing the process, verify these points:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are the current user and asset status accurate?&lt;/li&gt;
&lt;li&gt;Are assignment, return, and maintenance histories fully preserved?&lt;/li&gt;
&lt;li&gt;Can the service request be traced back to the actual delivered device?&lt;/li&gt;
&lt;li&gt;Do employee, manager, and IT viewing and operation permissions match the design?&lt;/li&gt;
&lt;li&gt;Do status updates, reminders, and other automations execute correctly?&lt;/li&gt;
&lt;li&gt;Can AI-structured requests be edited and submitted normally?&lt;/li&gt;
&lt;li&gt;Do the related dashboard metrics update with business-state changes?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once these data and workflow behaviors match the business rules defined earlier, the system can first be released to a small group of users and then adjusted based on real feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;If you already have a clear business scenario, start with the workflow your team knows best. Describe the real requirements, team roles, and handling process directly to AI, then let NocoBase provide the data, permissions, and other enterprise application foundations. Build, check, and adjust as you go. Get the core business process working first, then expand the system gradually based on actual use.&lt;/p&gt;

&lt;p&gt;If this article was useful, feel free to share it with others who are exploring how to use AI to build internal enterprise systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/nocobase-vs-baserow" rel="noopener noreferrer"&gt;NocoBase vs Baserow: Flexible Databases vs Enterprise Systems&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready CRM with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;How to Design an IT Asset Management System: Data Model, Lifecycle, and Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/best-smartsheet-alternatives" rel="noopener noreferrer"&gt;How to Choose a Smartsheet Alternative: 7 Tools Compared&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-complex-relational-models" rel="noopener noreferrer"&gt;5 Open-Source AI No-Code Tools for Complex Relational Data Models&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/what-is-ai-no-code" rel="noopener noreferrer"&gt;What Is AI No-Code? A Practical Guide to No-Code Platforms in the AI Era&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-github-9" rel="noopener noreferrer"&gt;9 Open-Source AI No-Code Tools on GitHub Worth Watching&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/github-open-source-ai-agent-tools-16" rel="noopener noreferrer"&gt;14 Open Source AI Agent Tools with the Most GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/top-open-source-ai-assistant-tools-github-stars" rel="noopener noreferrer"&gt;Top 8 Open Source AI Assistant Tools by GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/workbuddy-open-source-tools" rel="noopener noreferrer"&gt;6 Open Source Tools to Use with WorkBuddy&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/6-github-top-open-source-ai-tools-for-ai-agents" rel="noopener noreferrer"&gt;Top 6 Open Source AI Tools by GitHub Stars for Stronger AI Agents&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-internal-tools-self-hosted-ai-agent-hermes" rel="noopener noreferrer"&gt;5 Open-Source Internal Tools to Use with Hermes Agent&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/openclaw-open-source-enterprise-tools" rel="noopener noreferrer"&gt;OpenClaw and 5 Open-Source Tools for Monitoring Business Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>Weekly Updates: Added Default Space Settings with Automatic User Assignment</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Mon, 17 Aug 2026 09:27:16 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-added-default-space-settings-with-automatic-user-assignment-n9e</link>
      <guid>https://dev.to/nocobase/weekly-updates-added-default-space-settings-with-automatic-user-assignment-n9e</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.1.41
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-16&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[lock-manager]&lt;/strong&gt; Added renewable local lock leases and ensured try-acquired locks are released safely across reuse and errors (&lt;a href="https://github.com/nocobase/nocobase/pull/10368" rel="noopener noreferrer"&gt;#10368&lt;/a&gt;)  by jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Redis lock adapter]&lt;/strong&gt; Added renewable Redis lock leases and made reusable lock handles release safely during contention and errors  by jiannx&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[File manager]&lt;/strong&gt; Fix the extra submit step when selecting an existing file in a single-value field (&lt;a href="https://github.com/nocobase/nocobase/pull/10372" rel="noopener noreferrer"&gt;#10372&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt; Fix Markdown HTML previews in v2 details blocks under dark themes. (&lt;a href="https://github.com/nocobase/nocobase/pull/10370" rel="noopener noreferrer"&gt;#10370&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Encryption]&lt;/strong&gt; Fixed bulk import failing with &lt;code&gt;model.changed is not a function&lt;/code&gt; when the collection contains an encryption field  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Webhook]&lt;/strong&gt; Fixed a 400 error when manually executing a webhook workflow without request headers  by mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.40
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-14&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Block: Tree]&lt;/strong&gt; Tree filter blocks now support configurable default sorting. (&lt;a href="https://github.com/nocobase/nocobase/pull/10339" rel="noopener noreferrer"&gt;#10339&lt;/a&gt;)  by jiannx&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix filter forms refreshing automatically in UI edit mode (&lt;a href="https://github.com/nocobase/nocobase/pull/10356" rel="noopener noreferrer"&gt;#10356&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Use Cascader by default for tree-structured relation fields in v2 filter forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10357" rel="noopener noreferrer"&gt;#10357&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix mobile single-select relation fields not clearing when the selected record is tapped again (&lt;a href="https://github.com/nocobase/nocobase/pull/10346" rel="noopener noreferrer"&gt;#10346&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the issue where China region fields cannot be added directly to filter forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10333" rel="noopener noreferrer"&gt;#10333&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix JS items incorrectly appearing in form field linkage rule actions (&lt;a href="https://github.com/nocobase/nocobase/pull/10363" rel="noopener noreferrer"&gt;#10363&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JSON calculation]&lt;/strong&gt; Fixed JSON Query jobs losing structured parser errors and displaying &lt;code&gt;[object Object]&lt;/code&gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10344" rel="noopener noreferrer"&gt;#10344&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Action: Export records]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed a page crash when sorting an edited relation field in Export V2. (&lt;a href="https://github.com/nocobase/nocobase/pull/10335" rel="noopener noreferrer"&gt;#10335&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix table export errors after filtering by multiple relation fields (&lt;a href="https://github.com/nocobase/nocobase/pull/10342" rel="noopener noreferrer"&gt;#10342&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed configured content disappearing after reopening a kanban card's detail drawer (&lt;a href="https://github.com/nocobase/nocobase/pull/10334" rel="noopener noreferrer"&gt;#10334&lt;/a&gt;)  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed video previews not updating when switching between files (&lt;a href="https://github.com/nocobase/nocobase/pull/10345" rel="noopener noreferrer"&gt;#10345&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Action: Import records Pro]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed asynchronously imported records not being associated with the current space  by jiannx&lt;/li&gt;
&lt;li&gt;Clarified import results by showing the number of newly created records separately from updated records  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix inconsistent subtable column widths in approval details  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Add data scope filtering to Client V2 related approval blocks  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.39
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-11&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed an issue where ctx.form.submit could not correctly submit form data. (&lt;a href="https://github.com/nocobase/nocobase/pull/10063" rel="noopener noreferrer"&gt;#10063&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[database]&lt;/strong&gt; Fixed prefix indexes on camel-case fields when underscored database naming is enabled (&lt;a href="https://github.com/nocobase/nocobase/pull/10329" rel="noopener noreferrer"&gt;#10329&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Duplicate record]&lt;/strong&gt; Improve direct duplication failure feedback in v2 without duplicate API error messages. (&lt;a href="https://github.com/nocobase/nocobase/pull/10327" rel="noopener noreferrer"&gt;#10327&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Record history]&lt;/strong&gt; Improved record history write performance for collections with large snapshot tables  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix the issue where removed one-to-many relation records cannot be selected again in approval forms  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.38
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-10&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Clarified the default JavaScript Worker concurrency behavior and when to configure a concurrency limit (&lt;a href="https://github.com/nocobase/nocobase/pull/10317" rel="noopener noreferrer"&gt;#10317&lt;/a&gt;)  by mytharcher
Reference: &lt;a href="https://docs.nocobase.com/workflow/nodes/javascript" rel="noopener noreferrer"&gt;JavaScript node&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; JavaScript workflow nodes now queue asynchronous Worker execution and limit per-process Worker concurrency to reduce resource spikes. (&lt;a href="https://github.com/nocobase/nocobase/pull/10280" rel="noopener noreferrer"&gt;#10280&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Flow engine]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed popup record variables and association blocks for custom non-Sequelize data sources (&lt;a href="https://github.com/nocobase/nocobase/pull/10272" rel="noopener noreferrer"&gt;#10272&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Fixed incorrect variable resolution for form field values (&lt;a href="https://github.com/nocobase/nocobase/pull/10319" rel="noopener noreferrer"&gt;#10319&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed file downloads failing after previewing cross-origin images when browser cache entries lack CORS response headers (&lt;a href="https://github.com/nocobase/nocobase/pull/10313" rel="noopener noreferrer"&gt;#10313&lt;/a&gt;)  by mytharcher&lt;br&gt;
Reference: &lt;a href="https://github.com/nocobase/nocobase/blob/fix/file-manager-download-cors-cache/docs/docs/en/file-manager/file-preview/index.md" rel="noopener noreferrer"&gt;File Preview&lt;/a&gt; / &lt;a href="https://github.com/nocobase/nocobase/blob/fix/file-manager-download-cors-cache/docs/docs/en/file-manager/storage/aliyun-oss.md" rel="noopener noreferrer"&gt;Aliyun OSS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" alt="next.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.0-beta.17
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-10&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Add Date variables and optional formatted output to V2 field-value editors. (&lt;a href="https://github.com/nocobase/nocobase/pull/10289" rel="noopener noreferrer"&gt;#10289&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI employees can now be assigned skills from the employee settings page. Skills are built from plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/10237" rel="noopener noreferrer"&gt;#10237&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Added UI navigation for supported LLM service CLI commands, including provider preselection when creating a service. (&lt;a href="https://github.com/nocobase/nocobase/pull/10210" rel="noopener noreferrer"&gt;#10210&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Multi-space]&lt;/strong&gt; Added default-space configuration so newly created users automatically join the selected default space.  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Added UI navigation for creating and editing vector databases from CLI commands, with provider preselection for new databases.  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Clarified the default JavaScript Worker concurrency behavior and when to configure a concurrency limit (&lt;a href="https://github.com/nocobase/nocobase/pull/10317" rel="noopener noreferrer"&gt;#10317&lt;/a&gt;)  by mytharcher
Reference: &lt;a href="https://docs.nocobase.com/workflow/nodes/javascript" rel="noopener noreferrer"&gt;JavaScript node&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; JavaScript workflow nodes now queue asynchronous Worker execution and limit per-process Worker concurrency to reduce resource spikes. (&lt;a href="https://github.com/nocobase/nocobase/pull/10280" rel="noopener noreferrer"&gt;#10280&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Export records]&lt;/strong&gt; Add field search to v2 import and export action settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10261" rel="noopener noreferrer"&gt;#10261&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Batch update]&lt;/strong&gt; Support configurable after-success behavior for v2 Update record and Bulk update actions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10278" rel="noopener noreferrer"&gt;#10278&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: HTTP request node]&lt;/strong&gt; Fix unstable test cases (&lt;a href="https://github.com/nocobase/nocobase/pull/10246" rel="noopener noreferrer"&gt;#10246&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Workflow create and update nodes now support combining text with variables when assigning string and text fields (&lt;a href="https://github.com/nocobase/nocobase/pull/10238" rel="noopener noreferrer"&gt;#10238&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Export records Pro]&lt;/strong&gt; Add field search to v2 Import Pro and Export Pro action settings.  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Aligned the vector database list styling with other settings tables  by cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed Kanban column quick create records not inheriting the selected group value (&lt;a href="https://github.com/nocobase/nocobase/pull/10321" rel="noopener noreferrer"&gt;#10321&lt;/a&gt;)  by jiannx&lt;/li&gt;
&lt;li&gt;Fix missing and incorrectly resolved &lt;code&gt;Current popup&lt;/code&gt; parent record variables in v2 popup-subtable add-new and edit dialogs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10292" rel="noopener noreferrer"&gt;#10292&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed parent item variables resolving to the wrong level when assigning association field values in sub-tables. (&lt;a href="https://github.com/nocobase/nocobase/pull/10249" rel="noopener noreferrer"&gt;#10249&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Fix the cancel button language in mobile selection lists (&lt;a href="https://github.com/nocobase/nocobase/pull/10297" rel="noopener noreferrer"&gt;#10297&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix missing Current record variables in v2 JS column event-flow conditions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10279" rel="noopener noreferrer"&gt;#10279&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[database]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed migration packages omitting many-to-many through-table data after an application restart (&lt;a href="https://github.com/nocobase/nocobase/pull/10306" rel="noopener noreferrer"&gt;#10306&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed MSSQL queries failing when filtering to-many relations with pagination and sorting by a root collection field (&lt;a href="https://github.com/nocobase/nocobase/pull/10224" rel="noopener noreferrer"&gt;#10224&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[data-source-manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed formula fields being converted to number fields after synchronizing fields from the database (&lt;a href="https://github.com/nocobase/nocobase/pull/10303" rel="noopener noreferrer"&gt;#10303&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;Fixed external data source table synchronization leaving removed collections registered in the database manager (&lt;a href="https://github.com/nocobase/nocobase/pull/10209" rel="noopener noreferrer"&gt;#10209&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[auth]&lt;/strong&gt; Fixed occasional &lt;code&gt;Invalid CSRF token&lt;/code&gt; errors on API requests in cross-origin deployments (&lt;a href="https://github.com/nocobase/nocobase/pull/10245" rel="noopener noreferrer"&gt;#10245&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Tree]&lt;/strong&gt; Fixed Tree block searches showing placeholder nodes when no business-field records matched (&lt;a href="https://github.com/nocobase/nocobase/pull/10323" rel="noopener noreferrer"&gt;#10323&lt;/a&gt;)  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Gantt]&lt;/strong&gt; Fixed custom record colors not being applied to short Gantt task bars (&lt;a href="https://github.com/nocobase/nocobase/pull/10322" rel="noopener noreferrer"&gt;#10322&lt;/a&gt;)  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Flow engine]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed incorrect variable resolution for form field values (&lt;a href="https://github.com/nocobase/nocobase/pull/10319" rel="noopener noreferrer"&gt;#10319&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Fixed popup record variables and association blocks for custom non-Sequelize data sources (&lt;a href="https://github.com/nocobase/nocobase/pull/10272" rel="noopener noreferrer"&gt;#10272&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Backup manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prevent repeated V2 backup restore submissions while a restore request is in progress. (&lt;a href="https://github.com/nocobase/nocobase/pull/10262" rel="noopener noreferrer"&gt;#10262&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix duplicate backups from async exports (&lt;a href="https://github.com/nocobase/nocobase/pull/10300" rel="noopener noreferrer"&gt;#10300&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Prevented clearing a field interface directly from the Configure fields table. (&lt;a href="https://github.com/nocobase/nocobase/pull/10288" rel="noopener noreferrer"&gt;#10288&lt;/a&gt;)  by hongboji&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed file downloads failing after previewing cross-origin images when browser cache entries lack CORS response headers (&lt;a href="https://github.com/nocobase/nocobase/pull/10313" rel="noopener noreferrer"&gt;#10313&lt;/a&gt;)  by mytharcher
Reference: &lt;a href="https://github.com/nocobase/nocobase/blob/fix/file-manager-download-cors-cache/docs/docs/en/file-manager/file-preview/index.md" rel="noopener noreferrer"&gt;File Preview&lt;/a&gt; / &lt;a href="https://github.com/nocobase/nocobase/blob/fix/file-manager-download-cors-cache/docs/docs/en/file-manager/storage/aliyun-oss.md" rel="noopener noreferrer"&gt;Aliyun OSS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Fixed shared attachments such as the system logo not loading for authenticated member users (&lt;a href="https://github.com/nocobase/nocobase/pull/10268" rel="noopener noreferrer"&gt;#10268&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Sequence]&lt;/strong&gt; Fixed duplicate automatic sequence values after migration when multiple records share the latest creation time (&lt;a href="https://github.com/nocobase/nocobase/pull/10239" rel="noopener noreferrer"&gt;#10239&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed the untranslated Settings tab in the AI plugin's client-v2 settings pages (&lt;a href="https://github.com/nocobase/nocobase/pull/10234" rel="noopener noreferrer"&gt;#10234&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;AI employee actions now support linkage rules for conditional visibility in v2 forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10298" rel="noopener noreferrer"&gt;#10298&lt;/a&gt;)  by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI templates]&lt;/strong&gt; Fix the issue where table blocks load data after returning to a page with empty filters (&lt;a href="https://github.com/nocobase/nocobase/pull/9890" rel="noopener noreferrer"&gt;#9890&lt;/a&gt;)  by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Localization]&lt;/strong&gt; Fixed a crash when opening Localization settings with the Lina AI assistant entry. (&lt;a href="https://github.com/nocobase/nocobase/pull/10293" rel="noopener noreferrer"&gt;#10293&lt;/a&gt;)  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed an issue where manually executing a workflow with &lt;code&gt;autoRevision=0&lt;/code&gt; could still create a new revision. (&lt;a href="https://github.com/nocobase/nocobase/pull/10243" rel="noopener noreferrer"&gt;#10243&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; Fixed JavaScript workflow Workers not exiting after scripts returned or asynchronous workflows timed out (&lt;a href="https://github.com/nocobase/nocobase/pull/10241" rel="noopener noreferrer"&gt;#10241&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt; Fixed external NocoBase files and attachment fields failing to load in AI workflows  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External SQL Server]&lt;/strong&gt; N/A — regression test coverage only  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External MySQL]&lt;/strong&gt; Fixed previously selected external database tables disappearing after adding new tables.  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Fixed PGVector knowledge base searches consuming unused PostgreSQL pool connections and creating duplicate pools for different vector tables.  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Migration manager]&lt;/strong&gt; Fixed many-to-many through-table migration data after application restarts and classified migration rules as system data  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Template print]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed unwanted spacing between Latin and East Asian text in PDF files generated from DOCX templates.  by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix missing external data source fields in approval views  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix missing field values in approval sub-tables  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix approval comment default values when using RunJS  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the issue where removed one-to-many relation records cannot be selected again in approval forms  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Allow approval comments to use configurable default values  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App supervisor]&lt;/strong&gt; Prevented app creation with database identifiers that do not start with an English letter or contain unsupported characters.  by hongboji&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[DingTalk]&lt;/strong&gt; Fixed DingTalk notification channels losing the selected authenticator when saved from the v2 channel form  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: LDAP]&lt;/strong&gt; Fixed LDAP login when a user DN mixes UTF-8 escapes with escaped syntax characters such as commas.  by hongboji&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  develop
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" alt="develop.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v3.0.0-alpha.9
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-11&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[cli]&lt;/strong&gt; &lt;code&gt;nb api resource create&lt;/code&gt; now accepts a JSON array for &lt;code&gt;--values&lt;/code&gt; to create multiple records in a single request. (&lt;a href="https://github.com/nocobase/nocobase/pull/10325" rel="noopener noreferrer"&gt;#10325&lt;/a&gt;)  by Molunerfinn
Reference: &lt;a href="https://github.com/nocobase/nocobase/blob/fix/cli-resource-create-array-values/docs/docs/en/api/cli/api/resource/create.md" rel="noopener noreferrer"&gt;nb api resource create&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix incorrect editing and display of large decimal values in V2 fields. (&lt;a href="https://github.com/nocobase/nocobase/pull/10330" rel="noopener noreferrer"&gt;#10330&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed an issue where ctx.form.submit could not correctly submit form data. (&lt;a href="https://github.com/nocobase/nocobase/pull/10063" rel="noopener noreferrer"&gt;#10063&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Automatically redirect to an accessible Settings tab when the current tab is unavailable (&lt;a href="https://github.com/nocobase/nocobase/pull/10332" rel="noopener noreferrer"&gt;#10332&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed Kanban column quick create records not inheriting the selected group value (&lt;a href="https://github.com/nocobase/nocobase/pull/10321" rel="noopener noreferrer"&gt;#10321&lt;/a&gt;)  by jiannx&lt;/li&gt;
&lt;li&gt;Redirect users without Settings access to the first available page (&lt;a href="https://github.com/nocobase/nocobase/pull/10331" rel="noopener noreferrer"&gt;#10331&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[database]&lt;/strong&gt; Fixed prefix indexes on camel-case fields when underscored database naming is enabled (&lt;a href="https://github.com/nocobase/nocobase/pull/10329" rel="noopener noreferrer"&gt;#10329&lt;/a&gt;)  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Gantt]&lt;/strong&gt; Fixed custom record colors not being applied to short Gantt task bars (&lt;a href="https://github.com/nocobase/nocobase/pull/10322" rel="noopener noreferrer"&gt;#10322&lt;/a&gt;)  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Tree]&lt;/strong&gt; Fixed Tree block searches showing placeholder nodes when no business-field records matched (&lt;a href="https://github.com/nocobase/nocobase/pull/10323" rel="noopener noreferrer"&gt;#10323&lt;/a&gt;)  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Duplicate record]&lt;/strong&gt; Improve direct duplication failure feedback in v2 without duplicate API error messages. (&lt;a href="https://github.com/nocobase/nocobase/pull/10327" rel="noopener noreferrer"&gt;#10327&lt;/a&gt;)  by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Record history]&lt;/strong&gt; Improved record history write performance for collections with large snapshot tables  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix missing return scope options in Client V2 approval forms  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the issue where removed one-to-many relation records cannot be selected again in approval forms  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[DingTalk]&lt;/strong&gt; Fixed DingTalk notification channels losing the selected authenticator when saved from the v2 channel form  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v3.0.0-alpha.8
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-10&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Add Date variables and optional formatted output to V2 field-value editors. (&lt;a href="https://github.com/nocobase/nocobase/pull/10289" rel="noopener noreferrer"&gt;#10289&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Portal manager]&lt;/strong&gt; Show an access denied message when users do not have permission to access a Portal (&lt;a href="https://github.com/nocobase/nocobase/pull/10275" rel="noopener noreferrer"&gt;#10275&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Connect coding agent]&lt;/strong&gt; Copy a ready-to-paste prompt from an AI Portal card to connect a coding agent to the instance  by Albert-mah&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clarified the default JavaScript Worker concurrency behavior and when to configure a concurrency limit (&lt;a href="https://github.com/nocobase/nocobase/pull/10317" rel="noopener noreferrer"&gt;#10317&lt;/a&gt;)  by mytharcher
Reference: &lt;a href="https://docs.nocobase.com/workflow/nodes/javascript" rel="noopener noreferrer"&gt;JavaScript node&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Add a model selection guide with evaluation dimensions and a color-coded model comparison table. (&lt;a href="https://github.com/nocobase/nocobase/pull/10295" rel="noopener noreferrer"&gt;#10295&lt;/a&gt;)  by Charls-Wu&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[cli]&lt;/strong&gt; fix: incorrect author identity in nb portal push commits (&lt;a href="https://github.com/nocobase/nocobase/pull/10315" rel="noopener noreferrer"&gt;#10315&lt;/a&gt;)  by gchust&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Portal manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improve Portal access check efficiency (&lt;a href="https://github.com/nocobase/nocobase/pull/10302" rel="noopener noreferrer"&gt;#10302&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Show a concise placeholder when Portal access cannot be configured directly (&lt;a href="https://github.com/nocobase/nocobase/pull/10301" rel="noopener noreferrer"&gt;#10301&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; JavaScript workflow nodes now queue asynchronous Worker execution and limit per-process Worker concurrency to reduce resource spikes. (&lt;a href="https://github.com/nocobase/nocobase/pull/10280" rel="noopener noreferrer"&gt;#10280&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Verification]&lt;/strong&gt; Add a refresh button to the Verification settings list (&lt;a href="https://github.com/nocobase/nocobase/pull/10299" rel="noopener noreferrer"&gt;#10299&lt;/a&gt;)  by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Show loading feedback when enabling or disabling plugins (&lt;a href="https://github.com/nocobase/nocobase/pull/10310" rel="noopener noreferrer"&gt;#10310&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Hide the retry button while the app is running a command (&lt;a href="https://github.com/nocobase/nocobase/pull/10290" rel="noopener noreferrer"&gt;#10290&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the cancel button language in mobile selection lists (&lt;a href="https://github.com/nocobase/nocobase/pull/10297" rel="noopener noreferrer"&gt;#10297&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed parent item variables resolving to the wrong level when assigning association field values in sub-tables. (&lt;a href="https://github.com/nocobase/nocobase/pull/10249" rel="noopener noreferrer"&gt;#10249&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Fix missing and incorrectly resolved &lt;code&gt;Current popup&lt;/code&gt; parent record variables in v2 popup-subtable add-new and edit dialogs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10292" rel="noopener noreferrer"&gt;#10292&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[database]&lt;/strong&gt; Fixed migration packages omitting many-to-many through-table data after an application restart (&lt;a href="https://github.com/nocobase/nocobase/pull/10306" rel="noopener noreferrer"&gt;#10306&lt;/a&gt;)  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[data-source-manager]&lt;/strong&gt; Fixed formula fields being converted to number fields after synchronizing fields from the database (&lt;a href="https://github.com/nocobase/nocobase/pull/10303" rel="noopener noreferrer"&gt;#10303&lt;/a&gt;)  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt; fix the issue unable to create portal from local (&lt;a href="https://github.com/nocobase/nocobase/pull/10304" rel="noopener noreferrer"&gt;#10304&lt;/a&gt;)  by gchust&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Flow engine]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed incorrect variable resolution for form field values (&lt;a href="https://github.com/nocobase/nocobase/pull/10319" rel="noopener noreferrer"&gt;#10319&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Fixed popup record variables and association blocks for custom non-Sequelize data sources (&lt;a href="https://github.com/nocobase/nocobase/pull/10272" rel="noopener noreferrer"&gt;#10272&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed the AI employee chat entry briefly appearing while a page is loading or redirecting. (&lt;a href="https://github.com/nocobase/nocobase/pull/10309" rel="noopener noreferrer"&gt;#10309&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;AI employee actions now support linkage rules for conditional visibility in v2 forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10298" rel="noopener noreferrer"&gt;#10298&lt;/a&gt;)  by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed file downloads failing after previewing cross-origin images when browser cache entries lack CORS response headers (&lt;a href="https://github.com/nocobase/nocobase/pull/10313" rel="noopener noreferrer"&gt;#10313&lt;/a&gt;)  by mytharcher&lt;br&gt;
Reference: &lt;a href="https://github.com/nocobase/nocobase/blob/fix/file-manager-download-cors-cache/docs/docs/en/file-manager/file-preview/index.md" rel="noopener noreferrer"&gt;File Preview&lt;/a&gt; / &lt;a href="https://github.com/nocobase/nocobase/blob/fix/file-manager-download-cors-cache/docs/docs/en/file-manager/storage/aliyun-oss.md" rel="noopener noreferrer"&gt;Aliyun OSS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Batch edit]&lt;/strong&gt; Corrected built-in plugin documentation to show that these plugins are enabled by default (&lt;a href="https://github.com/nocobase/nocobase/pull/10314" rel="noopener noreferrer"&gt;#10314&lt;/a&gt;)  by hongboji&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Portal manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix compatibility issues when older AI Portals check access permissions (&lt;a href="https://github.com/nocobase/nocobase/pull/10307" rel="noopener noreferrer"&gt;#10307&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix incorrect Portal URLs when the name is x or v (&lt;a href="https://github.com/nocobase/nocobase/pull/10305" rel="noopener noreferrer"&gt;#10305&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Keep Portal titles unchanged in role permissions (&lt;a href="https://github.com/nocobase/nocobase/pull/10291" rel="noopener noreferrer"&gt;#10291&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Backup manager]&lt;/strong&gt; Fix duplicate backups from async exports (&lt;a href="https://github.com/nocobase/nocobase/pull/10300" rel="noopener noreferrer"&gt;#10300&lt;/a&gt;)  by gchust&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Disable workflow execution mode selection until a trigger type is selected. (&lt;a href="https://github.com/nocobase/nocobase/pull/10296" rel="noopener noreferrer"&gt;#10296&lt;/a&gt;)  by Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt; Fixed external NocoBase files and attachment fields failing to load in AI workflows  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Migration manager]&lt;/strong&gt; Fixed many-to-many through-table migration data after application restarts and classified migration rules as system data  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix approval application cards not showing submitted content immediately  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Align the V2 approval message template page with the V1 layout and actions  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>nocode</category>
      <category>news</category>
      <category>opensource</category>
    </item>
    <item>
      <title>NocoBase vs Baserow: Flexible Databases vs Enterprise Systems</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Wed, 12 Aug 2026 11:47:35 +0000</pubDate>
      <link>https://dev.to/nocobase/nocobase-vs-baserow-flexible-databases-vs-enterprise-systems-448p</link>
      <guid>https://dev.to/nocobase/nocobase-vs-baserow-flexible-databases-vs-enterprise-systems-448p</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/nocobase-vs-baserow" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/nocobase-vs-baserow&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;If you are looking for an open-source, self-hosted platform to manage data, build internal applications, or automate business processes, &lt;a href="https://www.nocobase.com/" rel="noopener noreferrer"&gt;NocoBase&lt;/a&gt; and &lt;a href="https://baserow.io/" rel="noopener noreferrer"&gt;Baserow&lt;/a&gt; are likely to appear on the same shortlist.&lt;/p&gt;

&lt;p&gt;Both products provide visual data management and application-building capabilities, and both let teams extend the platform around their own needs. But judging only by these shared labels can make them look more similar than they really are.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhwddxhtly9t7nstkvjg8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhwddxhtly9t7nstkvjg8.png" alt="Baserow1-yoesgu.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8w6k1dje7538g5ajnz6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8w6k1dje7538g5ajnz6b.png" alt="NocoBase1-x10z5y.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In practice, Baserow and NocoBase represent two different product directions.&lt;/p&gt;




&lt;p&gt;💬 Hey, you're reading the NocoBase blog. NocoBase is the most extensible AI-powered no-code/low-code development platform for building enterprise applications, internal tools, and all kinds of systems. It’s fully self-hosted, plugin-based, and developer-friendly. → &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;Explore NocoBase on GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Baserow represents the spreadsheet-style no-code approach. Its first priority is helping teams organize, manage, and collaborate on structured data in a more flexible and intuitive way.&lt;/p&gt;

&lt;p&gt;NocoBase starts from business-system development. It combines data models, pages, role-based permissions, workflows, and automation to help teams build enterprise applications that can run for the long term and continue evolving.&lt;/p&gt;

&lt;p&gt;As AI Agents move into real business scenarios, these capabilities are also becoming infrastructure for AI to access enterprise data, invoke business processes, and perform tasks within defined permission boundaries.&lt;/p&gt;

&lt;p&gt;This article therefore looks at the products from the perspective of actual usage and answers a practical question: &lt;strong&gt;when is a spreadsheet-style no-code platform such as Baserow the better fit, and when should you choose NocoBase instead?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;💡 Read more: &lt;a href="https://www.nocobase.com/en/blog/nocobase-vs-airtable" rel="noopener noreferrer"&gt;NocoBase vs Airtable: A More Flexible Open-Source Alternative&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Baserow: A Spreadsheet-Style No-Code Platform
&lt;/h2&gt;

&lt;p&gt;Baserow was started by Bram Wiepjes as a personal project in 2019. Its first version was released in 2020, when the team also began to take shape. Today, &lt;a href="https://github.com/baserow/baserow" rel="noopener noreferrer"&gt;its GitHub repository has around 5.3k Stars&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Baserow first gained attention as an open-source Airtable alternative. Its most recognizable experience still starts from a familiar model: &lt;strong&gt;create and manage structured data as easily as working in a spreadsheet.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Products in this category are often described as multidimensional spreadsheets, online databases, or spreadsheet-database tools. Besides Baserow, Airtable, NocoDB, Grist, SeaTable, and Feishu Bitable follow a similar approach.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiqv6t0gp4sxqf0b92l69.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiqv6t0gp4sxqf0b92l69.png" alt="Baserow2-gk0wm6.png" width="800" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  NocoBase: Business-System Infrastructure for the AI Era
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;NocoBase GitHub repository&lt;/a&gt; has now surpassed 23k Stars. NocoBase is an open-source AI + no-code platform for rapidly building business systems, but its role goes beyond visual application building. It provides infrastructure for people and AI Agents to build, run, and continuously extend business systems together.&lt;/p&gt;

&lt;p&gt;💡 Read more: &lt;a href="https://docs.nocobase.com/ai-builder" rel="noopener noreferrer"&gt;AI Builder Quick Start - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw68r91r4ti8ivf5m53zi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw68r91r4ti8ivf5m53zi.png" alt="NocoBase2-oac2vq.png" width="799" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In NocoBase, the data model is the foundation, but the final product is not simply a set of tables for users to maintain directly. It is a complete business system that can include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business pages designed for different roles&lt;/li&gt;
&lt;li&gt;Data scopes and actions available to different users&lt;/li&gt;
&lt;li&gt;Forms, detail pages, and business operations&lt;/li&gt;
&lt;li&gt;Approvals, state transitions, and automated workflows&lt;/li&gt;
&lt;li&gt;Operation records and audit logs&lt;/li&gt;
&lt;li&gt;AI Employees that participate in business processing inside the system&lt;/li&gt;
&lt;li&gt;APIs, MCP, CLI, and Skills for external AI Agents&lt;/li&gt;
&lt;li&gt;Plugins and integrations that continue to grow with enterprise requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These capabilities support not only traditional business applications but also the context and execution boundaries AI needs in enterprise environments. AI Coding Agents can participate in data modeling, page configuration, permission setup, workflow orchestration, and plugin development. AI Employees inside the system and external Agents can query data, trigger workflows, and execute tasks within predefined permissions, while their operations remain subject to access control and auditing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0r16un0y562v97bgnnhy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0r16un0y562v97bgnnhy.png" alt="NocoBase3-vm1y45.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ordinary users typically work through configured pages, forms, and actions instead of interacting directly with underlying tables. System builders can continue changing data models, pages, permissions, and workflows, while AI Agents can participate in building and iteration on top of the same architecture.&lt;/p&gt;

&lt;p&gt;💡 Read more: &lt;a href="https://docs.nocobase.com/ai-builder/acl" rel="noopener noreferrer"&gt;Permission Configuration - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Difference 1: Creating a Database or Building a Business System
&lt;/h2&gt;

&lt;p&gt;Both Baserow and NocoBase are based on data models, and both let users visually create fields, relationships, and application pages.&lt;/p&gt;

&lt;p&gt;But they start from different places in actual use.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Baserow: &lt;strong&gt;start by creating a database and manage data collaboratively in a more flexible way.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;NocoBase: &lt;strong&gt;start by identifying business objects, roles, and processes, then combine them into a complete business system.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both products can create tables, relationships, and application pages, but their most natural end results are different.&lt;/p&gt;

&lt;p&gt;With Baserow, a team will typically end up with a table-centered collaborative workspace:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear data structures&lt;/li&gt;
&lt;li&gt;Direct editing&lt;/li&gt;
&lt;li&gt;Flexible views&lt;/li&gt;
&lt;li&gt;Easy bulk maintenance&lt;/li&gt;
&lt;li&gt;Fast adaptation to changing needs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8e1lthtlhoxvmqbr37f8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8e1lthtlhoxvmqbr37f8.png" alt="Baserow3-ooq25p.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With NocoBase, a team will more naturally end up with an application system centered on business roles and processes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Users work through dedicated business pages&lt;/li&gt;
&lt;li&gt;Different roles have different permissions&lt;/li&gt;
&lt;li&gt;Data changes are governed by operation rules&lt;/li&gt;
&lt;li&gt;State changes can trigger approvals and workflows&lt;/li&gt;
&lt;li&gt;New modules can be added as the business grows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fksad3o0xx3n2jjewz13o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fksad3o0xx3n2jjewz13o.png" alt="NocoBase4-xz7qqt.png" width="799" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fleamx7d0lqtov0ku7v8x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fleamx7d0lqtov0ku7v8x.png" alt="NocoBase5-azvvyh.png" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In Baserow, the database itself is often the team's primary workspace.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In NocoBase, the database is more often the underlying foundation of a business system, while ordinary users interact with data through pages, forms, buttons, and workflows.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Difference 2: Editing Data or Completing Business Operations
&lt;/h2&gt;

&lt;p&gt;Baserow and NocoBase both support tables, forms, and application pages, but ordinary users interact with data differently.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Baserow&lt;/strong&gt;: users typically enter a table view to view, filter, and bulk-edit records. Grid View remains its most representative data-management interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NocoBase&lt;/strong&gt;: users typically complete work through business pages, forms, and action buttons. Buttons can also trigger workflows that control subsequent data processing and business steps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, consider updating a customer record.&lt;/p&gt;

&lt;p&gt;In Baserow, users can click a cell and change the value directly. This is efficient for quick maintenance and bulk editing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwh9frhc9c7oveqbnuh9r.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwh9frhc9c7oveqbnuh9r.gif" alt="Baserow4-mvdrpi.gif" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In NocoBase, once the data model is defined, the frontend can be organized much more freely. Teams can build pages around different roles and business scenarios, and AI can also help configure those pages.&lt;/p&gt;

&lt;p&gt;For the same customer-status change, a team could use an action button on the customer detail page, or organize customers in a Kanban board and move cards between statuses. Each record can still open into a detail page for full information and editing.&lt;/p&gt;

&lt;p&gt;This means the same underlying data and business rules can be presented through different pages and interactions depending on how the work is actually performed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsnldj4yq6h3zss032di7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsnldj4yq6h3zss032di7.gif" alt="NocoBase6-qmlcx4.gif" width="600" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhio4j1wdiuta56pqv22s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhio4j1wdiuta56pqv22s.png" alt="NocoBase7-oacp42.png" width="799" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The two approaches fit different situations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spreadsheet-style tools emphasize directness, speed, and flexibility.&lt;/li&gt;
&lt;li&gt;Business systems emphasize explicit operation entry points, validation, and process control.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When users are changing a content plan or a task note, direct editing is often more efficient.&lt;/p&gt;

&lt;p&gt;But when they are changing an order amount, inventory quantity, contract status, or approval result, enterprises often need users to complete an explicit business operation rather than directly change underlying data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For collaborative data tools, saving one click can improve efficiency. For formal business systems, adding one confirmation step may reduce the cost of mistakes.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Difference 3: Small-Team Collaboration or Enterprise Multi-Role Use
&lt;/h2&gt;

&lt;p&gt;Baserow and NocoBase both support multi-user collaboration and permission management, but their typical collaboration models differ.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Baserow&lt;/strong&gt;: better suited to teams collaborating around the same set of data through different views, filters, and record editing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5d5f2b7d9vw964ghkfe5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5d5f2b7d9vw964ghkfe5.png" alt="Baserow5-81143m.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;NocoBase&lt;/strong&gt;: better suited to multiple departments and roles working in the same system, with different pages, data scopes, and operation permissions for each type of user.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu8f1whuw6lbmb3ybx66y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu8f1whuw6lbmb3ybx66y.png" alt="NocoBase8-657rmi.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, in a sales-management application:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sales representatives can only view and edit customers assigned to them.&lt;/li&gt;
&lt;li&gt;Sales managers can view the entire team's data and approve discounts.&lt;/li&gt;
&lt;li&gt;Finance users can only access contracts, invoicing, and payment information.&lt;/li&gt;
&lt;li&gt;Management can view aggregated data without directly editing business records.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In NocoBase, data permissions can also be controlled down to the row level for finer-grained access management.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building the Same Business Scenario with Baserow and NocoBase
&lt;/h2&gt;

&lt;p&gt;Consider the same CRM scenario in both products.&lt;/p&gt;

&lt;p&gt;Assume the system needs to manage customers, contacts, sales opportunities, and follow-up records while supporting sales-stage management, owner assignment, and sales reporting.&lt;/p&gt;

&lt;p&gt;Both products can build this CRM, but the resulting usage model will differ.&lt;/p&gt;

&lt;p&gt;Baserow more naturally starts from data tables and views, then gradually adds application pages, automation, and permissions.&lt;/p&gt;

&lt;p&gt;NocoBase starts from the data model, then builds pages, permissions, workflows, and AI capabilities around the same underlying data, eventually forming a business system designed for different roles.&lt;/p&gt;

&lt;p&gt;AI makes the comparison even more interesting. Baserow has already integrated AI deeply into database and application building. Its AI assistant Kuma can create and modify databases, formulas, views, and application pages through natural language.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3l704saus8fbs34ptxm3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3l704saus8fbs34ptxm3.png" alt="Baserow6-24tjdt.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NocoBase also supports AI-assisted system building, but AI reaches further across the complete business-system structure. AI Agents can participate in data modeling, page building, permission configuration, workflow orchestration, plugin management, and system deployment. After the system is built, AI Employees can work directly inside CRM pages using current customer data, sales opportunities, and user permissions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsllh1mmlezv4lq5kx239.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsllh1mmlezv4lq5kx239.png" alt="NocoBase9-q6mx1s.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Both products can therefore use AI to build applications and process data. The clearer difference is that NocoBase can directly connect Coding Agents and treat AI as a participant in the business system: AI not only helps users build the CRM, but can continue participating in daily business execution after the CRM is in use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enterprise Capability Comparison
&lt;/h2&gt;

&lt;p&gt;As applications spread across more teams, factors beyond data management and page building—permissions, security, deployment, and long-term operations—also become part of the selection process.&lt;/p&gt;

&lt;p&gt;Baserow has expanded from an open-source database product into application building, automation, and AI, while adding increasingly complete enterprise capabilities.&lt;/p&gt;

&lt;p&gt;NocoBase's enterprise capabilities are organized around complete business systems. Data models, pages, workflows, permissions, security, multi-environment management, cluster deployment, and AI Agents all operate within the same system architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: How to Choose Between Baserow and NocoBase
&lt;/h2&gt;

&lt;p&gt;Baserow and NocoBase are both open-source and self-hostable, and both now offer application building, automation, and AI capabilities. But the problems they are best suited to solve are still different.&lt;/p&gt;

&lt;p&gt;If your core requirement is to organize data quickly, replace spreadsheets, and let a team collaborate around that data, Baserow is simpler. It keeps a spreadsheet-like experience while allowing you to add views, applications, automation, and AI.&lt;/p&gt;

&lt;p&gt;If your requirements already involve multiple business objects, different roles, complex permissions, approvals, and workflows—or if you want AI Agents to operate inside an enterprise system under established permissions and business rules—NocoBase is better suited to building that kind of long-running business system.&lt;/p&gt;

&lt;p&gt;In simple terms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Baserow is a good fit when you want to start from straightforward data management and collaboration.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NocoBase is a better fit when you want to start from a business system and provide AI Agents with an executable enterprise environment.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We are also seeing more users who originally chose spreadsheets or multidimensional-table products for business management move to NocoBase as their needs grow. As business complexity increases, table-centered management often begins to run into limitations around role permissions, workflows, data relationships, and system extensibility. At that point, the requirement starts shifting from “a better spreadsheet” to a real business system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready CRM with AI and NocoBase &lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;How to Design an IT Asset Management System: Data Model, Lifecycle, and Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/best-smartsheet-alternatives" rel="noopener noreferrer"&gt;How to Choose a Smartsheet Alternative: 7 Tools Compared&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-complex-relational-models" rel="noopener noreferrer"&gt;5 Open-Source AI No-Code Tools for Complex Relational Data Models&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/what-is-ai-no-code" rel="noopener noreferrer"&gt;What Is AI No-Code? A Practical Guide to No-Code Platforms in the AI Era&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-github-9" rel="noopener noreferrer"&gt;9 Open-Source AI No-Code Tools on GitHub Worth Watching&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/github-open-source-ai-agent-tools-16" rel="noopener noreferrer"&gt;14 Open Source AI Agent Tools with the Most GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/top-open-source-ai-assistant-tools-github-stars" rel="noopener noreferrer"&gt;Top 8 Open Source AI Assistant Tools by GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/workbuddy-open-source-tools" rel="noopener noreferrer"&gt;6 Open Source Tools to Use with WorkBuddy&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/6-github-top-open-source-ai-tools-for-ai-agents" rel="noopener noreferrer"&gt;Top 6 Open Source AI Tools by GitHub Stars for Stronger AI Agents&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-internal-tools-self-hosted-ai-agent-hermes" rel="noopener noreferrer"&gt;5 Open-Source Internal Tools to Use with Hermes Agent&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/openclaw-open-source-enterprise-tools" rel="noopener noreferrer"&gt;OpenClaw and 5 Open-Source Tools for Monitoring Business Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/opencode-open-source-tools-ai-agents" rel="noopener noreferrer"&gt;What Open-Source Tools Work Well with OpenCode? 5 Projects to Try&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>nocode</category>
      <category>database</category>
      <category>opensource</category>
    </item>
    <item>
      <title>How to Build a Production-Ready CRM with AI and NocoBase</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Tue, 11 Aug 2026 12:29:28 +0000</pubDate>
      <link>https://dev.to/nocobase/how-to-build-a-production-ready-crm-with-ai-and-nocobase-53fg</link>
      <guid>https://dev.to/nocobase/how-to-build-a-production-ready-crm-with-ai-and-nocobase-53fg</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;AI can build a CRM that is genuinely ready for production. With NocoBase providing the enterprise application foundations—data models, role-based permissions, security auditing, workflows, and more—AI can build a CRM from business requirements and then continue adding automation and AI Employees so the team can use it reliably in real operations over the long term.&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;A recent &lt;a href="https://www.reddit.com/r/CRM/comments/1v6aj6g/vibecodinginhouse_crm/" rel="noopener noreferrer"&gt;Reddit&lt;/a&gt; discussion raised an interesting question: &lt;strong&gt;now that AI development tools are so capable, do teams still need to buy Salesforce or HubSpot, or can they simply Vibe Code an internal CRM?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv7pwyuki514luxhax6yz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv7pwyuki514luxhax6yz.png" alt="reddit-t0fg0h.png" width="625" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One user who had actually built a CRM this way noted that AI can quickly create basic features such as customer management and dashboards. But once the system needs to support a real team over time, issues such as permissions, data isolation, security, and ongoing maintenance still have to be solved.&lt;/p&gt;

&lt;p&gt;He made the point that you can absolutely Vibe Code a CRM, &lt;strong&gt;but you cannot simply Vibe Code an enterprise CRM that remains reliable once it is exposed to real users, real data, and real business processes. Coding is the easy part; everything behind it is harder.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frbutip1ffpara79b9y4y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frbutip1ffpara79b9y4y.png" alt="reddit2-9uovy8.png" width="573" height="859"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;💬 Hey, you're reading the NocoBase blog. NocoBase is the most extensible AI-powered no-code/low-code development platform for building enterprise applications, internal tools, and all kinds of systems. It’s fully self-hosted, plugin-based, and developer-friendly. → &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;Explore NocoBase on GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;AI can build the basic framework of a CRM very quickly, but there is still a gap between that and a system that is truly ready for enterprise use.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Today, however, there is another approach. Instead of asking AI to recreate enterprise application fundamentals from scratch—permissions, security, auditing, data models, and so on—we can give it an application foundation that already provides those capabilities, then let AI focus on building and iterating the actual business system.&lt;/p&gt;

&lt;p&gt;In this guide, we will show how to combine AI with NocoBase's enterprise application capabilities to build a production-ready CRM from natural-language requirements in about an hour.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2fqv8a7cwggzqsqvon27.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2fqv8a7cwggzqsqvon27.png" alt="nocobase1-u2p9y7.png" width="800" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚀 You can also try applications built with NocoBase + AI online and see what AI-assisted application building looks like in practice: &lt;a href="https://demo.nocobase.com/new" rel="noopener noreferrer"&gt;https://demo.nocobase.com/new&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All screenshots in this article come from the NocoBase online demo. The entire system, from design to implementation, was completed by an AI Coding Agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Start with Real Business Requirements
&lt;/h2&gt;

&lt;p&gt;This article uses a small B2B office furniture company as the example.&lt;/p&gt;

&lt;p&gt;The company mainly supplies office furniture and commercial-space solutions to businesses, design firms, architecture studios, hotels, coworking spaces, and educational institutions. A small sales team handles customer acquisition, project follow-up, quotations, and deal closing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbqq9trschn7calbqf5pv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbqq9trschn7calbqf5pv.png" alt="nocobase2-u9b244.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A typical project might begin when a design firm requests an office renovation. A salesperson needs to create the company account and contacts, open an opportunity, continuously record meetings and email communication, select products such as conference tables, office chairs, workstations, and acoustic partitions based on the project requirements, generate a quotation, and then move the deal through several rounds of communication and negotiation until it closes.&lt;/p&gt;

&lt;p&gt;The main sales process is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lead → Company account → Opportunity → Quotation → Ongoing follow-up → Closed deal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For this sales team, the CRM needs to manage company accounts and contacts, leads, opportunities, products and quotations, communication records, and follow-up tasks in one place. It should also support sales dashboards, team permissions, business automation, and AI-assisted work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Describe the Business in Natural Language
&lt;/h3&gt;

&lt;p&gt;Describe the company's business, customer types, team roles, and sales process directly to AI. The key is to explain &lt;strong&gt;what the company sells, which customers it serves, how salespeople develop accounts and move projects forward, how a project progresses from initial contact to closing, and what data and daily work the CRM needs to manage.&lt;/strong&gt; You can also include team roles, sales rules that should run automatically, and the work you want AI Employees to handle so AI first understands the team and business the CRM is supposed to support.&lt;/p&gt;

&lt;p&gt;NocoBase can connect to different large language models for application building, including GPT, Opus, Qwen, and DeepSeek. Different models may vary in how they understand requirements, how quickly they generate results, and how the final application is presented, so you can choose based on actual results and your own preferences.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Which model should you choose? NocoBase model comparison&lt;/strong&gt;: &lt;a href="https://docs.nocobase.com/ai-builder/ai-portal/model-selection/" rel="noopener noreferrer"&gt;https://docs.nocobase.com/ai-builder/ai-portal/model-selection/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can give the business requirements to AI like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I run a small B2B office furniture company. We mainly provide office furniture and commercial-space solutions to businesses, design firms, architecture studios, hotels, and coworking spaces.

Please use NocoBase to help me build a CRM that manages the full sales process from lead to closed deal, including company accounts and contacts, opportunities, products and quotations, customer communications, follow-up activities, and sales dashboards.

Our opportunities usually move through these stages:
Initial contact → Quotation → Business negotiation → Closed deal.

The team includes sales representatives, sales managers, and read-only users. We will also need corresponding data permissions, post-deal automation, reminders for opportunities that have not been followed up for a long time, and AI Employees that can organize customer emails and meeting notes.

First, summarize the CRM's main modules, data relationships, sales process, and user roles based on these requirements. After I confirm the design, begin building it in NocoBase.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Permissions, automation, and AI Employees do not all need to be configured in one pass. First confirm that AI correctly understands the core business objects—accounts, contacts, opportunities, products, and quotations—then continue improving the existing CRM.&lt;/p&gt;

&lt;h3&gt;
  
  
  Confirm AI's Understanding of the Business
&lt;/h3&gt;

&lt;p&gt;Before building, ask AI to produce a concise CRM structure based on the requirements. Confirm that it includes &lt;strong&gt;accounts and contacts, leads, opportunities, products and quotations, communications and follow-ups, sales dashboards, user roles, and business rules&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Also verify that the main data relationships and sales stages are correct. For example, one company account can have multiple contacts, opportunities, and communication records, while each quotation should be linked to the customer, the opportunity, and the specific products being quoted.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F80jzd92s3mlupah4v3f9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F80jzd92s3mlupah4v3f9.png" alt="nocobase3-q35ehq.png" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Use the following sales stages consistently:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Initial contact → Quotation → Business negotiation → Closed deal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once AI clearly understands the business, let it start building the CRM from this design.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Let AI Build the CRM, Then Check the Core Business Logic
&lt;/h2&gt;

&lt;p&gt;After the CRM is generated, first verify the basic business relationships instead of immediately adding permissions, automation, or more pages. Focus on whether accounts, contacts, opportunities, products, quotations, and communication records are correctly connected and whether the full process matches how sales actually works.&lt;/p&gt;

&lt;h3&gt;
  
  
  Check Accounts and Contacts
&lt;/h3&gt;

&lt;p&gt;Each company account should centrally connect &lt;strong&gt;company information, contacts, account owner, related opportunities, communication records, and follow-up items&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftrxf2xe360yjuf6fd86g.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftrxf2xe360yjuf6fd86g.gif" alt="nocobase4-7r08ec.gif" width="600" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When a salesperson opens an account detail page, they should be able to immediately see who the contacts are, which projects are currently active, what the latest communication was, and what needs to happen next.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fioqwq73y52tvckx97geb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fioqwq73y52tvckx97geb.png" alt="nocobase5-n5g5y8.png" width="799" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also check that one customer can be linked to multiple contacts, opportunities, and communication records instead of having this information generated as unrelated standalone pages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx59c44lv715thtgiwq20.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx59c44lv715thtgiwq20.png" alt="nocobase6-mhsqcg.png" width="800" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Check Opportunity Progression
&lt;/h3&gt;

&lt;p&gt;All active projects should be managed through opportunities and progress through these stages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Initial contact → Quotation → Business negotiation → Closed deal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6s75mkfflfnemffmr01s.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6s75mkfflfnemffmr01s.gif" alt="nocobase7-jqwuj9.gif" width="600" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each opportunity should record &lt;strong&gt;the associated customer, opportunity owner, expected value, expected close date, and current stage&lt;/strong&gt;, and users should be able to view and update opportunities from a pipeline board.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx7jteh05fv5cy0jhcxbs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx7jteh05fv5cy0jhcxbs.png" alt="nocobase8-8i0jrs.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Check Products and Quotations
&lt;/h3&gt;

&lt;p&gt;The product catalog should centrally maintain &lt;strong&gt;product code, product name, category, sales price, and availability status&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyeo1le2h98qrxslbpwig.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyeo1le2h98qrxslbpwig.gif" alt="nocobase9-cpvrs4.gif" width="760" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A quotation should be linked to &lt;strong&gt;the company account, the specific opportunity, quoted products, quotation amount, validity period, and current status&lt;/strong&gt;, so salespeople can open quotations from an opportunity and also view related quotations from the customer detail page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fplxuf4h42q35smjhhaq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fplxuf4h42q35smjhhaq4.png" alt="10-c23frk.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4aupk9hma9xd9k5y7e5u.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4aupk9hma9xd9k5y7e5u.gif" alt="nocobase11-vj57d3.gif" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the relationships between customers, opportunities, products, and quotations do not match the real business, describe the specific issue directly to AI and have it adjust the existing CRM. Once the core business is correct, continue adding the capabilities needed for team use.&lt;/p&gt;

&lt;p&gt;For guidance on collaborating more effectively with an AI Agent during application building, see: &lt;a href="https://docs.nocobase.com/ai-builder/ai-portal/agent-workflow" rel="noopener noreferrer"&gt;https://docs.nocobase.com/ai-builder/ai-portal/agent-workflow&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Turn the Basic CRM into a System the Team Can Actually Use
&lt;/h2&gt;

&lt;p&gt;Once the core workflows around customers, opportunities, and quotations work correctly, continue giving AI the team's roles and sales rules. AI can then add permissions and automation to the existing CRM so it supports collaboration and daily operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Configure Permissions Around Team Responsibilities
&lt;/h3&gt;

&lt;p&gt;First tell AI which roles exist and what each role is allowed to view and do:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sales representatives&lt;/strong&gt; can only view and manage the customers, opportunities, and follow-up items assigned to them; &lt;strong&gt;sales managers&lt;/strong&gt; can view the entire team's data, reassign owners, and review sales progress; &lt;strong&gt;read-only users&lt;/strong&gt; can view relevant information but cannot create, edit, or delete business data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4z9gvpnkikej1sqbc7hk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4z9gvpnkikej1sqbc7hk.png" alt="nocobase12-nlqv77.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI can create these roles directly in the existing CRM and configure data scopes and operation permissions. After configuration, enter the system as each role and confirm that the visible data and available actions match the actual division of responsibilities. If the permission scope is inaccurate, tell AI which role, data, or operation needs adjustment, or modify the permissions directly in the interface.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0tx1yu6dtuho5v8roqm3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0tx1yu6dtuho5v8roqm3.png" alt="nocobase13-kbz9k5.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Turn Repetitive Sales Rules into Workflows
&lt;/h3&gt;

&lt;p&gt;Repeated business actions in the sales process can also be expressed as clear trigger conditions and expected outcomes, then handed to AI to configure as automation in the existing CRM.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F963vv0gathoom2shba43.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F963vv0gathoom2shba43.png" alt="nocobase14-ldai16.png" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, when an opportunity reaches the Closed stage, the system can automatically update the customer status, create follow-up tasks, and assign them to the appropriate owner. If an opportunity has no new communication record for seven consecutive days, the system can automatically remind the salesperson to follow up.&lt;/p&gt;

&lt;p&gt;After the rules are configured, test real scenarios by changing opportunity stages or simulating a long period without follow-up. Confirm that the automation triggers as expected and correctly updates data, creates tasks, or sends reminders.&lt;/p&gt;

&lt;h3&gt;
  
  
  Configure AI Employees for Sales Work
&lt;/h3&gt;

&lt;p&gt;You can also configure AI Employees for sales scenarios and let them participate directly in everyday work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fftx3h8sggr6x5h0j26ct.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fftx3h8sggr6x5h0j26ct.png" alt="nocobase15-7a6j3v.png" width="799" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, after a customer meeting, a salesperson can give the meeting notes or customer email to an AI Employee. The AI Employee can &lt;strong&gt;organize the communication, extract key points and next actions, generate a customer activity record, and provide follow-up suggestions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fluh7ipgrc8jq35g8pdpy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fluh7ipgrc8jq35g8pdpy.png" alt="nocobase16-42loyk.png" width="800" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The same approach can be used to organize customer background information, summarize historical communications, and prepare follow-up content, allowing AI Employees to continuously take over repetitive information-processing work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keep Adjusting the CRM Based on Real Use
&lt;/h3&gt;

&lt;p&gt;Once the CRM is in actual use, a sales manager may want the dashboard to add &lt;strong&gt;current pipeline value, expected near-term closing value, closed revenue, customers requiring follow-up, and sales target completion&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Sales representatives may also want the opportunity board to add &lt;strong&gt;customer filters, owner filters, expected close dates, and more complete opportunity information&lt;/strong&gt; so they can quickly identify the projects that need attention first.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl9btih0ca8np54hxygrr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl9btih0ca8np54hxygrr.png" alt="nocobase17-l67vrb.png" width="799" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Continue giving this feedback to AI so it can adjust page layouts, information density, status presentation, card content, key data placement, and the overall visual style. All changes can be made directly on the existing CRM without rebuilding the system.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NocoBase AI Builder&lt;/strong&gt; lets AI design, build, and continue adjusting enterprise applications from natural-language requirements: &lt;a href="https://docs.nocobase.com/ai-builder" rel="noopener noreferrer"&gt;https://docs.nocobase.com/ai-builder&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  4. Run Through a Complete Real Sales Process
&lt;/h2&gt;

&lt;p&gt;Once the system is basically complete, run through the full process in the same order a salesperson would use it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create company account → Add contact → Create opportunity → Move opportunity through stages → Record customer meeting → Create follow-up task → Select products and generate quotation → Enter business negotiation → Close opportunity → Automatically run post-deal workflows → Update sales dashboard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzokhxt5nallltmw94ern.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzokhxt5nallltmw94ern.png" alt="nocobase18-h7uo94.png" width="800" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check four areas throughout the process:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is the business data connected correctly?&lt;/strong&gt; Are customers, contacts, opportunities, quotations, communication records, and follow-up tasks linked correctly?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Are team permissions correct?&lt;/strong&gt; Do sales representatives, sales managers, and read-only users see the right data and have the right actions?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does automation run correctly?&lt;/strong&gt; Do closed opportunities, long periods without follow-up, and other configured scenarios trigger correctly and update data or create tasks as expected?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Are AI Employees genuinely useful?&lt;/strong&gt; Can meeting notes and customer emails be organized correctly, and can key information, next actions, and follow-up suggestions become part of the real sales workflow?&lt;/p&gt;

&lt;p&gt;After completing this end-to-end sales process, you can confirm that the CRM is capable of supporting a small B2B sales team across customer management, opportunity progression, product quotations, ongoing follow-up, team collaboration, and daily sales operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Vibe Coding has significantly lowered the barrier to taking an application from zero to one. A new division of responsibilities is emerging between AI and enterprise application platforms: &lt;strong&gt;AI understands the business, generates the application, and keeps iterating as requirements change; enterprise application platforms such as NocoBase provide the data management, permissions, workflows, auditing, and other foundations required for a system to run reliably over the long term.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you already have a clear business requirement, start by describing it. Tell AI about your business, team, and processes, then combine it with NocoBase to build the CRM you actually need step by step. &lt;strong&gt;Going from requirements to a usable business system may now be simpler than you expect.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready to get started? Build your enterprise AI CRM with &lt;a href="https://docs.nocobase.com/ai-builder" rel="noopener noreferrer"&gt;AI + NocoBase&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;How to Design an IT Asset Management System: Data Model, Lifecycle, and Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/best-smartsheet-alternatives" rel="noopener noreferrer"&gt;How to Choose a Smartsheet Alternative: 7 Tools Compared&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-complex-relational-models" rel="noopener noreferrer"&gt;5 Open-Source AI No-Code Tools for Complex Relational Data Models&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/what-is-ai-no-code" rel="noopener noreferrer"&gt;What Is AI No-Code? A Practical Guide to No-Code Platforms in the AI Era&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-github-9" rel="noopener noreferrer"&gt;9 Open-Source AI No-Code Tools on GitHub Worth Watching&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/github-open-source-ai-agent-tools-16" rel="noopener noreferrer"&gt;14 Open Source AI Agent Tools with the Most GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/top-open-source-ai-assistant-tools-github-stars" rel="noopener noreferrer"&gt;Top 8 Open Source AI Assistant Tools by GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/workbuddy-open-source-tools" rel="noopener noreferrer"&gt;6 Open Source Tools to Use with WorkBuddy&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/6-github-top-open-source-ai-tools-for-ai-agents" rel="noopener noreferrer"&gt;Top 6 Open Source AI Tools by GitHub Stars for Stronger AI Agents&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-internal-tools-self-hosted-ai-agent-hermes" rel="noopener noreferrer"&gt;5 Open-Source Internal Tools to Use with Hermes Agent&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/openclaw-open-source-enterprise-tools" rel="noopener noreferrer"&gt;OpenClaw and 5 Open-Source Tools for Monitoring Business Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/opencode-open-source-tools-ai-agents" rel="noopener noreferrer"&gt;What Open-Source Tools Work Well with OpenCode? 5 Projects to Try&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/building-internal-tools-with-codex" rel="noopener noreferrer"&gt;Building Internal Tools with Codex: 6 Open-Source Projects for Developers&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>nocode</category>
      <category>opensource</category>
      <category>crm</category>
    </item>
    <item>
      <title>Weekly Updates: Assign Plugin Skills to AI Employees</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Mon, 10 Aug 2026 07:22:18 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-assign-plugin-skills-to-ai-employees-2c0n</link>
      <guid>https://dev.to/nocobase/weekly-updates-assign-plugin-skills-to-ai-employees-2c0n</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.1.37
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-08&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Add Date variables and optional formatted output to V2 field-value editors. (&lt;a href="https://github.com/nocobase/nocobase/pull/10289" rel="noopener noreferrer"&gt;#10289&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix missing and incorrectly resolved &lt;code&gt;Current popup&lt;/code&gt; parent record variables in v2 popup-subtable add-new and edit dialogs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10292" rel="noopener noreferrer"&gt;#10292&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed parent item variables resolving to the wrong level when assigning association field values in sub-tables. (&lt;a href="https://github.com/nocobase/nocobase/pull/10249" rel="noopener noreferrer"&gt;#10249&lt;/a&gt;) by &lt;a class="mentioned-user" href="https://dev.to/gchust"&gt;@gchust&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Fix the cancel button language in mobile selection lists (&lt;a href="https://github.com/nocobase/nocobase/pull/10297" rel="noopener noreferrer"&gt;#10297&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[data-source-manager]&lt;/strong&gt; Fixed formula fields being converted to number fields after synchronizing fields from the database (&lt;a href="https://github.com/nocobase/nocobase/pull/10303" rel="noopener noreferrer"&gt;#10303&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[database]&lt;/strong&gt; Fixed migration packages omitting many-to-many through-table data after an application restart (&lt;a href="https://github.com/nocobase/nocobase/pull/10306" rel="noopener noreferrer"&gt;#10306&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Backup manager]&lt;/strong&gt; Fix duplicate backups from async exports (&lt;a href="https://github.com/nocobase/nocobase/pull/10300" rel="noopener noreferrer"&gt;#10300&lt;/a&gt;) by &lt;a class="mentioned-user" href="https://dev.to/gchust"&gt;@gchust&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt; AI employee actions now support linkage rules for conditional visibility in v2 forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10298" rel="noopener noreferrer"&gt;#10298&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt; Fixed external NocoBase files and attachment fields failing to load in AI workflows by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Migration manager]&lt;/strong&gt; Fixed many-to-many through-table migration data after application restarts and classified migration rules as system data by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix approval comment default values when using RunJS by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App supervisor]&lt;/strong&gt; Prevented app creation with database identifiers that do not start with an English letter or contain unsupported characters. by @hongboji&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.36
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-05&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Data source manager]&lt;/strong&gt; Prevented clearing a field interface directly from the Configure fields table. (&lt;a href="https://github.com/nocobase/nocobase/pull/10288" rel="noopener noreferrer"&gt;#10288&lt;/a&gt;) by @hongboji&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Auth: LDAP]&lt;/strong&gt; Fixed LDAP login when a user DN mixes UTF-8 escapes with escaped syntax characters such as commas. by @hongboji&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.35
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-05&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: HTTP request node]&lt;/strong&gt; Fix unstable test cases (&lt;a href="https://github.com/nocobase/nocobase/pull/10246" rel="noopener noreferrer"&gt;#10246&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Batch update]&lt;/strong&gt; Support configurable after-success behavior for v2 Update record and Bulk update actions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10278" rel="noopener noreferrer"&gt;#10278&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Export records]&lt;/strong&gt; Add field search to v2 import and export action settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10261" rel="noopener noreferrer"&gt;#10261&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Export records Pro]&lt;/strong&gt; Add field search to v2 Import Pro and Export Pro action settings. by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fix missing Current record variables in v2 JS column event-flow conditions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10279" rel="noopener noreferrer"&gt;#10279&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[database]&lt;/strong&gt; Fixed MSSQL queries failing when filtering to-many relations with pagination and sorting by a root collection field (&lt;a href="https://github.com/nocobase/nocobase/pull/10224" rel="noopener noreferrer"&gt;#10224&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[data-source-manager]&lt;/strong&gt; Fixed external data source table synchronization leaving removed collections registered in the database manager (&lt;a href="https://github.com/nocobase/nocobase/pull/10209" rel="noopener noreferrer"&gt;#10209&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; Fixed JavaScript workflow Workers not exiting after scripts returned or asynchronous workflows timed out (&lt;a href="https://github.com/nocobase/nocobase/pull/10241" rel="noopener noreferrer"&gt;#10241&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Sequence]&lt;/strong&gt; Fixed duplicate automatic sequence values after migration when multiple records share the latest creation time (&lt;a href="https://github.com/nocobase/nocobase/pull/10239" rel="noopener noreferrer"&gt;#10239&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Data source: External SQL Server]&lt;/strong&gt; N/A — regression test coverage only by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Fixed PGVector knowledge base searches consuming unused PostgreSQL pool connections and creating duplicate pools for different vector tables. by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Data source: External MySQL]&lt;/strong&gt; Fixed previously selected external database tables disappearing after adding new tables. by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix missing field values in approval sub-tables by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Allow approval comments to use configurable default values by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  develop
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" alt="develop.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v3.0.0-alpha.7
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-06&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Support using the standalone Settings application as the default app entry. (&lt;a href="https://github.com/nocobase/nocobase/pull/10267" rel="noopener noreferrer"&gt;#10267&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI employees can now be assigned skills from the employee settings page. Skills are built from plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/10237" rel="noopener noreferrer"&gt;#10237&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Added Portal-scoped AI conversations and unread counts. (&lt;a href="https://github.com/nocobase/nocobase/pull/10266" rel="noopener noreferrer"&gt;#10266&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Portal manager]&lt;/strong&gt; Updated init defaults so non-latest installs use the modern client entry and seed the default AI, admin, and mobile portals; the CLI can now save and update the client entry mode. (&lt;a href="https://github.com/nocobase/nocobase/pull/10281" rel="noopener noreferrer"&gt;#10281&lt;/a&gt;) by @chenos&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Batch update]&lt;/strong&gt; Support configurable after-success behavior for v2 Update record and Bulk update actions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10278" rel="noopener noreferrer"&gt;#10278&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Export records]&lt;/strong&gt; Add field search to v2 import and export action settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10261" rel="noopener noreferrer"&gt;#10261&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Export records Pro]&lt;/strong&gt; Add field search to v2 Import Pro and Export Pro action settings. by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix missing spacing in workflow approval configuration dialogs (&lt;a href="https://github.com/nocobase/nocobase/pull/10276" rel="noopener noreferrer"&gt;#10276&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix missing Current record variables in v2 JS column event-flow conditions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10279" rel="noopener noreferrer"&gt;#10279&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Hide the maintenance dialog and retry button while the application is upgrading (&lt;a href="https://github.com/nocobase/nocobase/pull/10250" rel="noopener noreferrer"&gt;#10250&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Prevent long table content from widening columns and wrap it automatically (&lt;a href="https://github.com/nocobase/nocobase/pull/10259" rel="noopener noreferrer"&gt;#10259&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[database]&lt;/strong&gt; Fixed MSSQL queries failing when filtering to-many relations with pagination and sorting by a root collection field (&lt;a href="https://github.com/nocobase/nocobase/pull/10224" rel="noopener noreferrer"&gt;#10224&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[data-source-manager]&lt;/strong&gt; Fixed external data source table synchronization leaving removed collections registered in the database manager (&lt;a href="https://github.com/nocobase/nocobase/pull/10209" rel="noopener noreferrer"&gt;#10209&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Localization]&lt;/strong&gt; Fixed a crash when opening Localization settings with the Lina AI assistant entry. (&lt;a href="https://github.com/nocobase/nocobase/pull/10293" rel="noopener noreferrer"&gt;#10293&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Prevented clearing a field interface directly from the Configure fields table. (&lt;a href="https://github.com/nocobase/nocobase/pull/10288" rel="noopener noreferrer"&gt;#10288&lt;/a&gt;) by @hongboji&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Backup manager]&lt;/strong&gt; Prevent repeated V2 backup restore submissions while a restore request is in progress. (&lt;a href="https://github.com/nocobase/nocobase/pull/10262" rel="noopener noreferrer"&gt;#10262&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed shared attachments such as the system logo not loading for authenticated member users (&lt;a href="https://github.com/nocobase/nocobase/pull/10268" rel="noopener noreferrer"&gt;#10268&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt; Fixed the AI employee entry not appearing in non-default portals. (&lt;a href="https://github.com/nocobase/nocobase/pull/10260" rel="noopener noreferrer"&gt;#10260&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External MySQL]&lt;/strong&gt; Fixed previously selected external database tables disappearing after adding new tables. by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Fixed PGVector knowledge base searches consuming unused PostgreSQL pool connections and creating duplicate pools for different vector tables. by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External SQL Server]&lt;/strong&gt; N/A — regression test coverage only by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix missing field values in approval sub-tables by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix approval comment default values when using RunJS by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Allow approval comments to use configurable default values by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App supervisor]&lt;/strong&gt; Prevented app creation with database identifiers that do not start with an English letter or contain unsupported characters. by @hongboji&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: LDAP]&lt;/strong&gt; Fixed LDAP login when a user DN mixes UTF-8 escapes with escaped syntax characters such as commas. by @hongboji&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v3.0.0-alpha.6
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-03&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: HTTP request node]&lt;/strong&gt; Fix unstable test cases (&lt;a href="https://github.com/nocobase/nocobase/pull/10246" rel="noopener noreferrer"&gt;#10246&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[auth]&lt;/strong&gt; Fixed occasional &lt;code&gt;Invalid CSRF token&lt;/code&gt; errors on API requests in cross-origin deployments (&lt;a href="https://github.com/nocobase/nocobase/pull/10245" rel="noopener noreferrer"&gt;#10245&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Portal manager]&lt;/strong&gt; Fix device icon and long title display on Portal cards (&lt;a href="https://github.com/nocobase/nocobase/pull/10248" rel="noopener noreferrer"&gt;#10248&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Sequence]&lt;/strong&gt; Fixed duplicate automatic sequence values after migration when multiple records share the latest creation time (&lt;a href="https://github.com/nocobase/nocobase/pull/10239" rel="noopener noreferrer"&gt;#10239&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; Fixed JavaScript workflow Workers not exiting after scripts returned or asynchronous workflows timed out (&lt;a href="https://github.com/nocobase/nocobase/pull/10241" rel="noopener noreferrer"&gt;#10241&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>How to Design an IT Asset Management System: Data Model, Lifecycle, and Workflows</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Wed, 05 Aug 2026 15:49:17 +0000</pubDate>
      <link>https://dev.to/nocobase/how-to-design-an-it-asset-management-system-data-model-lifecycle-and-workflows-3d7k</link>
      <guid>https://dev.to/nocobase/how-to-design-an-it-asset-management-system-data-model-lifecycle-and-workflows-3d7k</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Recently, Sarvam AI Product Manager &lt;a href="https://x.com/thericebowlgirl/status/2081575149334335552?s=20" rel="noopener noreferrer"&gt;Neha Kalani&lt;/a&gt; shared the experience of a startup where her sister works. In March, the team used vibe coding to build an internal project management system similar to Jira. The person responsible for development was a QA lead, yet the first version not only fit the team’s working habits better but also appeared to offer more features than the SaaS tool they had used before.&lt;/p&gt;

&lt;p&gt;By July, however, the team had abandoned the in-house system and migrated back to Linear because maintaining the internal tool was taking up too much time and energy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb3bztk67e366j4jsfog9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb3bztk67e366j4jsfog9.png" alt="X-6ksjva.png" width="716" height="485"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As vibe coding and AI coding agents become more widely used, building a business system is getting easier. But as that system becomes more deeply embedded in day-to-day operations, the cost of modifying and maintaining it can continue to rise.&lt;/p&gt;

&lt;p&gt;Is there a way to combine the flexibility of vibe coding with the stability of a mature business system?&lt;/p&gt;




&lt;p&gt;💬 Hey, you're reading the NocoBase blog. NocoBase is the most extensible AI-powered no-code/low-code development platform for building enterprise applications, internal tools, and all kinds of systems. It’s fully self-hosted, plugin-based, and developer-friendly. → &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;Explore NocoBase on GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Using an IT asset management system as an example, this guide explains how to start from real requirements, define the data model, asset lifecycle, and core workflows, and then use AI to build a business system that balances customization flexibility with operational stability and can continue evolving after launch.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Define the Scope of the IT Asset Management System from Real Scenarios
&lt;/h2&gt;

&lt;p&gt;To make the following data model, asset lifecycle, and workflow design more concrete, this article uses a technology company with around 300 employees as an example.&lt;/p&gt;

&lt;p&gt;The company operates across multiple office locations and also has some remote employees. Its IT team needs to manage computers, monitors, mobile phones, peripherals, and network equipment centrally, but the relevant information is currently scattered across Excel files, shared spreadsheets, and employee chat messages.&lt;/p&gt;

&lt;p&gt;Daily asset management mainly involves the following scenarios:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find and assign available equipment when a new employee joins;&lt;/li&gt;
&lt;li&gt;Verify and recover assets assigned to an employee when they leave;&lt;/li&gt;
&lt;li&gt;Transfer equipment between employees, departments, or office locations;&lt;/li&gt;
&lt;li&gt;Record the repair process and outcome when a device fails;&lt;/li&gt;
&lt;li&gt;Check a device’s current location, user, status, and warranty period;&lt;/li&gt;
&lt;li&gt;Trace previous assignment, return, transfer, and repair records.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These scenarios can be further organized into three core capabilities that the system needs to cover:&lt;/p&gt;

&lt;p&gt;If procurement and cost management need to be included later, the system can be extended with suppliers, purchase contracts, repair costs, asset depreciation, and budgets. If the scope expands to software assets, it can also include software licenses, account assignments, and authorization periods.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Design the Core Structure of the IT Asset Management System
&lt;/h2&gt;

&lt;p&gt;Once the business scope is clear, the next step is to determine which data the system should store, how different data objects should relate to one another, and how asset statuses and business processes should be designed. AI can assist with this stage as well. Based on the business scenarios above, it can identify the main data objects, break down their relationships, and draft the asset statuses and business processes before business users confirm and adjust them according to actual policies.&lt;/p&gt;

&lt;p&gt;Using the employee equipment management scenario in this article, let’s look at how the core structure of an IT asset management system can be designed.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Build a Data Structure Centered on the Asset Register
&lt;/h3&gt;

&lt;p&gt;A basic employee equipment management system mainly contains three types of data:&lt;/p&gt;

&lt;p&gt;The asset register is the core of the entire system. Each record represents a specific asset that can be managed independently. Asset IDs and serial numbers should have uniqueness rules to prevent the same device from being entered more than once.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flvtsa72abh42m1bhbxq1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flvtsa72abh42m1bhbxq1.png" alt="mfti6p.png" width="799" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Information that needs to be reused by multiple assets and maintained centrally—such as &lt;strong&gt;asset categories, device models, employees, departments, and office locations&lt;/strong&gt;—can be stored in separate collections and linked to the asset register. When the data volume is small and management requirements are simple, information such as brand, model, and supplier can first be stored directly as asset fields and restructured later if necessary.&lt;/p&gt;

&lt;p&gt;The main relationships in the system are centered on individual assets and include several common &lt;strong&gt;one-to-many relationships&lt;/strong&gt;. One asset category or device model can correspond to many assets, one employee can hold several assets, and one asset can be linked to multiple assignment, return, transfer, and repair records. Reference data such as employees, departments, and office locations can be reused through association fields. Suppliers can be associated with repair records when needed, reducing duplicate data entry and making later queries and reporting easier.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fecq02dcc20s7jr0wvowo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fecq02dcc20s7jr0wvowo.png" alt="it  en-mj1x7z.png" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The asset register stores the device’s current user, department, office location, status, procurement information, and warranty information. Business records preserve previous assignments, returns, transfers, and repairs. Every business operation should create the corresponding history record while updating the asset register so that current information remains consistent with historical changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Define Asset Statuses and Transition Rules
&lt;/h3&gt;

&lt;p&gt;The asset register needs a “current status” field to indicate whether a device is available and which management stage it is currently in. The full process from registration and use to final retirement can be represented by the current status together with historical business records.&lt;/p&gt;

&lt;p&gt;When defining status rules, registration, assignment, return, repair, and retirement scenarios can also be given to AI first. It can draft possible statuses, transition paths, and the data that needs to be updated together.&lt;/p&gt;

&lt;p&gt;A basic system can start with four asset statuses:&lt;/p&gt;

&lt;p&gt;Status changes are triggered by specific business actions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Asset registration completed → Available

Available
  └─ Assign → In use

In use
  ├─ Returned and passes inspection → Available
  ├─ Sent for repair or fault found after return → Under repair
  └─ Confirmed no longer usable → Retired

Under repair
  ├─ Repair completed → Available
  └─ Cannot be repaired → Retired
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;“Available,” “In use,” “Under repair,” and “Retired” are asset statuses. “Assign,” “Return,” “Transfer,” “Send for repair,” and “Complete repair” are business actions. A business action may change the asset status, or it may only change the current user, department, or office location.&lt;/p&gt;

&lt;p&gt;For example, after a device is returned, the system needs to determine the next status based on the inspection result. A working device returns to Available, a faulty device moves to Under repair, and a device that can no longer be used moves to Retired. Business actions and status changes therefore do not have a fixed one-to-one relationship.&lt;/p&gt;

&lt;p&gt;For scenarios that require inspection, approval, or waiting, intermediate statuses such as Reserved, Pending inspection, Pending transfer, and Pending disposal can also be added. A separate status is only necessary when the asset genuinely needs to remain in that stage for a period of time.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Configure High-Frequency Business Actions as Workflows
&lt;/h3&gt;

&lt;p&gt;The current information in the asset register, the business records, and the status transition rules have now been defined. A workflow combines these rules into a complete operation so that administrators do not have to update asset status, current user, office location, and history records separately.&lt;/p&gt;

&lt;p&gt;Whether the operation is an assignment, return, or repair, a complete business action usually includes the following steps:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Validate current data and permissions → Update the asset register → Create the corresponding business record → Send notifications or trigger follow-up actions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Common workflows can be designed in the following way:&lt;/p&gt;

&lt;p&gt;Whether transfers need a separate workflow depends on how frequently they occur. If the company needs a clear record of which employee, department, or location an asset moved from and to, a separate transfer record is recommended. If office locations are only changed occasionally, the location can also be updated as part of another operation while preserving the change history.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnthmtfvzh4albvikz1f3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnthmtfvzh4albvikz1f3.png" alt="工作流1-r3lx6q.png" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Workflows need to keep related data synchronized. For an asset assignment, the operation should only be considered complete when the current user, asset status, and assignment record have all been updated successfully. If any step fails, the system should roll back the change to avoid inconsistent data.&lt;/p&gt;

&lt;p&gt;For a device repair, the workflow updates the asset status to Under repair and creates a repair record for tracking the repair supplier, repair type, processing status, cost, and completion time. Once the repair is complete, the asset is returned to Available or moved to Retired based on the outcome.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhgioxu2glffd6hyu56to.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhgioxu2glffd6hyu56to.png" alt="Workflow 2-ijpa3u.png" width="800" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Summarize Asset Statuses with a Management Dashboard
&lt;/h3&gt;

&lt;p&gt;As asset register and business record data accumulate, the team can use a management dashboard to understand the overall asset situation and quickly identify devices that require attention.&lt;/p&gt;

&lt;p&gt;Dashboard data can be aggregated directly from the asset register and different types of business records. For example, total asset counts and status distribution come from the asset register, repair trends come from repair records, and assets approaching the end of their warranty can be filtered by warranty date.&lt;/p&gt;

&lt;p&gt;Asset status, category distribution, and trends are suitable for charts. Items that need follow-up are better shown as detailed lists, such as assets with warranties about to expire, assets under repair, assets past their expected return date, assets left unassigned for a long time, or devices with frequent repairs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdbp7z5ka39un7dbpcxch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdbp7z5ka39un7dbpcxch.png" alt="Management dashboard-3cetbu.png" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Build the System with an AI Agent and NocoBase
&lt;/h2&gt;

&lt;p&gt;The data model, asset statuses and transition rules, business workflows, and management dashboard have now been designed. Next, an AI agent can connect to NocoBase and turn these designs into collections, associations, pages, business actions, and workflows.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Define the Roles of the AI Agent, NocoBase, and Business Users
&lt;/h3&gt;

&lt;p&gt;Each of the three plays a different role during system implementation.&lt;/p&gt;

&lt;p&gt;Business users explain the actual requirements and confirm asset statuses, operation conditions, role permissions, and exception-handling rules. For example, whether returned devices require inspection, which assets department managers can view, and whether devices under repair can be reassigned all depend on company policies.&lt;/p&gt;

&lt;p&gt;The AI agent turns these business rules into executable system configurations. After connecting to NocoBase, it can create collections and associations, build list, form, and detail pages, configure workflows and permissions, and continue adjusting existing structures as requirements change. &lt;strong&gt;NocoBase officially provides a CLI and &lt;a href="https://github.com/nocobase/skills" rel="noopener noreferrer"&gt;Skills&lt;/a&gt;, allowing AI agents such as Claude Code, Codex, Cursor, and OpenCode to participate in data modeling, page building, workflow orchestration, and permission configuration.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 How do you connect an AI agent to NocoBase? Read the official guide: &lt;a href="https://docs.nocobase.com/ai-builder" rel="noopener noreferrer"&gt;https://docs.nocobase.com/ai-builder&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;NocoBase supports the system’s long-term operation. As an open-source AI no-code platform, it provides data models, pages, roles and data-scope permissions, workflows, scheduled tasks, and operation audits, together with self-hosting and plugin extensibility. The AI agent can call these existing capabilities directly instead of rebuilding accounts, permissions, page frameworks, and workflow execution mechanisms for every new system.&lt;/p&gt;

&lt;p&gt;This approach increases implementation speed while preserving room for later maintenance and adjustment. After launch, administrators can still inspect and modify fields, pages, permissions, and workflows through the visual interface, reducing dependence on generated code and one-time AI output.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Let the AI Agent Complete the Initial Build in Stages
&lt;/h3&gt;

&lt;p&gt;An asset management system contains multiple collections and business processes. Trying to configure everything in one step makes it easy to miss important details. It is better to ask the AI agent to produce the design first, confirm the data structure and status rules, and then create pages, workflows, permissions, and the management dashboard in stages.&lt;/p&gt;

&lt;p&gt;You can proceed in the following order: define the data model, asset statuses, transition conditions, and workflows, and then let the AI agent execute each stage separately.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Confirm the data model
→ Create basic pages
→ Configure business actions
→ Add roles and permissions
→ Build the management dashboard and reminders
→ Test the complete business process
→ Import production data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The previous sections have already defined the data to manage, the relationships between data, asset statuses, and high-frequency business actions. &lt;strong&gt;Next, adjust the following prompt according to the company’s actual situation, add the confirmed fields, statuses, and processes, and then give it to an AI agent that is already connected to NocoBase.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Please design and build an IT asset management system in NocoBase.
It will mainly be used to manage computers, monitors, mobile phones,
peripherals, and network equipment.

First, read the collections, pages, workflows, and permission configurations
in the current application.
If identical or similar content already exists, prioritize reusing or adjusting it
to avoid duplicate creation or overwriting existing configurations.

Follow the confirmed business design below strictly.
For any rules that are still unclear, ask questions first and do not fill in the gaps yourself.

1. Data structure

The system needs to contain three types of data:

1. Reference data

- Asset categories
- Device models
- Employees
- Departments
- Office locations
- Suppliers (optional)

Based on whether the information needs to be reused and maintained centrally,
determine which items should be stored in separate collections
and which can be stored directly as asset fields. Explain the reasons.

2. Asset register

Each asset needs to store:

- Asset name
- Asset ID
- Serial number
- Asset category
- Brand and model
- Current status
- Current user
- Current department
- Current office location
- Device condition
- Purchase date
- Warranty date

Set uniqueness rules for the asset ID and serial number.

3. Business records

The system needs to store:

- Asset assignment records
- Asset return records
- Asset repair records

Based on the actual frequency of asset transfers,
determine whether a separate transfer record is needed.

If transfers are infrequent, changes to the user, department, or office location
can be included in existing business records. Explain the specific approach.

The data relationships need to support the following:

- One asset category or device model can correspond to multiple assets;
- One employee can hold multiple assets;
- One asset can be linked to multiple business records;
- Suppliers can be linked to asset sources or repair records when needed.

2. Asset statuses and transition rules

The basic statuses are:

- Available
- In use
- Under repair
- Retired

The following statuses are optional:

- Reserved
- Pending inspection
- Pending transfer
- Pending disposal

Explain the meaning, entry conditions, exit conditions,
and permitted business actions for each status.

Status transitions must follow these basic rules:

- An asset becomes Available after registration is completed;
- An Available asset becomes In use after assignment is completed;
- An In-use asset returns to Available after it is returned and passes inspection;
- An asset moves to Under repair when it is sent for repair or a fault is found during inspection;
- An asset returns to Available after repair is completed;
- An asset moves to Retired when it can no longer be used or repaired.

3. Business actions

The system needs to support:

- Assign device
- Return device
- Send device for repair
- Complete repair
- Retire device
- Optional asset transfer

Each business action needs to:

- Validate the asset’s current status and operation permissions;
- Update the current information in the asset register;
- Create the corresponding business record;
- Send notifications or trigger follow-up processing when needed.

Ensure that the asset register update and business record creation
are completed within the same operation.

If an exception occurs during execution,
roll back the changes to avoid inconsistencies between current information and history records.

4. Pages and management dashboard

Design the following pages:

- Asset management overview
- Asset list
- Asset detail page
- Create and edit asset forms
- Employee-held assets page
- Assignment records page
- Return records page
- Repair records page
- Optional transfer records page

The management dashboard needs to show:

- Total assets and status distribution
- Category and brand distribution
- Assets currently under repair
- Assets with warranties about to expire
- Number and cost of repairs
- Assets held by employees or departments

If a metric does not have the required fields,
first explain which fields need to be added. Do not generate an empty metric directly.

If device warranty periods need to be tracked,
configure a scheduled task to check warranty dates
and show assets with warranties about to expire on the management dashboard.

5. Roles and permissions

Design permissions for the following roles:

- IT administrator
- Regular employee
- Department manager
- System administrator

For each role, explain:

- Which pages they can access;
- Which data they can view;
- Which actions they can perform;
- Which fields they can modify.

Regular employees can only view assets assigned to themselves;
Department managers can only view data within their departments;
IT administrators are responsible for asset assignment, return, repair, and retirement;
System administrators manage the data structure, pages, workflows, and permissions.

6. Execution method

Execute the work in stages.

In the first stage, only output the following design and do not create any configuration:

- Collections and fields;
- Associations between collections;
- Asset statuses and transition rules;
- Page structure;
- Business workflows;
- Roles and permissions;
- Questions that still require confirmation from business users.

After I confirm the design, complete the following in order:

1. Create collections, fields, and associations;
2. Create basic pages;
3. Configure business actions and workflows;
4. Configure roles and data permissions;
5. Create the management dashboard and warranty reminders.

After each stage, explain:

- What has been completed;
- Which configurations were created or modified;
- Which items need to be checked;
- Which business rules remain undecided.

Wait for confirmation before moving to the next stage.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After the AI agent completes the configuration, use a small amount of test data to verify the complete business process.&lt;/p&gt;

&lt;p&gt;For example, after a device is assigned, check whether the current user, department, office location, asset status, and assignment record are updated together. After a device is returned or a repair is completed, check whether the asset enters the correct status according to the transition rules defined earlier. Import production data only after confirming that the relationships, workflows, and permissions match actual requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Connect Existing Data and Complete Pre-Launch Checks
&lt;/h3&gt;

&lt;p&gt;Before connecting production data, standardize field names, associations, and status values according to the defined reference data, asset register, and business records, and remove duplicate or invalid data. After a small data set has been verified, import or connect the complete asset data.&lt;/p&gt;

&lt;p&gt;If existing asset information is stored in Excel or shared spreadsheets, standardize the fields and formats before importing it in batches. If the data is already stored in an enterprise database or another business system, connect it through NocoBase data sources or APIs to reduce duplicate entry.&lt;/p&gt;

&lt;p&gt;Permissions also need to be configured according to actual responsibilities. Define which pages each role can access, which actions they can perform, and which data they can view or modify. NocoBase can also apply field-level permissions. For example, regular employees can only view the assets assigned to them, department managers can view assets within their department, and IT administrators handle assignments, returns, repairs, and retirement. Critical fields such as asset status and current user can be restricted so that only designated roles can view or modify them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffsrhr4x3c2oqcuh9y0wi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffsrhr4x3c2oqcuh9y0wi.png" alt="Permissions-bmz28n.png" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Integrate AI into Daily Asset Management
&lt;/h3&gt;

&lt;p&gt;After the system goes live, AI can continue to participate in daily asset management.&lt;/p&gt;

&lt;p&gt;AI agents are mainly used to adjust fields, pages, and workflows. AI employees work with structured data in NocoBase and, within the authorized scope, handle data entry, queries, summaries, and report generation. Operations that modify official records—such as asset assignment, status changes, device retirement, and responsibility confirmation—should still be executed through system permissions and workflows.&lt;/p&gt;

&lt;h4&gt;
  
  
  Automatically Extract Asset Information
&lt;/h4&gt;

&lt;p&gt;After receiving purchase lists, invoices, asset tag photos, or device handover notes, IT administrators can ask an AI employee to identify the device type, brand and model, asset ID, serial number, purchase date, and warranty period, and automatically fill the results into the asset form.&lt;/p&gt;

&lt;p&gt;Critical fields such as asset IDs, serial numbers, and warranty dates should still be confirmed by an administrator and checked against uniqueness rules for duplicates or recognition errors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fct6kfrsfznadhpnxyg6a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fct6kfrsfznadhpnxyg6a.png" alt="自动提取资产信息-8x1rt9.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Query Assets and Generate Reports
&lt;/h4&gt;

&lt;p&gt;Within the authorized data scope, an AI employee can read the asset register and business records to find idle equipment, assets with warranties about to expire, repair frequency, assets held by departments, and repair costs. It can also summarize asset changes over a period and generate a monthly asset activity report.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa5bo86ycpkwdvy9xxntt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa5bo86ycpkwdvy9xxntt.png" alt="Query and generate asset reports-gn7yto.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  Get Started Faster
&lt;/h3&gt;

&lt;p&gt;If the number of device types is small and the permission and approval processes are simple, you do not need to design every structure from scratch. Start by defining the asset scope, fields, statuses, business actions, and role permissions, and let an AI agent connected to NocoBase generate the initial version. You can also use the &lt;strong&gt;&lt;a href="https://www.nocobase.com/en/ai-blueprints/it-asset-tracker-system" rel="noopener noreferrer"&gt;NocoBase lightweight IT asset management solution&lt;/a&gt;&lt;/strong&gt; as a starting point and adjust its fields, statuses, and permissions.&lt;/p&gt;

&lt;p&gt;As the number of assets and management requirements grow, gradually add support for multiple office locations, more complex permissions, complete historical tracking, procurement, and cost management.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;When building ITAM, ITSM, and other enterprise business systems that need to operate over the long term, we still recommend choosing a platform such as NocoBase that combines a stable business foundation with AI capabilities. It provides reliable data models, permissions, and workflows, while AI agents accelerate system implementation and AI employees participate in ongoing operations. This makes it possible to move beyond a quick prototype and build a system that can operate in real business environments, remain maintainable over time, and expand as management requirements evolve.&lt;/p&gt;

&lt;p&gt;If you found this article useful, share it with others who are also interested in AI and enterprise system development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/best-smartsheet-alternatives" rel="noopener noreferrer"&gt;How to Choose a Smartsheet Alternative: 7 Tools Compared&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-complex-relational-models" rel="noopener noreferrer"&gt;5 Open-Source AI No-Code Tools for Complex Relational Data Models&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/what-is-ai-no-code" rel="noopener noreferrer"&gt;What Is AI No-Code? A Practical Guide to No-Code Platforms in the AI Era&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-github-9" rel="noopener noreferrer"&gt;9 Open-Source AI No-Code Tools on GitHub Worth Watching&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/github-open-source-ai-agent-tools-16" rel="noopener noreferrer"&gt;14 Open Source AI Agent Tools with the Most GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/top-open-source-ai-assistant-tools-github-stars" rel="noopener noreferrer"&gt;Top 8 Open Source AI Assistant Tools by GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/workbuddy-open-source-tools" rel="noopener noreferrer"&gt;6 Open Source Tools to Use with WorkBuddy&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/6-github-top-open-source-ai-tools-for-ai-agents" rel="noopener noreferrer"&gt;Top 6 Open Source AI Tools by GitHub Stars for Stronger AI Agents&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-internal-tools-self-hosted-ai-agent-hermes" rel="noopener noreferrer"&gt;5 Open-Source Internal Tools to Use with Hermes Agent&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/openclaw-open-source-enterprise-tools" rel="noopener noreferrer"&gt;OpenClaw and 5 Open-Source Tools for Monitoring Business Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/opencode-open-source-tools-ai-agents" rel="noopener noreferrer"&gt;What Open-Source Tools Work Well with OpenCode? 5 Projects to Try&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/building-internal-tools-with-codex" rel="noopener noreferrer"&gt;Building Internal Tools with Codex: 6 Open-Source Projects for Developers&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-tools-after-claude-code" rel="noopener noreferrer"&gt;After Claude Code: 6 Open-Source Tools You Should Know&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>Weekly Updates: Added Frontend AI Tools for JavaScript Blocks</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Mon, 03 Aug 2026 16:17:58 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-added-frontend-ai-tools-for-javascript-blocks-4e87</link>
      <guid>https://dev.to/nocobase/weekly-updates-added-frontend-ai-tools-for-javascript-blocks-4e87</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.1.34
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-02&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed an issue where manually executing a workflow with &lt;code&gt;autoRevision=0&lt;/code&gt; could still create a new revision. (&lt;a href="https://github.com/nocobase/nocobase/pull/10243" rel="noopener noreferrer"&gt;#10243&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[UI templates]&lt;/strong&gt; Fix the issue where table blocks load data after returning to a page with empty filters (&lt;a href="https://github.com/nocobase/nocobase/pull/9890" rel="noopener noreferrer"&gt;#9890&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Template print]&lt;/strong&gt; Fixed unwanted spacing between Latin and East Asian text in PDF files generated from DOCX templates.  by jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix missing external data source fields in approval views  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.33
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-31&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fix JSON field save validation errors after reloading v2 forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10206" rel="noopener noreferrer"&gt;#10206&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Backup manager]&lt;/strong&gt; Validate the maximum backup retention count and display save errors. (&lt;a href="https://github.com/nocobase/nocobase/pull/10189" rel="noopener noreferrer"&gt;#10189&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; AI employee chat now validates attachment count and combined size before upload (&lt;a href="https://github.com/nocobase/nocobase/pull/10195" rel="noopener noreferrer"&gt;#10195&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed workflow executions becoming blocked while saving a large number of jobs in one database operation (&lt;a href="https://github.com/nocobase/nocobase/pull/10204" rel="noopener noreferrer"&gt;#10204&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.32
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-29&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Documentation]&lt;/strong&gt; Improved documentation site search by grouping results by documentation section and displaying section headings and paths. More relevant pages are now ranked higher, while plugin metadata pages are placed last. (&lt;a href="https://github.com/nocobase/nocobase/pull/10185" rel="noopener noreferrer"&gt;#10185&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed table action buttons remaining disabled after their linkage rules were disabled or removed. (&lt;a href="https://github.com/nocobase/nocobase/pull/10186" rel="noopener noreferrer"&gt;#10186&lt;/a&gt;)  by hongboji&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Data source manager]&lt;/strong&gt; Added support for searching relation target collections and target keys in the v2 Data Source Manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10194" rel="noopener noreferrer"&gt;#10194&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Variables and secrets]&lt;/strong&gt; Fixed missing error feedback when submitting a duplicate variable name on the v2 Variables and Secrets settings page. (&lt;a href="https://github.com/nocobase/nocobase/pull/10181" rel="noopener noreferrer"&gt;#10181&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed the workflow canvas version dropdown not displaying versions beyond the first 20. (&lt;a href="https://github.com/nocobase/nocobase/pull/10190" rel="noopener noreferrer"&gt;#10190&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Version control]&lt;/strong&gt; Fixed version control shortcuts becoming inactive after opening the settings page, and improved shortcut preview, saving, resetting, and state restoration after leaving the page.  by cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.31
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-27&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Improved workflow pending task handling by persisting start, resume, and rerun tasks in the event queue. (&lt;a href="https://github.com/nocobase/nocobase/pull/9846" rel="noopener noreferrer"&gt;#9846&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[ai]&lt;/strong&gt; Improved document loading reliability with clearer password-protected PDF errors and timeout handling. (&lt;a href="https://github.com/nocobase/nocobase/pull/10172" rel="noopener noreferrer"&gt;#10172&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[flow-engine]&lt;/strong&gt; Fix v2 table quick edit visibility for record-scoped and field-scoped update permissions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10182" rel="noopener noreferrer"&gt;#10182&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed the Operator variable selector in AI employee workflow nodes so nested variables can be expanded, and removed the Null option from the required field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10167" rel="noopener noreferrer"&gt;#10167&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI employee shortcuts losing block context when starting a new conversation from an existing conversation (&lt;a href="https://github.com/nocobase/nocobase/pull/10169" rel="noopener noreferrer"&gt;#10169&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI form context not using customized form item labels (&lt;a href="https://github.com/nocobase/nocobase/pull/10168" rel="noopener noreferrer"&gt;#10168&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Improved AI knowledge-base document processing with clearer PDF errors, upload size validation, timeout protection, and correct segment-list pagination.  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix missing field templates in approval configuration when UI Editor is off  by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" alt="next.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.0-beta.16
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-31&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added an embeddable AI chat box block that supports scoped conversations, AI employee tasks, and shared chat runtime behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/10125" rel="noopener noreferrer"&gt;#10125&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Added frontend AI tools for JS blocks (&lt;a href="https://github.com/nocobase/nocobase/pull/10121" rel="noopener noreferrer"&gt;#10121&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[WEB client]&lt;/strong&gt; Reduced application language responses to requested resource namespaces (&lt;a href="https://github.com/nocobase/nocobase/pull/10175" rel="noopener noreferrer"&gt;#10175&lt;/a&gt;)  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added usage instructions and card-style workflow selection to the approval initiation list in client v2  by mytharcher&lt;/li&gt;
&lt;li&gt;Added usage instructions and card-style workflow selection to the approval initiation list  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Improved documentation site search: results are now grouped by section with visible headings and paths, more relevant pages rank first, and plugin metadata pages are sorted last. (&lt;a href="https://github.com/nocobase/nocobase/pull/10185" rel="noopener noreferrer"&gt;#10185&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved v2 QR code and barcode scan recognition, camera lifecycle safety, and responsive preview behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/10145" rel="noopener noreferrer"&gt;#10145&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Added Myanmar (&lt;code&gt;my-MM&lt;/code&gt;) to the languages selectable in System Settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10131" rel="noopener noreferrer"&gt;#10131&lt;/a&gt;)  by hongboji&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[client]&lt;/strong&gt; Added Myanmar (&lt;code&gt;my-MM&lt;/code&gt;) to the legacy System Settings language selector. (&lt;a href="https://github.com/nocobase/nocobase/pull/10153" rel="noopener noreferrer"&gt;#10153&lt;/a&gt;)  by hongboji&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplified AI knowledge base vector configuration (&lt;a href="https://github.com/nocobase/nocobase/pull/10178" rel="noopener noreferrer"&gt;#10178&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Improved AI employee reliability across validation, data permissions, record context, attachments, workflow tasks, conversation recovery, and coding editor lifecycle handling. (&lt;a href="https://github.com/nocobase/nocobase/pull/10162" rel="noopener noreferrer"&gt;#10162&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI employee model settings persistence, disabled employee conversation creation, and mobile chatbox layout behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/10120" rel="noopener noreferrer"&gt;#10120&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Workflow tasks can now be filtered and navigated by workflow, with per-workflow pending counts (&lt;a href="https://github.com/nocobase/nocobase/pull/10173" rel="noopener noreferrer"&gt;#10173&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;Improved workflow pending task handling by persisting start, resume, and rerun tasks in the event queue. (&lt;a href="https://github.com/nocobase/nocobase/pull/9846" rel="noopener noreferrer"&gt;#9846&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;Improved workflow pending task handling by persisting start, resume, and rerun tasks in the event queue. (&lt;a href="https://github.com/nocobase/nocobase/pull/9846" rel="noopener noreferrer"&gt;#9846&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Added independent storage settings for returning original file URLs and allowing public access to file URLs (&lt;a href="https://github.com/nocobase/nocobase/pull/10160" rel="noopener noreferrer"&gt;#10160&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Vector database and embedding settings can now be configured directly for each AI knowledge base  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Subflow]&lt;/strong&gt; Change pending queue strategy based on workflow engine refactored  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt; Added independent S3 Pro settings for original URLs, public file URL access, and unsigned URLs  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Approval application and todo tasks can now be filtered by workflow with per-workflow pending counts  by mytharcher&lt;/li&gt;
&lt;li&gt;Improved the approval timeline with clearer status badges, timing details, user avatars, responsive layout, and connected submission rounds  by mytharcher&lt;/li&gt;
&lt;li&gt;Added usage instructions and card-style workflow selection to the approval initiation list  by mytharcher&lt;/li&gt;
&lt;li&gt;Approval notification channels can now be searched remotely by title  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix JSON field save validation errors after reloading v2 forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10206" rel="noopener noreferrer"&gt;#10206&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed table action buttons remaining disabled after their linkage rule is disabled or removed. (&lt;a href="https://github.com/nocobase/nocobase/pull/10186" rel="noopener noreferrer"&gt;#10186&lt;/a&gt;)  by hongboji&lt;/li&gt;
&lt;li&gt;Improve error messages for unsupported and missing pages in the &lt;code&gt;/v/&lt;/code&gt; branch (&lt;a href="https://github.com/nocobase/nocobase/pull/10159" rel="noopener noreferrer"&gt;#10159&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix RunJS values not taking effect in client v2 date range limits. (&lt;a href="https://github.com/nocobase/nocobase/pull/10157" rel="noopener noreferrer"&gt;#10157&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix record picker lists not refreshing after creating a record in client v2. (&lt;a href="https://github.com/nocobase/nocobase/pull/10142" rel="noopener noreferrer"&gt;#10142&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix inconsistent route state after renaming a newly enabled page tab (&lt;a href="https://github.com/nocobase/nocobase/pull/10117" rel="noopener noreferrer"&gt;#10117&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed required association values being cleared after selection in popup sub-table forms with parent-item data scopes. (&lt;a href="https://github.com/nocobase/nocobase/pull/10146" rel="noopener noreferrer"&gt;#10146&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix mobile menus hidden incorrectly by device type rules (&lt;a href="https://github.com/nocobase/nocobase/pull/10123" rel="noopener noreferrer"&gt;#10123&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed full and specified height settings not working for JS Blocks displayed with a card (&lt;a href="https://github.com/nocobase/nocobase/pull/10126" rel="noopener noreferrer"&gt;#10126&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Fix v2 table action titles being reverted after linkage refresh. (&lt;a href="https://github.com/nocobase/nocobase/pull/10140" rel="noopener noreferrer"&gt;#10140&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix the issue where date filter defaults become a single date (&lt;a href="https://github.com/nocobase/nocobase/pull/9854" rel="noopener noreferrer"&gt;#9854&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Reset unwanted border and shadow styles on Markdown h2 headings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10107" rel="noopener noreferrer"&gt;#10107&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix an error that could prevent approval pages from loading (&lt;a href="https://github.com/nocobase/nocobase/pull/10116" rel="noopener noreferrer"&gt;#10116&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[flow-engine]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix v2 table quick edit visibility for record-scoped and field-scoped update permissions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10182" rel="noopener noreferrer"&gt;#10182&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix v2 block configuration dropdowns closing when clicking their active trigger. (&lt;a href="https://github.com/nocobase/nocobase/pull/10143" rel="noopener noreferrer"&gt;#10143&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed untranslated default text in secondary confirmation settings when using Simplified Chinese (&lt;a href="https://github.com/nocobase/nocobase/pull/10149" rel="noopener noreferrer"&gt;#10149&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;Fixed an issue where the Add Block menu could unexpectedly disappear while searching. (&lt;a href="https://github.com/nocobase/nocobase/pull/10097" rel="noopener noreferrer"&gt;#10097&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Fix mobile popups exceeding the screen and hiding the close button (&lt;a href="https://github.com/nocobase/nocobase/pull/10118" rel="noopener noreferrer"&gt;#10118&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[ai]&lt;/strong&gt; Improved document loading reliability with clearer password-protected PDF errors and timeout handling. (&lt;a href="https://github.com/nocobase/nocobase/pull/10172" rel="noopener noreferrer"&gt;#10172&lt;/a&gt;)  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[utils]&lt;/strong&gt; Ensured server-side outbound request redirects also comply with &lt;code&gt;SERVER_REQUEST_WHITELIST&lt;/code&gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10109" rel="noopener noreferrer"&gt;#10109&lt;/a&gt;)  by mytharcher&lt;br&gt;
Reference: &lt;a href="https://docs.nocobase.com/get-started/installation/env#server_request_whitelist" rel="noopener noreferrer"&gt;Environment variables&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[database]&lt;/strong&gt; Fixed an SQL injection risk when reading database view metadata (&lt;a href="https://github.com/nocobase/nocobase/pull/10115" rel="noopener noreferrer"&gt;#10115&lt;/a&gt;)  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[resourcer]&lt;/strong&gt; Fixed pre-action workflows not triggering when used together with before-save approval workflows. (&lt;a href="https://github.com/nocobase/nocobase/pull/10119" rel="noopener noreferrer"&gt;#10119&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[server]&lt;/strong&gt; Prevented uploaded XML and other active content files from executing scripts in the application origin (&lt;a href="https://github.com/nocobase/nocobase/pull/10104" rel="noopener noreferrer"&gt;#10104&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt; Fix desktop pages using mobile styles on narrow screens (&lt;a href="https://github.com/nocobase/nocobase/pull/10229" rel="noopener noreferrer"&gt;#10229&lt;/a&gt;)  by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed workflow executions becoming blocked while saving a large number of jobs in one database operation (&lt;a href="https://github.com/nocobase/nocobase/pull/10204" rel="noopener noreferrer"&gt;#10204&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;Fixed workflow canvas version dropdown not showing versions beyond the first 20. (&lt;a href="https://github.com/nocobase/nocobase/pull/10190" rel="noopener noreferrer"&gt;#10190&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;Improved regression coverage for permanent file URLs, attachment thumbnails, preview downloads, and local storage security headers (&lt;a href="https://github.com/nocobase/nocobase/pull/10148" rel="noopener noreferrer"&gt;#10148&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Backup manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validate the maximum backup retention count and display save errors. (&lt;a href="https://github.com/nocobase/nocobase/pull/10189" rel="noopener noreferrer"&gt;#10189&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Improved the stability and accuracy of backup plugin frontend tests. (&lt;a href="https://github.com/nocobase/nocobase/pull/10184" rel="noopener noreferrer"&gt;#10184&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fix missing visible error notifications when Backup Manager restore requests fail in the v2 client. (&lt;a href="https://github.com/nocobase/nocobase/pull/10158" rel="noopener noreferrer"&gt;#10158&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI employee chat now validates attachment count and combined size before upload (&lt;a href="https://github.com/nocobase/nocobase/pull/10195" rel="noopener noreferrer"&gt;#10195&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed the Operator variable selector in AI employee workflow nodes so nested variables can be expanded, and removed the Null option from the required field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10167" rel="noopener noreferrer"&gt;#10167&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI employee shortcuts losing block context when starting a new conversation from an existing conversation (&lt;a href="https://github.com/nocobase/nocobase/pull/10169" rel="noopener noreferrer"&gt;#10169&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI form context not using customized form item labels (&lt;a href="https://github.com/nocobase/nocobase/pull/10168" rel="noopener noreferrer"&gt;#10168&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Prevented Nathan from reporting malformed or unchanged code patches as successfully applied (&lt;a href="https://github.com/nocobase/nocobase/pull/10174" rel="noopener noreferrer"&gt;#10174&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;Fixed frontend Tools asking for confirmation in chat instead of using runtime approval (&lt;a href="https://github.com/nocobase/nocobase/pull/10166" rel="noopener noreferrer"&gt;#10166&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Enable searching relation target collections and target keys in the v2 data source manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10194" rel="noopener noreferrer"&gt;#10194&lt;/a&gt;)  by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Variables and secrets]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed missing error feedback when submitting duplicate variables in the v2 Variables and secrets settings page. (&lt;a href="https://github.com/nocobase/nocobase/pull/10181" rel="noopener noreferrer"&gt;#10181&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix validation feedback for v2 environment variable bulk imports and fix Type filtering failures. (&lt;a href="https://github.com/nocobase/nocobase/pull/10154" rel="noopener noreferrer"&gt;#10154&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Authentication]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed incorrect SSO redirects for sub-applications using custom domains (&lt;a href="https://github.com/nocobase/nocobase/pull/10170" rel="noopener noreferrer"&gt;#10170&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;Fixed an intermittent database connection error during application shutdown when Redis cache is enabled (&lt;a href="https://github.com/nocobase/nocobase/pull/10151" rel="noopener noreferrer"&gt;#10151&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Sequence]&lt;/strong&gt; Fixed v2 sequence rule options not saving entered values and fixed-text rules incorrectly reporting a required-field error. (&lt;a href="https://github.com/nocobase/nocobase/pull/10156" rel="noopener noreferrer"&gt;#10156&lt;/a&gt;)  by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Calendar]&lt;/strong&gt; Add scrolling to the v2 calendar event overlay when many events are shown. (&lt;a href="https://github.com/nocobase/nocobase/pull/10138" rel="noopener noreferrer"&gt;#10138&lt;/a&gt;)  by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed Calendar and Kanban popup templates not taking effect or being cleared incorrectly when using copied popup templates (&lt;a href="https://github.com/nocobase/nocobase/pull/9856" rel="noopener noreferrer"&gt;#9856&lt;/a&gt;)  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Improved AI knowledge-base document processing with clearer PDF errors, upload size validation, timeout protection, and correct segment-list pagination.  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Multi-space]&lt;/strong&gt; Fixed account switching failures caused by stale space headers during authentication recovery  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Version control]&lt;/strong&gt; Fixed version-control shortcuts becoming inactive after opening settings and improved shortcut preview, save, reset, and navigation behavior  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App SSO]&lt;/strong&gt; Fixed App SSO failures when the public issuer is unreachable from sub-application servers  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Migration manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed duplicate migration creation on repeated submission and improved v2 migration log and process drawer display.  by katherinehhh&lt;/li&gt;
&lt;li&gt;Improve v2 migration error feedback, prevent duplicate migration rule names, and fix environment check modal overflow.  by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: OIDC]&lt;/strong&gt; Fixed incorrect redirects after OIDC login through a sub-application custom domain  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hide approval configuration controls when UI Editor is off  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix occasional errors when opening approval task details directly  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix messages overriding  by mytharcher&lt;/li&gt;
&lt;li&gt;Fix missing field templates in approval configuration when UI Editor is off  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  develop
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" alt="develop.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v3.0.0-alpha.5
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-02&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Backup manager]&lt;/strong&gt; Added backup and restore support for AI mode portals with an independent setting (&lt;a href="https://github.com/nocobase/nocobase/pull/10240" rel="noopener noreferrer"&gt;#10240&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Portal manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use fixed Portal layouts, default AI Portals to Desktop without a layout option, allow cross-layout selection, and fix entry routing (&lt;a href="https://github.com/nocobase/nocobase/pull/10230" rel="noopener noreferrer"&gt;#10230&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Improve Portal Manager form copy and descriptions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10242" rel="noopener noreferrer"&gt;#10242&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Workflow create and update nodes now support combining text with variables when assigning string and text fields (&lt;a href="https://github.com/nocobase/nocobase/pull/10238" rel="noopener noreferrer"&gt;#10238&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Improved knowledge base page layouts, scrolling, loading states, empty states, and action alignment  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[cli]&lt;/strong&gt; Fixed portal CLI path resolution, deployment, and HTML build behavior for sub-app/custom-domain portals, and preserved existing portal HTML when a portal is disabled. (&lt;a href="https://github.com/nocobase/nocobase/pull/10244" rel="noopener noreferrer"&gt;#10244&lt;/a&gt;)  by chenos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed an issue where manually executing a workflow with &lt;code&gt;autoRevision=0&lt;/code&gt; could still create a new revision. (&lt;a href="https://github.com/nocobase/nocobase/pull/10243" rel="noopener noreferrer"&gt;#10243&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[UI templates]&lt;/strong&gt; Fix the issue where table blocks load data after returning to a page with empty filters (&lt;a href="https://github.com/nocobase/nocobase/pull/9890" rel="noopener noreferrer"&gt;#9890&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Users]&lt;/strong&gt; Preserve the originating no-code Portal when navigating between sign-in and sign-up. (&lt;a href="https://github.com/nocobase/nocobase/pull/10235" rel="noopener noreferrer"&gt;#10235&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Template print]&lt;/strong&gt; Fixed unwanted spacing between Latin and East Asian text in PDF files generated from DOCX templates.  by jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix missing external data source fields in approval views  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v3.0.0-alpha.4
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-31&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Portal manager]&lt;/strong&gt; Support configuring and routing to an application-wide default Portal. (&lt;a href="https://github.com/nocobase/nocobase/pull/10225" rel="noopener noreferrer"&gt;#10225&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Added UI navigation for supported LLM service CLI commands, including provider preselection when creating a service. (&lt;a href="https://github.com/nocobase/nocobase/pull/10210" rel="noopener noreferrer"&gt;#10210&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Added UI navigation for creating and editing vector databases from CLI commands, with provider preselection for new databases.  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Multi-space]&lt;/strong&gt; Added default-space configuration so newly created users automatically join the selected default space.  by jiannx&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Added a multilingual plugin development guide for defining AI employee Tools, Skills, built-in employees, and frontend interactions (&lt;a href="https://github.com/nocobase/nocobase/pull/10226" rel="noopener noreferrer"&gt;#10226&lt;/a&gt;)  by cgyrock
Reference: &lt;a href="https://github.com/nocobase/nocobase/blob/docs/add-custom-ai-employee-skill/docs/docs/en/ai-employees/dev/ai-employee/index.md" rel="noopener noreferrer"&gt;AI employee plugin development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Portal manager]&lt;/strong&gt; Portal cards become compact rows grouped by build mode, the settings header drops its white band, and switches, alerts and the API documentation page follow the neutral theme (&lt;a href="https://github.com/nocobase/nocobase/pull/10233" rel="noopener noreferrer"&gt;#10233&lt;/a&gt;)  by Albert-mah&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aligned the vector database list styling with other settings tables  by cgyrock&lt;/li&gt;
&lt;li&gt;Improved the knowledge base detail page with breadcrumb navigation, tab-based sections, and more responsive content layouts.  by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Removed the obsolete knowledge base detail redirect that forced legacy Admin URLs into the Settings application. (&lt;a href="https://github.com/nocobase/nocobase/pull/10232" rel="noopener noreferrer"&gt;#10232&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Change the settings search shortcut to avoid conflicts with version control shortcuts (&lt;a href="https://github.com/nocobase/nocobase/pull/10222" rel="noopener noreferrer"&gt;#10222&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed Kanban column quick create records not inheriting the selected group value (&lt;a href="https://github.com/nocobase/nocobase/pull/10215" rel="noopener noreferrer"&gt;#10215&lt;/a&gt;)  by jiannx&lt;/li&gt;
&lt;li&gt;Fix the issue where the Settings header appears on the OAuth device verification page (&lt;a href="https://github.com/nocobase/nocobase/pull/10228" rel="noopener noreferrer"&gt;#10228&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Clarify Settings access messages and prevent menus from flashing for unauthorized roles (&lt;a href="https://github.com/nocobase/nocobase/pull/10219" rel="noopener noreferrer"&gt;#10219&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt; Fix desktop pages using mobile styles on narrow screens (&lt;a href="https://github.com/nocobase/nocobase/pull/10229" rel="noopener noreferrer"&gt;#10229&lt;/a&gt;)  by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Gantt]&lt;/strong&gt; Fixed custom record colors not being applied to short Gantt task bars (&lt;a href="https://github.com/nocobase/nocobase/pull/10217" rel="noopener noreferrer"&gt;#10217&lt;/a&gt;)  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed the untranslated Settings tab in the AI plugin's client-v2 settings pages (&lt;a href="https://github.com/nocobase/nocobase/pull/10234" rel="noopener noreferrer"&gt;#10234&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fix the theme mismatch in unsaved changes confirmation dialogs (&lt;a href="https://github.com/nocobase/nocobase/pull/10223" rel="noopener noreferrer"&gt;#10223&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Tree]&lt;/strong&gt; Fixed Tree block searches showing placeholder nodes when no business-field records matched (&lt;a href="https://github.com/nocobase/nocobase/pull/10218" rel="noopener noreferrer"&gt;#10218&lt;/a&gt;)  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Portal manager]&lt;/strong&gt; Reject duplicate Portal names with a localized conflict response. (&lt;a href="https://github.com/nocobase/nocobase/pull/10231" rel="noopener noreferrer"&gt;#10231&lt;/a&gt;)  by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Fixed knowledge base detail navigation and aligned the hit-tests page width across Admin and Settings.  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.0-alpha.12
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-30&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[app]&lt;/strong&gt; Client V2 settings now open in a standalone &lt;code&gt;/settings&lt;/code&gt; page while Client V1 remains unchanged (&lt;a href="https://github.com/nocobase/nocobase/pull/10187" rel="noopener noreferrer"&gt;#10187&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Portal manager]&lt;/strong&gt; Settings center now opens on the portal gallery, with grouped top-level navigation, nested sidebar menus and a neutral theme (&lt;a href="https://github.com/nocobase/nocobase/pull/10196" rel="noopener noreferrer"&gt;#10196&lt;/a&gt;)  by Albert-mah&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Access control]&lt;/strong&gt; &amp;lt;!-- &lt;a href="https://dev.tolink"&gt;Title&lt;/a&gt; --&amp;gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10193" rel="noopener noreferrer"&gt;#10193&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Added an embeddable AI chat box block that supports scoped conversations, AI employee tasks, and shared chat runtime behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/10125" rel="noopener noreferrer"&gt;#10125&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Improved documentation site search: results are now grouped by section with visible headings and paths, more relevant pages rank first, and plugin metadata pages are sorted last. (&lt;a href="https://github.com/nocobase/nocobase/pull/10185" rel="noopener noreferrer"&gt;#10185&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Authentication]&lt;/strong&gt; &amp;lt;!-- &lt;a href="https://dev.tolink"&gt;Title&lt;/a&gt; --&amp;gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10207" rel="noopener noreferrer"&gt;#10207&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplified AI knowledge base vector configuration (&lt;a href="https://github.com/nocobase/nocobase/pull/10178" rel="noopener noreferrer"&gt;#10178&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Improved AI employee reliability across validation, data permissions, record context, attachments, workflow tasks, conversation recovery, and coding editor lifecycle handling. (&lt;a href="https://github.com/nocobase/nocobase/pull/10162" rel="noopener noreferrer"&gt;#10162&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Workflow tasks can now be filtered and navigated by workflow, with per-workflow pending counts (&lt;a href="https://github.com/nocobase/nocobase/pull/10173" rel="noopener noreferrer"&gt;#10173&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Vector database and embedding settings can now be configured directly for each AI knowledge base  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Approval application and todo tasks can now be filtered by workflow with per-workflow pending counts  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix JSON field save validation errors after reloading v2 forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10206" rel="noopener noreferrer"&gt;#10206&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed table action buttons remaining disabled after their linkage rule is disabled or removed. (&lt;a href="https://github.com/nocobase/nocobase/pull/10186" rel="noopener noreferrer"&gt;#10186&lt;/a&gt;)  by hongboji&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[cli]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix the Settings page failing to load after deploying extracted frontend assets (&lt;a href="https://github.com/nocobase/nocobase/pull/10205" rel="noopener noreferrer"&gt;#10205&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Portal manager]&lt;/strong&gt; Fix portals with an empty type not appearing in Client V2 (&lt;a href="https://github.com/nocobase/nocobase/pull/10212" rel="noopener noreferrer"&gt;#10212&lt;/a&gt;)  by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed workflow executions becoming blocked while saving a large number of jobs in one database operation (&lt;a href="https://github.com/nocobase/nocobase/pull/10204" rel="noopener noreferrer"&gt;#10204&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;Fixed workflow canvas version dropdown not showing versions beyond the first 20. (&lt;a href="https://github.com/nocobase/nocobase/pull/10190" rel="noopener noreferrer"&gt;#10190&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Backup manager]&lt;/strong&gt; Validate the maximum backup retention count and display save errors. (&lt;a href="https://github.com/nocobase/nocobase/pull/10189" rel="noopener noreferrer"&gt;#10189&lt;/a&gt;)  by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt; AI employee chat now validates attachment count and combined size before upload (&lt;a href="https://github.com/nocobase/nocobase/pull/10195" rel="noopener noreferrer"&gt;#10195&lt;/a&gt;)  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Enable searching relation target collections and target keys in the v2 data source manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10194" rel="noopener noreferrer"&gt;#10194&lt;/a&gt;)  by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed Markdown Vditor upload test expectations and mock isolation. (&lt;a href="https://github.com/nocobase/nocobase/pull/10200" rel="noopener noreferrer"&gt;#10200&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed Markdown Vditor permanent URL upload test coverage. (&lt;a href="https://github.com/nocobase/nocobase/pull/10202" rel="noopener noreferrer"&gt;#10202&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Variables and secrets]&lt;/strong&gt; Fixed missing error feedback when submitting duplicate variables in the v2 Variables and secrets settings page. (&lt;a href="https://github.com/nocobase/nocobase/pull/10181" rel="noopener noreferrer"&gt;#10181&lt;/a&gt;)  by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Version control]&lt;/strong&gt; Fixed version-control shortcuts becoming inactive after opening settings and improved shortcut preview, save, reset, and navigation behavior  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Migration manager]&lt;/strong&gt; Fixed duplicate migration creation on repeated submission and improved v2 migration log and process drawer display.  by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.0-alpha.10
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-28&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Web client]&lt;/strong&gt; Reduced application language responses to the requested resource namespaces, avoiding unnecessary language data. (&lt;a href="https://github.com/nocobase/nocobase/pull/10175" rel="noopener noreferrer"&gt;#10175&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Added support for registering frontend AI tools in JS blocks. (&lt;a href="https://github.com/nocobase/nocobase/pull/10121" rel="noopener noreferrer"&gt;#10121&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Added usage guidance and card-based approval selection to the approval initiation list in client v2.  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Improved v2 QR code and barcode scan recognition, camera lifecycle safety, and responsive preview behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/10145" rel="noopener noreferrer"&gt;#10145&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Added Myanmar (&lt;code&gt;&amp;lt;span&amp;gt;my-MM&amp;lt;/span&amp;gt;&lt;/code&gt;) to the languages available in System Settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10131" rel="noopener noreferrer"&gt;#10131&lt;/a&gt;)  by hongboji&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client]&lt;/strong&gt; Added Myanmar (&lt;code&gt;&amp;lt;span&amp;gt;my-MM&amp;lt;/span&amp;gt;&lt;/code&gt;) to the legacy System Settings language selector. (&lt;a href="https://github.com/nocobase/nocobase/pull/10153" rel="noopener noreferrer"&gt;#10153&lt;/a&gt;)  by hongboji&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Improved pending task handling by persisting start, resume, and rerun tasks in the event queue. (&lt;a href="https://github.com/nocobase/nocobase/pull/9846" rel="noopener noreferrer"&gt;#9846&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File manager]&lt;/strong&gt; Added independent storage settings for returning original file URLs and allowing public access to file URLs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10160" rel="noopener noreferrer"&gt;#10160&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Fixed issues with saving AI employee model settings, disabled AI employees being able to create conversations, and the mobile chatbox layout. (&lt;a href="https://github.com/nocobase/nocobase/pull/10120" rel="noopener noreferrer"&gt;#10120&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Subflow]&lt;/strong&gt; Adjusted the waiting queue processing strategy following the workflow engine refactor.  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File storage: S3 (Pro)]&lt;/strong&gt; Added independent S3 Pro settings for original URLs, public access to file URLs, and unsigned URLs.  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Added usage guidance and card-based selection to the approval initiation list.  by mytharcher&lt;/li&gt;
&lt;li&gt;Improved the approval timeline with clearer status badges, time information, user avatars, responsive layouts, and connections between multiple submission rounds.  by mytharcher&lt;/li&gt;
&lt;li&gt;Added support for remotely searching approval notification channels by title.  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Documentation]&lt;/strong&gt; Corrected the &lt;code&gt;&amp;lt;span&amp;gt;PLUGIN_PACKAGE_PREFIX&amp;lt;/span&amp;gt;&lt;/code&gt; examples to ensure that preset plugins use the &lt;code&gt;&amp;lt;span&amp;gt;@nocobase/preset-&amp;lt;/span&amp;gt;&lt;/code&gt; prefix. (&lt;a href="https://github.com/nocobase/nocobase/pull/10179" rel="noopener noreferrer"&gt;#10179&lt;/a&gt;)  by hongboji&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[flow-engine]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Fixed v2 table quick edit visibility not being controlled by record-level and field-level update permissions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10182" rel="noopener noreferrer"&gt;#10182&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed untranslated default text in secondary confirmation settings when using Simplified Chinese. (&lt;a href="https://github.com/nocobase/nocobase/pull/10149" rel="noopener noreferrer"&gt;#10149&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;Fixed v2 block configuration dropdowns unexpectedly closing when their active trigger was clicked. (&lt;a href="https://github.com/nocobase/nocobase/pull/10143" rel="noopener noreferrer"&gt;#10143&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed mobile popups extending beyond the screen and obscuring the close button. (&lt;a href="https://github.com/nocobase/nocobase/pull/10118" rel="noopener noreferrer"&gt;#10118&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed the Add Block menu unexpectedly disappearing during searches. (&lt;a href="https://github.com/nocobase/nocobase/pull/10097" rel="noopener noreferrer"&gt;#10097&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[ai]&lt;/strong&gt; Improved document loading reliability with clearer errors for password-protected PDFs and timeout handling. (&lt;a href="https://github.com/nocobase/nocobase/pull/10172" rel="noopener noreferrer"&gt;#10172&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Improved error messages for unsupported and missing pages in the &lt;code&gt;&amp;lt;span&amp;gt;/v/&amp;lt;/span&amp;gt;&lt;/code&gt; branch. (&lt;a href="https://github.com/nocobase/nocobase/pull/10159" rel="noopener noreferrer"&gt;#10159&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed RunJS values not taking effect in v2 date field range limits. (&lt;a href="https://github.com/nocobase/nocobase/pull/10157" rel="noopener noreferrer"&gt;#10157&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed v2 table action titles being overwritten by their previous titles after a linkage refresh or page reload. (&lt;a href="https://github.com/nocobase/nocobase/pull/10140" rel="noopener noreferrer"&gt;#10140&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed an issue in popup subtable forms where selected association field values were cleared and required-field validation was incorrectly triggered when using the parent record’s data scope. (&lt;a href="https://github.com/nocobase/nocobase/pull/10146" rel="noopener noreferrer"&gt;#10146&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed record picker lists not refreshing after a new record was created in client v2. (&lt;a href="https://github.com/nocobase/nocobase/pull/10142" rel="noopener noreferrer"&gt;#10142&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed full-height and specified-height settings not taking effect when a JS block was displayed as a card. (&lt;a href="https://github.com/nocobase/nocobase/pull/10126" rel="noopener noreferrer"&gt;#10126&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Fixed an error that could prevent approval pages from loading. (&lt;a href="https://github.com/nocobase/nocobase/pull/10116" rel="noopener noreferrer"&gt;#10116&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed inconsistent route states that could occur when a page tab was renamed immediately after being enabled. (&lt;a href="https://github.com/nocobase/nocobase/pull/10117" rel="noopener noreferrer"&gt;#10117&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed date filter default values being converted into a single date. (&lt;a href="https://github.com/nocobase/nocobase/pull/9854" rel="noopener noreferrer"&gt;#9854&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed mobile menus being incorrectly hidden by device type rules. (&lt;a href="https://github.com/nocobase/nocobase/pull/10123" rel="noopener noreferrer"&gt;#10123&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Removed unwanted border and shadow styles from Markdown H2 headings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10107" rel="noopener noreferrer"&gt;#10107&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[utils]&lt;/strong&gt; Ensured that redirect targets for server-side outbound requests also comply with the &lt;code&gt;&amp;lt;span&amp;gt;SERVER_REQUEST_WHITELIST&amp;lt;/span&amp;gt;&lt;/code&gt;. (&lt;a href="https://github.com/nocobase/nocobase/pull/10109" rel="noopener noreferrer"&gt;#10109&lt;/a&gt;)  by mytharcher
Reference: &lt;a href="https://docs.nocobase.com/get-started/installation/env#server_request_whitelist" rel="noopener noreferrer"&gt;Environment variables&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[resourcer]&lt;/strong&gt; Fixed pre-action events potentially not being triggered when used together with the approval before-save mode. (&lt;a href="https://github.com/nocobase/nocobase/pull/10119" rel="noopener noreferrer"&gt;#10119&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[database]&lt;/strong&gt; Fixed an SQL injection risk when reading database view metadata. (&lt;a href="https://github.com/nocobase/nocobase/pull/10115" rel="noopener noreferrer"&gt;#10115&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Prevented uploaded XML and other active content files from executing scripts within the application’s origin. (&lt;a href="https://github.com/nocobase/nocobase/pull/10104" rel="noopener noreferrer"&gt;#10104&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Backup manager]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Improved the stability and accuracy of the backup plugin’s frontend tests. (&lt;a href="https://github.com/nocobase/nocobase/pull/10184" rel="noopener noreferrer"&gt;#10184&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed missing visible error notifications when Backup Manager restore requests failed in client v2. (&lt;a href="https://github.com/nocobase/nocobase/pull/10158" rel="noopener noreferrer"&gt;#10158&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Fixed the Operator variable selector in AI employee workflow nodes so that nested variables could be expanded, and removed the &lt;code&gt;&amp;lt;span&amp;gt;Null&amp;lt;/span&amp;gt;&lt;/code&gt; option from required fields. (&lt;a href="https://github.com/nocobase/nocobase/pull/10167" rel="noopener noreferrer"&gt;#10167&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI form context not using custom form item labels. (&lt;a href="https://github.com/nocobase/nocobase/pull/10168" rel="noopener noreferrer"&gt;#10168&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed frontend tools requesting confirmation in the conversation instead of using runtime approval. (&lt;a href="https://github.com/nocobase/nocobase/pull/10166" rel="noopener noreferrer"&gt;#10166&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;Fixed AI employee shortcuts losing block context when a new conversation was started from an existing conversation. (&lt;a href="https://github.com/nocobase/nocobase/pull/10169" rel="noopener noreferrer"&gt;#10169&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;Prevented Nathan from reporting malformed code patches or patches without changes as successfully applied. (&lt;a href="https://github.com/nocobase/nocobase/pull/10174" rel="noopener noreferrer"&gt;#10174&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Notification: In-app message]&lt;/strong&gt; Fixed the in-app message template form displaying workflow canvas variables instead of the variables provided by the page. (&lt;a href="https://github.com/nocobase/nocobase/pull/10180" rel="noopener noreferrer"&gt;#10180&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Authentication]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Fixed incorrect SSO redirects for sub-applications using custom domains. (&lt;a href="https://github.com/nocobase/nocobase/pull/10170" rel="noopener noreferrer"&gt;#10170&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;Fixed intermittent database connection errors during application shutdown when Redis caching was enabled. (&lt;a href="https://github.com/nocobase/nocobase/pull/10151" rel="noopener noreferrer"&gt;#10151&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Sequence]&lt;/strong&gt; Fixed v2 sequence rule options not saving entered values and fixed-text rules incorrectly reporting required-field errors after values were entered. (&lt;a href="https://github.com/nocobase/nocobase/pull/10156" rel="noopener noreferrer"&gt;#10156&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed copied popup templates not taking effect or being incorrectly cleared in Calendar and Kanban blocks. (&lt;a href="https://github.com/nocobase/nocobase/pull/9856" rel="noopener noreferrer"&gt;#9856&lt;/a&gt;)  by jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Variables and secrets]&lt;/strong&gt; Fixed validation feedback for v2 bulk imports of variables and secrets, and fixed Type filter failures. (&lt;a href="https://github.com/nocobase/nocobase/pull/10154" rel="noopener noreferrer"&gt;#10154&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Improved regression test coverage for permanent file URLs, attachment thumbnails, preview downloads, and local storage security response headers. (&lt;a href="https://github.com/nocobase/nocobase/pull/10148" rel="noopener noreferrer"&gt;#10148&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Calendar]&lt;/strong&gt; Fixed the v2 calendar event overlay extending beyond the page when many events were displayed by adding a scrollbar. (&lt;a href="https://github.com/nocobase/nocobase/pull/10138" rel="noopener noreferrer"&gt;#10138&lt;/a&gt;)  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[App SSO]&lt;/strong&gt; Fixed App SSO failures when the public Issuer could not be accessed by sub-application servers.  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Improved AI knowledge base document processing with clearer PDF error messages, upload size validation, timeout protection, and correct pagination for segment lists.  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Multi-space]&lt;/strong&gt; Fixed account switching failures caused by authentication recovery requests carrying the previous space header.  by jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Migration manager]&lt;/strong&gt; Improved v2 migration error messages, prevented duplicate migration rule names, and fixed environment check modal overflow.  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Auth: OIDC]&lt;/strong&gt; Fixed incorrect redirects after OIDC login through a custom domain of a sub-application.  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Fixed some system variables provided in approval message templates rendering as empty.  by Molunerfinn&lt;/li&gt;
&lt;li&gt;Prevented restricted approvers from viewing unauthorized fields in the original application content.  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed approvers being able to return applications when the Return action was not enabled.  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed missing field templates in approval configurations when UI Editor was disabled.  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Hid approval configuration controls when UI Editor was disabled.  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed occasional errors when directly opening approval task details.  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed approval submission messages overwriting messages from pre-action events.  by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Signature]&lt;/strong&gt; Fixed localization and option filtering issues in the file collection selector for client-v2 signature fields.  by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[DingTalk]&lt;/strong&gt; Fixed DingTalk notification channels losing the selected authenticator when saved from the v2 channel form.  by jiannx&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>Awesome NocoBase: Discover and Share Plugins Built by the Community</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Tue, 28 Jul 2026 03:05:50 +0000</pubDate>
      <link>https://dev.to/nocobase/awesome-nocobase-discover-and-share-plugins-built-by-the-community-4hbk</link>
      <guid>https://dev.to/nocobase/awesome-nocobase-discover-and-share-plugins-built-by-the-community-4hbk</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/awesome-nocobase-community-plugins" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/awesome-nocobase-community-plugins&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From day one, NocoBase has been built on a plugin architecture.&lt;/p&gt;

&lt;p&gt;This architecture gives NocoBase the flexibility and extensibility needed for long-term growth. Developers can continuously add new capabilities for different business needs without modifying the core system.&lt;/p&gt;

&lt;p&gt;With the rise of AI coding tools, plugin development is becoming easier than ever. With tools like Claude Code, Codex, and Cursor, together with &lt;a href="https://docs.nocobase.com/cn/ai-dev" rel="noopener noreferrer"&gt;NocoBase’s AI plugin development capabilities&lt;/a&gt;, more developers can quickly build their own plugins.&lt;/p&gt;

&lt;p&gt;Now, you can discover community-built plugins in &lt;a href="https://github.com/nocobase/awesome-nocobase" rel="noopener noreferrer"&gt;Awesome NocoBase&lt;/a&gt;, or share your own extensions and help grow the NocoBase plugin ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Floyv2h60tbucxeo23a6b.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Floyv2h60tbucxeo23a6b.jpg" alt="Frame 94-ojy7ci.jpg" width="800" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Featured Community Plugins
&lt;/h2&gt;

&lt;p&gt;Currently, &lt;a href="https://github.com/nocobase/awesome-nocobase" rel="noopener noreferrer"&gt;Awesome NocoBase&lt;/a&gt; features a collection of plugins created by community developers. These plugins are built from real-world projects and experiences. Some address common needs, some extend NocoBase’s core capabilities, and others provide solutions for specific business scenarios.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/Bunnarin/nocobase-plugin-hooks" rel="noopener noreferrer"&gt;NocoBase Hooks&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/Bunnarin" rel="noopener noreferrer"&gt;Bunnarin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NocoBase Hooks provides an extension mechanism similar to PocketBase’s &lt;code&gt;pb_hooks&lt;/code&gt;. Developers can write server-side extensions directly in the &lt;code&gt;storage/hooks/&lt;/code&gt; directory while leveraging NocoBase capabilities such as database events, middleware, custom APIs, ACL, and logging.&lt;/p&gt;

&lt;p&gt;It also supports automatic loading, hot reload during development, TypeScript, and independent dependency management.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/trumanharry/nocobase-globalsearch-plugin" rel="noopener noreferrer"&gt;Global Search&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/trumanharry" rel="noopener noreferrer"&gt;trumanharry&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Global Search adds a cross-table search entry to the NocoBase admin interface, making it easier to find information across different data collections such as customers, orders, projects, and contacts.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/OneTwoSmall/nocobase-custom-plugins/tree/main/plugins/%40nocobase/plugin-file-previewer-office" rel="noopener noreferrer"&gt;Office File Previewer&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/OneTwoSmall" rel="noopener noreferrer"&gt;OneTwoSmall&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Office File Previewer enhances NocoBase’s file preview capabilities with flexible support for Office documents and other file formats.&lt;/p&gt;

&lt;p&gt;For use cases such as knowledge bases, contract management, archives, and internal file systems, users can preview files directly inside NocoBase without downloading files or switching between applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/OneTwoSmall/nocobase-custom-plugins/tree/main/plugins/%40nocobase/plugin-enhanced-table-block" rel="noopener noreferrer"&gt;Enhanced Table Block&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/OneTwoSmall" rel="noopener noreferrer"&gt;OneTwoSmall&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enhanced Table Block extends NocoBase table blocks with richer data display and interaction features.&lt;/p&gt;

&lt;p&gt;It is ideal for scenarios involving reports, inventory, orders, and financial data, allowing users to manage information in a more spreadsheet-like way.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/OneTwoSmall/nocobase-custom-plugins/tree/main/plugins/%40nocobase/plugin-auth-email" rel="noopener noreferrer"&gt;Auth: Email&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/OneTwoSmall" rel="noopener noreferrer"&gt;OneTwoSmall&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Supports authentication through email verification codes.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/taichuy/nocobase-plugin-login-lite" rel="noopener noreferrer"&gt;Custom Login Page&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/JAVA-LW" rel="noopener noreferrer"&gt;JAVA-LW&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Custom Login Page allows administrators to configure NocoBase login page themes, styles, and branding directly from the backend.&lt;/p&gt;

&lt;p&gt;It is suitable for projects that require a consistent brand experience or dedicated login portals for customers, employees, and partners.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vokylin/plugin-block-tabs" rel="noopener noreferrer"&gt;Block: Tabs&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/zoudeming-vk" rel="noopener noreferrer"&gt;zoudeming-vk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Block: Tabs provides a tab block that organizes multiple NocoBase blocks within a single interface.&lt;/p&gt;

&lt;p&gt;For information-heavy detail pages and management screens, it reduces scrolling and groups related content into tabs, creating a clearer page structure.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/fengwenkai168/nocobase-plugin/" rel="noopener noreferrer"&gt;Watermark&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/fengwenkai168" rel="noopener noreferrer"&gt;fengwenkai168&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Watermark adds semi-transparent watermarks to NocoBase pages and can display information about the current user.&lt;/p&gt;

&lt;p&gt;Administrators can customize watermark text, opacity, and font size. It is suitable for contracts, customer data, and other sensitive information where reducing screenshot-based data leakage is important.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/michaelxmn/plugin-role-switcher" rel="noopener noreferrer"&gt;Role Switcher&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/michaelxmn" rel="noopener noreferrer"&gt;michaelxmn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Role Switcher adds a quick role switching option to the top navigation bar.&lt;/p&gt;

&lt;p&gt;It helps users with multiple roles switch contexts more efficiently, and makes permission testing easier for administrators and developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/Albert-mah/nocobase-plugin-user-columns" rel="noopener noreferrer"&gt;Per-User Column Settings&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/Albert-mah" rel="noopener noreferrer"&gt;Albert-mah&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Per-User Column Settings allows each user to save their own table column preferences.&lt;/p&gt;

&lt;p&gt;Users can customize visible fields, reorder columns, freeze columns, and adjust column widths without affecting other users. It is especially useful for business systems where different roles focus on different information.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/ericto888/nocobase-plugin-field-sequence-pro" rel="noopener noreferrer"&gt;Field Sequence Pro&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/ericto888" rel="noopener noreferrer"&gt;ericto888&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Field Sequence Pro extends the built-in auto-numbering field with support for form variables, value mapping dictionaries, and multi-dimensional isolated counters while keeping the original functionality.&lt;/p&gt;

&lt;p&gt;It is suitable for generating unique identifiers such as order numbers, contract numbers, and business serial numbers based on different rules.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/Albert-mah/plugin-http-error-handler" rel="noopener noreferrer"&gt;HTTP Error Handler&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/Albert-mah" rel="noopener noreferrer"&gt;Albert-mahmahuantest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;HTTP Error Handler provides global 4xx/5xx error handling for NocoBase.&lt;/p&gt;

&lt;p&gt;Administrators can define error handling rules using JS expressions, display unhandled API errors with custom error pages, or redirect users to specific pages automatically.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/Albert-mah/plugin-workflow-url-trigger" rel="noopener noreferrer"&gt;Workflow: URL Trigger&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/Albert-mah" rel="noopener noreferrer"&gt;Albert-mah&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Workflow: URL Trigger enables workflows to be triggered by external HTTP requests.&lt;/p&gt;

&lt;p&gt;It supports wildcard and regular expression matching, uses request parameters as workflow variables, and can work with the HTTP Response node to build Webhooks, API integrations, and automation workflows.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/Albert-mah/plugin-workflow-crypto" rel="noopener noreferrer"&gt;Workflow: Crypto&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/Albert-mah" rel="noopener noreferrer"&gt;Albert-mah&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Workflow: Crypto provides AES encryption and decryption nodes for workflows.&lt;/p&gt;

&lt;p&gt;It supports variable inputs and automatic JSON parsing after decryption, making it suitable for secure data exchange with external systems.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/Albert-mah/plugin-workflow-auth-token" rel="noopener noreferrer"&gt;Workflow: Auth Token&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://github.com/Albert-mah" rel="noopener noreferrer"&gt;Albert-mah&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Workflow: Auth Token generates real NocoBase login JWTs within workflows.&lt;/p&gt;

&lt;p&gt;It can be used to create SSO login links and programmatic access tokens, and combined with URL Trigger and Crypto to build complete single sign-on workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build the NocoBase Plugin Ecosystem Together
&lt;/h2&gt;

&lt;p&gt;If you have created a NocoBase plugin, we welcome you to submit it to &lt;a href="https://github.com/nocobase/awesome-nocobase" rel="noopener noreferrer"&gt;Awesome NocoBase&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Our goal is to help more users discover valuable plugins while giving great plugins and their developers more exposure.&lt;/p&gt;

&lt;p&gt;In the future, we will continue highlighting outstanding community plugins and the developers behind them.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>Weekly Updates：Remote Search for Approval Notification Channels</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Mon, 27 Jul 2026 10:23:21 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updatesremote-search-for-approval-notification-channels-233g</link>
      <guid>https://dev.to/nocobase/weekly-updatesremote-search-for-approval-notification-channels-233g</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.1.30
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-24&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Improved v2 QR code and barcode scan recognition, camera lifecycle safety, and responsive preview behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/10145" rel="noopener noreferrer"&gt;#10145&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client]&lt;/strong&gt; Added Myanmar (&lt;code&gt;my-MM&lt;/code&gt;) to the legacy System Settings language selector. (&lt;a href="https://github.com/nocobase/nocobase/pull/10153" rel="noopener noreferrer"&gt;#10153&lt;/a&gt;) by @hongboji&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added usage instructions and card-style workflow selection to the approval initiation list by @mytharcher&lt;/li&gt;
&lt;li&gt;Improved the approval timeline with clearer status badges, timing details, user avatars, responsive layout, and connected submission rounds by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix RunJS values not taking effect in client v2 date range limits. (&lt;a href="https://github.com/nocobase/nocobase/pull/10157" rel="noopener noreferrer"&gt;#10157&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Improve error messages for unsupported and missing pages in the &lt;code&gt;/v/&lt;/code&gt; branch (&lt;a href="https://github.com/nocobase/nocobase/pull/10159" rel="noopener noreferrer"&gt;#10159&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix v2 table action titles being reverted after linkage refresh. (&lt;a href="https://github.com/nocobase/nocobase/pull/10140" rel="noopener noreferrer"&gt;#10140&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed required association values being cleared after selection in popup sub-table forms with parent-item data scopes. (&lt;a href="https://github.com/nocobase/nocobase/pull/10146" rel="noopener noreferrer"&gt;#10146&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix record picker lists not refreshing after creating a record in client v2. (&lt;a href="https://github.com/nocobase/nocobase/pull/10142" rel="noopener noreferrer"&gt;#10142&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[flow-engine]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix v2 block configuration dropdowns closing when clicking their active trigger. (&lt;a href="https://github.com/nocobase/nocobase/pull/10143" rel="noopener noreferrer"&gt;#10143&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed untranslated default text in secondary confirmation settings when using Simplified Chinese (&lt;a href="https://github.com/nocobase/nocobase/pull/10149" rel="noopener noreferrer"&gt;#10149&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Authentication]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an intermittent database connection error during application shutdown when Redis cache is enabled (&lt;a href="https://github.com/nocobase/nocobase/pull/10151" rel="noopener noreferrer"&gt;#10151&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Fixed incorrect SSO redirects for sub-applications using custom domains (&lt;a href="https://github.com/nocobase/nocobase/pull/10170" rel="noopener noreferrer"&gt;#10170&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt; Prevented Nathan from reporting malformed or unchanged code patches as successfully applied (&lt;a href="https://github.com/nocobase/nocobase/pull/10174" rel="noopener noreferrer"&gt;#10174&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Sequence]&lt;/strong&gt; Fixed v2 sequence rule options not saving entered values and fixed-text rules incorrectly reporting a required-field error. (&lt;a href="https://github.com/nocobase/nocobase/pull/10156" rel="noopener noreferrer"&gt;#10156&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Backup manager]&lt;/strong&gt; Fix missing visible error notifications when Backup Manager restore requests fail in the v2 client. (&lt;a href="https://github.com/nocobase/nocobase/pull/10158" rel="noopener noreferrer"&gt;#10158&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed Calendar and Kanban popup templates not taking effect or being cleared incorrectly when using copied popup templates (&lt;a href="https://github.com/nocobase/nocobase/pull/9856" rel="noopener noreferrer"&gt;#9856&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App SSO]&lt;/strong&gt; Fixed App SSO failures when the public issuer is unreachable from sub-application servers by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: OIDC]&lt;/strong&gt; Fixed incorrect redirects after OIDC login through a sub-application custom domain by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Hide approval configuration controls when UI Editor is off by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.29
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-21&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Approval notification channels can now be searched remotely by title by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[flow-engine]&lt;/strong&gt; Fixed an issue where the Add Block menu could unexpectedly disappear while searching. (&lt;a href="https://github.com/nocobase/nocobase/pull/10097" rel="noopener noreferrer"&gt;#10097&lt;/a&gt;) by &lt;a class="mentioned-user" href="https://dev.to/gchust"&gt;@gchust&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed full and specified height settings not working for JS Blocks displayed with a card (&lt;a href="https://github.com/nocobase/nocobase/pull/10126" rel="noopener noreferrer"&gt;#10126&lt;/a&gt;) by &lt;a class="mentioned-user" href="https://dev.to/gchust"&gt;@gchust&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Fix the issue where date filter defaults become a single date (&lt;a href="https://github.com/nocobase/nocobase/pull/9854" rel="noopener noreferrer"&gt;#9854&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Calendar]&lt;/strong&gt; Add scrolling to the v2 calendar event overlay when many events are shown. (&lt;a href="https://github.com/nocobase/nocobase/pull/10138" rel="noopener noreferrer"&gt;#10138&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Multi-space]&lt;/strong&gt; Fixed account switching failures caused by stale space headers during authentication recovery by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>How to Choose a Smartsheet Alternative: 7 Tools Compared</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Fri, 24 Jul 2026 17:49:46 +0000</pubDate>
      <link>https://dev.to/nocobase/how-to-choose-a-smartsheet-alternative-7-tools-compared-4ndh</link>
      <guid>https://dev.to/nocobase/how-to-choose-a-smartsheet-alternative-7-tools-compared-4ndh</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/best-smartsheet-alternatives" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/best-smartsheet-alternatives&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.smartsheet.com/" rel="noopener noreferrer"&gt;Smartsheet&lt;/a&gt; is one of the first tools many teams consider when setting up project management and collaboration workflows.&lt;/p&gt;

&lt;p&gt;It retains a familiar spreadsheet-style interface while adding boards, Gantt charts, forms, automation, reports, and dashboards. For teams that previously relied on Excel to manage projects, the learning curve is relatively low, making it easier to establish consistent processes for task assignment, progress tracking, and project reporting.&lt;/p&gt;

&lt;p&gt;However, a tool that works well at the beginning may not remain suitable for every stage of a team’s development.&lt;/p&gt;

&lt;p&gt;Recently, we came across a discussion about alternatives in the Smartsheet community on &lt;a href="https://www.reddit.com/r/smartsheet/comments/1pj85s5/smartsheet_comparison/" rel="noopener noreferrer"&gt;Reddit&lt;/a&gt;. The original poster works for a construction company with about 100 employees and belongs to a seven-person department. Previously, everyone managed projects according to their own habits: some used spreadsheets, some relied on personal task tools, and others tracked progress through email and meetings. As the number of projects increased, the team wanted to establish a unified project management and reporting process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsl2k3sc1puzcz3hwpcnp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsl2k3sc1puzcz3hwpcnp.png" alt="reddit-v58l9f.png" width="633" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The comments showed that opinions about Smartsheet were mixed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Users who supported Smartsheet mentioned&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Migrating from Excel is relatively straightforward&lt;/li&gt;
&lt;li&gt;Real-time data can be connected across different sheets&lt;/li&gt;
&lt;li&gt;Dashboards and reporting are intuitive&lt;/li&gt;
&lt;li&gt;Forms, file review, approvals, and automation are well covered&lt;/li&gt;
&lt;li&gt;Business teams do not have to wait for IT to develop every system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Users considering replacing Smartsheet mentioned&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Changes to pricing and licensing models&lt;/li&gt;
&lt;li&gt;Uneven adoption across departments&lt;/li&gt;
&lt;li&gt;Automation is often maintained by only a few advanced users&lt;/li&gt;
&lt;li&gt;Complex relational data remains difficult to manage&lt;/li&gt;
&lt;li&gt;Maintenance costs increase as data volume and usage expand&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Based on these needs, we selected several representative Smartsheet alternatives, including open-source platforms. The following sections introduce each product’s positioning, core capabilities, major differences from Smartsheet, pricing, and suitable team types.&lt;/p&gt;

&lt;p&gt;Before examining each product in detail, use the comparison table below to quickly identify options that may better match your team’s needs.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Product&lt;/th&gt;
&lt;th&gt;Open Source&lt;/th&gt;
&lt;th&gt;Primary Positioning&lt;/th&gt;
&lt;th&gt;Similarities to Smartsheet&lt;/th&gt;
&lt;th&gt;Key Differences&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NocoBase&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Enterprise business system development&lt;/td&gt;
&lt;td&gt;Tables, pages, workflows&lt;/td&gt;
&lt;td&gt;Focuses on data relationships, permissions, and controlled operations; highly flexible plugin architecture; self-hosted and extensible&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Baserow&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No-code database&lt;/td&gt;
&lt;td&gt;Spreadsheet-style data management&lt;/td&gt;
&lt;td&gt;Open source, self-hosted, relational data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;monday&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Visual work management&lt;/td&gt;
&lt;td&gt;Projects, boards, automation&lt;/td&gt;
&lt;td&gt;Greater emphasis on boards and team collaboration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SmartSuite&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Comprehensive work management&lt;/td&gt;
&lt;td&gt;Projects, records, processes&lt;/td&gt;
&lt;td&gt;Combines data management with project execution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Airtable&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Relational data collaboration&lt;/td&gt;
&lt;td&gt;Tables, views, automation&lt;/td&gt;
&lt;td&gt;Stronger at linked data and interface building&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ClickUp&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;All-in-one project management&lt;/td&gt;
&lt;td&gt;Tasks, dashboards, automation&lt;/td&gt;
&lt;td&gt;Task-centric with broad feature coverage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Asana&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Project and task management&lt;/td&gt;
&lt;td&gt;Tasks, dependencies, timelines&lt;/td&gt;
&lt;td&gt;Clearer and more standardized project workflows&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;💬 Hey, you're reading the NocoBase blog. NocoBase is the most extensible AI-powered no-code/low-code development platform for building enterprise applications, internal tools, and all kinds of systems. It’s fully self-hosted, plugin-based, and developer-friendly. → &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;Explore NocoBase on GitHub&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  1. NocoBase: For Teams Moving From Collaborative Spreadsheets to Business Systems
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Product Information
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://www.nocobase.com/" rel="noopener noreferrer"&gt;https://www.nocobase.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://docs.nocobase.com/" rel="noopener noreferrer"&gt;https://docs.nocobase.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pricing: &lt;a href="https://www.nocobase.com/en/commercial" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/commercial&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;https://github.com/nocobase/nocobase&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub Stars: 23.4K&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What Is NocoBase?
&lt;/h3&gt;

&lt;p&gt;NocoBase is an open-source AI-powered no-code platform for building enterprise business systems such as project management, CRM, contract management, order management, approvals, and ticketing.&lt;/p&gt;

&lt;p&gt;Teams can first create related data tables for customers, projects, contracts, tasks, invoices, and other business objects. They can then configure tables, boards, forms, detail pages, charts, and action buttons through a visual interface. As business requirements change, pages, permissions, workflows, and plugins can continue to be adjusted.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb610v282wzm9ucvua5ub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb610v282wzm9ucvua5ub.png" alt="NocoBase1-s098x8.png" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Can It Replace Smartsheet?
&lt;/h3&gt;

&lt;p&gt;NocoBase provides tables, boards, forms, detail pages, charts, and workflows, covering common Smartsheet scenarios such as project management, data collection, progress tracking, and automation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb3a8h43kkv0cwumcu9ba.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb3a8h43kkv0cwumcu9ba.png" alt="NocoBase2-9jgm7h.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For teams with increasingly complex data structures, NocoBase can also create multiple related tables. For example, one customer can have multiple projects, while each project can be linked to contracts, tasks, invoices, and payment records. Sales, finance, project managers, and executives can work from the same underlying data while using different pages and receiving role-based data and operation permissions.&lt;/p&gt;

&lt;p&gt;NocoBase also offers two types of AI collaboration capabilities that support both system development and ongoing operations.&lt;/p&gt;

&lt;p&gt;The first is &lt;strong&gt;AI-assisted development&lt;/strong&gt;. Teams can connect commonly used AI agents such as Claude Code, Codex, and Cursor to NocoBase, describe business requirements in natural language, and have the AI agent assist with data modeling, page configuration, workflow orchestration, permission settings, and plugin development. The generated system can still be reviewed and adjusted through NocoBase’s no-code interface.&lt;/p&gt;

&lt;p&gt;The second is &lt;strong&gt;AI Employees&lt;/strong&gt;. After the business system goes live, AI Employees can understand business context from the current page, data blocks, and selected records. They can invoke relevant skills to query data, organize information, fill in forms, analyze trends, generate reports, and process content. AI Employees can also be orchestrated into workflows, bringing AI capabilities into specific business processes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fza9cf2x4w1b6zrbvhnrt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fza9cf2x4w1b6zrbvhnrt.png" alt="NocoBase3-4m76lu.png" width="800" height="504"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NocoBase also supports self-hosting, plugin extensions, and external database connections, making it suitable for teams that want control over their data and deployment environment while continuously expanding business modules.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Differences From Smartsheet
&lt;/h3&gt;

&lt;p&gt;Smartsheet mainly uses worksheets as the collaboration entry point, with members typically viewing and updating project data directly in a grid. NocoBase starts with a data model and then configures pages, permissions, operations, and workflows around that data.&lt;/p&gt;

&lt;p&gt;In NocoBase, users do not all have to enter the same underlying data table. Administrators can configure separate work interfaces for different roles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sales teams can view customers, contacts, and opportunities;&lt;/li&gt;
&lt;li&gt;Project managers can view projects, tasks, and delivery progress;&lt;/li&gt;
&lt;li&gt;Finance teams can view contracts, invoices, and payments;&lt;/li&gt;
&lt;li&gt;Executives can view aggregated metrics and dashboards.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data modification methods can also be configured according to business risk. Routine fields such as task status and assignee can support quick editing. Critical data such as contract amounts, payment status, and approval results can be entered, validated, confirmed, and submitted through dedicated forms. Once submitted, the system can trigger notifications, approvals, data updates, or other workflows.&lt;/p&gt;

&lt;p&gt;AI further expands this system-oriented approach. During development, AI agents can understand NocoBase’s data models, pages, permissions, and workflow configurations to help teams build systems faster. During operation, AI Employees can read business context, analyze data, and perform authorized actions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8v1ujax29cwglkanv09v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8v1ujax29cwglkanv09v.png" alt="NocoBase4-94jiot.png" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This means AI can participate throughout the complete lifecycle of a business system:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Assist with creating data models and pages from natural-language requirements;&lt;/li&gt;
&lt;li&gt;Configure role permissions, operation methods, and business processes;&lt;/li&gt;
&lt;li&gt;Analyze and process business data after the system goes live;&lt;/li&gt;
&lt;li&gt;Continue participating in daily operations through AI Employees or workflows.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For teams already using Smartsheet to manage customers, contracts, projects, and financial data, this design can reduce errors and management pressure caused by multiple people directly maintaining complex worksheets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which Teams Is It Best For?
&lt;/h3&gt;

&lt;p&gt;NocoBase is better suited to teams that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Already use Smartsheet to manage formal business data such as customers, contracts, orders, or payments;&lt;/li&gt;
&lt;li&gt;Have complex data relationships across multiple worksheets;&lt;/li&gt;
&lt;li&gt;Need different operating interfaces for sales, finance, operations, and management;&lt;/li&gt;
&lt;li&gt;Need to control which data different roles can view and modify;&lt;/li&gt;
&lt;li&gt;Require validation, confirmation, approval, or auditing for critical data changes;&lt;/li&gt;
&lt;li&gt;Want to use AI agents to accelerate business system development;&lt;/li&gt;
&lt;li&gt;Want AI Employees to participate in data analysis and business processing after launch;&lt;/li&gt;
&lt;li&gt;Need self-hosting and control over data and deployment environments;&lt;/li&gt;
&lt;li&gt;Plan to continue adding business modules on the same platform.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;🎉 NocoBase lightweight solutions are now available. Try them today!&lt;/p&gt;

&lt;p&gt;These focused business solutions are built with NocoBase. They are open source, controllable, and easy to extend or modify around your own processes.&lt;/p&gt;

&lt;p&gt;Each solution includes a standard prompt. Give it to an AI agent connected to your instance, and you can reproduce the same system in minutes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.nocobase.com/en/ai-blueprints" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/ai-blueprints&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  2. Baserow: For Teams That Want to Keep a Spreadsheet-Style Experience
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Product Information
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://baserow.io/" rel="noopener noreferrer"&gt;https://baserow.io/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://baserow.io/user-docs" rel="noopener noreferrer"&gt;https://baserow.io/user-docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pricing: &lt;a href="https://baserow.io/pricing" rel="noopener noreferrer"&gt;https://baserow.io/pricing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/baserow/baserow" rel="noopener noreferrer"&gt;https://github.com/baserow/baserow&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub Stars: 5.3K&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What Is Baserow?
&lt;/h3&gt;

&lt;p&gt;Baserow is an open-source no-code database and application-building platform. It retains a spreadsheet-like interface, allowing users to manage customers, projects, content, inventory, and other information through tables, fields, linked records, and multiple views. Teams can also build internal applications, dashboards, and automated processes. Baserow additionally provides AI fields, AI formula generation, and the Kuma AI assistant.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvjb1kp15vpysqgtuijdc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvjb1kp15vpysqgtuijdc.png" alt="Baserow1-bc4av1.png" width="800" height="566"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Can It Replace Smartsheet?
&lt;/h3&gt;

&lt;p&gt;Baserow supports tables, forms, boards, calendars, timelines, and dashboards, covering common Smartsheet needs such as data collection, project tracking, and information presentation. It also supports table relationships, lookups, rollups, and formulas, making it more suitable for related data. For teams accustomed to editing information directly in tables but seeking stronger database capabilities, the post-migration experience is relatively easy to understand.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Differences From Smartsheet
&lt;/h3&gt;

&lt;p&gt;Smartsheet places greater emphasis on project management, task dependencies, resource planning, and cross-project reporting, while Baserow is closer to a no-code database. Teams can freely create tables and relationships, then use the application builder to turn underlying data into internal tools or customer portals. Baserow also offers an open-source, self-hosted version, allowing teams to control their deployment environment, data storage, and system extensions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F04lx52k0igswmxrmjr17.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F04lx52k0igswmxrmjr17.png" alt="Baserow2-ehqveo.png" width="799" height="582"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Which Teams Is It Best For?
&lt;/h3&gt;

&lt;p&gt;Baserow is suitable for teams that are comfortable with spreadsheets, need to manage multiple related data tables, and prefer an open-source or self-hosted solution. It is particularly useful for content management, lightweight CRM, project data, inventory, and internal information management, as well as teams that want to build simple internal tools on top of data tables.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. monday: For Project Teams That Prioritize Visual Collaboration
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Product Information
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://monday.com/" rel="noopener noreferrer"&gt;https://monday.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://support.monday.com/hc/en-us" rel="noopener noreferrer"&gt;https://support.monday.com/hc/en-us&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pricing: &lt;a href="https://monday.com/pricing" rel="noopener noreferrer"&gt;https://monday.com/pricing&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How Does monday Organize Team Work?
&lt;/h3&gt;

&lt;p&gt;monday is a visual work management platform. Teams can centralize projects, tasks, owners, deadlines, and current status in a Board, then switch among Kanban, timeline, Gantt, calendar, and dashboard views to review progress from different perspectives. It is used for project management, marketing campaigns, product development, operational planning, and cross-functional collaboration, and the platform is also adding AI workflows and AI agents.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9zdcuq1o38byyaokzxzs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9zdcuq1o38byyaokzxzs.png" alt="monday1-zqwhth.png" width="800" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Is It a Suitable Smartsheet Alternative?
&lt;/h3&gt;

&lt;p&gt;For teams seeking a consistent way to collaborate on projects, monday provides a relatively intuitive starting point. Administrators can use templates to quickly create project spaces, while members work around tasks, status, owners, and milestones. Automation rules can send notifications, update fields, or move tasks when a status changes, a date arrives, or a task is assigned. Dashboards can aggregate project progress, budgets, and team workloads across multiple Boards.&lt;/p&gt;

&lt;p&gt;monday’s AI workflows can also add content generation, information analysis, and task assignment to existing processes. Its AI agents can monitor activities, determine the next action, and execute tasks within the context of Boards and workflows, although this capability is still being rolled out gradually.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Differences From Smartsheet
&lt;/h3&gt;

&lt;p&gt;Smartsheet retains stronger spreadsheet conventions and is well suited to managing data, formulas, and cross-sheet reports in dense grids. monday focuses more on Boards, statuses, and task progression. Colors, groups, views, and automation make it easier for members to understand who owns each task and how far the work has progressed.&lt;/p&gt;

&lt;p&gt;This design is collaboration-friendly, particularly for scenarios that require frequent status updates, owner coordination, and milestone tracking. For complex formulas, extensive cross-sheet references, or relational business data, monday differs significantly from traditional spreadsheets and should be evaluated against each existing Smartsheet use case.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which Teams Are Better Suited to monday?
&lt;/h3&gt;

&lt;p&gt;monday is better suited to marketing, operations, product, PMO, and cross-functional teams centered on projects, tasks, and team collaboration. When members need to quickly understand owners, deadlines, current status, and project risks while also using boards, Gantt charts, automation, and management dashboards, monday can be more intuitive than maintaining complex worksheets directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. SmartSuite: For Teams Managing Projects, Data, and Business Processes Together
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Product Information
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://www.smartsuite.com/" rel="noopener noreferrer"&gt;https://www.smartsuite.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://help.smartsuite.com/en/" rel="noopener noreferrer"&gt;https://help.smartsuite.com/en/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pricing: &lt;a href="https://www.smartsuite.com/pricing" rel="noopener noreferrer"&gt;https://www.smartsuite.com/pricing&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What Is SmartSuite?
&lt;/h3&gt;

&lt;p&gt;SmartSuite is a work management platform for business teams. It uses Solutions, Tables, and Records as its basic structure. Within one workspace, teams can manage projects, tasks, customers, contracts, risks, assets, and other business records, then view progress through tables, boards, calendars, timelines, Gantt charts, and dashboards.&lt;/p&gt;

&lt;p&gt;SmartSuite is also gradually adding AI capabilities. Users can describe the business they need to manage in natural language, and AI Solution Generator can automatically create a solution containing tables, fields, and relationships. AI Field Agents can use field content from records to generate summaries, classifications, recommendations, or structured results and write those results directly back to the records.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz556syu1ccxpnl2j0ax0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz556syu1ccxpnl2j0ax0.png" alt="SmartSuite1-y8czgu.png" width="800" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Is It a Suitable Smartsheet Alternative?
&lt;/h3&gt;

&lt;p&gt;For teams already using Smartsheet to manage projects, customers, suppliers, or operational processes, SmartSuite provides a similar table view while adding more complete record pages, linked data, and templates for multiple scenarios.&lt;/p&gt;

&lt;p&gt;For example, a team can create separate customer, project, and task tables and connect them through linked records. Project managers can manage task dependencies and schedules in Gantt charts, business users can open individual records to view files, comments, checklists, and activity history, and management can monitor overall progress through dashboards.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Differences From Smartsheet
&lt;/h3&gt;

&lt;p&gt;Smartsheet retains a strong worksheet-based approach, with many operations centered on rows, columns, formulas, and cross-sheet reports. SmartSuite places greater emphasis on records and the relationships among them. A project record can link to customers, tasks, budgets, risks, and deliverables while providing its own detail page and collaboration information.&lt;/p&gt;

&lt;p&gt;This design positions SmartSuite between a traditional project management tool and a business data platform. Teams can use boards, Gantt charts, and timelines to move projects forward while connecting projects with customers, contracts, assets, and other business information. Linked records can also be used across different Solutions, reducing duplicate maintenance of the same data in multiple workspaces.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which Teams Is It Best For?
&lt;/h3&gt;

&lt;p&gt;SmartSuite is better suited to teams that manage both projects and structured business records, including professional services, marketing operations, product management, construction projects, procurement, supplier management, and lightweight CRM teams. When teams need boards, Gantt charts, and task dependencies while also connecting customers, projects, files, budgets, and risks, SmartSuite is more complete than a task-only management tool.&lt;/p&gt;

&lt;p&gt;It is also suitable for teams that want to adopt ready-made templates and cloud services quickly and do not require self-hosting. AI Solution Generator can shorten initial configuration time, while AI Field Agents can automatically organize content, classify information, and suggest next steps after records are updated.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Airtable: For Teams Managing Linked Data and Flexible Business Processes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Product Information
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://www.airtable.com/" rel="noopener noreferrer"&gt;https://www.airtable.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://support.airtable.com/docs" rel="noopener noreferrer"&gt;https://support.airtable.com/docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pricing: &lt;a href="https://airtable.com/pricing" rel="noopener noreferrer"&gt;https://airtable.com/pricing&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What Is Airtable?
&lt;/h3&gt;

&lt;p&gt;Airtable is a no-code application platform built on a relational database. Teams can enter and organize data much like they would in a spreadsheet while using linked records, lookups, rollups, and formulas to connect customers, projects, tasks, content, products, and other information. Interface Designer can create operating interfaces for different teams from the same data, while automation connects notifications, record updates, and external tools.&lt;/p&gt;

&lt;p&gt;Airtable is also strengthening its AI capabilities. Omni can create and adjust tables, interfaces, and automations from natural-language instructions. Field Agents can use record content to conduct research, classify information, generate content, and analyze feedback.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsza1wudm1c50y239qggi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsza1wudm1c50y239qggi.png" alt="Airtable1-ky7686.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Is It a Suitable Smartsheet Alternative?
&lt;/h3&gt;

&lt;p&gt;Airtable provides tables, boards, calendars, timelines, forms, interfaces, and automation, covering common Smartsheet needs such as data collection, project tracking, and team collaboration. It is stronger at linked data. For example, teams can create separate tables for customers and projects, projects and tasks, or products and suppliers, then keep information synchronized through linked records and reduce duplicate maintenance across multiple tables.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Differences From Smartsheet
&lt;/h3&gt;

&lt;p&gt;Smartsheet is more focused on managing projects through worksheets, task progress, and cross-sheet reports, while Airtable is built on relational data. Users can create one-to-many and many-to-many relationships through linked records and use Interface to turn underlying data into pages for marketing, product, operations, or management teams.&lt;/p&gt;

&lt;p&gt;This structure is suitable for scenarios involving many data objects and complex relationships. However, teams that rely heavily on Smartsheet’s task dependencies, resource management, and project portfolio capabilities should still confirm whether Airtable can cover their existing processes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fofoa5es4ixxqtspxjvby.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fofoa5es4ixxqtspxjvby.png" alt="Airtable2-c1m062.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Which Teams Is It Best For?
&lt;/h3&gt;

&lt;p&gt;Airtable is better suited to marketing, content, product, research, and operations teams. Common scenarios include content calendars, product roadmaps, campaign management, lightweight CRM, user research, and asset management. Teams that want to retain the flexibility of spreadsheet-style operations while connecting multiple data tables, configuring role-specific interfaces, and adding automation or AI can prioritize Airtable.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. ClickUp: For Teams That Want to Consolidate Multiple Project Tools
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Product Information
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://clickup.com/" rel="noopener noreferrer"&gt;https://clickup.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://help.clickup.com/hc/en-us" rel="noopener noreferrer"&gt;https://help.clickup.com/hc/en-us&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pricing: &lt;a href="https://clickup.com/pricing" rel="noopener noreferrer"&gt;https://clickup.com/pricing&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What Is ClickUp?
&lt;/h3&gt;

&lt;p&gt;ClickUp is an all-in-one work management platform that brings tasks, documents, whiteboards, goals, chat, calendars, and dashboards into one workspace. Teams can manage projects through list, board, Gantt, and timeline views, and use ClickUp Brain, AI agents, and automation for task summaries, content generation, information queries, and process execution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnmp4zzcbpyqe2ptz1fmx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnmp4zzcbpyqe2ptz1fmx.png" alt="ClickUp1-y3qoc0.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Is It a Suitable Smartsheet Alternative?
&lt;/h3&gt;

&lt;p&gt;ClickUp can cover common Smartsheet needs such as task assignment, project progress, automation, Gantt charts, and dashboards. Its task structure includes owners, priorities, dependencies, time tracking, and custom fields, while documents, communication, and goal management are integrated into project spaces. It is suitable for teams that want to reduce switching among multiple tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Differences From Smartsheet
&lt;/h3&gt;

&lt;p&gt;Smartsheet is closer to a spreadsheet with project management capabilities, while ClickUp is centered on tasks and project execution. Team members primarily open tasks to review requirements, update progress, and communicate, making daily collaboration more centralized. Complex formulas, cross-table calculations, and large volumes of structured business data are not its main strengths.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr3jfjllflk3358ddhp5w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr3jfjllflk3358ddhp5w.png" alt="ClickUp2-vgbb2y.png" width="800" height="625"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Which Teams Is It Best For?
&lt;/h3&gt;

&lt;p&gt;ClickUp is suitable for product, engineering, marketing, and operations teams, especially those currently using separate task, document, chat, and goal-management tools and wanting to bring them into one platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Asana: For Teams That Emphasize Ownership and Project Processes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Product Information
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://asana.com/" rel="noopener noreferrer"&gt;https://asana.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://help.asana.com/" rel="noopener noreferrer"&gt;https://help.asana.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pricing: &lt;a href="https://asana.com/pricing" rel="noopener noreferrer"&gt;https://asana.com/pricing&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What Is Asana?
&lt;/h3&gt;

&lt;p&gt;Asana is a collaborative project management platform organized around projects, tasks, owners, deadlines, and dependencies. Teams can use lists, boards, calendars, timelines, and Gantt charts to move projects forward, while forms, rules, dashboards, and portfolios support cross-team work. Asana also provides AI Studio and AI Teammates for building intelligent workflows, generating status reports, and assisting with project tasks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fewlo0voq2mg3mqtcxpd0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fewlo0voq2mg3mqtcxpd0.png" alt="Asana1-jj32p2.png" width="800" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Is It a Suitable Smartsheet Alternative?
&lt;/h3&gt;

&lt;p&gt;Asana covers common Smartsheet needs such as task assignment, project timelines, dependencies, automation, and progress reporting. Task ownership and project processes are clearly defined, allowing members to see what they are responsible for, when work is due, and which tasks are blocking the project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Differences From Smartsheet
&lt;/h3&gt;

&lt;p&gt;Smartsheet allows teams to organize data freely around worksheets, while Asana places greater emphasis on standardized task execution. It is suitable for breaking plans into projects, milestones, and tasks, but it is less flexible for complex data tables, formula calculations, and relationships across multiple tables.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcrdlf55p2o30xhg5v6t3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcrdlf55p2o30xhg5v6t3.png" alt="Asana2-yfhgak.png" width="800" height="638"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Which Teams Is It Best For?
&lt;/h3&gt;

&lt;p&gt;Asana is suitable for marketing campaigns, product launches, operational plans, and cross-functional projects, especially for teams that want clear task owners, deadlines, dependencies, and project goals.&lt;/p&gt;

&lt;p&gt;Asana is better suited to project execution than directly replacing a complex database. The Advanced plan costs significantly more than Starter, while cross-project management capabilities such as portfolios, goals, and workloads are mainly available in Advanced and higher plans.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three-Year Pricing Summary
&lt;/h2&gt;

&lt;p&gt;Even when plans are labeled Team, Standard, or Pro, the included project views, automation, permissions, and data management capabilities can differ substantially among products.&lt;/p&gt;

&lt;p&gt;The following table provides an approximate view of each product’s budget.&lt;/p&gt;

&lt;p&gt;The calculations use publicly listed annual billing prices for five and 15 editable members over three consecutive years. For each product, we selected a representative plan that is more suitable for ongoing team use.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Product&lt;/th&gt;
&lt;th&gt;Reference Plan&lt;/th&gt;
&lt;th&gt;Three-Year Cost for 5 Users&lt;/th&gt;
&lt;th&gt;Three-Year Cost for 15 Users&lt;/th&gt;
&lt;th&gt;Pricing Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Smartsheet&lt;/td&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;$3,420&lt;/td&gt;
&lt;td&gt;$10,260&lt;/td&gt;
&lt;td&gt;Per-member subscription; includes timelines, workload management, and unlimited automation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NocoBase&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;$800&lt;/td&gt;
&lt;td&gt;$800&lt;/td&gt;
&lt;td&gt;One-time license with no user-based pricing; server and maintenance costs are separate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Baserow&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;$3,240&lt;/td&gt;
&lt;td&gt;$9,720&lt;/td&gt;
&lt;td&gt;Per-paid-user subscription; includes more complete role and field permissions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;monday&lt;/td&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;$3,420&lt;/td&gt;
&lt;td&gt;$10,260&lt;/td&gt;
&lt;td&gt;Per-seat subscription; includes higher automation limits and workload management&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SmartSuite&lt;/td&gt;
&lt;td&gt;Professional&lt;/td&gt;
&lt;td&gt;$5,760&lt;/td&gt;
&lt;td&gt;$17,280&lt;/td&gt;
&lt;td&gt;Per-editor subscription; includes advanced permissions and higher data capacity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Airtable&lt;/td&gt;
&lt;td&gt;Team&lt;/td&gt;
&lt;td&gt;$3,600&lt;/td&gt;
&lt;td&gt;$10,800&lt;/td&gt;
&lt;td&gt;Primarily charges for editors; read-only users generally do not require paid seats&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ClickUp&lt;/td&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;$2,160&lt;/td&gt;
&lt;td&gt;$6,480&lt;/td&gt;
&lt;td&gt;Per-user subscription; AI and some enterprise management capabilities may require additional purchases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Asana&lt;/td&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;$4,498.20&lt;/td&gt;
&lt;td&gt;$13,494.60&lt;/td&gt;
&lt;td&gt;Per-user subscription; includes portfolios, workload management, and approvals&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;We hope this article helps you find a Smartsheet alternative that better fits your team. Feel free to share it with teams evaluating project management tools, multi-dimensional spreadsheets, open-source self-hosted platforms, or enterprise business systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-complex-relational-models" rel="noopener noreferrer"&gt;5 Open-Source AI No-Code Tools for Complex Relational Data Models &lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/what-is-ai-no-code" rel="noopener noreferrer"&gt;What Is AI No-Code? A Practical Guide to No-Code Platforms in the AI Era&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-github-9" rel="noopener noreferrer"&gt;9 Open-Source AI No-Code Tools on GitHub Worth Watching&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/github-open-source-ai-agent-tools-16" rel="noopener noreferrer"&gt;14 Open Source AI Agent Tools with the Most GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/top-open-source-ai-assistant-tools-github-stars" rel="noopener noreferrer"&gt;Top 8 Open Source AI Assistant Tools by GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/workbuddy-open-source-tools" rel="noopener noreferrer"&gt;6 Open Source Tools to Use with WorkBuddy&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/6-github-top-open-source-ai-tools-for-ai-agents" rel="noopener noreferrer"&gt;Top 6 Open Source AI Tools by GitHub Stars for Stronger AI Agents&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-internal-tools-self-hosted-ai-agent-hermes" rel="noopener noreferrer"&gt;5 Open-Source Internal Tools to Use with Hermes Agent&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/openclaw-open-source-enterprise-tools" rel="noopener noreferrer"&gt;OpenClaw and 5 Open-Source Tools for Monitoring Business Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/opencode-open-source-tools-ai-agents" rel="noopener noreferrer"&gt;What Open-Source Tools Work Well with OpenCode? 5 Projects to Try&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/building-internal-tools-with-codex" rel="noopener noreferrer"&gt;Building Internal Tools with Codex: 6 Open-Source Projects for Developers&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-tools-after-claude-code" rel="noopener noreferrer"&gt;After Claude Code: 6 Open-Source Tools You Should Know&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-enterprise-software-development" rel="noopener noreferrer"&gt;Top 10 Open-Source AI And No-Code Tools for Enterprise Software Development&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>How a Volunteer Fire Department Manages 200 Callouts a Year with NocoBase</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Thu, 23 Jul 2026 07:49:58 +0000</pubDate>
      <link>https://dev.to/nocobase/how-a-volunteer-fire-department-manages-200-callouts-a-year-with-nocobase-53mm</link>
      <guid>https://dev.to/nocobase/how-a-volunteer-fire-department-manages-200-callouts-a-year-with-nocobase-53mm</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/polish-volunteer-fire-department-nocobase-case-study" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/polish-volunteer-fire-department-nocobase-case-study&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A Volunteer Fire Department in Poland
&lt;/h2&gt;

&lt;p&gt;Volunteer fire departments are an essential part of Poland’s fire protection system. Although their members serve their communities as volunteers, they take on many of the same responsibilities as professional fire services, including regular training, emergency response, vehicle and equipment management, and tracking personnel certifications.&lt;/p&gt;

&lt;p&gt;OSP Radlin II is one of these active units and the busiest volunteer fire department in its county. Its operational team includes 30 fully trained responders and handles around 200 emergency callouts each year.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7f6cf6qbo5tzwg5i37gh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7f6cf6qbo5tzwg5i37gh.png" alt="OSP1-1klo5h.png" width="800" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For every callout, the team must ensure that responders are properly qualified, vehicles are ready, and equipment is available. They also need to accurately record who participated, how long the operation lasted, how far each vehicle traveled, and which supplies were used.&lt;/p&gt;

&lt;p&gt;To manage this work more effectively, the members of OSP Radlin II began searching for a system that could better support the department’s real operational needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Google Drive to NocoBase
&lt;/h2&gt;

&lt;p&gt;Previously, OSP Radlin II mainly relied on free cloud storage tools such as Google Drive to store and share information.&lt;/p&gt;

&lt;p&gt;As incident records, member details, medical checks, rescue certifications, vehicle inspections, and equipment records continued to grow, important information became scattered across multiple files. There was also no consistent way to structure or update the data.&lt;/p&gt;

&lt;p&gt;Cloud storage worked well for keeping documents, but it could not support the workflows needed to run an active fire department.&lt;/p&gt;

&lt;p&gt;The team needed a centralized, secure platform that could be fully adapted to the department’s real operational needs.&lt;/p&gt;

&lt;p&gt;To find the right solution, they tested more than ten similar platforms. After several rounds of evaluation, they chose NocoBase.&lt;/p&gt;

&lt;h2&gt;
  
  
  An Operations System Built by the Whole Team
&lt;/h2&gt;

&lt;p&gt;From the start, the system was a collaborative effort. Members contributed to data entry, workflow design, and system maintenance based on their responsibilities, gradually creating a clear division of work.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some members handle administrative work, including:

&lt;ul&gt;
&lt;li&gt;Tracking equipment inspection deadlines&lt;/li&gt;
&lt;li&gt;Managing routine medical checks&lt;/li&gt;
&lt;li&gt;Maintaining rescue certifications&lt;/li&gt;
&lt;li&gt;Handling funding applications and other administrative tasks&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Commanders record information from each emergency callout, including:

&lt;ul&gt;
&lt;li&gt;Incident records&lt;/li&gt;
&lt;li&gt;Callout details&lt;/li&gt;
&lt;li&gt;Lists of participating crew members&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system is no longer maintained by a single person. Instead, the members directly involved in each area keep the information up to date. Today, it supports most of the fire department’s day-to-day operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  System Homepage
&lt;/h3&gt;

&lt;p&gt;The homepage gives members a single place to access their work. Calendars, tasks, announcements, member information, and quick actions are all available from one interface, helping each role quickly find what they need.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu3t2sq0n0a03ufqsnxel.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu3t2sq0n0a03ufqsnxel.png" alt="System Homepage-phtwf6.png" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Track equipment inspection deadlines&lt;/li&gt;
&lt;li&gt;Manage routine medical checks&lt;/li&gt;
&lt;li&gt;Track rescue certifications&lt;/li&gt;
&lt;li&gt;Manage funding applications and other administrative work&lt;/li&gt;
&lt;li&gt;Record emergency responses&lt;/li&gt;
&lt;li&gt;Add incident descriptions&lt;/li&gt;
&lt;li&gt;Maintain crew participation lists&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Emergency Response and Incident Management
&lt;/h3&gt;

&lt;p&gt;Members can quickly create emergency response records from a tablet or mobile phone. They can enter departure and return times, incident type, location, vehicles used, participating crew members, and supplies consumed.&lt;/p&gt;

&lt;p&gt;NocoBase then turns this information into useful statistics, including the number and types of incidents, vehicle mileage, and the total time each firefighter has spent on emergency responses.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjsvo4mcg83d3m5zpq9x3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjsvo4mcg83d3m5zpq9x3.png" alt="Emergency Response-o84sot.png" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Personnel, Qualifications, and Administration
&lt;/h3&gt;

&lt;p&gt;Beyond incident management, the department uses NocoBase to maintain member profiles, medical clearances, rescue certifications, and other specialist qualifications.&lt;/p&gt;

&lt;p&gt;Members responsible for administrative work also use the system to track funding applications and other day-to-day office tasks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgz6263ptcrprt2ct8udh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgz6263ptcrprt2ct8udh.png" alt="Personnel-0s0lph.png" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The team has also created a separate project board for non-emergency work, such as fire station renovations, community events, and other internal projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frwgotbr26ocdpvvhkjb4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frwgotbr26ocdpvvhkjb4.png" alt="Personnel2-lkmt1z.png" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Vehicles, Equipment, and Maintenance
&lt;/h3&gt;

&lt;p&gt;Fire engines, trailers, and firefighting equipment are all managed in the same system.&lt;/p&gt;

&lt;p&gt;Members can record vehicle usage, mileage, technical condition, annual inspection dates, and upcoming equipment inspection or maintenance deadlines.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwnb5u73yo1w0597se12h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwnb5u73yo1w0597se12h.png" alt="Vehicles-h24bxn.png" width="800" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Automating Routine Work
&lt;/h3&gt;

&lt;p&gt;As more information was centralized in NocoBase, the department began using workflows to automate tasks that had previously relied on manual checks and reminders.&lt;/p&gt;

&lt;h4&gt;
  
  
  Deadline Reminders
&lt;/h4&gt;

&lt;p&gt;The system automatically monitors and sends reminders for important dates that may affect operational readiness, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Member medical examination deadlines&lt;/li&gt;
&lt;li&gt;Fire vehicle inspection dates&lt;/li&gt;
&lt;li&gt;Member birthdays and other important dates&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Emergency Response Hours
&lt;/h4&gt;

&lt;p&gt;Based on incident records, the system automatically calculates how much time each firefighter has spent participating in emergency operations.&lt;/p&gt;

&lt;h4&gt;
  
  
  Team Communication
&lt;/h4&gt;

&lt;p&gt;An automated announcement system allows management to share important updates more consistently through both email and in-app notifications.&lt;/p&gt;

&lt;h2&gt;
  
  
  A System That Continues to Grow
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The OSP Radlin II system is now about 90% complete. It covers around 80 members across the organization, with approximately 20 active users regularly entering and maintaining data.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftwhml5bq4ggrv4g2drh3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftwhml5bq4ggrv4g2drh3.png" alt="System-5atsq8.png" width="800" height="671"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By bringing its data into one place, the department can more easily track emergency callouts, vehicle mileage, equipment status, and the time each firefighter spends on emergency responses.&lt;/p&gt;

&lt;p&gt;More importantly, the system is not a one-time project that stops evolving once it goes live. As more members use it, new needs continue to emerge, and the team keeps adding new features, automations, and operational workflows.&lt;/p&gt;

&lt;p&gt;OSP Radlin II has no dedicated software development team. Instead, its members have used their deep understanding of the department’s day-to-day work to gradually turn real firefighting operations into a system that can support the organization for years and continue evolving with its needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More Customer Stories:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.nocobase.com/en/blog/astrolab-nocobase" rel="noopener noreferrer"&gt;From Paperwork to Digital Public Services in France&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nocobase.com/en/blog/deliver-complex-oa-system-nocobase-3-months" rel="noopener noreferrer"&gt;How to Deliver a Complex OA System in 3 Months with NocoBase&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nocobase.com/en/blog/medical-device-manufacturer-builds-self-hosted-management-system-with-nocobase" rel="noopener noreferrer"&gt;Case Study: Digitizing Medical Manufacturing Workflows with NocoBase&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nocobase.com/en/blog/software-vendor-boosts-delivery-efficiency-with-nocobase" rel="noopener noreferrer"&gt;Software Vendor Boosts Delivery Efficiency by 70% with NocoBase&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nocobase.com/en/blog/an-erp-built-with-nocobase" rel="noopener noreferrer"&gt;Community Spotlight: Building a Real-World ERP with NocoBase&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nocobase.com/en/blog/shenzhen-chuanglianyun-tech-development-methodology" rel="noopener noreferrer"&gt;Inside: How an 8-Person Team Delivers at Enterprise Speed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nocobase.com/en/blog/ai-multimodal-platform" rel="noopener noreferrer"&gt;Built an AI Multimodal R&amp;amp;D Platform in Days — with NocoBase&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nocobase.com/en/blog/nocobase-in-russia" rel="noopener noreferrer"&gt;NocoBase in Russia: Multi-Scenario Digital Solutions in Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nocobase.com/en/blog/university-course" rel="noopener noreferrer"&gt;NocoBase Enters German University Classrooms&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>Weekly Updates: Added RunJS API for AI Employee Tasks in JS Blocks</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Mon, 20 Jul 2026 08:19:35 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-added-runjs-api-for-ai-employee-tasks-in-js-blocks-3mlc</link>
      <guid>https://dev.to/nocobase/weekly-updates-added-runjs-api-for-ai-employee-tasks-in-js-blocks-3mlc</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.1.28
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-19&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fix mobile menus hidden incorrectly by device type rules (&lt;a href="https://github.com/nocobase/nocobase/pull/10123" rel="noopener noreferrer"&gt;#10123&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix occasional errors when opening approval task details directly by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.27
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-19&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Added Myanmar (&lt;code&gt;my-MM&lt;/code&gt;) to the languages selectable in System Settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10131" rel="noopener noreferrer"&gt;#10131&lt;/a&gt;) by @hongboji&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[resourcer]&lt;/strong&gt; Fixed pre-action workflows not triggering when used together with before-save approval workflows. (&lt;a href="https://github.com/nocobase/nocobase/pull/10119" rel="noopener noreferrer"&gt;#10119&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[flow-engine]&lt;/strong&gt; Fix mobile popups exceeding the screen and hiding the close button (&lt;a href="https://github.com/nocobase/nocobase/pull/10118" rel="noopener noreferrer"&gt;#10118&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix inconsistent route state after renaming a newly enabled page tab (&lt;a href="https://github.com/nocobase/nocobase/pull/10117" rel="noopener noreferrer"&gt;#10117&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix an error that could prevent approval pages from loading (&lt;a href="https://github.com/nocobase/nocobase/pull/10116" rel="noopener noreferrer"&gt;#10116&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[utils]&lt;/strong&gt; Ensured server-side outbound request redirects also comply with &lt;code&gt;SERVER_REQUEST_WHITELIST&lt;/code&gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10109" rel="noopener noreferrer"&gt;#10109&lt;/a&gt;) by @mytharcher&lt;br&gt;
Reference: &lt;a href="https://docs.nocobase.com/get-started/installation/env#server_request_whitelist" rel="noopener noreferrer"&gt;Environment variables&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix messages overriding by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.26
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-17&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Updated the data source documentation structure, links, and localized pages. (&lt;a href="https://github.com/nocobase/nocobase/pull/10108" rel="noopener noreferrer"&gt;#10108&lt;/a&gt;) by @hongboji
Reference: &lt;a href="//docs/docs/en/data-sources/index.md"&gt;Data sources&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Prevented uploaded XML and other active content files from executing scripts in the application origin (&lt;a href="https://github.com/nocobase/nocobase/pull/10104" rel="noopener noreferrer"&gt;#10104&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[database]&lt;/strong&gt; Fixed an SQL injection risk when reading database view metadata (&lt;a href="https://github.com/nocobase/nocobase/pull/10115" rel="noopener noreferrer"&gt;#10115&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reset unwanted border and shadow styles on Markdown h2 headings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10107" rel="noopener noreferrer"&gt;#10107&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Corrected the Urdu label and added a separate Uzbek option to the System Settings language list. (&lt;a href="https://github.com/nocobase/nocobase/pull/10090" rel="noopener noreferrer"&gt;#10090&lt;/a&gt;) by @hongboji&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt; Fixed an error when sending files pasted into the AI employee chat input (&lt;a href="https://github.com/nocobase/nocobase/pull/10106" rel="noopener noreferrer"&gt;#10106&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt; Fixed S3-compatible file URLs omitting the configured storage path, which caused uploaded logos and attachments to return 404 errors by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.25
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-15&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[DingTalk]&lt;/strong&gt; Added DingTalk Stream mode support for organization event synchronization. by @chenzhizdt&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Auth: LDAP]&lt;/strong&gt; Added LDAP user data sync source support, including optional AD department synchronization. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[ai]&lt;/strong&gt; Reduced main-process memory usage when parsing uploaded knowledge base documents. (&lt;a href="https://github.com/nocobase/nocobase/pull/10083" rel="noopener noreferrer"&gt;#10083&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File URLs now use stable NocoBase access URLs so permissions can be checked before redirecting to storage. (&lt;a href="https://github.com/nocobase/nocobase/pull/10047" rel="noopener noreferrer"&gt;#10047&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt; S3 Pro uploads now return the created file record with permanent file URLs. by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[RabbitMQ queue adapter]&lt;/strong&gt; Enhance the channel management and error recovery capabilities of the RabbitMQ adapter by @sdp-ncd&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[User data synchronization]&lt;/strong&gt; Fixed external department sync order so child departments can be reparented correctly when their parent is synced later. (&lt;a href="https://github.com/nocobase/nocobase/pull/10028" rel="noopener noreferrer"&gt;#10028&lt;/a&gt;) by @chenzhizdt&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt; Fixed iframe sanitization for v1 Markdown rendering and editing. (&lt;a href="https://github.com/nocobase/nocobase/pull/10096" rel="noopener noreferrer"&gt;#10096&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed hidden fields being included when workflow serializes appended association data (&lt;a href="https://github.com/nocobase/nocobase/pull/10086" rel="noopener noreferrer"&gt;#10086&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Fixed AI tool-call approvals to authorize against the message's owning conversation before updating decisions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10077" rel="noopener noreferrer"&gt;#10077&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed file preview, permanent URL handling, and upload routing for external NocoBase file collections, including S3 Pro uploads by @mytharcher&lt;/li&gt;
&lt;li&gt;Fixed workflow AI employees being unable to read attachments from External NocoBase data sources by @2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.24
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-13&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed other column content showing through fixed v2 table columns when quick edit is enabled. (&lt;a href="https://github.com/nocobase/nocobase/pull/10076" rel="noopener noreferrer"&gt;#10076&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed v2 scan input camera preview layout issues on iOS Chrome. (&lt;a href="https://github.com/nocobase/nocobase/pull/10081" rel="noopener noreferrer"&gt;#10081&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[app]&lt;/strong&gt; Fixed Redis cache configuration ignoring the dedicated cache URL (&lt;a href="https://github.com/nocobase/nocobase/pull/10065" rel="noopener noreferrer"&gt;#10065&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Batch edit]&lt;/strong&gt; Fixed Markdown editor initialization failure when a V2 form includes a &lt;code&gt;process&lt;/code&gt; field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10080" rel="noopener noreferrer"&gt;#10080&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt; Fixed AI attachment handling to avoid trusting client-provided file paths or URLs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10037" rel="noopener noreferrer"&gt;#10037&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed manual workflow execution returning an error when a valid request does not start an execution. (&lt;a href="https://github.com/nocobase/nocobase/pull/10049" rel="noopener noreferrer"&gt;#10049&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Redis worker ID allocator]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved Redis worker ID isolation and failure diagnostics by @2013xile&lt;/li&gt;
&lt;li&gt;Restored standalone startup without Redis worker ID configuration by @2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Filter approval file associations by current user ownership when the temporary switch is enabled. by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" alt="next.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.0-beta.15
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-16&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tabs on pages, subpages and pop-ups support the configuration of linkage rules (&lt;a href="https://github.com/nocobase/nocobase/pull/10099" rel="noopener noreferrer"&gt;#10099&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Add an environment variable to configure legacy and modern route entry modes. (&lt;a href="https://github.com/nocobase/nocobase/pull/9891" rel="noopener noreferrer"&gt;#9891&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt; Added RunJS APIs for triggering AI employee tasks from JS blocks. (&lt;a href="https://github.com/nocobase/nocobase/pull/10061" rel="noopener noreferrer"&gt;#10061&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Public forms]&lt;/strong&gt; In the v1 public form, support creating v2 forms and prohibit creating v1 forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10045" rel="noopener noreferrer"&gt;#10045&lt;/a&gt;) by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Block: Comment]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved comment block settings with data scope, default sorting, selectable page size, optional last-page jumping, and scalar owner field mapping. (&lt;a href="https://github.com/nocobase/nocobase/pull/9954" rel="noopener noreferrer"&gt;#9954&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;Added a comments block. (&lt;a href="https://github.com/nocobase/nocobase/pull/9916" rel="noopener noreferrer"&gt;#9916&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification: Email]&lt;/strong&gt; Migrated the workflow notification node client to v2, restored channel-specific notification forms, and kept legacy workflow route compatibility for migrated notification configuration. (&lt;a href="https://github.com/nocobase/nocobase/pull/9817" rel="noopener noreferrer"&gt;#9817&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: mailer node]&lt;/strong&gt; Added v2 client support for configuring the workflow mailer node. (&lt;a href="https://github.com/nocobase/nocobase/pull/9825" rel="noopener noreferrer"&gt;#9825&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Migrate the Workflow settings page to the v2 client and share a reusable draggable category-tabs component via &lt;code&gt;@nocobase/client-v2&lt;/code&gt;. (&lt;a href="https://github.com/nocobase/nocobase/pull/9645" rel="noopener noreferrer"&gt;#9645&lt;/a&gt;) by @Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Database transaction node]&lt;/strong&gt; Added a client-v2 implementation for the workflow database transaction node while preserving the legacy client entry. by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Record history]&lt;/strong&gt; Added client v2 support for the record history plugin. by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Add approval initiation and todo blocks for v2 pages by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[DingTalk]&lt;/strong&gt; Added DingTalk Stream mode support for organization event synchronization. by @chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Updated the data source documentation structure, links, and localized pages. (&lt;a href="https://github.com/nocobase/nocobase/pull/10108" rel="noopener noreferrer"&gt;#10108&lt;/a&gt;) by @hongboji
Reference: &lt;a href="//docs/docs/en/data-sources/index.md"&gt;Data sources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Updated the data source documentation structure, links, and localized pages. (&lt;a href="https://github.com/nocobase/nocobase/pull/10108" rel="noopener noreferrer"&gt;#10108&lt;/a&gt;) by @hongboji
Reference: &lt;a href="//docs/docs/en/data-sources/index.md"&gt;Data sources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;File URLs now use stable NocoBase access URLs so permissions can be checked before redirecting to storage. (&lt;a href="https://github.com/nocobase/nocobase/pull/10103" rel="noopener noreferrer"&gt;#10103&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;File URLs now use stable NocoBase access URLs so permissions can be checked before redirecting to storage. (&lt;a href="https://github.com/nocobase/nocobase/pull/10047" rel="noopener noreferrer"&gt;#10047&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Refined Russian documentation translation for improved wording, readability, and terminology consistency. (&lt;a href="https://github.com/nocobase/nocobase/pull/9942" rel="noopener noreferrer"&gt;#9942&lt;/a&gt;) by @sembaev-a-a&lt;/li&gt;
&lt;li&gt;Refined Russian documentation translation for improved wording, readability, and terminology consistency. (&lt;a href="https://github.com/nocobase/nocobase/pull/9816" rel="noopener noreferrer"&gt;#9816&lt;/a&gt;) by @sembaev-a-a&lt;/li&gt;
&lt;li&gt;Improved AI knowledge base retrieval and documentation. (&lt;a href="https://github.com/nocobase/nocobase/pull/9765" rel="noopener noreferrer"&gt;#9765&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Refined Russian documentation translation for improved wording, readability, and terminology consistency. (&lt;a href="https://github.com/nocobase/nocobase/pull/9754" rel="noopener noreferrer"&gt;#9754&lt;/a&gt;) by @sembaev-a-a&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Refactor Markdown Vditor into a unified plugin-backed Markdown engine with compatibility bridges for existing Markdown block and Vditor field plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/9998" rel="noopener noreferrer"&gt;#9998&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Refactor Markdown Vditor into a unified plugin-backed Markdown engine with compatibility bridges for existing Markdown block and Vditor field plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/9998" rel="noopener noreferrer"&gt;#9998&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Manual node]&lt;/strong&gt; Show manual workflow tasks in the V2 task center and guide users to the legacy page for processing (&lt;a href="https://github.com/nocobase/nocobase/pull/10085" rel="noopener noreferrer"&gt;#10085&lt;/a&gt;) by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unsupported workflow v2 canvas nodes now keep the normal node card actions while showing the node type as unsupported. (&lt;a href="https://github.com/nocobase/nocobase/pull/10054" rel="noopener noreferrer"&gt;#10054&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Simplified workflow v2 create/update field assignment, improved selected variable display, and avoided generating unused assign-form model data. (&lt;a href="https://github.com/nocobase/nocobase/pull/9887" rel="noopener noreferrer"&gt;#9887&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Exported workflow v2 canvas extension APIs for downstream workflow node plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/9834" rel="noopener noreferrer"&gt;#9834&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Migrate the workflow output node configuration to v2 and align v2 workflow result viewers with the legacy display behavior for string results. (&lt;a href="https://github.com/nocobase/nocobase/pull/9813" rel="noopener noreferrer"&gt;#9813&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Migrate the workflow end node to the v2 implementation. (&lt;a href="https://github.com/nocobase/nocobase/pull/9795" rel="noopener noreferrer"&gt;#9795&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved AI employee tool settings, data-query guardrails, relation field querying, and malformed tool call diagnostics. (&lt;a href="https://github.com/nocobase/nocobase/pull/10042" rel="noopener noreferrer"&gt;#10042&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Improved AI employee web search to reduce unnecessary model reasoning and better use provider-specific thinking controls. (&lt;a href="https://github.com/nocobase/nocobase/pull/9996" rel="noopener noreferrer"&gt;#9996&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Removed the deprecated Datasource entry from AI employee settings and context selection in the v2 UI. (&lt;a href="https://github.com/nocobase/nocobase/pull/9988" rel="noopener noreferrer"&gt;#9988&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Migrated the AI employee plugin to client-v2. (&lt;a href="https://github.com/nocobase/nocobase/pull/9794" rel="noopener noreferrer"&gt;#9794&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection: SQL]&lt;/strong&gt; Not user-facing; added client-v2 unit test coverage for migrated plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/9967" rel="noopener noreferrer"&gt;#9967&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Block: Comment]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved comment submit actions and fixed related comment/user form submission issues. (&lt;a href="https://github.com/nocobase/nocobase/pull/10002" rel="noopener noreferrer"&gt;#10002&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;Added the new comment block plugin to the NocoBase preset and marked the legacy comments plugin as deprecated. (&lt;a href="https://github.com/nocobase/nocobase/pull/9936" rel="noopener noreferrer"&gt;#9936&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Users]&lt;/strong&gt; Improve client-v2 test coverage for the users plugin. (&lt;a href="https://github.com/nocobase/nocobase/pull/9975" rel="noopener noreferrer"&gt;#9975&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Logger]&lt;/strong&gt; Added the Logger settings page to the client v2 runtime. (&lt;a href="https://github.com/nocobase/nocobase/pull/9933" rel="noopener noreferrer"&gt;#9933&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Aggregate node]&lt;/strong&gt; Improved v2 workflow field selection for update and aggregate query nodes, including safer associated collection selection in aggregate query nodes. (&lt;a href="https://github.com/nocobase/nocobase/pull/9938" rel="noopener noreferrer"&gt;#9938&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aligned v2 workflow request and mailer node configuration fields with legacy layout and attachment variable behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/9952" rel="noopener noreferrer"&gt;#9952&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;Migrated the JavaScript workflow node to client-v2 (&lt;a href="https://github.com/nocobase/nocobase/pull/9805" rel="noopener noreferrer"&gt;#9805&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JSON calculation]&lt;/strong&gt; Migrated the workflow JSON calculation node configuration UI to the v2 workflow canvas while preserving v1 canvas compatibility. (&lt;a href="https://github.com/nocobase/nocobase/pull/9902" rel="noopener noreferrer"&gt;#9902&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Backup manager]&lt;/strong&gt; Tables whose collection &lt;code&gt;dataCategory&lt;/code&gt; is marked as &lt;code&gt;'runtime'&lt;/code&gt; are now excluded from backups automatically. (&lt;a href="https://github.com/nocobase/nocobase/pull/9804" rel="noopener noreferrer"&gt;#9804&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Custom action event]&lt;/strong&gt; Migrated workflow triggers and bind-workflow settings to client-v2, including action trigger, custom action trigger, request interception trigger, and submit/update action workflow binding settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/9845" rel="noopener noreferrer"&gt;#9845&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: HTTP request node]&lt;/strong&gt; Migrated the workflow HTTP request node to client-v2. (&lt;a href="https://github.com/nocobase/nocobase/pull/9806" rel="noopener noreferrer"&gt;#9806&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[HTTP request encryption]&lt;/strong&gt; Added v2 client support for HTTP request encryption so query parameters continue to be encrypted in the v2 client. by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Database transaction node]&lt;/strong&gt; Improved the v2 workflow database transaction node layout so branch labels and the commit marker have better spacing. by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Migrated the AI knowledge base settings pages to the v2 client and fixed layout and loading issues in knowledge base and vector store pages. by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt; S3 Pro uploads now return the created file record with permanent file URLs. by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Email manager]&lt;/strong&gt; Moved the department-based mail viewing option to the V1 general mail settings page, prevented service credential saves from overwriting it, and placed V2 General settings before Service provider settings. by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Corrected the Urdu label and added a separate Uzbek option to the System Settings language list. (&lt;a href="https://github.com/nocobase/nocobase/pull/10090" rel="noopener noreferrer"&gt;#10090&lt;/a&gt;) by @hongboji&lt;/li&gt;
&lt;li&gt;Fixed automatic SSO redirect providers failing to preserve authentication order in production builds (&lt;a href="https://github.com/nocobase/nocobase/pull/10100" rel="noopener noreferrer"&gt;#10100&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;Workflow filters now preserve workflow variable expressions and show a clear parsing error when variable metadata cannot be resolved. (&lt;a href="https://github.com/nocobase/nocobase/pull/10088" rel="noopener noreferrer"&gt;#10088&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Fix an error in v2 workflow value editors when a collection field is named nodeName. (&lt;a href="https://github.com/nocobase/nocobase/pull/10067" rel="noopener noreferrer"&gt;#10067&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed workflow v2 variable editors to preserve saved variable pills, disabled states, and operator labels consistently across trigger, filter, and field assignment forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10041" rel="noopener noreferrer"&gt;#10041&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed an issue where v2 workflow assigned fields could still be edited in read-only executed workflow versions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10014" rel="noopener noreferrer"&gt;#10014&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix workflow execution revision navigation so creating a new version after manual execution opens the correct workflow page in both legacy and modern shells. (&lt;a href="https://github.com/nocobase/nocobase/pull/9955" rel="noopener noreferrer"&gt;#9955&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[flow-engine]&lt;/strong&gt; Fixed an issue where users could type extra text after selecting a variable in single-value variable inputs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10050" rel="noopener noreferrer"&gt;#10050&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt; Fixed an error when sending files pasted into the AI employee chat input (&lt;a href="https://github.com/nocobase/nocobase/pull/10106" rel="noopener noreferrer"&gt;#10106&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Authentication]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed declaration generation errors in the v2 authenticator management page (&lt;a href="https://github.com/nocobase/nocobase/pull/10095" rel="noopener noreferrer"&gt;#10095&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;Fixed missing saved Authenticator settings when editing authenticators in the v2 authentication manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10091" rel="noopener noreferrer"&gt;#10091&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Notification manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix receiver selection saving user IDs as text (&lt;a href="https://github.com/nocobase/nocobase/pull/10093" rel="noopener noreferrer"&gt;#10093&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix incorrect workflow variables shown in CC configuration (&lt;a href="https://github.com/nocobase/nocobase/pull/9937" rel="noopener noreferrer"&gt;#9937&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JSON variable mapping]&lt;/strong&gt; Fix an error when selecting loop scope variables in the JSON variable mapping workflow node. (&lt;a href="https://github.com/nocobase/nocobase/pull/10094" rel="noopener noreferrer"&gt;#10094&lt;/a&gt;) by @Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt; Fix the Mobile settings link losing the current sub-application path (&lt;a href="https://github.com/nocobase/nocobase/pull/10078" rel="noopener noreferrer"&gt;#10078&lt;/a&gt;) by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Workflow form controls now correctly inherit the disabled state when viewing executed workflows. (&lt;a href="https://github.com/nocobase/nocobase/pull/10079" rel="noopener noreferrer"&gt;#10079&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Refresh the workflow canvas after updating trigger configuration (&lt;a href="https://github.com/nocobase/nocobase/pull/10068" rel="noopener noreferrer"&gt;#10068&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed workflow v2 condition operands to stay on one row by default and wrap correctly when selected variable paths are too long. (&lt;a href="https://github.com/nocobase/nocobase/pull/10033" rel="noopener noreferrer"&gt;#10033&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Fix display and detail loading issues in the workflow v2 task center (&lt;a href="https://github.com/nocobase/nocobase/pull/10001" rel="noopener noreferrer"&gt;#10001&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix untranslated workflow result labels and oversized CC configuration dialogs (&lt;a href="https://github.com/nocobase/nocobase/pull/9977" rel="noopener noreferrer"&gt;#9977&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix workflow context mismatches across bundles so branches and some variable pickers work correctly in legacy workflow pages. (&lt;a href="https://github.com/nocobase/nocobase/pull/9951" rel="noopener noreferrer"&gt;#9951&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Fix the issue where in-app message content cannot be configured in v2 workflows (&lt;a href="https://github.com/nocobase/nocobase/pull/9885" rel="noopener noreferrer"&gt;#9885&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix issues after migrated client to v2 (&lt;a href="https://github.com/nocobase/nocobase/pull/9929" rel="noopener noreferrer"&gt;#9929&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Restored debounced remote search for workflow collection trigger manual execution and aligned the selector with the v1 200-record fetch behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/9870" rel="noopener noreferrer"&gt;#9870&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed the workflow v2 add-node menu so unavailable node types are disabled according to workflow and branch rules (&lt;a href="https://github.com/nocobase/nocobase/pull/9855" rel="noopener noreferrer"&gt;#9855&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Delay node]&lt;/strong&gt; Fix delay node duration input and prevent values below the minimum from being saved. (&lt;a href="https://github.com/nocobase/nocobase/pull/10056" rel="noopener noreferrer"&gt;#10056&lt;/a&gt;) by @Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Aggregate node]&lt;/strong&gt; Fix validation rule to allow null filter (&lt;a href="https://github.com/nocobase/nocobase/pull/10053" rel="noopener noreferrer"&gt;#10053&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Public forms]&lt;/strong&gt; Fix the issue where public forms can still be configured when UI Editor is off (&lt;a href="https://github.com/nocobase/nocobase/pull/10036" rel="noopener noreferrer"&gt;#10036&lt;/a&gt;) by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Comment]&lt;/strong&gt; Adjusted the default action order for new Comment blocks. (&lt;a href="https://github.com/nocobase/nocobase/pull/9976" rel="noopener noreferrer"&gt;#9976&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: mailer node]&lt;/strong&gt; Fixed workflow v2 test failures caused by missing mocks for trigger workflow action registration. (&lt;a href="https://github.com/nocobase/nocobase/pull/9863" rel="noopener noreferrer"&gt;#9863&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; Fixed JavaScript workflow node registration failure in the legacy workflow client. (&lt;a href="https://github.com/nocobase/nocobase/pull/9826" rel="noopener noreferrer"&gt;#9826&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Response message]&lt;/strong&gt; Migrated the workflow response message node to the v2 canvas and fixed unsupported workflow types being able to add it. (&lt;a href="https://github.com/nocobase/nocobase/pull/9830" rel="noopener noreferrer"&gt;#9830&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed 404 errors when uploading files to attachment URL fields in external data sources (&lt;a href="https://github.com/nocobase/nocobase/pull/9809" rel="noopener noreferrer"&gt;#9809&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Verification: TOTP authenticator]&lt;/strong&gt; Fixed TOTP authenticator bindings so temporary setup secrets are removed and previously verified codes cannot be reused. by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: SAML 2.0]&lt;/strong&gt; Fixed SAML automatic sign-in redirects for unauthenticated users in the modern client while preserving the original destination path by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Added an overwrite option for AI knowledge base workflow document creation, allowing workflows to replace existing documents with the same key. by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt; Fixed file preview, permanent URL handling, and upload routing for external NocoBase file collections, including S3 Pro uploads by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[plugin-service-platform]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Restored licensed plugin downloads from the service platform. by @jiannx&lt;/li&gt;
&lt;li&gt;Disabled the service platform plugin download endpoint. by @jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Subflow]&lt;/strong&gt; Fixed workflow title search in the subflow node configuration selector. by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt; Fixed S3-compatible file URLs omitting the configured storage path, which caused uploaded logos and attachments to return 404 errors by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: OIDC]&lt;/strong&gt; Fixed OIDC automatic login redirects in production builds and retained the original modern-client path after login by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix blank approval forms and missing or incorrect action buttons by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed premature applicant validation and untranslated role labels in the approval workflow manual execution dialog. by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Fix the approval workflow task title remaining editable in executed workflow configurations after production builds. by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Allow users to view approval interfaces and cards after a workflow has been executed by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix workflow form action buttons responding in configuration dialogs by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix display and action issues in approval initiator interfaces by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Close the Apply new drawer when opening an approval form by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix an error that could prevent V2 pages from opening when approval and notification plugins are enabled by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix approval task form and action issues in the workflow v2 task center by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix v2 approval subtables not displaying correctly in details by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix missing processed approval details in v2 task detail popups by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix empty approval interfaces and fixed assignee IDs by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the issue where approval tables appear in the block data source list by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix issues involved by migrating to client v2 by @mytharcher&lt;/li&gt;
&lt;li&gt;Fix the error when configuring approval workflow conditions by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Guide users to V1 pages when approval interfaces cannot be used in V2 by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix approval assignee sorting and hide unsupported legacy configuration entries by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the error when opening CC node settings by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix missing approval data on approval task cards by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Signature]&lt;/strong&gt; Fix client-v2 signature field file collection selector localization and option filtering. by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[WeCom]&lt;/strong&gt; Fixed WeCom notification channels not saving the selected authenticator. by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.0-beta.14
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-15&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Auth: LDAP]&lt;/strong&gt; Added LDAP user data sync source support, including optional AD department synchronization. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[ai]&lt;/strong&gt; Reduced main-process memory usage when parsing uploaded knowledge base documents. (&lt;a href="https://github.com/nocobase/nocobase/pull/10083" rel="noopener noreferrer"&gt;#10083&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; File URLs now use stable NocoBase access URLs so permissions can be checked before redirecting to storage. (&lt;a href="https://github.com/nocobase/nocobase/pull/10047" rel="noopener noreferrer"&gt;#10047&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Flow engine]&lt;/strong&gt; Support multi portals for ui build apis. (&lt;a href="https://github.com/nocobase/nocobase/pull/10072" rel="noopener noreferrer"&gt;#10072&lt;/a&gt;) by &lt;a class="mentioned-user" href="https://dev.to/gchust"&gt;@gchust&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt; S3 Pro uploads now return the created file record with permanent file URLs. by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[RabbitMQ queue adapter]&lt;/strong&gt; Enhance the channel management and error recovery capabilities of the RabbitMQ adapter by @sdp-ncd&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed other column content showing through fixed v2 table columns when quick edit is enabled. (&lt;a href="https://github.com/nocobase/nocobase/pull/10076" rel="noopener noreferrer"&gt;#10076&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed v2 scan input camera preview layout issues on iOS Chrome. (&lt;a href="https://github.com/nocobase/nocobase/pull/10081" rel="noopener noreferrer"&gt;#10081&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed hidden fields being included when workflow serializes appended association data (&lt;a href="https://github.com/nocobase/nocobase/pull/10086" rel="noopener noreferrer"&gt;#10086&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Fixed manual workflow execution returning an error when a valid request does not start an execution. (&lt;a href="https://github.com/nocobase/nocobase/pull/10049" rel="noopener noreferrer"&gt;#10049&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt; Fixed iframe sanitization for v1 Markdown rendering and editing. (&lt;a href="https://github.com/nocobase/nocobase/pull/10096" rel="noopener noreferrer"&gt;#10096&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Batch edit]&lt;/strong&gt; Fixed Markdown editor initialization failure when a V2 form includes a &lt;code&gt;process&lt;/code&gt; field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10080" rel="noopener noreferrer"&gt;#10080&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt; Fixed the Mobile settings link opening the main application from a sub-application. (&lt;a href="https://github.com/nocobase/nocobase/pull/10075" rel="noopener noreferrer"&gt;#10075&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed AI tool-call approvals to authorize against the message's owning conversation before updating decisions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10077" rel="noopener noreferrer"&gt;#10077&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI attachment handling to avoid trusting client-provided file paths or URLs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10037" rel="noopener noreferrer"&gt;#10037&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[User data synchronization]&lt;/strong&gt; Fixed external department sync order so child departments can be reparented correctly when their parent is synced later. (&lt;a href="https://github.com/nocobase/nocobase/pull/10028" rel="noopener noreferrer"&gt;#10028&lt;/a&gt;) by @chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed workflow AI employees being unable to read attachments from External NocoBase data sources by @2013xile&lt;/li&gt;
&lt;li&gt;Fixed file preview, permanent URL handling, and upload routing for external NocoBase file collections, including S3 Pro uploads by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Filter approval file associations by current user ownership when the temporary switch is enabled. by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  develop
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" alt="develop.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.0-alpha.9
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-07-16&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Tabs on pages, subpages and pop-ups support the configuration of linkage rules (&lt;a href="https://github.com/nocobase/nocobase/pull/10099" rel="noopener noreferrer"&gt;#10099&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Added RunJS APIs for triggering AI employee tasks from JS blocks. (&lt;a href="https://github.com/nocobase/nocobase/pull/10061" rel="noopener noreferrer"&gt;#10061&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[DingTalk]&lt;/strong&gt; Added DingTalk Stream mode support for organization event synchronization. by @chenzhizdt&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Auth: LDAP]&lt;/strong&gt; Added LDAP user data sync source support, including optional AD department synchronization. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File URLs now use stable NocoBase access URLs so permissions can be checked before redirecting to storage. (&lt;a href="https://github.com/nocobase/nocobase/pull/10047" rel="noopener noreferrer"&gt;#10047&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;File URLs now use stable NocoBase access URLs so permissions can be checked before redirecting to storage. (&lt;a href="https://github.com/nocobase/nocobase/pull/10103" rel="noopener noreferrer"&gt;#10103&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Updated the data source documentation structure, links, and localized pages. (&lt;a href="https://github.com/nocobase/nocobase/pull/10108" rel="noopener noreferrer"&gt;#10108&lt;/a&gt;) by @hongboji
Reference: &lt;a href="//docs/docs/en/data-sources/index.md"&gt;Data sources&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[ai]&lt;/strong&gt; Reduced main-process memory usage when parsing uploaded knowledge base documents. (&lt;a href="https://github.com/nocobase/nocobase/pull/10083" rel="noopener noreferrer"&gt;#10083&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Manual node]&lt;/strong&gt; Show manual workflow tasks in the V2 task center and guide users to the legacy page for processing (&lt;a href="https://github.com/nocobase/nocobase/pull/10085" rel="noopener noreferrer"&gt;#10085&lt;/a&gt;) by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;S3 Pro uploads now return the created file record with permanent file URLs. by @mytharcher&lt;/li&gt;
&lt;li&gt;S3 Pro uploads now return the created file record with permanent file URLs. by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[RabbitMQ queue adapter]&lt;/strong&gt; Enhance the channel management and error recovery capabilities of the RabbitMQ adapter by @sdp-ncd&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Email manager]&lt;/strong&gt; Moved the department-based mail viewing option to the V1 general mail settings page, prevented service credential saves from overwriting it, and placed V2 General settings before Service provider settings. by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed automatic SSO redirect providers failing to preserve authentication order in production builds (&lt;a href="https://github.com/nocobase/nocobase/pull/10100" rel="noopener noreferrer"&gt;#10100&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;Corrected the Urdu label and added a separate Uzbek option to the System Settings language list. (&lt;a href="https://github.com/nocobase/nocobase/pull/10090" rel="noopener noreferrer"&gt;#10090&lt;/a&gt;) by @hongboji&lt;/li&gt;
&lt;li&gt;Workflow filters now preserve workflow variable expressions and show a clear parsing error when variable metadata cannot be resolved. (&lt;a href="https://github.com/nocobase/nocobase/pull/10088" rel="noopener noreferrer"&gt;#10088&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed v2 scan input camera preview layout issues on iOS Chrome. (&lt;a href="https://github.com/nocobase/nocobase/pull/10081" rel="noopener noreferrer"&gt;#10081&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed other column content showing through fixed v2 table columns when quick edit is enabled. (&lt;a href="https://github.com/nocobase/nocobase/pull/10076" rel="noopener noreferrer"&gt;#10076&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Authentication]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed declaration generation errors in the v2 authenticator management page (&lt;a href="https://github.com/nocobase/nocobase/pull/10095" rel="noopener noreferrer"&gt;#10095&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;Fixed missing saved Authenticator settings when editing authenticators in the v2 authentication manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10091" rel="noopener noreferrer"&gt;#10091&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an error when sending files pasted into the AI employee chat input (&lt;a href="https://github.com/nocobase/nocobase/pull/10106" rel="noopener noreferrer"&gt;#10106&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI tool-call approvals to authorize against the message's owning conversation before updating decisions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10077" rel="noopener noreferrer"&gt;#10077&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI attachment handling to avoid trusting client-provided file paths or URLs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10037" rel="noopener noreferrer"&gt;#10037&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt; Fixed iframe sanitization for v1 Markdown rendering and editing. (&lt;a href="https://github.com/nocobase/nocobase/pull/10096" rel="noopener noreferrer"&gt;#10096&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed hidden fields being included when workflow serializes appended association data (&lt;a href="https://github.com/nocobase/nocobase/pull/10086" rel="noopener noreferrer"&gt;#10086&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Workflow form controls now correctly inherit the disabled state when viewing executed workflows. (&lt;a href="https://github.com/nocobase/nocobase/pull/10079" rel="noopener noreferrer"&gt;#10079&lt;/a&gt;) by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Refresh the workflow canvas after updating trigger configuration (&lt;a href="https://github.com/nocobase/nocobase/pull/10068" rel="noopener noreferrer"&gt;#10068&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification manager]&lt;/strong&gt; Fix receiver selection saving user IDs as text (&lt;a href="https://github.com/nocobase/nocobase/pull/10093" rel="noopener noreferrer"&gt;#10093&lt;/a&gt;) by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix the Mobile settings link losing the current sub-application path (&lt;a href="https://github.com/nocobase/nocobase/pull/10078" rel="noopener noreferrer"&gt;#10078&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed the Mobile settings link opening the main application from a sub-application. (&lt;a href="https://github.com/nocobase/nocobase/pull/10075" rel="noopener noreferrer"&gt;#10075&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JSON variable mapping]&lt;/strong&gt; Fix an error when selecting loop scope variables in the JSON variable mapping workflow node. (&lt;a href="https://github.com/nocobase/nocobase/pull/10094" rel="noopener noreferrer"&gt;#10094&lt;/a&gt;) by @Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[User data synchronization]&lt;/strong&gt; Fixed external department sync order so child departments can be reparented correctly when their parent is synced later. (&lt;a href="https://github.com/nocobase/nocobase/pull/10028" rel="noopener noreferrer"&gt;#10028&lt;/a&gt;) by @chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Batch edit]&lt;/strong&gt; Fixed Markdown editor initialization failure when a V2 form includes a &lt;code&gt;process&lt;/code&gt; field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10080" rel="noopener noreferrer"&gt;#10080&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Verification: TOTP authenticator]&lt;/strong&gt; Fixed TOTP authenticator bindings so temporary setup secrets are removed and previously verified codes cannot be reused. by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed workflow AI employees being unable to read attachments from External NocoBase data sources by @2013xile&lt;/li&gt;
&lt;li&gt;Fixed file preview, permanent URL handling, and upload routing for external NocoBase file collections, including S3 Pro uploads by @mytharcher&lt;/li&gt;
&lt;li&gt;Fixed file preview, permanent URL handling, and upload routing for external NocoBase file collections, including S3 Pro uploads by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: SAML 2.0]&lt;/strong&gt; Fixed SAML automatic sign-in redirects for unauthenticated users in the modern client while preserving the original destination path by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt; Fixed S3-compatible file URLs omitting the configured storage path, which caused uploaded logos and attachments to return 404 errors by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: OIDC]&lt;/strong&gt; Fixed OIDC automatic login redirects in production builds and retained the original modern-client path after login by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix the approval workflow task title remaining editable in executed workflow configurations after production builds. by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed premature applicant validation and untranslated role labels in the approval workflow manual execution dialog. by @Molunerfinn&lt;/li&gt;
&lt;li&gt;Fix workflow form action buttons responding in configuration dialogs by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Allow users to view approval interfaces and cards after a workflow has been executed by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Filter approval file associations by current user ownership when the temporary switch is enabled. by @mytharcher&lt;/li&gt;
&lt;li&gt;Fix display and action issues in approval initiator interfaces by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix blank approval forms and missing or incorrect action buttons by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix an error that could prevent V2 pages from opening when approval and notification plugins are enabled by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Guide users to V1 pages when approval interfaces cannot be used in V2 by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[WeCom]&lt;/strong&gt; Fixed WeCom notification channels not saving the selected authenticator. by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
  </channel>
</rss>
