Sim

Overview

Sim's execution engine brings your workflows to life by processing blocks in the correct order, managing data flow, and handling errors gracefully, so you can understand exactly how workflows are executed in Sim.

Every workflow execution follows a deterministic path based on your block connections and logic, ensuring predictable and reliable results.

Documentation Overview

Key Concepts

Topological Execution

Blocks execute in dependency order, similar to how a spreadsheet recalculates cells. The execution engine automatically determines which blocks can run based on completed dependencies.

Path Tracking

The engine actively tracks execution paths through your workflow. Router and Condition blocks dynamically update these paths, ensuring only relevant blocks execute.

Layer-Based Processing

Instead of executing blocks one-by-one, the engine identifies layers of blocks that can run in parallel, optimizing performance for complex workflows.

Execution Context

Each workflow maintains a rich context during execution containing:

  • Block outputs and states
  • Active execution paths
  • Loop and parallel iteration tracking
  • Environment variables
  • Routing decisions

Deployment Snapshots

All public entry points—API, Chat, Schedule, Webhook, and Manual runs—execute the workflow’s active deployment snapshot. Publish a new deployment whenever you change the canvas so every trigger uses the updated version.

Deployment versions table

The Deploy modal keeps a full version history—inspect any snapshot, compare it against your draft, and promote or roll back with one click when you need to restore a prior release.

Programmatic Execution

Execute workflows from your applications using our official SDKs:

# TypeScript/JavaScript
npm install simstudio-ts-sdk

# Python
pip install simstudio-sdk
// TypeScript Example
import { SimStudioClient } from 'simstudio-ts-sdk';

const client = new SimStudioClient({ 
  apiKey: 'your-api-key' 
});

const result = await client.executeWorkflow('workflow-id', {
  input: { message: 'Hello' }
});

Best Practices

Design for Reliability

  • Handle errors gracefully with appropriate fallback paths
  • Use environment variables for sensitive data
  • Add logging to Function blocks for debugging

Optimize Performance

  • Minimize external API calls where possible
  • Use parallel execution for independent operations
  • Cache results with Memory blocks when appropriate

Monitor Executions

  • Review logs regularly to understand performance patterns
  • Track costs for AI model usage
  • Use workflow snapshots to debug issues

What's Next?

Start with Execution Basics to understand how workflows run, then explore Logging to monitor your executions and Cost Calculation to optimize your spending.

On this page

On this page

Start building today
Trusted by over 60,000 builders.
Build Agentic workflows visually on a drag-and-drop canvas or with natural language.
Get started