-
Notifications
You must be signed in to change notification settings - Fork 0
Flow Control Nodes
Article Type: Node Reference Audience: Developers, App Admins Module: Data Flows / Node Designer Applies to Versions: Platform 3.0+ Prerequisites: Basic understanding of Data Flow concepts
What are Flow Control Nodes?
Flow Control nodes manipulate and control the execution path of your data flows. They enable parallel processing, branching, timing control, error handling, and resource locking — providing fine-grained solutions to address even the most complex scenarios without custom code.
Why are they important?
Enterprise integrations rarely follow a simple linear path. You may need to query multiple systems simultaneously, wait for external processes, prevent concurrent execution conflicts, or gracefully handle failures. Flow Control nodes provide the orchestration logic that makes complex workflows reliable and maintainable.
| Node Type | Primary Purpose | Best For |
|---|---|---|
| Broadcast (deprecated) | Stream individual messages from array/object (For-Each) | Do not use — Remove from existing flows |
| Fork | Execute multiple branches in parallel with same payload | Querying multiple systems simultaneously |
| Combine | Recombine messages from Fork or Broadcast | Merging parallel execution results |
| Collect | Accumulate messages by time or count | Batching events for bulk processing |
| Schedule | Trigger flow on defined frequencies | Scheduled jobs, polling, recurring reports |
| Delay | Pause execution for specified time | Rate limiting, waiting for external processes |
| Mutex Lock | Acquire exclusive lock on resource | Preventing concurrent processing conflicts |
| Mutex Unlock | Release lock acquired by Mutex Lock | Completing locked sections |
| Try Catch | Catch and handle errors from downstream nodes | Graceful error handling, logging failures |
| Throw Error | Explicitly throw error with custom message | Business rule violations, custom error formatting |
The Broadcast node outputs a stream of individual messages based on an input array or object. It implements "For-Each" or "Map" style logic, with subsequent nodes operating on each individual element rather than the collection as a whole. Non-object values are wrapped into a single-element array.
Important: The Broadcast node is being deprecated and should NOT be used. If you have any existing flows using the Broadcast node, you should remove it and redesign those flows as soon as possible. Broadcast leads to flows that scale poorly, perform poorly, and are failure prone.
Why Broadcast Performs Poorly:
The number of requests made increases drastically with the number of records in the input payload. With the equation (Number of Parts) × (Number of Nodes) = Total Requests:
- 10 Parts × 3 Nodes = 30 requests (acceptable)
- 1,000 Parts × 3 Nodes = 3,000 requests (problematic)
- Using Script Node batching: 3 requests total (optimal)
For-Each Mode (Object Input): If provided an object, Broadcast sends each property as a single node execution.
Map Mode (Array Input): If provided an array of values, Broadcast sends each index of the array as a single node execution.
Note: Required Alternative — Use a Script Node to format data for batch operations. Instead of broadcasting 1,000 items through 3 nodes (3,000 requests), format all data in one Script Node and make bulk API calls (3 requests total). All existing Broadcast nodes must be replaced with this pattern.
The Fork node creates batches of messages based on branches in the flow. Each branch executes in parallel with the full payload passed to the Fork node. This allows flows to run different flow paths on the same payload simultaneously.
The forked branches can be recombined into a single array using a Combine node. When combined, the data from each path is merged into a single Object with the branch name as the property name.
| Parameter | Description |
|---|---|
| Branches | Add one or more branches linked to downstream nodes. Name branches to reflect downstream actions. |
Fork 1 Output:
{"data": {"Parts": [{"Part_No": "P123", "Revision": "A"}]}}Fork 2 Output:
{"data": {"Customer": {"name": "Acme Industries"}}}After Combine:
{
"Fork 1": {"data": {"Parts": [{"Part_No": "P123", "Revision": "A"}]}},
"Fork 2": {"data": {"Customer": {"name": "Acme Industries"}}}
}Tip: Name your branches descriptively (e.g., "Get Parts", "Get Customer") rather than using default names. This makes the combined output self-documenting.
The Combine node combines batches of messages created through Fork or Broadcast nodes back into a single message. The default configuration covers most use cases.
| Parameter | Default | Description |
|---|---|---|
| Timeout (s) | 10 | How long to wait for all messages before erroring (seconds) |
| Payload Combination Strategy | Index | Index (array), Last (single payload), or Merge (combined object) |
| Context Combination Strategy | Last | Index (array), Last (single context), or Merge (combined context) |
The Collect node collects messages by time or count, emitting an array of collected messages when the threshold is reached. Useful for batching incoming events for bulk processing.
| Parameter | Description |
|---|---|
| Batch Count | Number of messages to collect before emitting |
| Batch Time (ms) | Time in milliseconds to wait before emitting stored messages |
| Payload Combination Strategy | Index (array), Last (single payload), or Merge (combined object) |
| Context Combination Strategy | Index (array), Last (single context), or Merge (combined context) |
Important: Always use Batch Count in combination with Batch Time. If you set Batch Count to 5 but only receive 3 messages, the node will not emit until it receives the other 2 messages. Having both ensures messages are emitted on the timeout as a fallback.
The Schedule node is a source node used to issue a payload on a frequency or frequencies defined by Data Flow Schedules. It provides flexible cron-based scheduling with timezone support.
| Parameter | Description |
|---|---|
| Configure | Link opens Data Flow Schedule Editor in new browser tab |
The Schedule Editor allows you to configure multiple frequencies with different cron schedules, timezones, and payloads. Key schedule properties include:
- Name: Descriptive name for the schedule
- Active: Enable/disable the schedule
- Input Schema: JSON Schema defining inputs rendered on frequency dialogs
- Frequencies: Multiple cron-based schedules with individual payloads
Note: The older Schedule Node V1 is deprecated. Use the new Schedule Node which links to the Data Flow Schedule Editor for more flexible configuration.
The Delay node pauses execution of the next nodes by a specified time. Useful for rate limiting API calls, waiting for external processes to complete, or implementing polling patterns.
| Parameter | Description |
|---|---|
| Delay (ms) | Time in milliseconds the node should wait before executing next nodes |
The Mutex Lock node blocks execution until an exclusive lock is acquired on a resource. This is useful when you need to ensure a portion of a flow or the entire flow can only run once for a specific resource.
Example: You have a flow that runs on a schedule every 1 minute. You don't want the flow to process the same data twice. Use a Mutex Lock node to block the next execution from running if the prior execution is still running.
| Parameter | Description |
|---|---|
| Resource ID | Transformable field indicating the lock name. For flow-level locking, use a hard-coded string. |
| Lock TTL (ms) | How long the lock can be held. Auto-unlocks after this time. Min: 30,000ms, Max: 300,000ms |
| Lock Retries | Retry attempts. Set -1 for infinite retries. Set >0 for specific retry count. |
| Throw Error When Lock Not Acquired | If enabled, throws error when lock cannot be acquired. Otherwise, message is discarded. |
Critical: You MUST add a Mutex Unlock on all terminating routes of the flow, or you risk the lock persisting for the next execution until the Lock TTL expires.
The Mutex Unlock node releases the last lock placed by a Mutex Lock node. It has no parameters — it automatically releases the most recent lock acquired in the flow.
The Try Catch node catches errors that occur in downstream nodes. When an error occurs on the Try route, nodes linked to the Catch port are executed instead.
When no nodes are linked to the Catch port, the error is thrown and stops flow execution. This also occurs if you had a prior Try Catch node and want to clear it so errors stop execution.
| Output | Description |
|---|---|
| Try (port) | Normal execution path — link to nodes that may throw errors |
| Catch (port) | Error handling path — link to error handling nodes |
$state.lastError |
State property containing the caught error when in the catch branch execution |
Important: Never loop back into the flow from the Catch port. This can create an infinite loop inside the Data Flow if you don't carry an iterator.
The Throw Error node throws a ThrowBindingError which halts execution. The error uses the provided Message, and the data includes an object with an info property holding the Error Info parameter value.
Example: A Data Flow integrates a Purchase Order with an external system. When creation fails, the error needs to be rethrown with custom formatting after being caught by a Try Catch node.
| Parameter | Description |
|---|---|
| Message | String or transform for dynamic message. E.g., "PO " & $state.context.purchaseOrder.number & " failed creation"
|
| Error Info | Transformable field for any valid JSON pushed to the error's info property |
Message Transform: "PO " & $state.context.purchaseOrder.number & " failed creation"
Error Info Transform: {"purchaseOrder": $state.context.purchaseOrder}
Resulting Error:
{
"message": "PO 145 failed creation",
"info": {
"purchaseOrder": {
"number": "145",
"supplier": {"name": "Acme Industries"}
}
}
}Pattern 1: Log and Continue
Try Catch → (Catch) Log Node → Continue Processing
Pattern 2: Rethrow with Context
Try Catch → (Catch) Throw Error (formatted message with $state.lastError)
Pattern 3: Notify on Failure
Try Catch → (Catch) Send Notification → Log Error
Pattern: Prevent Overlapping Scheduled Executions
Schedule → Mutex Lock (hard-coded Resource ID) → Process → Mutex Unlock
Pattern: Resource-Level Locking
Mutex Lock (Resource ID = $.orderId) → Update Order → Mutex Unlock
- Remove Broadcast: Broadcast is deprecated — redesign flows using Script Node batching
- Use Fork for Parallelism: Query multiple systems simultaneously, then Combine results
- Set Reasonable Timeouts: Combine and lock timeouts should account for expected processing time
- Always Unlock: Ensure Mutex Unlock is on ALL terminating paths, including error paths
| Symptom | Likely Cause | Resolution |
|---|---|---|
| Combine node times out | One Fork branch failed or takes too long | Add Try Catch to each branch; increase timeout |
| Collect node never emits | Batch Count set but Batch Time not configured | Always set both Batch Count and Batch Time |
| Mutex lock persists between executions | Mutex Unlock missing on error path | Add Mutex Unlock to ALL terminating paths including Catch |
| Infinite loop in error handler | Catch port loops back into flow without iterator | Never loop from Catch; terminate or log and exit |
| Broadcast flow performs poorly | Broadcast is deprecated and scales poorly | Remove Broadcast node; redesign using Script Node batching |
$state.lastError is empty in Catch |
Error occurred before Try Catch was set | Place Try Catch before nodes that may error |
- Source & Trigger Nodes — Initiating flows and trigger mechanisms
- Transform Nodes — Data format conversion and array manipulation
- Script & Validation Nodes — JSONata and JavaScript custom logic
- Debugging & Context Nodes — Echo, Log, and diagnostic tools
- Data Flow Design Standards — Best practices for flow architecture
- Platform Website: fuuz.com
| Version | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2025-01-01 | Fuuz Documentation Team | Initial release - Complete guide covering all 10 flow control nodes with configuration parameters, examples, best practices, and troubleshooting. |
- Data-Flow-Nodes-Reference
- Source-and-Trigger-Nodes
- Transform-Nodes-Data-Flows
- Script-and-Validation-Nodes
- Debugging-and-Context-Nodes
- Flow-Schedules
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)