Introduction

Ensemble is a visual workflow orchestration platform that enables you to design, execute, and monitor AI and automation pipelines. Unlike linear automation tools or stateless chatbots, Ensemble uses a node-graph architecture where workflows are composed of interconnected "Nodes".

Why Ensemble?

Standard "Copilots" lack the persistent state required to execute business logic reliably over days or weeks. Ensemble maintains a Persistent Graph State, allowing multiple specialized agents (Researcher, Coder, Reviewer) to collaborate asynchronously, handle approvals, and adapt to errors without losing context.

Core Concepts

Workflow

A directed graph of Nodes and Edges. Workflows are the blueprints for your automation processes.

Node

A single operation unit (e.g., "AI Model", "API Request", "Approval Gate"). Nodes have Inputs and Outputs.

Run

An active execution instance of a Workflow. Runs maintain their own state, history, and variable context.

Agent

A specialized AI persona with defined roles, goals, and tools. Agents can be assigned to tasks within a workflow.

Node Library

Ensemble provides a rich library of pre-built nodes to construct your workflows. Only the standard nodes are documented here.

Crew AI Agents

Multi-agent orchestration using the CrewAI pattern.

agent

Crew Agent

Defines a persona, tools, and memory context for delegated tasks.

Inputs
  • Role: The agent's functional role (e.g., "Senior Researcher")
  • Goal: The primary objective or success criteria
  • Backstory: Context that shapes the agent's behavior
  • Model: The LLM powering this agent (default: k2p5)
task

Crew Task

Executes a specific set of instructions using an assigned agent.

Inputs
  • Description: Detailed task instructions
  • Expected Output: Desired format of the result
  • Agent: Connection to a Crew Agent node

Core Building Blocks

trigger

Trigger

The entry point for workflows. Can be activated via Webhook, API, or Schedule.

llm

Model Unit

Direct LLM inference using a configured model and system prompt.

Inputs
  • Prompt: System prompt or user instruction
  • Model: Model identifier (e.g., "k2p5", "gpt-4o")
Outputs
  • Text: The generated response

Integrations

api_request

API Request

Makes HTTP requests to external services or internal APIs.

Inputs
  • URL: Target endpoint
  • Method: GET, POST, PUT, DELETE, PATCH
  • Body/Headers: JSON payload and custom headers
scraper

Scraper

Fetches and extracts text content from web pages for analysis.

Logic & Flow

switch

Switch

Routes execution to "True" or "False" paths based on a condition.

loop

Loop

Iterates over an array of items, executing downstream nodes for each item.

approval

Approval Gate

Pauses execution until a user manually approves or rejects the step.

Advanced Orchestration

subworkflow

Subworkflow

Invokes another workflow as a child process, waiting for its result.

human_task

Human Task

Async human-in-the-loop task with detailed instructions, assignment, and timeout handling.

Execution Model

Ensemble's execution engine is designed for long-running, resilient processes.

Queue-Based Runtime: Execution follows a queue of nodes. When one node completes, its outputs determine the next nodes to be queued.
State Persistence: Every run's state (variable context, completed steps, pending queue) is persisted to the database. This allows workflows to "sleep" for days (e.g., waiting for an approval) and resume instantly without data loss.
Continuations: Blocking nodes like Approval or Human Task trigger a "Continuation". The run is effectively paused until an external event (user click, webhook) wakes it up.