GUBUS WORKFEED

Workfeed is GUBUS's primary OUTPUT and DATA HOLDING pattern for persisting data in Google Sheets.

Think of it as your spreadsheet database - maintaining historical records and serving as permanent storage.

Workfeed provides a flexible, brand APPEND-ON-TOP feed where data accumulates over time. Unlike Multipanel (which is static and auto-cleaned), workfeed is flexible container, that may grow via new rows posting.

💡

Workfeed is your go-to pattern for permanent data storage. Perfect for transaction logs, order history, and workflow queues.

When to use Workfeed:

  • Historical transaction logs
  • Order/invoice history
  • Status change tracking
  • Workflow queues with position tracking

How Workfeed Works

In READ Stage

[Read workfeed] → [Check resolve condition] → [Validate] → [Compose] → [localObjs]
→ [Optional resolve]
  1. Checks resolve condition via resolve_type (simple) or advanced checker
  2. Extracts and validates data, maps using model to schemaContext.localObjs
  3. Creates summary message via built-in composer
  4. Executes resolve strategy (clean/delete/mark rows)
💡

Common pattern: resolve=“checkbox_off” with done_coord_field_name for safe queue processing.


In POST Stage

[localObjs] → [Map to workfeed fields] → [Insert at insert_before_row]

Posts data at insert_before_row position (typically row 2). Newest data appears first, older data pushes down automatically.

💡

Supports multiple references: “feed1, feed2”. When reading multiple feeds, TRANSFORM and TARGET are FORBIDDEN - pass execution via next_schema.

Key Properties

Essential Configuration

PROPERTY
DESCRIPTION

reference

Unique identifier (descriptive, camelCase)

model

Maps columns to fields: {order_no: “A”, status: “B”}

insert_before_row

Position for new data (standard: 2 for newest-first)

resolve_type

Read condition: “checkbox_true”, “cell_not_empty”, “date_today”, “date_today_or_earlier”, “date_earlier_than_today”, “date_later_than_today”, “date_today_or_later”, “checker”

resolve

Post-read action: “checkbox_off”, “eliminate_row”, “clean_fields”, “set_field_value”

done_coord_field_name

Field to check for read condition

Advanced Features

PROPERTY
DESCRIPTION

positions_watched

Server position tracking: “simple”, “complex” (workflow and FlexItems only)

checker

Advanced multi-condition validation (AND logic) - see

GUBUS CHECKER

provide_validation

Enable built-in validation (connected silently via checkbox)

composer

Built-in composer: “Order {order_no} from {customer}”

💡

Always set resolve strategy and enable provide_validation. For complex conditions, use checker.

Read Resolution Logic

Simple Mode (Single Condition)

Set resolve_type to one of:

  • checkbox_true - Checkbox must be checked
  • cell_not_empty - Field must have any value
  • date_today - Date must be today
  • date_today_or_earlier - Date must be today or earlier
  • date_earlier_than_today - Date must be earlier than today
  • date_later_than_today - Date must be later than today
  • date_today_or_later - Date must be today or later

Complex Mode (Multi-Condition)

Set resolve_type: "checker" and configure checker array for AND logic validation.

All checkers must pass for row to be considered “done”.

See GUBUS CHECKER for complete documentation with 15+ check commands.

Fail on malformed rows

Set fail_on_read_error: true when a malformed value must abort the entire read instead of being skipped as a non-matching row. This is useful for integrity-sensitive date reads.

  • Empty or unparsable values required by a date condition fail the read.
  • Valid values that simply do not match the condition remain normal non-matches.
  • Errors identify the workfeed, checker or resolve type, field, value, expected format, and 1-based sheet row.
  • Custom workfeeds inherit the base workfeed setting unless they explicitly override it.

The switch is available as Fail on malformed row in the Read Setup section of the Inspect Gubus Pattern modal.

Resolve Strategies

After reading “done” rows, execute action defined by resolve:

  • eliminate_row - Delete rows permanently
  • checkbox_off - Uncheck the checkbox (safe for review)
  • clean_fields - Clear field values but keep row
  • set_field_value - Set specific value in field
💡

Use checkbox_off for workflow queues - data is marked as read but not deleted, allowing review.

Common Use Cases

Use Case 1: Transaction History

Scenario: Storing all financial transactions for audit and reporting.

Schema Flow:

READ payment multipanel
  → VALIDATE transaction
  → POST to transaction workfeed
  → POST to balance updates

Why Workfeed? Transactions need permanent storage and historical tracking for compliance.


Use Case 2: Workflow Queue with Checkbox

Scenario: Production items that need processing by different workers.

