thinkNXG Framework — Customisation, Low Code & Deployment
Framework — Part 2 of 2

Low Code, Customisation & Deployment

Workflow builders, email automation, print formats, dashboards, custom scripts — everything else that ships with thinkNXG Framework out of the box.

Batteries Included

Everything built in — nothing to wire up

Most frameworks only tackle half the problem. thinkNXG Framework provides both frontend (JavaScript) and backend (Python) in one package — plus emails, workflow builders, notifications, print formats, and more. Just configure and ship.

Email Integration
Configure incoming and outgoing email accounts once. Sync your own email, send messages from any DocType, and attach print formats automatically.
Workflow Builder
Visual drag-and-drop workflow designer. Set conditions on each transition — approval chains, rejection loops, automated actions — all without code.
Webforms
Generate public or login-gated forms for your site in minutes. Collected data flows directly into your DocType and is ready for reports and charts.
Smart Notifications
Set up automated alerts on document events — record creation, status changes, approaching due dates. Keep your whole team in sync without manual follow-ups.
Print Formats
Default print templates for every DocType, fully customizable. Design your own layouts to place fields exactly where you want them — no CSS wrestling.
Assignments & Comments
Delegate records to team members with automation rules. Comment, tag users, and get real-time notifications — collaboration built directly into every document.
Workflow Builder

Business workflows, built visually

Crafting workflows manually feels like navigating a maze. thinkNXG Framework's workflow builder has a visual drag-and-drop interface that lets you model any approval process without getting tangled in code.

1
Define states
Create workflow states like Draft, Pending Approval, Approved, Rejected — for any DocType.
2
Set transitions
Connect states with transitions and assign them to roles. Only the right person can move a document forward.
3
Add conditions
Apply conditions on transitions — e.g. "only allow Approve if grand total < ₹1,00,000".
4
Attach actions
Trigger email alerts, auto-assignments, or custom scripts when a document moves between states.
Purchase Order — Approval Workflow
Draft
All roles
Pending Review
Purchase Mgr
Manager Approval
Finance Head
Approved
Auto-submit
Active Conditions
Amount ≤ ₹50,000 → Skip to Approved
Amount > ₹5,00,000 → Escalate to Director
On Approve → Send PO email to Supplier
Dashboards & Reports

Live dashboards — no BI tool needed

thinkNXG Framework ships with a full-featured report and dashboard engine. Build KPI dashboards, trend charts, and custom reports using DocType configuration, SQL queries, or Python scripts — right inside the same interface.

KPI CardsTrack key metrics at a glance with configurable cards pulled from any DocType aggregate.
Chart BuilderBar, line, pie, donut, and heatmap charts — all linked to live data. Update automatically.
Scheduled ReportsSet up daily or weekly report emails delivered straight to your team's inboxes.
Custom Python ReportsDrop into full Python for complex data transformations — no limits on what you can report on.
Business Overview — Jun 2026
Revenue
₹48.2L
+18% MoM
New Orders
342
+7% MoM
Pending Approvals
19
-3 Today
Overdue Bills
₹3.1L
Action needed
Monthly Revenue (₹L)
JanFebMarAprMayJun
Sales by Channel
Direct: 35%
Online: 25%
Resellers: 20%
Other: 20%
Customisation

Extend without touching core code

Add custom fields, reorder layouts, write client scripts, and hook into server events — all without forking the application. Your customisations live in a separate layer and survive upgrades cleanly.

Custom Fields
Add new fields to any DocType — even ones you didn't build. Changes are stored as metadata, not in the app source code, so upgrades don't wipe them.
Client Scripts
Write JavaScript that runs in the browser on specific forms — add field validations, auto-fill values, show/hide sections based on user input, or call APIs.
Server Scripts
Python scripts that run on document events (before_save, on_submit, after_cancel). Add business rules, trigger integrations, or compute derived values.
Custom Form Layout
Reorder fields, add sections, create column layouts, and set field visibility rules — directly in the UI without any code or redeployment.
Custom DocType
Build entirely new DocTypes for your industry-specific needs — properties, equipment, reservations, or anything else — with full CRUD and form UI generated instantly.
Apps & Plugins
Package customisations as a standalone thinkNXG app. Install, update, and remove cleanly. Browse the marketplace for hundreds of community-built extensions.
client_script — Sales Order form
// Client Script: auto-populate delivery date based on customer priority frappe.ui.form.on('Sales Order', { customer: function(frm) { if (!frm.doc.customer) return; frappe.db.get_value('Customer', frm.doc.customer, 'priority') .then(r => { let days = r.message.priority === 'High' ? 3 : 7; let delivery = frappe.datetime.add_days( frappe.datetime.now_date(), days ); frm.set_value('delivery_date', delivery); frappe.msgprint( `Delivery set to ${days} days for ${r.message.priority} priority customer` ); }); }, validate: function(frm) { // Prevent submission if no items if (!frm.doc.items || frm.doc.items.length === 0) { frappe.throw('Please add at least one item before saving.'); } } });
Deployment

Deploy anywhere — your way

thinkNXG Framework comes with ready-to-host capabilities. Install MariaDB, Redis, and Socket.io, and the Framework makes everything work together seamlessly — or skip all that with managed cloud hosting.

Bench — CLI Tool
The traditional method for developers who want hands-on control over their hosting environment. Create, manage, and deploy multiple sites from the command line.
Multi-site management
Automated backups & restores
Dev, staging, production modes
App install & migrate commands
View on GitHub
Docker — Containerised
Modern, containerized deployment that packages all dependencies into Docker containers. Ideal for production environments requiring scalability and consistency across teams.
All dependencies in one image
Horizontal scaling ready
Kubernetes compatible
Environment parity (dev = prod)
View on GitHub
Multi-Tenancy

One server, many customers

A single Framework instance can host multiple independent sites, each with their own database, configurations, and users — sharing the same codebase and server resources.

🏢
acme.thinknxg.app
Own DB · Own users · Own config
🏭
metro.thinknxg.app
Own DB · Own users · Own config
🏬
vertex.thinknxg.app
Own DB · Own users · Own config
Single thinkNXG Framework instance — shared codebase & server
Free as in Freedom

100% FLOSS, always

thinkNXG Framework is entirely FLOSS (Free/Libre Open Source Software), empowering a global community to access and build solutions that fit their unique needs. FLOSS makes it more secure and fosters community collaboration.

With a community of over 22,000 users and numerous contributors on GitHub, Framework benefits from continuous improvement and collective innovation. You're not just using a tool — you're part of a vibrant ecosystem.

thinkNXG/framework
MIT License · Full-stack web framework
10.2K
★ Stars
2.8K
Forks
850+
Contributors
Python JavaScript Updated 2 hours ago
Zero lock-in, FLOSS forever

Start building on thinkNXG Framework

Everything you need to ship enterprise business applications. Open, FLOSS, and backed by a 22K+ community.

Read the Docs Try on Cloud
MIT Licensed
Self-host anytime
No credit card needed
Community support