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]
- Checks
resolvecondition viaresolve_type(simple) or advancedchecker - Extracts and validates data, maps using
modeltoschemaContext.localObjs - Creates summary message via built-in composer
- 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
Advanced Features
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 checkedcell_not_empty- Field must have any valuedate_today- Date must be todaydate_today_or_earlier- Date must be today or earlierdate_earlier_than_today- Date must be earlier than todaydate_later_than_today- Date must be later than todaydate_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 permanentlycheckbox_off- Uncheck the checkbox (safe for review)clean_fields- Clear field values but keep rowset_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_schemato 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
referencenames (camelCase: “orderHistoryFeed”) - Set
resolve_typeandresolvestrategy explicitly - Enable
provide_validationand configure built-in composer - Use
checkbox_offfor safe workflow queues - Use
checkerfor complex multi-condition validation
❌ Don’ts:
- Don’t enable
positions_watchedwithout workflow needs - Don’t use workfeed for temporary data (use Multipanel)
- Don’t use TRANSFORM when reading multiple workfeeds
- Don’t forget to configure
resolvestrategy
Creating a New Workfeed
Option 1: Use INJECT PATTERN Flow (Hard & boring)
- Create header in Google Sheet with user-friendly field names
- Go to admin_server →
inject_patternpanel - Detect pattern: Choose “workfeed”, enter
referencename, assigntable_id/sheet_name - Map fields: GUBUS auto-creates
modelandfront_to_pivot_model - Configure: Set
insert_before_row,resolve_type,resolvestrategy, enableprovide_validation - Configure checker (if complex validation needed) - see GUBUS CHECKER
- Test before production use
Option 2: AI Flow (Recommended)
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_typeorchecker - 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