Technical
How Wetel is built
Wetel is a GraphQL API with a workflow engine behind it. Apps for workspaces, building and docs sit in front. This page states what exists today and marks anything that does not.
// Architecture
One platform, several front doors
Clients reach the platform through an edge layer. The NestJS GraphQL API hands each request to the workflow engine. The engine calls LLM providers and reads knowledge stores.
flowchart LR
C[Clients: web chat, Telegram, partner WhatsApp, your app] --> E[Edge]
E --> A[NestJS GraphQL API]
A --> W[Workflow engine]
W --> L[LLM providers]
W --> K[Knowledge stores]
WS[Workspace app: Next.js] --> E
B[Builder app: Next.js] --> E
M[Marketing site and docs: Astro] -.-> E The same diagram as a list
- Clients: web chat, Telegram, partner WhatsApp and your own app.
- Edge: the entry point for every request.
- NestJS GraphQL API: authentication, tenant scoping and sessions.
- Workflow engine: runs the steps of a workflow.
- LLM providers and knowledge stores: called by the engine.
- Apps: workspace (Next.js), builder (Next.js), marketing and docs (Astro).
The workspace and builder apps are in preview. The marketing site and docs are the site you are reading.
Tenancy and data isolation
Every tenant's data is kept apart
Row-level scoping
Every account belongs to one tenant. Every request is scoped to the tenant of the signed-in session or API key, and every query filters by it.
Shared database today
Tenants share the platform's database today. A dedicated-database option is designed but not currently offered.
Roles inside a tenant
Two roles exist today: OWNER and MEMBER. Owner-only actions, such as approvals, check the role on every call.
Security and governance
Controls that exist today
Owner approvals
A workflow step can pause until an owner approves. AI drafts, people decide.
Audit log
Sensitive actions are recorded so an owner can see what happened.
Signed tokens
Sessions use signed tokens. API keys are scoped to one tenant.
Rate limits
Public operations are rate limited. The docs list the defaults.
We hold no security certification today and do not claim one. Rate limiting
// API and SDK
Build on the same API we use
Start with the guide, then use the reference for every query and mutation.
// Integrations
Channels and connectors
| Integration | Status | Note |
|---|---|---|
| GraphQL API | Live | Your own interface. |
| SDK web chat | Live | Embeddable widget. |
| Telegram | Live | Bot connected to an AI employee. |
| Live | Through a partner messaging platform. | |
| Knowledge bases | Live | Answers from your documents. |
| Browser and phone voice calls | Pilot | Not in production. |
| WhatsApp groups | Planned | Not in production. |
// Reliability and roadmap
What is solid, what is next
We do not publish an uptime target yet. The docs describe how to observe and debug a run.
| Item | Status | Note |
|---|---|---|
| Workflow retries and failure paths | Live | Set per step. |
| Run tracing and diagnostics | Live | See the observability docs. |
| AI Office views | Pilot | Staging and demo workspaces. |
| Artifact generation | Pilot | Staging and demo workspaces. |
| Dedicated database per tenant | Not offered | Designed, not offered. |
| Voice calls and WhatsApp groups | Planned | No date promised. |
Questions about fit or security?
Ask us. We will answer from what exists today.