Skip to main content

Workflows

Workflows are the automation layer of the Alien Intelligence platform. A workflow is a directed acyclic graph (DAG) of nodes, where each node performs a discrete operation — fetching data, running OCR, searching a vector index, calling an LLM, making an HTTP request, and more. Nodes are connected by edges that define both execution order and data flow.

Workflows run on the platform's worker pool and have access to all platform resources: datasets, data clusters, embedding models, and external APIs. They are distinct from pipelines, which are document processing jobs that run on the data cluster itself.

What Workflows Can Do

A workflow can:

  • Query your data — fetch entries from datasets, run keyword or semantic search against data clusters
  • Process documents — perform OCR on PDFs, extract text from DOCX files, rerank search results
  • Generate content — call an LLM for chat completion, generate speech from text
  • Orchestrate agents — compose deep research agents that delegate to sub-agents and tools
  • Call external services — make outbound HTTP requests and return custom HTTP responses
  • Transform data — edit fields, aggregate results from multiple nodes

How Execution Works

When you run a workflow:

  1. The platform creates a Job record and pushes it to an SQS queue
  2. A worker picks up the job, parses the graph, and performs a topological sort on the edges
  3. Each node executes in order — the output of one node is available to the next via template expressions
  4. When all nodes complete, the job status is set to completed and outputs are accessible

Execution is either asynchronous (run — returns immediately with a job ID) or synchronous (run-sync — blocks until the job finishes). See Running Workflows for details.

Key Concepts

Nodes are the units of work. Each node has a type (e.g. get_entries, vector_search, chat_completion), a set of parameters, and defined input and output schemas. See Node Types for the full list.

Edges connect nodes. A flow edge (outputs → inputs) declares that one node's output feeds into the next and determines execution order. Tool and agent edges wire nodes together for agentic patterns without affecting execution sequence.

Params are the inputs to each node. They can be static values or dynamic template expressions that reference the output of upstream nodes, the workflow's input payload, or execution context.

Group nodes encapsulate a nested sub-workflow. At execution time the worker dissolves the group in-place, replacing it with its inner nodes and rewiring the edges seamlessly.

Next Steps