-
Notifications
You must be signed in to change notification settings - Fork 0
Script Editor
Article Type: Configuration / How-To Audience: Developers, App Admins, Advanced Users Module: Script Editor / Developer Tools Applies to Versions: 2025.1+ Estimated Time: 30-45 minutes
The Fuuz Script Editor (formerly Transformation Explorer) is a comprehensive development environment for testing, validating, and executing JSONata and JavaScript functions within the Fuuz Industrial Operations Platform. This tool enables developers and authorized users to create reusable, version-controlled transformation scripts that can be deployed across data flows, screens, and integrations throughout your enterprise applications.
Saved scripts are version-controlled application components requiring deployment like data flows and screens, providing full audit trails and traceability for regulatory compliance. Scripts can execute in Local mode (browser) or Server mode (Fuuz server) with access to custom Fuuz functions. The Script Editor provides comprehensive validation for input/output payloads and schemas, plus an interactive workspace with resizable panels for efficient development.
Note: Before You Begin: Ensure you have Developer access, App Admin access, or Web Access with proper RBAC policies. When saving scripts, payload and context data will be cleared — save these to a separate text file for reference.
- Access Level: Developer access, App Admin access, or Web Access with RBAC policies for the Saved Script feature
- Permissions: Read/write access to the Orchestration module and Saved Script functionality
- Knowledge: Basic understanding of JSONata or JavaScript, data transformation concepts, JSON data structures
- Resources: Sample JSON data for testing, understanding of your data models and transformation requirements
Navigate to the Script Editor to begin developing and testing transformation scripts.
- Log in to your Fuuz application with appropriate credentials
- Navigate to Orchestration in the main menu
- Select Saved Script from the navigation menu
- The Script Editor interface loads with Payload, Context, Script, Output, and Console panels

Configure validation and execution settings for your development environment.
- Click the Editor menu in the toolbar
- Select Settings from the dropdown
- Configure validation options:
- Validate Input Payload: Validates input against input schema (recommended: enabled)
- Validate Input Schema: Validates input schema is valid JSON schema format (recommended: enabled)
- Validate Output Payload: Validates output against output schema (recommended: enabled)
- Validate Output Schema: Validates output schema is valid JSON schema format (recommended: enabled)
- Click Save to apply settings
Note: Enable all validation options during development to catch issues early. Schema panels only appear after saving a script.




Develop and test your JSONata or JavaScript transformation logic interactively.
- In the Payload panel (left side), enter sample JSON data representing your input
- In the Context panel (toggle with Alt+1), add context variables like
user_id,facility,current_timestamp - In the Script panel (center), write your JSONata or JavaScript transformation logic
- Click the Play button (▶) in the toolbar to execute the script
- Review results in the Output panel (right side) and check the Console panel for validation messages
- Iterate on your script logic and re-execute as needed
Important: Save your test payload and context to a separate text file BEFORE saving the script, as these will be cleared when you save.

Save your script as a version-controlled, deployable application component.
- Copy your test payload and context data to a separate text file for future reference
- Click File → Save or File → Save As
- Provide a meaningful name (e.g., "Inventory Status Transform" or "Production Report Generator")
- Add a description explaining the script's purpose and usage
- Specify the script language (JSONata or JavaScript)
- Click Save to create the script
After saving, define schemas to validate data structure and provide documentation.
- After saving, Input Schema and Output Schema panels appear at the bottom
- Use the visual schema builder to define the expected input structure using JSON Schema format
- Define the expected output structure
- Save the script to preserve schema definitions
Note: Schemas provide validation and documentation for users of your saved script. They are optional but highly recommended for production scripts.
Deploy the saved script to target environments following your organization's deployment procedures.
- Navigate to the deployment management interface
- Select the saved script for deployment
- Choose the target environment (Build, QA, Production)
- Execute deployment following organizational change control procedures
- Verify successful deployment in the target environment
Note: Saved scripts are version-controlled application components. All changes create new versions with full audit trails. Scripts must be deployed to move between environments.

