Files
OpenNoodl/dev-docs/tasks/phase-5-multi-target-deployment/01-byob-backend/TASK-002-data-nodes

TASK-002: Data Nodes Integration

Task ID: TASK-002
Phase: 5 - Multi-Target Deployment (BYOB)
Priority: 🔴 Critical
Difficulty: 🔴 Hard
Estimated Time: 1-2 weeks
Prerequisites: TASK-001 (Backend Services Panel)
Branch: feature/byob-data-nodes

Objective

Create visual data nodes (Query, Create, Update, Delete) that connect to the configured Backend Services, with a Visual Filter Builder as the hero feature.

Background

Users can now configure backend connections (TASK-001), but there's no way to actually USE them. This task bridges that gap by creating data nodes that:

  • Read from the cached schema to populate field dropdowns
  • Execute queries against the configured backend
  • Provide a visual way to build complex filters (the key differentiator)

The Visual Filter Builder eliminates the pain of writing Directus filter JSON manually.

User Story

As a Noodl user, I want to visually build queries against my Directus backend, so I don't have to learn the complex filter JSON syntax.

Current State

  • Backend Services Panel exists (TASK-001 )
  • Schema introspection works for Directus
  • No data nodes exist for BYOB backends
  • Users would have to use raw HTTP nodes

Desired State

  • Query Records node with visual filter builder
  • Create/Update/Delete Record nodes
  • All nodes populate dropdowns from cached schema
  • Filters generate correct Directus JSON

Scope

In Scope

  • Query Records node (most complex - has filter builder)
  • Create Record node
  • Update Record node
  • Delete Record node
  • Directus backend support (primary focus)

Out of Scope

  • Supabase/Pocketbase adapters (future task)
  • Realtime subscriptions
  • Batch operations
  • File upload nodes

Known Limitations (Dec 2025)

Directus System Collections Not Supported

Issue: The Query Data node only uses /items/{collection} API endpoint, which doesn't work for Directus system tables.

Affected Collections:

  • directus_users - User management (use /users endpoint)
  • directus_roles - Role management (use /roles endpoint)
  • directus_files - File management (use /files endpoint)
  • directus_folders - Folder management (use /folders endpoint)
  • directus_activity - Activity log (use /activity endpoint)
  • directus_permissions - Permissions (use /permissions endpoint)
  • And other directus_* system tables

Current Behavior: These collections may appear in the Collection dropdown (if schema introspection includes them), but queries will fail with 404 or forbidden errors.

Future Enhancement: Add an "API Path Type" dropdown to the Query node:

  • Items (default) - Uses /items/{collection} for user collections
  • System - Uses /{collection_without_directus_prefix} for system tables

Alternative Workaround: Use the HTTP Request node with manual endpoint construction for system table access.

Related: This limitation also affects Create/Update/Delete Record nodes (when implemented).