Skip to main content

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

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

  • Shift + Arrows: Extend selection
  • Ctrl/Cmd + A: Select all
  • Ctrl/Cmd + Space: Select entire column
  • Shift + Space: Select entire row
  • F2: Edit cell
  • Ctrl/Cmd + C: Copy
  • Ctrl/Cmd + V: Paste
  • Ctrl/Cmd + X: Cut
  • Ctrl/Cmd + Z: Undo
  • Delete: Clear cell
  • 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

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”.
Good: | Quantity | Unit Price | | 10 | 50.00 |Bad: | Details | | 10 units @ $50 |Why: Agents can’t easily extract data from mixed-format text.
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)
Why: Makes it clear what the agent should read vs. write.
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.
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:
Only process rows where Status is "Pending".
After processing, set Status to "Processed" or "Error".
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:
="Q-" & TEXT(ROW()-1, "000")
Why: Makes it easy to reference specific rows in logs and debugging.

Using Formulas

Agents understand and respect Excel formulas.

Common Formulas

Sum:
=SUM(D2:D100)
Average:
=AVERAGE(E2:E100)
Count:
=COUNTA(A2:A100)
Multiply:
=C2 * D2
Percentage:
=E2 * 0.08  // 8% tax

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

Sheet 1: “Requests” (input data) | Request ID | Customer | Product | Quantity |Sheet 2: “Quotes” (agent output) | Quote ID | Request ID | Total | Status | Date |Agent instruction:
Read customer requests from the "Requests" sheet.
Write generated quotes to the "Quotes" sheet.
Link each quote to its request via Request ID.

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

Use case: Quantity must be between 1 and 1000Settings:
  • Type: Number
  • Minimum: 1
  • Maximum: 1000
Result: Agent can’t enter 0 or 1001.
Use case: Order date must be within last 90 daysSettings:
  • Type: Date
  • Minimum: =TODAY()-90
  • Maximum: =TODAY()
Result: Only recent dates allowed.
Use case: Email must be valid formatSettings:
  • Type: Custom
  • Formula: =AND(ISNUMBER(FIND("@", A2)), ISNUMBER(FIND(".", A2)))
Result: Must contain @ and . to be accepted.

Conditional Formatting

Automatically format cells based on their values.

Use Cases

Scenario: Color-code status valuesRule:
  • If Status = “Completed” → Green background
  • If Status = “Error” → Red background
  • If Status = “Pending” → Yellow background
How to:
  1. Select status column
  2. Format → Conditional Formatting
  3. 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

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

Use integrations to pull live data:
Agent instruction:
1. Fetch customer list from Salesforce API
2. Write to "Customers" sheet
3. Refresh daily at 6 AM

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

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
Avoid: Nested formulas with 10+ levelsDo this: Break complex calculations into multiple columnsWhy: Faster calculation, easier debugging
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
If you have: Millions of rowsDo this: Store data in PostgreSQL/Snowflake, use worksheet as a “view” or “cache”Agent pattern:
1. Query database for relevant rows
2. Write summary to worksheet
3. Process in worksheet
4. Write results back to database

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.

Next Steps