Reference saved scripts anywhere JSONata transforms are used throughout Fuuz.
- Open the component where you want to use the saved script (data flow, screen, integration)
- Locate the script selector in the transformation configuration interface
- Select your saved script by name from the dropdown
- The script executes using the defined transformation logic
- Changes to the saved script propagate when redeployed without editing individual components
Saved scripts can be used in:
- Data Flow Transform nodes and Script nodes
- Screen element transformations and calculated fields
- Integration mappings and API responses
- Data Model computed fields and validation logic
| Setting | Description | Default |
|---|---|---|
| Validate Input Payload | Validates input payload conforms to input schema. Errors sent to console. | Enabled |
| Validate Input Schema | Validates input schema is valid JSON schema format. Errors piped to console. | Enabled |
| Validate Output Payload | Validates script output matches output schema. Mismatches generate console errors. | Enabled |
| Validate Output Schema | Validates output schema is valid JSON schema format. Invalid schemas generate errors. | Enabled |
| Mode | Description | Use Cases |
|---|---|---|
| Local Mode | Executes scripts in browser environment | Rapid testing, client-side transforms, limited data |
| Server Mode | Executes scripts on Fuuz server | Production testing, large datasets, custom Fuuz functions |
| Panel | Purpose | Hotkey |
|---|---|---|
| Context Panel | Edit context variables ($context.user_id, $context.facility, etc.) |
Alt+1 |
| Script Panel | Main code editor for JSONata or JavaScript | Alt+2 |
| Payload Panel | Input JSON data for script processing | N/A |
| Output Panel | Script execution results and errors | Alt+4 |
| Console Panel | Validation messages and execution logs | N/A |
All panels are resizable — click and drag panel borders to adjust size. Use the View menu or hotkeys to toggle panel visibility.
The following examples demonstrate common use cases for the Script Editor, showing both JSONata and JavaScript implementations for industrial operations scenarios. Complete example files are attached to the original KB article for download and testing.
Use Case: Summarize inventory snapshot data by status and product, generating management reports with aggregated quantities, lot counts, location information, and alerts for low stock or quality holds.
Attached Files:
-
Payload_Example_ProductLotSummaryScript.txt— Sample inventory snapshot data -
Context_Example_ProductLotSummaryScript.txt— Context variables with product catalog and configuration -
JsonataTransform_Example_ProductLotSummaryScript.txt— Complete JSONata transformation
Input Payload (excerpt):
{
"timestamp": "2025-01-01T14:30:00Z",
"facility": "Plant-North",
"inventory_snapshot": [
{
"product_id": "SHAFT-304-16",
"product_name": "Steel Shaft 304SS 16mm",
"lot_number": "LOT-2024-1201",
"quantity": 2500,
"unit": "EA",
"status": "Available",
"location": "WH-A-12",
"received_date": "2024-12-01"
},
{
"product_id": "BEARING-6205",
"product_name": "Deep Groove Ball Bearing 6205",
"lot_number": "LOT-2024-1210",
"quantity": 5000,
"unit": "EA",
"status": "Available",
"location": "WH-B-05",
"received_date": "2024-12-10"
}
]
}Context Variables (excerpt):
{
"user_id": "scott.smith",
"role": "operations_manager",
"facility": "Plant-North",
"shift": "A",
"current_timestamp": "2025-01-01T14:30:00Z",
"production_day": "2025-01-01",
"fiscal_period": "2025-Q1",
"product_catalog": {
"SHAFT-304-16": {
"category": "Machined Parts",
"reorder_point": 2000,
"safety_stock": 500
}
},
"status_config": {
"Available": {
"priority": 1,
"color": "green",
"pickable": true
}
},
"settings": {
"include_shipped": false,
"show_alerts": true,
"group_by_category": true
}
}JSONata Script (excerpt):
{
"report_metadata": {
"generated_at": $context.current_timestamp,
"generated_by": $context.user_id,
"user_role": $context.role,
"facility": $context.facility,
"shift": $context.shift,
"production_day": $context.production_day,
"fiscal_period": $context.fiscal_period
},
"status_summary": inventory_snapshot[
$context.settings.include_shipped ? true : status != "Shipped"
]{
status: {
"status": status,
"priority": $lookup($context.status_config, status).priority,
"color": $lookup($context.status_config, status).color,
"is_pickable": $lookup($context.status_config, status).pickable,
"total_quantity": $sum(quantity),
"lot_count": $count(lot_number),
"unique_products": $count($distinct(product_id)),
"products": $sort($distinct(product_id)),
"locations": $sort($distinct(location))
}
},
"product_summary": inventory_snapshot{
product_id: {
"product_id": product_id,
"product_name": $$.product_name,
"category": $lookup($context.product_catalog, product_id).category,
"reorder_point": $lookup($context.product_catalog, product_id).reorder_point,
"total_quantity": $sum(quantity),
"available_quantity": $sum(quantity[status = "Available"]),
"below_reorder": $sum(quantity[status = "Available"]) <
$lookup($context.product_catalog, product_id).reorder_point,
"status_breakdown": ${
status: {
"status": status,
"quantity": $sum(quantity),
"lot_count": $count(lot_number),
"lots": lot_number
}
}
}
}
}
Key Features Demonstrated:
- Context variable integration with
$lookup()for product catalog and status configuration - Grouping and aggregation using JSONata grouping syntax with curly braces
- Filtering with conditional logic (
$context.settings.include_shipped) - Array functions:
$sum(),$count(),$distinct(),$sort(),$merge() - Nested data structure creation with
status_summaryandproduct_summary - Alert generation for low stock and quality hold conditions
- Category rollup for executive reporting
Note: Download the attached files from the original KB article to test this example in your Script Editor. The complete script generates comprehensive inventory reports with status summaries, product breakdowns, alerts, and category rollups.
Use Case: Calculate Overall Equipment Effectiveness (OEE) at multiple levels (shift, day, week, work order) by combining production history and work unit state data. Provides comprehensive equipment performance metrics with downtime analysis and reduced output tracking.
Attached Files:
-
Payload_Example_OEECalculationsJavascript.txt— Production records and work unit history -
Context_Example_OEECalculationsJavascript.txt— Product specifications, work orders, and work unit configuration -
JavascriptFunction_Example_OEECalculationsJavascript.txt— Complete JavaScript calculation function
Input Payload Structure:
{
"production_records": [
{
"id": 1,
"workUnit": "WC-100",
"workOrder": "WO-2024-001",
"product": "PROD-A",
"quantity": 45,
"dateTime": "2024-12-30T06:15:00Z",
"quality": "good",
"serialNumbers": ["SN-A-001", "SN-A-002"],
"lotNumber": "LOT-A-1230"
}
],
"workUnit_history": [
{
"id": 1,
"workUnit": "WC-100",
"dateTime": "2024-12-30T06:00:00Z",
"mode": "production",
"state": "running",
"durationMinutes": 60
}
]
}Context Variables Structure:
{
"products": {
"PROD-A": {
"name": "Aluminum Housing Assembly",
"ideal_cycle_time_seconds": 72,
"expected_hourly_rate": 50,
"setup_time_minutes": 60
}
},
"work_orders": {
"WO-2024-001": {
"product": "PROD-A",
"order_quantity": 500,
"start_date": "2024-12-30T06:00:00Z",
"end_date": "2024-12-30T14:00:00Z",
"workUnit": "WC-100"
}
},
"shifts": {
"Shift-1": {
"name": "Day Shift",
"start_hour": 6,
"end_hour": 14,
"duration_minutes": 480
}
},
"workUnits": {
"WC-100": {
"name": "CNC Machining Center 1",
"department": "Machining"
}
}
}JavaScript Script Structure (key functions):
// Helper functions for shift/date/week calculation
function getShift(dateTime) {
const date = new Date(dateTime);
const hour = date.getUTCHours();
if (hour >= 6 && hour < 14) return 'Shift-1';
if (hour >= 14 && hour < 22) return 'Shift-2';
return 'Shift-3';
}
// Initialize aggregation structures
const workUnitStats = {};
const shiftStats = {};
const dayStats = {};
const weekStats = {};
const workOrderStats = {};
// Process production records - aggregate by work unit, shift, day, week
$.production_records.forEach(record => {
const shift = getShift(record.dateTime);
const date = getDate(record.dateTime);
const week = `Week-${getWeek(record.dateTime)}`;
// Aggregate good and scrap quantities at each level
// ... (see attached file for complete aggregation logic)
});
// Process work unit history for availability
$.workUnit_history.forEach(record => {
// Track running time, downtime events, reduced output
if (record.mode === 'disabled') {
downtimeEvents.push({
workUnit: record.workUnit,
durationMinutes: record.durationMinutes,
reason: 'Machine Disabled'
});
}
// ... (see attached file for complete tracking logic)
});
// Calculate OEE: Availability × Performance × Quality
function calculateOEEMetrics(stats, isWorkOrder = false) {
availability = stats.runTime / stats.plannedProductionTime;
performance = totalIdealTime / stats.runTime;
quality = stats.good / stats.total;
oee = availability * performance * quality;
return {
...stats,
availability: (availability * 100).toFixed(2),
performance: (performance * 100).toFixed(2),
quality: (quality * 100).toFixed(2),
oee: (oee * 100).toFixed(2)
};
}
// Return comprehensive multi-level OEE analysis
return {
summary: {
reportPeriod: "2024-12-30 to 2025-01-03",
totalWorkUnits: Object.keys(workUnitStats).length,
totalWorkOrders: Object.keys(workOrderStats).length
},
oee: {
byShift: shiftOEE, // OEE for each shift
byDay: dayOEE, // OEE for each day
byWeek: weekOEE, // OEE for each week
byWorkOrder: workOrderOEE // OEE for each work order
},
downtime: {
summary: downtimeSummary, // Aggregated by shift/day/week
events: downtimeEvents // Individual downtime events
},
reducedOutput: {
summary: reducedOutputSummary, // Blocked/starved analysis
events: reducedOutputEvents // Individual events
},
insights: {
topPerformingShifts: topPerformers,
shiftsNeedingAttention: areasOfConcern
}
};
Key Features Demonstrated:
- JavaScript array methods:
forEach(),reduce(),filter(),map(),sort(),slice() - Multi-level aggregation across shifts, days, weeks, and work orders
- Complex OEE calculations combining multiple data sources
- Date/time manipulation for shift determination and week calculation
- Downtime event tracking and categorization (disabled mode)
- Reduced output tracking (blocked and starved states)
- Context variable integration for product specifications and work order details
- Top performers and areas of concern identification
- Comprehensive reporting structure with summary, details, and insights
Note: Download the attached files from the original KB article to test this example in your Script Editor. The complete script processes 56 production records and 65 work unit state records to generate OEE metrics at multiple aggregation levels with downtime and reduced output analysis.
When to Use JSONata:
- Data transformation and restructuring
- Filtering, sorting, and grouping operations
- Simple calculations and aggregations
- JSON-to-JSON transformations
- Context variable lookups and references
When to Use JavaScript:
- Complex mathematical calculations (OEE, statistical analysis)
- Multi-step algorithmic processing
- Date/time manipulation and calculations
- Integration with external libraries
- Iterative operations requiring loops
- Performance-critical transformations with large datasets
- Multi-level aggregation and rollup logic
Tip: Both examples can be saved as reusable scripts and referenced in data flows, screens, and integrations throughout your Fuuz application. Changes to the saved script automatically apply to all components using it after redeployment, providing centralized governance over critical transformation logic. The examples provided were created purely for learning the Script Editor with a static payload and do not utilize any custom schema or GraphQL queries.
Success Criteria:
- Script executes without errors in the Script Editor
- Output payload matches expected structure and values
- All validation settings pass without console errors
- Input and output schemas defined and valid
- Script deployed successfully to target environment
- Script accessible from data flows, screens, and integrations
Testing Checklist:
- Unit Testing: Test individual transformation components with simple payloads
- Integration Testing: Test with complex, nested data representing actual application data
- Boundary Testing: Test edge cases including empty arrays, null values, missing fields
- Performance Testing: Verify acceptable execution times with large datasets
- Context Testing: Test with various context variable combinations
- Error Path Testing: Provide invalid data to ensure graceful error handling
- Deployment Testing: Test in Build environment before promoting to QA and Production
| Issue | Cause | Resolution |
|---|---|---|
| Script Editor not visible in menu | Insufficient access rights | Contact administrator to provision Developer, App Admin, or RBAC policies |
| Payload cleared after saving | Expected behavior | Save payload to text file before saving script. Reload when resuming work |
| Works in editor, fails in data flow | Different execution context | Use Server mode in editor. Match context variables to flow environment |
| Schema validation errors | Schema syntax error | Enable "Validate Input Schema" to check syntax. Review JSON schema docs |
| Can't see schema panels | Only appear after saving | Save script first using File → Save |
| Undefined/null errors | Missing context or payload fields | Add null checks. Use JSONata null-safe operators (?, ?:) |
| Script changes not reflected | Not deployed to environment | Deploy updated script version to target environment |
| Custom Fuuz functions unavailable | Running in Local mode | Switch to Server mode in Editor → Settings |
| Poor performance with large data | Running in Local mode | Switch to Server mode. Optimize script logic |
| Script not in selection lists | Not deployed to environment | Deploy script to current environment (Build, QA, or Production) |
- JSONata Language Reference: Complete guide to JSONata syntax and functions
- Custom Fuuz JSONata Library: Fuuz-specific JSONata extensions and functions
- Data Flow Designer: Integrating saved scripts into data transformation pipelines
- Screen Designer: Using saved scripts in screen transformations
- Data Mapping: Transform data between models using saved scripts
- Deployment Management: Deploy application components across environments
- JSON Schema Specification: Official docs for defining input/output schemas
- Context Variables Reference: Available context variables and usage
Note: The original KB article includes six downloadable example attachments (payload, context, and script files for both examples above). Download these files from the original article.
| Version | Date | Editor | Description |
|---|---|---|---|
| 1.0 | 2025-01-01 | Fuuz Documentation Team | Initial Release |
- Custom-Fuuz-Only-JSONata-Library
- Jsonata-Tutorial
- Data-Flow-Nodes-Reference
- Data-Flow-Design-Standards-Design-Standards
- Fuuz-Data-Flows-enable-DataOps-at-Scale-ETL-iPaaS-and-more
Source: support.fuuz.com
Getting Started (14)
- Access Field Level Help within the Fuuz Platform
- Field-Level Help
- Fuuz Platform 101: Low/No-Code Technology in Manufacturing
- Fuuz Platform Architecture
- Getting to Know the Fuuz Platform
- Logging into Fuuz – Cloud Access
- Manage what displays in Field Level Help throughout Fuuz
- Recovering Your Fuuz Account
- Sharing A Page
- Switching Between Apps in Fuuz
- Switching between Fuuz Environments (Build, QA, Production)
- Trouble Logging Into Fuuz
- Unique Email Plus Addressing
- Welcome To Industry Accelerators!
Training Guides (52)
Applications
- Brand and Configure Your Application
- Create an Application
- Deactivate (Retire) an Application
- Find Pages Beyond the Left Menu
- Install a Fuuz Package
- Navigate the Application Designer
- Retire an Application
Access & Users
- Approve Access Requests
- Approve Application Access Requests
- Configure the Internal Password Policy
- Create a Role
- Create an API Key
- Deactivate and Reactivate a User
- Grant Permissions with Policies
- Investigate Login Activity
- Invite a User to an Application
- Manage App Users
- Request Access to an Application
- Switch Applications, Roles, and Environments
- Understand Developer Access
- Understand Web Access
- Use the User Menu (Profile, Theme, and More)
Data Models & Schema
- Add a Custom Field
- Create a Data Model
- Create a Sequence
- Design Model Fields in the Schema Designer
- Relate Two Data Models
Screens
Weather Lookup Series — guided 3-part build
- Part 1 · Build the Screen (Beginner)
- Part 2 · Store the Readings (Intermediate)
- Part 3 · Watched Locations & Scheduled Capture (Advanced)
Data Flows & Integrations
- Call an External API with a Flow
- Connect to External Systems
- Create a Data Flow
- Create a Notification Channel
- Create a Webhook
- Save Queries, Scripts, and Data Mappings
- Schedule a Data Flow
- Use the Script Editor
Data, Reporting & Monitoring
- Browse Data with Data Explorer
- Build a Document (Report or Label)
- Check Component References
- Create Configuration Records (Modules, Units, Calendars, and More)
- Explore the GraphQL API
- Export Data
- Import Data into an Application
- Investigate Application Logs
- Save an Export Configuration
- Trace a Data Change
Enterprise & Organizations
Platform Concepts & Architecture (10)
- Bridging the Red and Blue Data Divide - How Fuuz Became the First Industrial Platform to Merge Operational and Business Intelligence
- Claude AI Skills for the Fuuz Platform
- Cool Things we built with Fuuz Episode 1 12.5.2025 (Public)
- Differences between MES and ERP from an ERP Consultant Eric Kimberling
- Fuuz can be your "Connected Worker Platform"
- Listen and Learn what MES is and what makes it unique
- Manufacturers struggle with Build versus Buy for their MES and what are the Core 4 Elements
- Stock Price Application
- Why All Manufacturers Build their MES System Part 1
- Why All Manufacturers Build their MES System Part 2
Screens & Application Design (17)
- Application Designer Guide
- Array Input
- Combobox
- Dynamic Field Configurations
- Fuuz Deployment Methodologies
- Fuuz Form Detail Screen Specification
- Historical Data Table Screen Design Standard
- JSON
- JSON Form Fields in Action Steps
- JSON Schema Inputs
- Master Data Table Screen Design Standard
- Mobile Screen Design Standard
- Screen Context Container
- Screen Generation (AI) Flow Template V1.5.1
- Setup Data Table Screen Design Standard
- Table Column Conditional Formatting
- Transform Data in a Column
Data Models & Schema (8)
Data Flows & Scripting (51)
Designing Flows
- Data Flow Design Standards
- Data Flow Logs
- Debugging and Testing our Fuuz Data Flows
- Flow Schedules
- Fuuz Data Flows enable DataOps at Scale, ETL, iPaaS and more
- How to Create APIs Using Data Flows in Fuuz
- How To General E-Commerce Integrations using Data Flows in Fuuz iPaaS
- How to Setup a daily file import using Fuuz Data Flows
- Managing Large Datasets in Fuuz: Data Flow Engine Performance Optimization
- The Power of Data Flows - Unlocking Industrial Intelligence with Fuuz
- Using Fuuz with FTP integrations and Data Flows iPaaS
Data Flow Nodes
- Data Flow Nodes Reference
- Debugging & Context Nodes
- Flow Control Nodes
- Fuuz Platform Nodes
- IIoT & Gateway Nodes
- Integration Nodes
- Notification Nodes
- Source & Trigger Nodes
- Transform Nodes
JSONata Reference
- Aggregation Functions
- Array Functions
- Boolean Functions
- Boolean Operators
- Comparison Operators
- Composition
- Construction
- Constructs
- Custom Fuuz Only JSONata Library
- Date Time Functions
- Date Time Processing
- Expressions
- Fuuz Bindings: $predicateFilter
- Higher Order Functions
- Jsonata Tutorial
- Numeric Functions
- Numeric Operators
- Object Functions
- Other Operators
- Path Operators
- Predicate Expressions
- Processing Model
- Regex
- Simple Queries
- Slow Transform Performance: JSONata vs JavaScript Optimization Guide
- Sorting Grouping and Aggregation
- String Functions
Scripting
Integrations & Connectors (30)
General & iPaaS
- API Keys
- Cloud Connectors - Complete Reference Guide
- Connecting a CRM with your ERP using Fuuz
- Connecting a Vending Machine to your ERP system using Fuuz
- Creating a Scheduled Integration & Sending a CSV File in an Email
- Debug a NetSuite SOAP API integration
- Fuuz Connections help you integrate your Systems and Devices
- Fuuz has lists of Connectors and Drivers you can use
- Fuuz has pre-built integration Connectors
- How to create a check an ODBC connection with another system
- How to Create a RESTful API Using the Fuuz Platform
- How to create a simple Integration and Store data in Fuuz
- How To Design or Configure Policies and Policy Groups for my App in Fuuz
- How to Integrate Fuuz with another product or another API
- How to Integrate with an HR system like ADP using Fuuz iPaaS
- How to use API Explorer and GraphQL to Query Data in Fuuz for Beginners
- How you Integrate your ERP with your MES
- Industry 3 and Industry 4 differences in ERP and MES Integrations
- Integrated Carrier Package
- Make REST-Based Calls With An API Key
- Policy Groups
- System connectivity validation - testing a connection when your 3rd party moves its hosting
- Using Fuuz as an iPaaS to Connect - to an API, Collect - Data from the API, Store - that data in Fuuz tables
Plex
- How to connect using Plex UX datasources from Fuuz iPaaS
- How to integrate with Plex Classic using Fuuz iPaaS
- How to Setup and Connect to Plex APIs
EDI
IIoT & Edge Gateway (18)
- Edge Connections: Complete Industrial Integration Reference
- Edge Gateway Flows
- Edge Gateway Installation Step-by-Step
- Edge to Cloud Infrastructure
- Gateway Deployment & Architecture
- Gateway System Requirements
- How IIoT fits into the Industrial Data "Stack"
Physical Device Connectors
- Connecting To Kepware OPCUA Server
- Fanuc Robot Connectivity using Edge Gateway
- HMI Template Standard - ISA-101 Compliant
- How to connect OPC/UA simulator to the Edge Gateway
- Modbus TCP
- MQTT
- Omron PLC/HMI NX102 Connectivity with Edge Gateway
Edge Data Connectors
Reporting, Documents & Dashboards (8)
- Building a Non-Conformance Report (NCR) Application in Fuuz
- Create responsive structured dashboard layouts using the Grid Container and Grid Cell components
- How to add visualizations (charts and graphs) to reports in Fuuz for Beginners
- How to build real-time reports in Fuuz from scratch for Beginners
- How to modify existing reports in Fuuz for Beginners
- Non-Conformance Report Accelerator
- Printing Documents
- Printing Documents From Fuuz
Administration & Access Control (27)
- Access Control
- Access Requests
- Access Requests: Overview
- Access Type Overview
- Access Types
- Add Users to Fuuz Apps
- App Admin Access
- App Management
- App Users
- Applications (Tenants)
- Authentication Events
- Change a User's Access Type
- Configurations
- Create Users and Set Access Type
- Enterprise Admin Overview
- Enterprise Users
- Enterprise Users vs Access Requests
- How To Login to your Fuuz Enterprise - Non Single Sign On
- How To Login to your Fuuz Enterprise - Single Sign On
- Identity Providers
- Notifications
- Notifications
- Organizations
- Roles
- Settings
- Switching my active Role within Fuuz
- Troubleshooting User Login Errors Due to Identity Provider Misconfiguration
Data Management (8)
Accelerators, Templates & Packages (8)
- Create a Quality Batch Golden Record Analysis Tool in Fuuz
- Fuuz Developer 101 Bootcamp - 2026 Schedule & Enrollment
- Fuuz Developer 101 Bootcamp - Program Overview
- Fuuz Industry Accelerators - Installation & Best Practices
- Fuuz Industry Accelerators - Overview
- How-To: Managing Green/Blue Deployments with Fuuz Package Management Zero-Downtime
- Model Agnostic Scheduling System APS
- Setting up In-House Fuuz
Design Standards (1)
How-To Guides (8)
- Connecting to Fuuz from a remote system to execute a Fuuz API
- Connecting to Fuuz from a remote system to execute a Fuuz API - Extended Features Part 2
- Data Mapping
- Document your Application using Atlassian Confluence and our Pre-Built App
- Fuuz Platform Capabilities
- How to add multiple data records to the Fuuz database with a single API call
- How to on Best Practices for Designing Flows in Fuuz
- Using the Transformation Explorer
FAQ & Troubleshooting (1)
Release Notes (117)
2026
- 2026.1 (January 2026)
- 2026.2 (February 2026)
- 2026.3 (March 2026)
- 2026.4 (April 2026)
- 2026.5 (May 2026)
- 2026.6 (June 2026)
2025
- 2025.1 (January 2025)
- 2025.10 (October 2025)
- 2025.11 (November 2025)
- 2025.12 (December 2025)
- 2025.2 (February 2025)
- 2025.4 (April 2025)
- 2025.5 (May 2025)
- 2025.6 (June 2025)
- 2025.7 (July 2025)
- 2025.8 (August 2025)
- 2025.9 (September 2025)
2024
- 2024.1 (January 2024)
- 2024.10 (October 2024)
- 2024.11 (November 2024)
- 2024.12 (December 2024)
- 2024.2 (February 2024)
- 2024.3 (March 2024)
- 2024.4 (April 2024)
- 2024.5 (May 2024)
- 2024.6 (June 2024)
- 2024.7 (July 2024)
- 2024.8 (August 2024)
- 2024.9 (September 2024)
2023
- 2023.5 (May 2023)
- 2023.1 (January 2023)
- 2023.10 (October 2023)
- 2023.11 (November 2023)
- 2023.12 (December 2023)
- 2023.2 (February 2023)
- 2023.3 (March 2023)
- 2023.4 (April 2023)
- 2023.6 (June 2023)
- 2023.7 (July 2023)
- 2023.8 (August 2023)
- 2023.9 (September 2023)
2022
- 2022 Q1 Fuuz Package Updates (03/11/2022)
- 2022 Q1 Fuuz Release Notes v3.87.0 (03/17/2022)
- 2022 Q1 MFGx Release Notes v3.78.0 (01/06/2022)
- 2022 Q1 MFGx Release Notes v3.79.0 (01/13/2022)
- 2022 Q1 MFGx Release Notes v3.80.0 (01/20/2022)
- 2022 Q1 MFGx Release Notes v3.81.0 (01/27/2022)
- 2022 Q1 MFGx Release Notes v3.82.0 (02/03/2022)
- 2022 Q1 MFGx Release Notes v3.83.0 (02/10/2022)
- 2022 Q1 MFGx Release Notes v3.85.0 (02/28/2022)
- 2022 Q2 Fuuz Release Notes v3.90.0 (04/14/2022)
- 2022 Q2 Fuuz Release Notes v3.91.0 (04/21/2022)
- 2022 Q2 Fuuz Release Notes v3.92.0 (04/28/2022)
- 2022 Q2 Fuuz Release Notes v3.93.0 (05/06/2022)
- 2022 Q2 Fuuz Release Notes v3.94.0 - v3.97.0 (June 13, 2022)
- 2022 Q2 Fuuz Release Notes v3.98.0 (06/16/2022)
- 2022 Q2 Fuuz Release Notes v3.99.0 (06/30/2022)
- 2022 Q3 Fuuz Release Notes v3.100.0 🎉 (07/06/2022)
- 2022 Q3 Fuuz Release Notes v3.101.0 (07/21/2022)
- 2022 Q3 Fuuz Release Notes v3.102.0 (08/11/2022)
- 2022 Q3 Fuuz Release Notes v3.103.0 (08/18/2022)
- 2022 Q4 Fuuz Release Notes v3.107.0 - v3.109.0 (10/27/2022)
2021
- 2021 Q1 MFGx Release Notes v3.29.0 (1/7/2021)
- 2021 Q1 MFGx Release Notes v3.30.0 (1/14/2021)
- 2021 Q1 MFGx Release Notes v3.34.0 (2/4/2021)
- 2021 Q1 MFGx Release Notes v3.37.0 (2/26/2021)
- 2021 Q1 MFGx Release Notes v3.38.0 (3/5/2021)
- 2021 Q1 MFGx Release Notes v3.40.0 (3/25/2021)
- 2021 Q1 MFGx.io Release Notes v3.32.0 (1/21/2021)
- 2021 Q1 MFGx.io Release Notes v3.33.0 (1/28/2021)
- 2021 Q2 MFGx Release Notes v3.41.0 (4/1/2021)
- 2021 Q2 MFGx Release Notes v3.42.0 (4/8/2021)
- 2021 Q2 MFGx Release Notes v3.43.0 (4/16/2021)
- 2021 Q2 MFGx Release Notes v3.44.0 (4/22/2021)
- 2021 Q2 MFGx Release Notes v3.45.0 (4/29/2021)
- 2021 Q2 MFGx Release Notes v3.47.0 (5/13/2021)
- 2021 Q2 MFGx Release Notes v3.48.0 (5/20/2021)
- 2021 Q2 MFGx Release Notes v3.48.0 (5/27/2021)
- 2021 Q2 MFGx Release Notes v3.50.0 (6/03/2021)
- 2021 Q2 MFGx Release Notes v3.51.0 (6/10/2021)
- 2021 Q2 MFGx Release Notes v3.52.0 (6/17/2021)
- 2021 Q2 MFGx Release Notes v3.54.0 (6/28/2021)
- 2021 Q3 Fuuz Release Notes v3.58.0 (7/22/2021)
- 2021 Q3 MFGx Release Notes v3.55.0 (7/1/2021)
- 2021 Q3 MFGx Release Notes v3.60.0 (8/5/2021)
- 2021 Q3 MFGx Release Notes v3.61.0 (8/17/2021)
- 2021 Q3 MFGx Release Notes v3.62.0 (8/19/2021)
- 2021 Q4 MFGx Release Notes v3.68.0 (10/8/2021)
- 2021 Q4 MFGx Release Notes v3.69.0 (10/14/2021)
- 2021 Q4 MFGx Release Notes v3.70.0 (10/21/2021)
- 2021 Q4 MFGx Release Notes v3.71.0 (10/28/2021)
- 2021 Q4 MFGx Release Notes v3.72.0 (11/04/2021)
- 2021 Q4 MFGx Release Notes v3.73.0 (11/11/2021)
- 2021 Q4 MFGx Release Notes v3.74.0 (11/19/2021)
- 2021 Q4 MFGx Release Notes v3.75.0 (12/02/2021)
- 2021 Q4 MFGx Release Notes v3.76.0 (12/09/2021)
- 2021 Q4 MFGx Release Notes v3.77.0: The Holiday Update (12/16/2021)
2020
- 2020 Q2 MFGx Release Notes v2.32.0 (4/9/2020)
- 2020 Q2 MFGx Release Notes v2.33.0 (4/16/2020)
- 2020 Q2 MFGx Release Notes v2.35.0 (4/30/2020)
- 2020 Q2 MFGx Release Notes v3.5.0 (6/18/2020)
- 2020 Q2 MFGx Release Notes v3.6.0 (6/25/2020)
- 2020 Q2 MFGx.io Release Notes v2.32.0 (4/9/2020)
- 2020 Q3 MFGx Release Notes v3.10.0 (7/23/2020)
- 2020 Q3 MFGx Release Notes v3.11.0 (7/30/2020)
- 2020 Q3 MFGx Release Notes v3.13.0 (8/13/2020)
- 2020 Q3 MFGx Release Notes v3.17.0 (9/21/2020)
- 2020 Q3 MFGx Release Notes v3.7.0 (7/6/2020)
- 2020 Q3 MFGx Release Notes v3.8.0 (7/9/2020)
- 2020 Q4 MFGx Release Notes v3.20.0 (10/13/2020)
- 2020 Q4 MFGx Release Notes v3.21.0 (10/15/2020)
- 2020 Q4 MFGx Release Notes v3.22.1 (10/22/2020)
- 2020 Q4 MFGx Release Notes v3.23.0 (11/5/2020)
- 2020 Q4 MFGx Release Notes v3.24.0 (11/12/2020)
- 2020 Q4 MFGx Release Notes v3.26.0 (12/3/2020)
- 2020 Q4 MFGx Release Notes v3.27.0 (12/10/2020)
- 2020 Q4 MFGx Release Notes v3.28.0 (12/17/2020)