Skip to content

Floogos Update — Week 19, May 2026 (May 4–6, partial)

The first days of May 2026 (week 19, partial) delivered four notable features and a focused round of stability fixes. The Webhook Tester brings a Postman-style HTTP client directly into the workflow editor. Iteration progress is now visible as live badges on canvas nodes. A dedicated webhook insights page provides traffic analytics by IP and endpoint. A large internationalization pass added over 100 translation keys across both languages. Several iterator engine bugs and webhook reliability issues were also resolved.

A full HTTP client is now embedded in the workflow editor, accessible whenever a Webhook node is present in the workflow. It functions similarly to Postman or a REST client, pre-populated with data from the execution history:

  • URL bar — Shows the webhook URL with a toggle between Production and Development environment URLs.
  • Method selector — Choose GET, POST, PUT, DELETE, PATCH, or any supported method.
  • Headers table — Editable key-value table. Infrastructure headers added by Floogos are automatically filtered out so only user-relevant headers are shown.
  • JSON body editor — CodeMirror-based editor with syntax highlighting and error marking for the request body.
  • Response panel — Shows HTTP status code, response time in milliseconds, and the response body with color-coded formatting.

Access points:

  • From the execution history dialog: a “Replay” button appears when the selected step is a Webhook node.
  • From the node editor toolbar: a “Send” button appears in the header when the node is a Webhook and execution history is available.
  • The drawer is resizable by dragging its left edge.

When a workflow contains an Iterator node, each node inside the iterator now shows a live badge displaying the current iteration index and total count (n / total). This makes it easy to track progress in long-running batch operations directly on the canvas without opening the trace panel.

The badge resets correctly when the total changes between executions, accumulates properly across nodes with delays between iterations, and does not bleed values from previous execution history into a new run.

A new /webhooks/insights page provides traffic analytics for all webhooks:

  • Top 10 IPs — The most active source IP addresses across all webhooks, with call count and block rate.
  • Call history — Timeline of all webhook calls with status breakdown.
  • Per-webhook status — A summary row for each webhook showing total calls, blocked calls, success rate, and last activity.
  • Detailed metrics — Drill-down view for a specific webhook with full log access.

Security policies can now be edited and deleted directly from the Webhook drawer. Previously, policies could only be created. The delete action uses a confirmation dialog (replacing the previous browser window.confirm) consistent with the rest of the application’s design system.

Over 114 translation keys were added across both Spanish and English locales, covering the following sections: Insights, AI assistant, Comments, Dashboard, Forms, User profile AI settings, Version history, Execution history, Login, Credentials, and Workflow list. The language selector component was also updated.

A CustomEdge component was added to the workflow canvas, allowing styled connection lines between nodes. This is a foundation for future edge labeling and interaction features.

The activity heatmap in the Insights page now supports clicking on a cell to open a detail drawer showing the individual executions that occurred during that hour and day.

The version history component received a visual refresh and additional details per version entry.

The scheduling dialog in both the workflow list and the Workflow Planner now displays the workflow name as a subtitle, making it clear which workflow is being scheduled when multiple dialogs might be in context.

The Webhook node now includes the full request headers and the originating IP address in its _request output field, making this data available to subsequent nodes for logging, filtering, or auditing.

Iterator Batch: Source Tracking and Race Condition

Section titled “Iterator Batch: Source Tracking and Race Condition”

When an Iterator node ran in batch mode with multiple parallel branches, the source information for each result was not tracked correctly, causing some results to be attributed to the wrong branch. A race condition in mergeResults was also fixed, where concurrent branch completions could produce inconsistent merged outputs.

When a node inside an iterator batch referenced a module that could not be resolved, the error was not handled gracefully and could leave the batch in an indeterminate state. This is now caught and the batch fails cleanly with an error message.

Iterator Batch: mergeMultiple IterationInfo

Section titled “Iterator Batch: mergeMultiple IterationInfo”

When using mergeMultiple inside an iterator batch, the iterationInfo object was not propagated correctly to merged results, causing downstream nodes to lose context about which iteration produced the data.

Iterator Batch: Memory Load and _meta_ Propagation

Section titled “Iterator Batch: Memory Load and _meta_ Propagation”

Memory load operations inside iterator batches were not correctly resolving when _meta_ fields were present in the stored data. This caused certain batch configurations using DataStore or variable nodes to fail silently.

Batch broadcastEvent Missing workflowParentId

Section titled “Batch broadcastEvent Missing workflowParentId”

The broadcastEvent call used to push real-time updates to the frontend was missing the workflowParentId parameter in batch mode, causing the live canvas updates to not reach the correct workflow session.

Errors thrown inside batch executions were not serialized consistently, resulting in unhelpful error messages in the trace panel for failed batch nodes.

Under certain timing conditions, an iterator branch that completed successfully could be marked as failed when the engine evaluated the result after a delay. A guard was added to prevent this false-failed state.

When a workflow execution included a Delay node, the trace entries after the delay were not correctly linked to the preceding trace context, causing gaps in the execution history visualization.

The webhook server was not configured to trust the proxy’s X-Forwarded-For header, causing IP logging and IP-based security policies to see the proxy’s IP instead of the client’s real IP. IPv6 addresses are now also handled correctly in IP matching and logging.

  • The Webhook Tester is implemented as WebhookTesterDrawer (680px width) and is mounted lazily only when a Webhook node is detected in the flow.
  • Iteration progress broadcast is handled by a new broadcastEvent call in the engine that fires after each iteration step with n and total fields. The frontend accumulates these events per node and resets on a new run start.
  • The mergeResults fix in the iterator batch uses a per-branch lock to eliminate the race condition.
  • The trust proxy setting was added to serverWebhooks.js to correctly resolve req.ip behind a reverse proxy.