Skip to main content

Input Objects

Create variables and scenario parameters that you can change without rewriting queries.

What are Input Objects?

Input Objects are mutable data you create—variables, parameters, and small tables that you can edit anytime. Unlike Sources (which are immutable) and Views (which are calculated), Input Objects let you set values manually. They're perfect for scenario analysis, parameters, and "what-if" modeling.

They appear as yellow nodes in your graph.

Input Object Node

Yellow nodes represent editable Input Objects

Why Input Objects Matter

Dynamic analysis: Change parameters without modifying Views or SQL.

Scenario modeling: Compare "what-if" scenarios by updating variables.

Configurable dashboards: Users can adjust thresholds or filters directly.

Reusable parameters: Define values once, reference them throughout your analysis.

No SQL editing: Change numbers, dates, or categories without touching code.

Types of Input Objects

Single Value Variables

One variable with one value:

Example: A discount percentage

  • Variable name: discount_rate
  • Type: Numeric
  • Value: 0.15 (15%)

Use case:

@[orders] Apply @[discount_rate] to calculate discounted prices

Change discount_rate to 0.20, and all dependent Views recalculate automatically.

Single Variable

Single value variable for reusable parameters

Multiple Single-Value Variables

A collection of related variables in one Input Object:

Example: Sales targets

  • q1_target: 500000
  • q2_target: 600000
  • q3_target: 550000
  • q4_target: 700000

Each variable is a separate column you can edit independently.

Use case:

@[actual_sales] Compare to @[targets] and show variance

Multiple Variables

Multiple variables in one Input Object

Tabular Input Data

A small table you can edit like a spreadsheet:

Example: Product category mappings

product_idcategorypriority
A123ElectronicsHigh
B456ApparelMedium
C789HomeLow

Use case:

Join @[orders] with @[category_mapping] to enrich product data

Tabular Input

Small editable tables for lookup data and mappings

How to Create Input Objects

Creating New Input Objects

  1. Click the + icon next to "Inputs" in the sidebar
  2. Choose type: single variable, multiple variables, or table
  3. Name your Input Object
  4. Add an optional description
  5. Set initial values

From Spreadsheet Paste

Fastest method for tabular data:

  1. Copy data from Excel, Google Sheets, or any spreadsheet
  2. Create new Input Object
  3. Select "Tabular data"
  4. Paste directly
  5. Shadowfax auto-creates columns and rows

Paste from Spreadsheet

Paste spreadsheet data to create Input Objects instantly

With AI Assistance

Tell the AI what you need:

Create an Input Object with monthly budget targets for each region

The AI will create the structure. You can then edit the values.

Editing Input Objects

Changing Values

Right-click any Input Object node and select "Edit data":

  • For variables: Type new values directly
  • For tables: Edit cells inline like a spreadsheet
  • Add rows/columns: Use the + buttons

Changes apply immediately—all dependent Views recalculate.

Edit Input Object

Right-click to edit Input Object values

Real-Time Reactivity

When you change Input Object values:

  1. Input Object updates instantly
  2. All Views referencing it recalculate automatically
  3. Visualizations refresh with new data

This makes scenario analysis incredibly fast.

Common Use Cases

Discount scenarios:

  • Create discount_rate variable
  • Apply to revenue calculations
  • Change rate to see impact instantly

Budget planning:

  • Set target numbers in Input Object
  • Compare actuals vs. targets
  • Adjust targets and watch variance update

Date range filtering:

  • Create start_date and end_date variables
  • Reference in filters
  • Change dates without rewriting queries

Threshold configuration:

  • Define high_value_threshold variable
  • Segment customers above/below threshold
  • Adjust to see different segments

Category mappings:

  • Create lookup table for product categories
  • Join with transaction data
  • Edit categories without changing source data

Forecasting assumptions:

  • Set growth rates, churn rates, etc.
  • Build forecast models referencing these
  • Test different assumptions quickly

Use Case Example

Scenario analysis using adjustable discount rates

Tips & Best Practices

Use descriptive names: monthly_target is clearer than variable_1

Add units in descriptions: "Discount rate (as decimal, e.g., 0.15 for 15%)"

Start with reasonable defaults: Set initial values that make sense for typical scenarios

Group related variables: Put Q1-Q4 targets in one Input Object rather than four separate ones

Document your assumptions: Use the description field to explain what values represent

Keep tables small: Input Objects work best for dozens/hundreds of rows, not thousands

Use for parameters, not data: Don't replace proper Sources with Input Objects—use them for configuration and scenarios

AI Integration

The AI understands Input Objects:

Using @[discount_rate], calculate the discounted revenue for each product
Compare @[actual_sales] to @[monthly_targets] and highlight where we missed targets
Apply @[category_mapping] to classify transactions

The AI knows these values are editable and will explain that you can update them for different scenarios.

Understanding the Yellow Node

In your graph:

  • Yellow color distinguishes Input Objects from other nodes
  • Mutable icon shows they're editable
  • No upstream dependencies (usually)—they're starting points you control
  • Downstream Views depend on them and update when changed

Yellow Node in Context

Yellow Input Objects feeding into View transformations

Collaboration and Sharing

When you share a Workbook:

  • Input Objects are shared with the Workbook
  • Team members with edit access can change values
  • Everyone sees the same current values
  • Great for collaborative scenario planning
  • Sources - Immutable data vs. mutable Input Objects
  • Views - Transformations that reference Input Objects
  • Reactive System - How changes propagate automatically
  • Node Graph - Visual representation of Input Objects
  • Workbooks - Where Input Objects live