Quick reference for what Loopstack can do. Each entry links to the relevant build guide.
AI & LLM
| Capability |
Description |
Guide |
| Text generation |
Call Claude, OpenAI, or other LLMs with prompts or message history |
Text Generation |
| Structured output |
Force LLM to return data matching a JSON Schema |
Structured Output |
| Tool calling |
LLM decides which tools to invoke (function calling) |
Tool Calling |
| Multi-turn chat |
Conversation loops with message accumulation |
Chat Flows |
| AI agents |
Autonomous tool-calling loops with error recovery |
Agent Workflows |
| Multi-provider |
Use Claude and OpenAI in the same app, switch per-call |
LLM Providers |
| Streaming |
Real-time token streaming to the UI |
LLM Providers |
| Prompt templates |
Handlebars templates for dynamic prompts |
Templates |
Workflow Patterns
| Capability |
Description |
Guide |
| State machines |
Typed state, automatic persistence, transitions between places |
Workflows |
| Human-in-the-loop |
Pause for user input, forms, confirmations |
Human-in-the-Loop |
| Sub-workflows |
Launch child workflows, receive results via callbacks |
Sub-Workflows |
| Dynamic routing |
Guard-based conditional branching with priorities |
Dynamic Routing |
| Error handling |
Auto-retry with backoff, custom error places, manual retry |
Error Handling |
| State management |
Typed state interface, persistence across pauses |
State Management |
| Capability |
Description |
Guide |
| Custom tools |
Reusable logic with Zod schemas, injectable into workflows |
Tools |
| Custom documents |
Typed UI components with forms, code editors, buttons |
Documents |
| Task tools |
Tools that launch sub-workflows (for agent delegation) |
Sub-Workflows |
Integrations
| Capability |
Description |
Guide |
| OAuth 2.0 |
Provider-agnostic OAuth with Google and GitHub built-in |
OAuth |
| Docker sandboxes |
Run untrusted code in isolated containers |
Sandbox |
| Secrets management |
Request and store API keys/tokens from users at runtime |
Secrets |
| Programmatic execution |
Trigger workflows from APIs, webhooks, cron jobs |
Scheduling & Programmatic Execution |
| Scheduling |
Cron, webhooks, delayed runs, and batch fan-out via WorkflowRunner |
Scheduling & Programmatic Execution |
UI & Studio
| Capability |
Description |
| Visual workflow monitoring |
Watch workflow execution in real-time |
| Chat interface |
prompt-input widget for conversational UIs |
| Form widgets |
Text, textarea, select, slider, code-view, radio, checkbox |
| Document actions |
Buttons that trigger workflow transitions |
| Conditional widgets |
showWhen shows/hides and enabledWhen enables/disables widgets based on workflow place |
| Sub-workflow embedding |
.run() auto-renders child workflows inline in the parent’s view via show: 'inline' | 'link' | 'hidden' |
Extensibility
| Capability |
Description |
Guide |
| Custom LLM providers |
Implement LlmProviderInterface for any LLM API |
Creating LLM Providers |
| Custom OAuth providers |
Implement OAuthProviderInterface for any OAuth service |
Creating OAuth Providers |
| Registry packages |
Browse and install pre-built tools and workflows |
Registry |
Tech Stack
- Runtime: Node.js, TypeScript, NestJS 11
- Database: PostgreSQL (TypeORM), Redis (ioredis, BullMQ)
- Frontend: React 19, Vite, Tailwind CSS, Radix UI
- LLM SDKs: Anthropic SDK, OpenAI SDK
- Package manager: npm with workspaces