What Are Worksheets?
Worksheets are your agent’s data layer - they’re full-featured spreadsheets where agents read inputs, write outputs, and store data.Why Spreadsheets?
Spreadsheets are the perfect interface for automation. They’re flexible (any data structure), familiar (everyone knows Excel), and visual (see your data instantly).
Creating a Worksheet
- Upload Existing
- Create from Scratch
- Import from URL
Start with your current spreadsheet
1
Click Upload
In the agent page, go to the Worksheet tab
2
Select File
Choose a file to upload:
- CSV: Simple comma-separated values
- XLSX: Excel workbooks (multiple sheets supported)
- XLS: Legacy Excel format
3
Review
Your spreadsheet loads in the editor. All formatting, formulas, and data are preserved.
Files up to 50MB are supported. For larger datasets, consider splitting into multiple files or using database integrations.
The Worksheet Editor
Decisional uses SpreadJS, a professional-grade spreadsheet engine with full Excel compatibility.Key Features
Formulas
All Excel formulas work: SUM, VLOOKUP, IF, INDEX/MATCH, and more
Formatting
Cell colors, fonts, borders, number formats, conditional formatting
Charts
Create visualizations: bar, line, pie, scatter charts
Multiple Sheets
Work with multiple sheets in one workbook
Filters & Sorting
Filter data, sort columns, group rows
Data Validation
Dropdowns, number ranges, date validation
Freeze Panes
Lock header rows/columns while scrolling
Auto-Save
Changes sync automatically every few seconds
Version History
Restore previous versions if needed
Keyboard Shortcuts
Navigation
Navigation
Selection
Selection
- Shift + Arrows: Extend selection
- Ctrl/Cmd + A: Select all
- Ctrl/Cmd + Space: Select entire column
- Shift + Space: Select entire row
Editing
Editing
- F2: Edit cell
- Ctrl/Cmd + C: Copy
- Ctrl/Cmd + V: Paste
- Ctrl/Cmd + X: Cut
- Ctrl/Cmd + Z: Undo
- Delete: Clear cell
Formatting
Formatting
- Ctrl/Cmd + B: Bold
- Ctrl/Cmd + I: Italic
- Ctrl/Cmd + U: Underline
- Ctrl/Cmd + 1: Format cells dialog
Structuring Data for Agents
How you structure your worksheet affects how well agents can work with it.Best Practices
Use Clear Column Headers
Use Clear Column Headers
Good:
| Customer Name | Order Date | Product SKU | Quantity | Unit Price | Total Amount |Bad:
| Name | Date | Prod | Qty | $ | Tot |Why: Agents understand descriptive names better. “Customer Name” is clearer than “Name”.
One Data Type Per Column
One Data Type Per Column
Good:
| Quantity | Unit Price |
| 10 | 50.00 |Bad:
| Details |
| 10 units @ $50 |Why: Agents can’t easily extract data from mixed-format text.
Separate Inputs and Outputs
Separate Inputs and Outputs
Option 1: Different columns
| [INPUT] Customer | [INPUT] Product | [OUTPUT] Quote ID | [OUTPUT] Total | [OUTPUT] Status |Option 2: Different sheets
- Sheet 1: “Requests” (inputs)
- Sheet 2: “Generated Quotes” (outputs)
Use Consistent Formats
Use Consistent Formats
Date format: Always use YYYY-MM-DD (e.g., 2025-01-15)Currency: Always include currency symbol or separate columnStatus values: Use controlled vocabulary (e.g., “Pending”, “Approved”, “Rejected” - not “pending”, “APPROVED”, “Reject”)Why: Consistency helps agents understand and generate correct data.
Add a Status Column
Add a Status Column
Track what the agent has processed:| Row | Customer | Product | Status |
| 1 | Acme Corp | Widget A | Processed |
| 2 | TechCo | Widget B | Pending |
| 3 | StartupXYZ | Widget C | Error |Agent instruction:
Include an ID Column
Include an ID Column
Add a unique identifier for each row:| ID | Customer | Product |
| Q-001 | Acme Corp | Widget A |
| Q-002 | TechCo | Widget B |Formula for auto-incrementing ID:Why: Makes it easy to reference specific rows in logs and debugging.
Using Formulas
Agents understand and respect Excel formulas.Common Formulas
- Math & Aggregation
- Lookups
- Conditional Logic
- Text & Dates
Sum:Average:Count:Multiply:Percentage:
How Agents Use Formulas
Agents read formula results: If cell E2 has
=C2*D2, the agent sees the calculated value, not the formula text.Agents can write to formula cells: If you want the agent to override a formula, that’s fine. The formula gets replaced.
Use formulas for validation: Add a column like
=IF(SUM(D2:D10) = E2, "Valid", "Error") to check agent output.Working with Multiple Sheets
Organize complex workflows across multiple sheets in one workbook.Common Patterns
- Input/Output Separation
- Reference Data
- Error Handling
- Multi-Stage Pipeline
Sheet 1: “Requests” (input data)
| Request ID | Customer | Product | Quantity |Sheet 2: “Quotes” (agent output)
| Quote ID | Request ID | Total | Status | Date |Agent instruction:
Data Validation
Constrain what agents (and humans) can enter into cells.Setting Up Validation
1
Select Cells
Click the column header or select the range you want to validate
2
Open Data Validation
Click Data → Data Validation in the toolbar
3
Choose Validation Type
- List: Dropdown with allowed values
- Number: Min/max range
- Date: Date range
- Custom formula: Advanced rules
4
Set Error Message
Define what message shows if validation fails
Validation Examples
Dropdown List
Dropdown List
Use case: Status column with fixed valuesSettings:
- Type: List
- Source:
Pending,In Progress,Completed,Cancelled
Number Range
Number Range
Use case: Quantity must be between 1 and 1000Settings:
- Type: Number
- Minimum: 1
- Maximum: 1000
Date Range
Date Range
Use case: Order date must be within last 90 daysSettings:
- Type: Date
- Minimum:
=TODAY()-90 - Maximum:
=TODAY()
Custom Formula
Custom Formula
Use case: Email must be valid formatSettings:
- Type: Custom
- Formula:
=AND(ISNUMBER(FIND("@", A2)), ISNUMBER(FIND(".", A2)))
Conditional Formatting
Automatically format cells based on their values.Use Cases
- Highlight Status
- Highlight High Values
- Expiration Warnings
- Duplicate Detection
Scenario: Color-code status valuesRule:
- If Status = “Completed” → Green background
- If Status = “Error” → Red background
- If Status = “Pending” → Yellow background
- Select status column
- Format → Conditional Formatting
- Add rule for each status value
Charts and Visualizations
Create charts to visualize your data.Creating a Chart
1
Select Data
Highlight the data range you want to chart (include headers)
2
Insert Chart
Click Insert → Chart in the toolbar
3
Choose Chart Type
- Column/Bar: Compare values across categories
- Line: Show trends over time
- Pie: Show proportions of a whole
- Scatter: Show correlation between two variables
4
Customize
- Add title
- Label axes
- Change colors
- Add legend
Chart Examples
Sales Over Time
Data: Date | RevenueChart type: Line chartUse: Track revenue trends by day/week/month
Product Mix
Data: Product | Quantity SoldChart type: Pie chartUse: See which products are most popular
Regional Comparison
Data: Region | Sales | ProfitChart type: Grouped column chartUse: Compare metrics across regions
Price vs. Volume
Data: Unit Price | Units SoldChart type: Scatter plotUse: Find correlation between price and demand
Importing and Exporting
Export Options
- Download
- Sync to Integration
Click File → Download and choose format:
- XLSX: Excel workbook (preserves formulas, charts, formatting)
- CSV: Plain data (one sheet only, no formatting)
- PDF: Static snapshot for sharing
Import from External Sources
- API Import
- Web Scraping
- Email Attachments
Use integrations to pull live data:
Advanced Features
Named Ranges
Create named references for frequently used ranges: Example:- Select cells B2:B100
- Name it “CustomerNames”
- Use in formulas:
=VLOOKUP(A2, CustomerNames, 1, FALSE)
Pivot Tables
Summarize large datasets:1
Select Data
Click anywhere in your data table
2
Insert Pivot Table
Click Data → Pivot Table
3
Configure
- Rows: What to group by (e.g., Product)
- Values: What to summarize (e.g., Sum of Quantity)
- Columns: Secondary grouping (e.g., Month)
Freeze Panes
Lock header rows/columns while scrolling:1
Select Cell
Click the cell where you want the freeze to start (e.g., B2 to freeze row 1 and column A)
2
Freeze
Click View → Freeze Panes
Performance Optimization
For Large Worksheets
Use Filters Instead of Multiple Sheets
Use Filters Instead of Multiple Sheets
Instead of: Separate sheets for each statusDo this: One sheet with a Status column, use filters to view subsetsWhy: Easier for agents to manage one dataset
Limit Formula Complexity
Limit Formula Complexity
Avoid: Nested formulas with 10+ levelsDo this: Break complex calculations into multiple columnsWhy: Faster calculation, easier debugging
Archive Old Data
Archive Old Data
Instead of: One sheet with 100,000 rows going back 5 yearsDo this: Monthly or yearly archive sheetsExample: “Active Data” (current month) + “Archive 2024” + “Archive 2023”Why: Faster loads and agent processing
Use External Databases for Very Large Datasets
Use External Databases for Very Large Datasets
If you have: Millions of rowsDo this: Store data in PostgreSQL/Snowflake, use worksheet as a “view” or “cache”Agent pattern:
Best Practices Summary
Keep it simple: Don’t over-engineer your data structure. Start simple and add complexity as needed.
Use clear names: Descriptive column headers, sheet names, and named ranges help everyone (including agents).
Validate inputs: Use data validation to prevent bad data from entering your worksheet.
Separate concerns: Use different sheets for inputs, outputs, reference data, and errors.
Document your structure: Add a “README” sheet explaining what each sheet/column does.
Version control: Download backups regularly or sync to external storage.