Skip to main content

Testing and runs

FunnelStory gives you step-level tests, trigger previews, Chat tryouts, and a run history so you can ship agents confidently.

Build with AI

MCP run_flow is ideal for regression checks after your assistant edits JSON—see Vibe coding.

Step testing

In the agent builder, select a step and use Test to execute it with the current variable context. Fix SQL, templates, and missing globals before wiring more complexity.

Trigger preview

The trigger panel in the agent builder can preview what would match before you rely on the trigger in production. What you see depends on the trigger type:

Trigger typeWhat preview shows
QuerySample rows the SQL would return
Activity / Signal / Needle mover / ConversationMatching events (where the product supports preview for that type)
Schedule / IntervalUpcoming run times in a window
ManualNothing — manual triggers have no automatic matches to preview

You typically need a saved trigger configuration to preview. If the list is empty, check that the trigger is configured correctly and that matching data exists in your workspace.

Test runs

Start a test run from the builder to stream logs and intermediate LLM output without waiting for production schedules. This uses the same runtime as production but is initiated explicitly from the UI.

When testing a trigger-driven agent, you can supply sample trigger data in the test run panel. The sample must match the trigger type you are building for:

  • A query-shaped sample uses row with column values from your SQL.
  • An activity-shaped sample uses activity with fields like activity_id, account_id, timestamp.
  • Other event types follow the same pattern — see Variables and data — trigger data by type.

If the sample shape does not match the trigger type, steps that reference $.trigger.row (or the wrong event path) will see empty values.

Chat testing

From the Agents list, open Chat on an agent to supply inputs and stream responses. Chat-capable graphs should finish by writing to @.response (LLM steps).

Run history

Use View runs on an agent card to inspect past executions, statuses, and event timelines for a selected run.

Statuses you will see

StatusMeaning
RUNNINGWork is still executing or waiting within limits.
COMPLETEDAll paths finished successfully.
FAILEDAn error stopped the run (check events for the failing step).
WAITING_APPROVALA step requested human approval before continuing.

Runtime limits (selected)

Exact numbers belong in the flow authoring guide; highlights for operators:

AreaBehavior
CALL outputLarge function results fail the step—keep SQL selective.
GlobalsVery large @. state fails the run—avoid storing unbounded query results when possible.
LoopsCapped at 1000 iterations.
Background ticksLong runs may pause between runner cycles—design idempotent retries.

Debugging checklist

  • Templates show up empty → wrong variable path or missing quotes for object passthrough.
  • SQL returns nothing → verify table/column names against the semantic schema resource.
  • Chat is silent → confirm the final AGENT writes @.response.
  • Loop appears "out of order" → remember breadth-first scheduling (Operations).
  • $.trigger.row is empty → the run was not started by a query trigger; use the matching trigger path (see Variables and data).