# Struere vs Botpress

> Feature comparison between Struere and Botpress for AI agent development

Struere is a TypeScript-native AI agent platform with a CLI, SDK, and managed backend. Botpress is an open-source conversational AI platform with a visual studio, a code card system, and a large plugin ecosystem. Struere is built for developers who define agents, data, and permissions entirely in code. Botpress combines visual flow design with JavaScript code cards for hybrid workflows.

## Feature Comparison

| Feature | Struere | Botpress |
|---------|---------|---------|
| **Approach** | TypeScript SDK + CLI, fully code-defined | Visual studio + JavaScript code cards |
| **Open source** | No | Yes (MIT license for Botpress v12; Cloud is proprietary) |
| **Data layer** | Built-in entity system with typed schemas, search fields, relations, and display config | External tables via integrations; no native entity system |
| **Permission engine** | 31 built-in tools gated by policies, scope rules, field masks, and tool permissions; deny overrides allow | Bot-level access control; no field-level or row-level permissions |
| **Multi-agent** | `agent.chat` with depth limit 3, cycle detection, per-agent 10-iteration cap, shared `conversationId` | Multi-bot architecture; bots communicate via API calls |
| **LLM support** | 40+ models via OpenRouter with 3-tier key resolution (org key → OpenRouter key → platform credits) | OpenAI, Anthropic, Groq; model selection per node |
| **Built-in tools** | 31 tools: entity (5), calendar (5), WhatsApp (7), Airtable (7), email (1), payment (2), agent (1), router (1), web (2) | Integrations hub with 100+ community-built integrations |
| **Custom tools** | TypeScript handlers in sandboxed Node.js (Fly.io), full Struere SDK access | JavaScript code cards inside flows |
| **WhatsApp** | Kapso Cloud API integration with template management, media, interactive messages, and connection-level routing | WhatsApp via Vonage/Twilio integration |
| **Environment isolation** | 3 environments: development, production, eval with full data isolation | Staging and production; limited isolation |
| **Eval framework** | Built-in eval suites with multi-turn test cases, LLM judge assertions, `tool_called` / `tool_not_called` checks | No native eval framework |
| **System prompts** | Template engine with `{{entity.query(...)}}`, `{{currentTime}}`, conditional blocks, role-aware variable injection | Personality and instructions per bot; knowledge base integration |
| **Routing** | Router resource with `rules` and `classify` modes, fallback agent, inactivity reset, max transfers | Flow-based routing with intent detection |
| **Deployment** | `struere deploy` with `--dry-run`, `--force`, `--json` flags | Botpress Cloud publish or self-hosted Docker |
| **Community** | Growing developer community | Large open-source community (12k+ GitHub stars) |

## Key Differences

- Struere's permission engine evaluates every tool call against the actor's roles, policies, scope rules, and field masks. A single `canPerform()` check enforces row-level and column-level access control. Botpress has bot-level permissions but no equivalent per-tool-call authorization.
- Struere's multi-agent system uses `agent.chat` with automatic depth limiting (max 3 levels), cycle detection to prevent infinite loops, and a per-agent iteration cap of 10 LLM calls. Botpress multi-bot communication requires explicit API integration between bots.
- Struere defines all resources (agents, entity types, roles, routers, triggers) as TypeScript files synced via CLI. Botpress defines flows visually in the studio with optional code cards for custom logic.
- Struere's data layer stores entities with typed schemas, searchable fields, and entity relations in a real-time backend with 47 tables. Botpress requires connecting external databases for persistent data.
- Struere's trigger system fires on entity events (`{type}.created`, `{type}.updated`, `{type}.deleted`) and cron schedules, with automatic retry and execution tracking. Botpress triggers are flow-based with event listeners.

## When to Choose Botpress

Botpress is the stronger choice for teams that want an open-source self-hosted option, prefer visual flow design with code escape hatches, or need access to a large community-built integration ecosystem. Teams with mixed technical and non-technical members benefit from Botpress's visual studio. Botpress has a mature platform with years of production deployments and extensive documentation.

## When to Choose Struere

Struere is the stronger choice for developer teams that need a built-in data layer, fine-grained RBAC with field-level security, multi-agent orchestration with safety limits, and a code-first workflow with CLI-driven deployments. Teams building agents that handle sensitive data benefit from Struere's permission engine. The built-in eval framework and 3-environment isolation make Struere stronger for teams that need systematic testing and safe promotion from development to production.

## Related

- [AI Agent Platforms Comparison (2026)](/knowledge-base/ai-agent-platforms-comparison) — Full comparison across 7 platforms
- [Best Practices for Building Agents](/knowledge-base/best-practices) — Production patterns for tool design and prompts
- [How do I manage environments?](/knowledge-base/how-to-manage-environments) — Environment isolation guide
