Skip to content

Floogos Update — Week 17, April 2026 (Apr 20–26)

Week 17 delivered four major features: a global Error Trigger node for n8n-style workflow error handling, a full Dynamic Dashboard Builder, shared folder and tag organization across Workflows, Forms, and Dashboards, and an extended set of Hub Fiscal and Bill.pt integration nodes. The Scheduler UI was also updated to use a material-UI component with full Spanish support.

A new errorTrigger node allows any workflow to act as an error handler for other workflows, in the same style as n8n’s Error Trigger. When one or more watched workflows fail, the error handler workflow is automatically triggered.

The node receives a full error payload:

  • error_message — the human-readable failure message
  • error_type — the category of error
  • error_stack — the full stack trace for debugging
  • failed_workflow_id and failed_workflow_name — the identifier and name of the workflow that failed
  • failed_node — the specific node that caused the failure
  • is_production / is_dev — whether the failure occurred in a production run or an editor test
  • execution_logs — the full log of steps executed before the failure
  • last_data — the last data state before the failure occurred

Configuration uses a WorkflowMultiSelector field to choose which workflows to watch. The error handler is registered in memory at server start and reloaded whenever a watched workflow is saved.

An infinite retry loop bug was also fixed as part of this implementation: the retry tracking row in the database is now updated in place rather than inserting duplicates, which was causing retries=1 to be read stale on repeated failures.

A full drag-and-drop dashboard builder is now available. Users can create custom dashboards with the following widget types:

  • KPI — Single metric display with optional trend indicator.
  • Bar / Line / Pie / Donut — Chart widgets connected to workflow data sources.
  • Table — Tabular data display with configurable columns.
  • Text / Image / Link — Static content widgets.
  • Menu — Navigation links grouped in a widget.
  • Section — A container widget that groups child widgets in a CSS grid. Existing widgets can be dragged into sections.

Additional features:

  • Filter bar with Select, Text, Date, and Date Range controls (unified popover style).
  • Six design template presets plus custom canvas backgrounds.
  • Security settings: toggle a dashboard as public, or protect it with a password or token using credentials from the credentials list.
  • Clone widget support.
  • Public dashboard view at /public-dashboard/:token (no authentication required).

Folders and tags are now available across all three content types: Workflows, Forms, and Dashboards. The feature includes:

  • Create, rename, and delete folders from the sidebar.
  • Assign any workflow, form, or dashboard to a folder.
  • Tag content with multiple labels and filter by tag.
  • Sticky sidebar layout with proper position: sticky and calculated height so the sidebar does not scroll out of view on long lists.
  • Auto-assignment: when a folder is selected in the list, newly created items are automatically placed in that folder.
  • The backend guards folder_id and tags columns with IF NOT EXISTS checks, removing the need for manual database migration steps.

Six additional nodes were added to the Hub Fiscal integration suite:

  • hubfiscalStoreBillpt — Stores a Bill.pt result in the Hub Fiscal MySQL database.
  • hubfiscalStoreShopify — Registers a Shopify order as pending in Hub Fiscal.
  • hubfiscalStoreSage — Stores a sageCreateDocument result in Hub Fiscal.
  • sageStoreFromHubfiscal — Writes a document into Sage X3 MSSQL (three lines: YFACTERLIN + YFACTERAN) from a Hub Fiscal output.
  • billptDownloadDocument — Downloads a PDF from Bill.pt using the token_download field.
  • base64ToFile — Decodes a base64 string and generates a temporary file with a download URL accessible from subsequent nodes.

The Bill.pt SDK was also extended with a downloadDocument() method supporting arraybuffer response type.

The scheduling dialog now uses the material-ui-cron component, which provides a visual cron builder fully translated into Spanish. Dark mode is also supported.

The application sidebar was reorganized into five logical groups separated by visual dividers, making it easier to navigate between sections as the number of pages grows.

The workflow selection drawer (accessible while editing) was updated with:

  • Folder grouping with collapsible sections and expand/collapse controls.
  • Pin mode to keep the drawer open while navigating.
  • Auto-close when a workflow is selected (in normal mode).
  • Active workflow highlight.
  • Empty state when no workflows exist in a folder.
  • Width increased from 239px to 360px.

The right configuration panel in the Dashboard Builder now has a tab toggle between Widget settings and Dashboard settings, so users can access canvas-level options (background, title, security) without losing the currently selected widget.

Form builder now supports multi-select field types. Dynamic endpoint options can be configured, and the field resolver supports nested API response paths using a flattenPaths/resolveNestedValue algorithm.

Configuration variables containing arrays are now correctly resolved when passed through template expressions. Previously, array values would not expand as expected in certain node configurations.

Internal _meta_ fields used during execution are now stripped before the trace is persisted to the database, preventing internal metadata from leaking into stored execution history.

  • The Error Trigger is backed by a new error_triggers table (migration 026) with a CREATE TABLE IF NOT EXISTS guard.
  • errorTriggerService maintains an in-memory registry per client, initialized at server start and refreshed on workflow save via syncErrorTriggers.
  • The fireErrorTriggers hook runs in workflowCoreV1 after the execution loop exits, using node_id as webHookStart to resolve the trigger start even when workflow.start is null.
  • Dashboard backend uses a new routes and DB migration for the dashboards table (migration 028).
  • Shared organization backend uses a new folders table and JSON tags columns with guards for both Forms and Dashboards.