
Majlis — Arabic for a council or gathering — is a multi-tenant, multi-agent SaaS platform. Every subscribing organization gets a workspace of specialist AI agents (HR, Finance, Records, IT Support, Sales/CRM, Legal/Compliance) plus unlimited fully custom agents built by talking to a conversational builder — all served by one generic agent engine, not six separate codebases. Each agent is just a row in the database: a system prompt, a model, tiered tool grants, and scoped knowledge collections. Agents ground their answers in the org's own documents through agent-driven RAG — they choose when to search, rather than having chunks force-injected — and if nothing relevant is found, they say so instead of hallucinating. A seventh Main Agent coordinates the team: it delegates single-department questions to the right specialist and synthesizes cross-department requests like onboarding a new hire. Safety is deterministic, not left to the model. Every tool call passes through one choke point with three tiers: reads run autonomously, low-risk writes run and log, and high-risk actions (payments, unreviewed external calls) pause for human approval in an Approvals queue surfaced through Slack. A configurable monetary threshold stops large-value actions automatically. LLM inference runs on Fireworks serverless (gpt-oss-20b for routing and basic agents, gpt-oss-120b for HR and Finance). The RAG embedding model is self-hosted on AMD Developer Cloud via ROCm through an OpenAI-compatible endpoint, producing the 768-dim vectors that pgvector searches in Postgres — so AMD compute sits in the critical path of every grounded answer. Multi-tenancy is enforced at the database layer with row-level security.
13 Jul 2026