Narakim is a universal automation platform built on an agentic-first architecture. Unlike traditional "if-this-then-that" tools, Narakim lets you build bots and workflows that reason, branch, and act — powered by a visual Automation Graph and a rich extension ecosystem.
The Three Layers of Narakim
┌─────────────────────────────────────────────────────────┐
│ Narakim Studio │
│ Visual Bot Builder · AI Studio · Deployment UI │
└────────────────────────────┬────────────────────────────┘
│
┌────────────────────────────▼────────────────────────────┐
│ Control Plane (NestJS API) │
│ Bot Management · Secrets · Webhooks · WebSockets │
│ Platform Gateways (Discord / Slack / Telegram) │
└────────────────────────────┬────────────────────────────┘
│
┌────────────────────────────▼────────────────────────────┐
│ Automation Engine (Docker Container) │
│ Graph Traversal · Extension Calls · Data Mapping │
└─────────────────────────────────────────────────────────┘
Studio (Frontend)
The Narakim Studio is the browser-based interface where you create bots, build automation logic on the visual canvas, manage platform connections, configure secrets, and monitor deployments in real time.
Studio navigation:
| Section | Purpose |
|---|---|
| Dashboard | Overview of your bots, recent activity, and getting-started checklist |
| Workspaces | All your bots in one grid — create, search, and manage bots |
| AI Studio | Conversational AI agent for building and understanding bots |
| Network | Community automations gallery and public extensions |
| Settings | Team settings, billing, and global secrets |
Control Plane
The NestJS-based backend that handles user authentication, bot management, secrets storage, platform gateway connections, webhook ingestion, and real-time WebSocket event broadcasting.
Automation Engine
A standalone Node.js application that runs inside isolated Docker containers. When a bot is triggered, the engine loads your automation graph definition and executes each node in BFS order, calling extension services and routing data between nodes.
Bot Archetypes
The archetype defines the platform scope of a bot. It affects which extensions and suggestions appear in the automation canvas.
| Archetype | Description |
|---|---|
| Universal | Not tied to any single platform. You can connect Discord, Telegram, and Slack on the same automation and wire events from multiple platforms together. |
| Discord | Built specifically for Discord. Extensions and node suggestions are tailored to Discord servers, channels, and events. |
| Telegram | Built specifically for Telegram. Optimised for Telegram triggers, commands, inline buttons, and messaging actions. |
| Slack | Built specifically for Slack. Tailored to slash commands, app mentions, and interactive components in workspaces. |
| Cross-platform | (Coming soon) One bot, one automation graph — runs on any supported platform or all of them simultaneously without duplicating setups. |
Universal vs. Platform-specific:
- A Universal bot is not tied to any platform and can integrate multiple platforms on a single automation graph.
- A Discord / Slack / Telegram bot is built specifically for that platform and cannot integrate the other platforms at the bot level.
- Cross-platform (coming soon) means one bot, one graph — running across all platforms with no duplication.
Platform Integration Levels
When connecting a platform to a bot, you choose an integration level that determines how the bot operates on that platform:
Bot Level (Available)
Uses bot tokens. The automation performs as its own identity from the respective platform — a completely separate account from you.
Select this if you want the bot to use a standalone, separate account (e.g., a Discord bot user, a Telegram bot via @BotFather).
Account Level (Coming soon)
Connects your existing platform account. The bot carries out automation using your own account identity.
Select this if you want the bot to perform actions as you — using your existing account of the respective platform.
Core Data Model
- Team — Your workspace. All bots, secrets, and members belong to a team.
- Bot — The top-level entity. Has a name, status, archetype, and automation graph.
- Automation — The directed acyclic graph (DAG) of nodes and edges that defines what a bot does.
- Extension — A modular capability (Trigger, Action, Logic, or Data node) installed per-bot.
- BotSecret — An encrypted key/value pair (e.g., API keys, bot tokens) scoped to a bot.
- BotInstance — A running deployment of a bot in a specific environment.
What You Can Build
| Use Case | Automation Flow |
|---|---|
| Discord moderation bot | Discord Message Trigger → If Condition → Timeout Member |
| Hourly data sync | Timer Trigger → HTTP Request → Transform → HTTP Request |
| AI customer support | Discord Message Trigger → OpenRouter AI → Send Message |
| Telegram command bot | Telegram Command Trigger → HTTP Request → Telegram Send Message |
| Universal notifier | Webhook Trigger → Discord Action + Telegram Action |
| PDF report generator | Timer Trigger → Database Object → PDF Generator |
Platform Connections
Platforms are opt-in. A bot works perfectly without any platform connection. When you connect a platform, additional trigger and action extensions become available in your Node Palette.
| Platform | Status | Connection Method |
|---|---|---|
| Discord | ✅ Available | Bot token + Application ID |
| Slack | ✅ Available | Bot token + Signing secret |
| Telegram | ✅ Available | Bot token from @BotFather |
Connecting a platform does not change your automation structure — it simply unlocks platform-specific extensions and establishes the gateway or webhook that delivers events to your bot.