Setup:

  • resolve_type: “checkbox_true”
  • done_coord_field_name: “is_completed”
  • resolve: “checkbox_off”
  • positions_watched: “simple”

Schema Flow:

READ production workfeed (where is_completed checkbox is checked)
  → TRANSFORM assign worker
  → CALL Workflow module
  → POST to completion log
  → RESOLVE: uncheck checkboxes (safe review)

Why Workfeed? Items are processed asynchronously and need state tracking. Checkbox approach allows review of processed items.


Use Case 3: Complex Multi-Condition Processing

Scenario: Process orders that are both ready AND have confirmed payment.

Setup:

  • resolve_type: “checker”
  • checker: Multiple validation rules (see GUBUS CHECKER)
  • resolve: “eliminate_row”

Schema Flow:

READ orders workfeed (checker: is_ready=true AND payment_status="confirmed")
  → TRANSFORM prepare shipment
  → POST to shipment workfeed
  → RESOLVE: eliminate processed orders

Why complex checker? Need to validate multiple conditions before processing.

Schema Integration

READ Configuration

Properties to set:

  • source_type: “WORKFEED”
  • source_reference: Workfeed reference (supports multiple: "feed1, feed2, feed3")
    • ✅ Supports multiple references with comma separation
    • ⚠️ If multiple references present - TRANSFORM and TARGET setup FORBIDDEN in this schema
    • Use next_schema to pass execution further

POST Configuration

Properties to set:

  • target_type: “WORKFEED”
  • target_names: Workfeed references (supports multiple: "feed1, feed2")
    • ✅ Supports multiple references (advanced use!)
    • Data posted to all specified workfeeds
    • Ensure localObjs structure matches target workfeed model
💡

Target workfeed model must match localObjs structure after TRANSFORM stage.


Example Flows

Example 1: Simple Queue Processing

Schema: processTaskQueue
├─ READ: taskQueue (workfeed)
├─ TRANSFORM: validate, assignWorker, calculatePriority
└─ POST: taskHistoryFeed (workfeed - permanent log)

Example 2: Multi-Workfeed Aggregation

Schema: aggregateMultipleSources
├─ READ: "salesFeed, expensesFeed, refundsFeed" (workfeed)
│  └─ TRANSFORM: FORBIDDEN
│  └─ POST: FORBIDDEN
└─ NEXT_SCHEMA: processAggregatedData
💡

When reading multiple workfeeds, use inner schemas with source_type: SIDE_OBJ for processing.


Best Practices

Do’s:

  • Use descriptive reference names (camelCase: “orderHistoryFeed”)
  • Set resolve_type and resolve strategy explicitly
  • Enable provide_validation and configure built-in composer
  • Use checkbox_off for safe workflow queues
  • Use checker for complex multi-condition validation

Don’ts:

  • Don’t enable positions_watched without workflow needs
  • Don’t use workfeed for temporary data (use Multipanel)
  • Don’t use TRANSFORM when reading multiple workfeeds
  • Don’t forget to configure resolve strategy

Creating a New Workfeed

Option 1: Use INJECT PATTERN Flow (Hard & boring)

  1. Create header in Google Sheet with user-friendly field names
  2. Go to admin_serverinject_pattern panel
  3. Detect pattern: Choose “workfeed”, enter reference name, assign table_id/sheet_name
  4. Map fields: GUBUS auto-creates model and front_to_pivot_model
  5. Configure: Set insert_before_row, resolve_type, resolve strategy, enable provide_validation
  6. Configure checker (if complex validation needed) - see GUBUS CHECKER
  7. Test before production use

Use GUBUS AI on developer page (already available via “Develop gracefully” button in dev dashboard) for automated setup.

Required:

  • Your understanding of what and what for you want to instantiate
  • Describe read conditions clearly if complex checker needed

Summary

Workfeed = Permanent Storage

  • ✅ All data, transaction logs, workflow queues
  • ✅ Reverse-chronological order (newest first via insert_before_row: 2)
  • ✅ Advanced read logic (simple or complex checker)
  • ✅ Multiple resolve strategies
  • ✅ Supports multiple references and read modes
  • ❌ NOT for temporary data (use Multipanel)

Key Characteristics:

  • Inserts at insert_before_row (newest first)
  • Advanced read logic via resolve_type or checker
  • Multiple resolve strategies (eliminate, checkbox_off, clean, set_value)
  • Position tracking for workflows and FlexItems
  • Validates with user-friendly errors (provide_validation)

Next Steps

👉 GUBUS CHECKER → - Complex multi-condition validation 👉 GUBUS MULTIPANEL → - Temporary data input patterns 👉 GUBUS SCHEMA → - Schema execution workflows 👉 ← Back to Getting Started - Main documentation