@agenticmail/enterprise 0.5.311 → 0.5.313

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/README.md +682 -544
  2. package/dist/agent-autonomy-PSXQ4MNP.js +766 -0
  3. package/dist/agent-heartbeat-6H3YAQ32.js +510 -0
  4. package/dist/agent-heartbeat-7WS3XILF.js +510 -0
  5. package/dist/agent-heartbeat-BFGKYUUK.js +510 -0
  6. package/dist/agent-heartbeat-SSV65YTX.js +510 -0
  7. package/dist/agent-heartbeat-T5IIHVF4.js +510 -0
  8. package/dist/agent-heartbeat-X3C6FIU2.js +510 -0
  9. package/dist/agent-tools-BW6CLQQ7.js +13897 -0
  10. package/dist/agent-tools-KEA7QEWF.js +13897 -0
  11. package/dist/agent-tools-NU7V3S5N.js +13899 -0
  12. package/dist/agent-tools-WINDYRQ2.js +13897 -0
  13. package/dist/chunk-3ELH5CU6.js +4910 -0
  14. package/dist/chunk-4QYRS3MS.js +1519 -0
  15. package/dist/chunk-52REEVDW.js +1519 -0
  16. package/dist/chunk-5RZJ76YI.js +4977 -0
  17. package/dist/chunk-6L7FQI5Q.js +4909 -0
  18. package/dist/chunk-763OMGFI.js +1519 -0
  19. package/dist/chunk-7ILSXGY6.js +1519 -0
  20. package/dist/chunk-7UCKD25B.js +551 -0
  21. package/dist/chunk-A6MSR7DL.js +4977 -0
  22. package/dist/chunk-ASD2YB6O.js +1519 -0
  23. package/dist/chunk-AZOIHLLX.js +4977 -0
  24. package/dist/chunk-BDCFOP7O.js +537 -0
  25. package/dist/chunk-BSVWPG6I.js +106 -0
  26. package/dist/chunk-C46DNDZB.js +1519 -0
  27. package/dist/chunk-CFVTK4FQ.js +4977 -0
  28. package/dist/chunk-CHJAOKCJ.js +4921 -0
  29. package/dist/chunk-CYEWTXYH.js +4977 -0
  30. package/dist/chunk-D3KFSWLK.js +48 -0
  31. package/dist/chunk-DUVGNAIY.js +4977 -0
  32. package/dist/chunk-DX4XEFVE.js +25229 -0
  33. package/dist/chunk-EX6FQSEV.js +167 -0
  34. package/dist/chunk-F5VZ5EUH.js +1519 -0
  35. package/dist/chunk-FVUDSPOD.js +4977 -0
  36. package/dist/chunk-G6FTZKJX.js +4977 -0
  37. package/dist/chunk-GFEAZN6Y.js +1519 -0
  38. package/dist/chunk-HKV4FQFW.js +1519 -0
  39. package/dist/chunk-ICCPULDT.js +25217 -0
  40. package/dist/chunk-IYEM627Q.js +25216 -0
  41. package/dist/chunk-JHRJ4QJ6.js +1519 -0
  42. package/dist/chunk-K2DAUYHV.js +4977 -0
  43. package/dist/chunk-KDQDSZZQ.js +4973 -0
  44. package/dist/chunk-LDUD6AZY.js +1519 -0
  45. package/dist/chunk-LES5TJ5L.js +4909 -0
  46. package/dist/chunk-MJGGW6MC.js +106 -0
  47. package/dist/chunk-MQKIWAHQ.js +106 -0
  48. package/dist/chunk-NGA7BBPF.js +48 -0
  49. package/dist/chunk-OE3TI4IQ.js +1519 -0
  50. package/dist/chunk-OHSBIYDR.js +4977 -0
  51. package/dist/chunk-OPOBUYJT.js +1519 -0
  52. package/dist/chunk-OZEYDEPB.js +1519 -0
  53. package/dist/chunk-P4PODSQH.js +1519 -0
  54. package/dist/chunk-P7UOSFIE.js +636 -0
  55. package/dist/chunk-PFN6DODU.js +4921 -0
  56. package/dist/chunk-PKDVM4IY.js +4917 -0
  57. package/dist/chunk-Q5KG3G7U.js +25115 -0
  58. package/dist/chunk-QMVNW4FJ.js +25229 -0
  59. package/dist/chunk-QZ5UPRBE.js +4977 -0
  60. package/dist/chunk-SPP23N42.js +4977 -0
  61. package/dist/chunk-SRGHNFOY.js +4921 -0
  62. package/dist/chunk-TPLVQFXM.js +2594 -0
  63. package/dist/chunk-U3XYF4QP.js +4977 -0
  64. package/dist/chunk-VRRJH2DY.js +4921 -0
  65. package/dist/chunk-WY42BS3F.js +1519 -0
  66. package/dist/chunk-XAA4VHHZ.js +1519 -0
  67. package/dist/chunk-Y2KIY4BA.js +4969 -0
  68. package/dist/chunk-Z5Y5KTPC.js +4977 -0
  69. package/dist/chunk-ZA4QRACH.js +4977 -0
  70. package/dist/chunk-ZHLGSTXF.js +4909 -0
  71. package/dist/cli-agent-26BUULHZ.js +2169 -0
  72. package/dist/cli-agent-2FLJWXOC.js +2169 -0
  73. package/dist/cli-agent-4NNQFLO6.js +2255 -0
  74. package/dist/cli-agent-5WV3EEPW.js +2252 -0
  75. package/dist/cli-agent-65JUT6DU.js +2193 -0
  76. package/dist/cli-agent-6HLL7A5K.js +2255 -0
  77. package/dist/cli-agent-CZ26QWUZ.js +2210 -0
  78. package/dist/cli-agent-HPVSWDNQ.js +2255 -0
  79. package/dist/cli-agent-K4SBVG5X.js +2210 -0
  80. package/dist/cli-agent-K5D424X2.js +2252 -0
  81. package/dist/cli-agent-U4OL5FGK.js +2210 -0
  82. package/dist/cli-agent-WUMPOIKQ.js +2169 -0
  83. package/dist/cli-agent-WWRGGJ2F.js +2255 -0
  84. package/dist/cli-agent-ZDBBTVGU.js +2193 -0
  85. package/dist/cli-agent-ZIZ5JP4O.js +2252 -0
  86. package/dist/cli-recover-I4KNR2OI.js +487 -0
  87. package/dist/cli-recover-IQTUKWR2.js +487 -0
  88. package/dist/cli-recover-OYJHELOR.js +487 -0
  89. package/dist/cli-recover-PVQC7UXB.js +487 -0
  90. package/dist/cli-recover-T32NABFA.js +487 -0
  91. package/dist/cli-serve-FE4CMMSN.js +143 -0
  92. package/dist/cli-serve-FTQJ3RUK.js +143 -0
  93. package/dist/cli-serve-G4PUCASH.js +143 -0
  94. package/dist/cli-serve-HBZYUUQ3.js +143 -0
  95. package/dist/cli-serve-L3NUROMO.js +143 -0
  96. package/dist/cli-serve-LAA5WIZK.js +143 -0
  97. package/dist/cli-serve-LV4TUSJD.js +143 -0
  98. package/dist/cli-serve-MFCTVA2L.js +140 -0
  99. package/dist/cli-serve-QCRUFI5B.js +143 -0
  100. package/dist/cli-serve-S7OGQN4P.js +143 -0
  101. package/dist/cli-serve-SI4BQRXT.js +140 -0
  102. package/dist/cli-serve-UNB7EHN4.js +143 -0
  103. package/dist/cli-serve-UV3GVDRD.js +143 -0
  104. package/dist/cli-serve-V5QICXR5.js +143 -0
  105. package/dist/cli-serve-VG6Z6GIB.js +143 -0
  106. package/dist/cli-serve-XSYHPGZI.js +143 -0
  107. package/dist/cli-serve-Y534FCRV.js +140 -0
  108. package/dist/cli-verify-CZIITRED.js +149 -0
  109. package/dist/cli-verify-N73GOKEF.js +149 -0
  110. package/dist/cli-verify-QEEBZOUZ.js +149 -0
  111. package/dist/cli-verify-RC5HI6DU.js +149 -0
  112. package/dist/cli-verify-VKBNIEAX.js +149 -0
  113. package/dist/cli.js +5 -5
  114. package/dist/dashboard/app.js +16 -3
  115. package/dist/dashboard/components/org-switcher.js +5 -1
  116. package/dist/dashboard/org-switcher.js +156 -0
  117. package/dist/dashboard/pages/login.js +160 -4
  118. package/dist/dashboard/pages/task-pipeline.js +1 -1
  119. package/dist/factory-3IWXVE37.js +9 -0
  120. package/dist/factory-5M6PTMLC.js +11 -0
  121. package/dist/factory-CSSHN7GE.js +11 -0
  122. package/dist/factory-JFWXTAWK.js +11 -0
  123. package/dist/factory-TBGUYM5X.js +9 -0
  124. package/dist/google-W5AYGNUJ.js +33 -0
  125. package/dist/index.js +6 -6
  126. package/dist/meetings-FJ453ENF.js +12 -0
  127. package/dist/postgres-BCHZWRU3.js +832 -0
  128. package/dist/postgres-BI4QVRM6.js +825 -0
  129. package/dist/postgres-BOTHOPDW.js +875 -0
  130. package/dist/postgres-JBUKR3TA.js +873 -0
  131. package/dist/postgres-Z7QYSU6K.js +861 -0
  132. package/dist/routes-7QYAQTWA.js +90 -0
  133. package/dist/routes-JCBVZU54.js +90 -0
  134. package/dist/routes-KEDEJFRE.js +90 -0
  135. package/dist/routes-WI64ADVH.js +90 -0
  136. package/dist/routes-X36OSCID.js +90 -0
  137. package/dist/runtime-75XR6KEW.js +45 -0
  138. package/dist/runtime-BNM7ZNNL.js +45 -0
  139. package/dist/runtime-ES6WCJ7D.js +45 -0
  140. package/dist/runtime-KYJTML2B.js +45 -0
  141. package/dist/runtime-LO67ZHQA.js +45 -0
  142. package/dist/runtime-VIXKKVSZ.js +45 -0
  143. package/dist/runtime-WHWJPCGK.js +45 -0
  144. package/dist/runtime-Z2Q6GUHH.js +45 -0
  145. package/dist/runtime-ZZ6CALSB.js +45 -0
  146. package/dist/server-27A4WEJC.js +28 -0
  147. package/dist/server-2CBXP4WS.js +28 -0
  148. package/dist/server-4JQAB5R4.js +28 -0
  149. package/dist/server-6BOM5U64.js +28 -0
  150. package/dist/server-CA2I3LJY.js +28 -0
  151. package/dist/server-FLJKNPRD.js +28 -0
  152. package/dist/server-HMIHIQ2N.js +28 -0
  153. package/dist/server-KIXXLR2D.js +28 -0
  154. package/dist/server-KSEIZTXF.js +28 -0
  155. package/dist/server-MPVW7DKZ.js +28 -0
  156. package/dist/server-PRTVRQ2D.js +28 -0
  157. package/dist/server-SYIG6HAX.js +28 -0
  158. package/dist/server-U32KDIXC.js +28 -0
  159. package/dist/server-WFN6CA4T.js +28 -0
  160. package/dist/server-XQUE3FGT.js +28 -0
  161. package/dist/server-XWT2UORK.js +28 -0
  162. package/dist/server-Y3BGNN5Q.js +28 -0
  163. package/dist/setup-352L2TPS.js +20 -0
  164. package/dist/setup-4MM645XK.js +20 -0
  165. package/dist/setup-5JPWW6IP.js +20 -0
  166. package/dist/setup-CUN6LVUV.js +20 -0
  167. package/dist/setup-D3YHPWPY.js +20 -0
  168. package/dist/setup-D4A5I6UM.js +20 -0
  169. package/dist/setup-DOPLXTB3.js +20 -0
  170. package/dist/setup-E3NSIM6B.js +20 -0
  171. package/dist/setup-E3V2D7NL.js +20 -0
  172. package/dist/setup-FSYPGI2C.js +20 -0
  173. package/dist/setup-G3RPKRG3.js +20 -0
  174. package/dist/setup-KJ77HNWK.js +20 -0
  175. package/dist/setup-LPSOY5V5.js +20 -0
  176. package/dist/setup-N3ODDSQE.js +20 -0
  177. package/dist/setup-NLDM3M2P.js +20 -0
  178. package/dist/setup-PT6WGOYB.js +20 -0
  179. package/dist/setup-SWJMNDWF.js +20 -0
  180. package/dist/system-prompts-6OUTAMH6.js +41 -0
  181. package/dist/task-queue-YP2I54IA.js +9 -0
  182. package/dist/telegram-QRNGRT5M.js +17 -0
  183. package/dist/whatsapp-VYVINCGV.js +31 -0
  184. package/god_is_great.html +35 -0
  185. package/package.json +1 -1
  186. package/src/admin/routes.ts +24 -4
  187. package/src/agent-tools/index.ts +4 -1
  188. package/src/agent-tools/tool-resolver.ts +15 -4
  189. package/src/agent-tools/tools/browser.ts +2 -2
  190. package/src/agent-tools/tools/local/dependency-manager.ts +286 -0
  191. package/src/agent-tools/tools/local/index.ts +3 -0
  192. package/src/agent-tools/tools/messaging/telegram.ts +29 -0
  193. package/src/agent-tools/tools/messaging/whatsapp.ts +59 -4
  194. package/src/auth/routes.ts +15 -12
  195. package/src/cli-agent.ts +47 -6
  196. package/src/cli-serve.ts +2 -5
  197. package/src/dashboard/app.js +16 -3
  198. package/src/dashboard/components/org-switcher.js +5 -1
  199. package/src/dashboard/pages/login.js +160 -4
  200. package/src/dashboard/pages/task-pipeline.js +1 -1
  201. package/src/db/adapter.ts +2 -0
  202. package/src/db/factory.ts +78 -0
  203. package/src/db/postgres.ts +57 -12
  204. package/src/engine/agent-autonomy.ts +1 -1
  205. package/src/engine/agent-heartbeat.ts +1 -1
  206. package/src/engine/messaging-poller.ts +146 -11
  207. package/src/engine/oauth-connect-routes.ts +23 -3
  208. package/src/engine/routes.ts +1 -1
  209. package/src/engine/task-poller.ts +54 -3
  210. package/src/engine/task-queue.ts +30 -0
  211. package/src/runtime/index.ts +2 -1
  212. package/src/runtime/types.ts +2 -0
  213. package/src/server.ts +43 -1
  214. package/src/system-prompts/triage.ts +1 -1
package/README.md CHANGED
@@ -1,66 +1,73 @@
1
1
  # @agenticmail/enterprise
2
2
 
3
- **AI Agent Identity, Email & Workforce Platform for Organizations**
3
+ **The Complete AI Agent Workforce Platform**
4
4
 
5
- Deploy, manage, and govern AI agents as first-class employees — each with their own email address, skills, permissions, memory, and lifecycle. Built on [AgenticMail](https://agenticmail.io) + [AgenticMail](https://agenticmail.ai).
5
+ Deploy, manage, and govern AI agents as first-class employees — each with their own email, phone number, calendar, browser, tools, memory, and identity. Enterprise-grade security, compliance, and multi-tenant isolation built in.
6
6
 
7
7
  ```bash
8
8
  npx @agenticmail/enterprise
9
9
  ```
10
10
 
11
- One command. Interactive setup wizard. Dashboard URL in under 2 minutes.
11
+ One command. Interactive setup wizard. Full platform in under 2 minutes.
12
12
 
13
13
  ---
14
14
 
15
15
  ## Table of Contents
16
16
 
17
- - [Overview](#overview)
17
+ - [Why AgenticMail Enterprise](#why-agenticmail-enterprise)
18
18
  - [Quick Start](#quick-start)
19
- - [Setup Wizard](#setup-wizard)
20
19
  - [Architecture](#architecture)
21
- - [Database Backends](#database-backends)
22
- - [Engine Modules](#engine-modules)
20
+ - [Dashboard](#dashboard)
23
21
  - [Agent Runtime](#agent-runtime)
24
- - [MCP Integration Adapters](#mcp-integration-adapters)
25
22
  - [Agent Tools](#agent-tools)
23
+ - [Google Workspace Integration](#google-workspace-integration)
24
+ - [145 SaaS Integration Adapters](#145-saas-integration-adapters)
26
25
  - [Enterprise Skills](#enterprise-skills)
27
- - [Dashboard](#dashboard)
28
- - [API Reference](#api-reference)
26
+ - [Database Backends](#database-backends)
27
+ - [Security & Compliance](#security--compliance)
28
+ - [Data Loss Prevention (DLP)](#data-loss-prevention-dlp)
29
+ - [Multi-Tenant & Organizations](#multi-tenant--organizations)
30
+ - [Workforce Management](#workforce-management)
31
+ - [Knowledge Base & RAG](#knowledge-base--rag)
32
+ - [Communication & Task Pipeline](#communication--task-pipeline)
33
+ - [Agent Autonomy System](#agent-autonomy-system)
34
+ - [Meeting & Voice Intelligence](#meeting--voice-intelligence)
35
+ - [Multimodal Support](#multimodal-support)
29
36
  - [Deployment](#deployment)
30
37
  - [CLI Commands](#cli-commands)
31
- - [Security](#security)
32
- - [Community Skills](#community-skills)
33
- - [Configuration](#configuration)
38
+ - [Environment Variables](#environment-variables)
39
+ - [Community Skills Marketplace](#community-skills-marketplace)
40
+ - [API Reference](#api-reference)
34
41
  - [License](#license)
35
42
 
36
43
  ---
37
44
 
38
- ## Overview
45
+ ## Why AgenticMail Enterprise
39
46
 
40
- AgenticMail Enterprise turns your organization's AI agents into managed employees:
47
+ Most AI agent platforms give you a chatbot. We give you a **workforce**.
41
48
 
42
- - **Identity** — Each agent gets a real email address, phone number, and digital identity
43
- - **Skills** — 47 enterprise skill definitions (Google Workspace, Microsoft 365, custom) + 147 SaaS integration adapters
44
- - **Permissions** — Fine-grained tool-level access control with 5 preset profiles
45
- - **Governance** — DLP scanning, guardrails, anomaly detection, compliance reporting, action journaling with rollback
46
- - **Workforce** — Shifts, schedules, on-call rotations, capacity planning, birthday automation
47
- - **Runtime** — Full agent execution loop with LLM streaming, session management, sub-agents, budget gates
48
- - **Dashboard** — Admin UI with dark/light themes, real-time activity tracking, agent creation wizard
49
+ - **Real Identity** — Each agent gets a real email address, phone number (Google Voice), Google Workspace access, and digital presence
50
+ - **Real Autonomy** — Agents clock in/out, check email, respond to messages, attend meetings, and work independently
51
+ - **Real Governance** — DLP scanning, guardrails, approval workflows, compliance reporting, action journaling with rollback
52
+ - **Real Scale** — Multi-tenant isolation, org-scoped everything, role-based access control, budget gates
53
+ - **Real Integration** — 145 SaaS adapters, 13 Google Workspace tools, full browser automation, shell access, filesystem tools
49
54
 
50
55
  ### By the Numbers
51
56
 
52
57
  | Metric | Count |
53
58
  |--------|-------|
54
- | Source files | 342 |
55
- | Engine modules | 25+ |
56
- | API routes | 328 |
59
+ | Source files | 770+ |
60
+ | Engine modules | 82 |
61
+ | Dashboard pages | 28 + 23 agent detail tabs |
62
+ | Documentation pages | 49 |
57
63
  | Database backends | 10 |
58
- | SaaS integration adapters | 147 |
59
- | Enterprise skill definitions | 47 |
60
- | Agent tools | 28 |
61
- | Route sub-apps | 22 |
64
+ | SaaS integration adapters | 145 |
65
+ | Enterprise skill definitions | 52 |
66
+ | Google Workspace tools | 13 services |
67
+ | Agent tools | 270+ |
62
68
  | Soul templates | 51 (14 categories) |
63
- | Community skill marketplace | Built-in |
69
+ | DLP rule packs | 7 (53 pre-built rules) |
70
+ | Compliance report types | 5 (SOC 2, GDPR, SOX, Incident, Access Review) |
64
71
 
65
72
  ---
66
73
 
@@ -73,538 +80,689 @@ npx @agenticmail/enterprise
73
80
  ```
74
81
 
75
82
  The wizard walks you through:
76
- 1. **Company Info** — Name, admin email, password, subdomain selection
77
- 2. **Database** — Pick from 10 backends (SQLite for dev, Postgres/MySQL/MongoDB/DynamoDB/Turso for production)
78
- 3. **Deployment** — AgenticMail Cloud, Fly.io, Railway, Docker, or Local
79
- 4. **Custom Domain** — Optional: point your own domain at the dashboard
80
- 5. **Domain Registration** — Optional: register with AgenticMail registry for domain protection
83
+ 1. **Database** — Pick from 10 backends with smart auto-configuration (auto-detects Supabase/Neon pooler mode, generates direct URLs for migrations, adds `?pgbouncer=true` automatically)
84
+ 2. **Admin Account** — Name, email, password, company name
85
+ 3. **Email Delivery** — Optional SMTP/OAuth setup
86
+ 4. **Custom Domain** — Optional: point your own domain via Cloudflare tunnel
87
+ 5. **First Agent** — Create your first AI agent with a soul template
81
88
 
82
89
  ### Option B: Programmatic
83
90
 
84
91
  ```typescript
85
- import { createServer } from '@agenticmail/enterprise';
86
- import { createAdapter } from '@agenticmail/enterprise/db';
92
+ import { createServer, createAdapter, smartDbConfig } from '@agenticmail/enterprise';
87
93
 
88
- const db = await createAdapter({
89
- type: 'postgres',
90
- connectionString: process.env.DATABASE_URL,
91
- });
94
+ const db = await createAdapter(smartDbConfig(process.env.DATABASE_URL));
92
95
  await db.migrate();
93
96
 
94
97
  const server = createServer({
95
98
  port: 3000,
96
99
  db,
97
100
  jwtSecret: process.env.JWT_SECRET,
101
+ runtime: {
102
+ enabled: true,
103
+ apiKeys: { anthropic: process.env.ANTHROPIC_API_KEY },
104
+ },
98
105
  });
99
106
 
100
107
  await server.start();
101
108
  ```
102
109
 
103
- ---
104
-
105
- ## Setup Wizard
110
+ ### Option C: Standalone Agent
106
111
 
107
- The interactive setup wizard (`npx @agenticmail/enterprise` or `npx @agenticmail/enterprise setup`) guides you through every step with sensible defaults.
112
+ Run an agent as its own process (recommended for production):
108
113
 
109
- ### Step 1: Company Info
114
+ ```bash
115
+ node dist/cli.js agent --env-file=.env.fola
116
+ ```
110
117
 
111
- - Company name
112
- - Admin email + password (min 8 chars, requires uppercase or number)
113
- - Subdomain selection with auto-generated suggestions (slug from company name, abbreviations, variants)
114
- - "Generate more" option for random suffix suggestions
115
- - Custom subdomain input with validation
118
+ Each agent runs independently with its own port, connects to the shared database, and registers with the main server for health checks and lifecycle management.
116
119
 
117
- ### Step 2: Database
120
+ ---
118
121
 
119
- Choose from 10 backends organized by category:
122
+ ## Architecture
120
123
 
121
- | Category | Options |
122
- |----------|---------|
123
- | **SQL** | PostgreSQL, MySQL/MariaDB, SQLite |
124
- | **NoSQL** | MongoDB |
125
- | **Edge** | Turso (LibSQL) |
126
- | **Cloud** | DynamoDB (AWS), Supabase, Neon, PlanetScale, CockroachDB |
124
+ ```
125
+ ┌──────────────────────────────────────────────────────────────┐
126
+ │ Admin Dashboard (28 pages) │
127
+ │ React · Dark/Light themes · Real-time updates │
128
+ │ Agents · Workforce · DLP · Compliance · Vault · Knowledge │
129
+ │ Activity · Journal · Guardrails · Task Pipeline · Audit │
130
+ ├──────────────────────────────────────────────────────────────┤
131
+ │ Hono API Server │
132
+ │ Auth · Admin · Engine (82 modules) · Middleware (9 layers) │
133
+ ├──────────────────────────────────────────────────────────────┤
134
+ │ Engine Core │
135
+ │ Lifecycle · Permissions · DLP · Guardrails · Compliance │
136
+ │ Journal · Approvals · Policies · Knowledge · Memory │
137
+ │ Communication · Workforce · Vault · Storage · Autonomy │
138
+ │ Onboarding · Soul Library · Tool Catalog · OAuth Connect │
139
+ │ Meeting Monitor · Voice Intelligence · Activity Tracking │
140
+ ├──────────────────────────────────────────────────────────────┤
141
+ │ Agent Runtime │
142
+ │ LLM Client (multi-provider) · Session Manager │
143
+ │ Tool Executor (270+ tools) · Sub-Agent Spawning │
144
+ │ Budget Gates · Model Fallback · Streaming │
145
+ ├──────────────────────────────────────────────────────────────┤
146
+ │ Messaging & Channels │
147
+ │ Email (Gmail/Outlook) · Telegram · WhatsApp │
148
+ │ Google Chat · Browser Automation · Voice/Meetings │
149
+ ├──────────────────────────────────────────────────────────────┤
150
+ │ Integration Layer │
151
+ │ 145 SaaS Adapters · 13 Google Workspace Services │
152
+ │ MCP Framework · OAuth Connect · Dependency Manager │
153
+ ├──────────────────────────────────────────────────────────────┤
154
+ │ Database Adapter Layer │
155
+ │ Postgres · MySQL · SQLite · MongoDB · DynamoDB · Turso │
156
+ │ Supabase · Neon · PlanetScale · CockroachDB │
157
+ │ Smart pooler detection · Auto-optimized connections │
158
+ └──────────────────────────────────────────────────────────────┘
159
+ ```
127
160
 
128
- Each option collects the right credentials:
129
- - **SQLite**: File path (default: `./agenticmail-enterprise.db`)
130
- - **DynamoDB**: AWS Region + Access Key ID + Secret Access Key
131
- - **Turso**: Database URL + Auth Token
132
- - **All others**: Connection string with format hints
161
+ ### Middleware Stack
133
162
 
134
- ### Step 3: Deployment
163
+ | Layer | Purpose |
164
+ |-------|---------|
165
+ | Request ID | UUID per request for distributed tracing |
166
+ | Transport Encryption | Optional AES-GCM encryption for all API responses |
167
+ | Security Headers | CSP, HSTS, X-Frame-Options, X-Content-Type-Options |
168
+ | CORS | Configurable origins |
169
+ | Rate Limiting | Per-IP, configurable RPM (default: 120) |
170
+ | IP Firewall | CIDR-based access control |
171
+ | Audit Logging | Every mutating action logged with actor, org, timestamp |
172
+ | RBAC | Role-based access (owner, admin, member, viewer) |
173
+ | Org Scoping | Automatic data isolation for multi-tenant deployments |
135
174
 
136
- | Target | Description |
137
- |--------|-------------|
138
- | **AgenticMail Cloud** | Managed hosting, instant URL (`subdomain.agenticmail.io`) |
139
- | **Fly.io** | Your Fly.io account, generates `fly.toml` |
140
- | **Railway** | Your Railway account, generates `railway.toml` |
141
- | **Docker** | Self-hosted, generates `docker-compose.yml` + `.env` |
142
- | **Local** | Dev/testing, starts server immediately on port 3000 |
175
+ ---
143
176
 
144
- ### Step 4: Custom Domain (Optional)
177
+ ## Dashboard
145
178
 
146
- For non-local deployments, optionally configure a custom domain. The wizard shows DNS instructions specific to your deployment target (CNAME for cloud/Fly, reverse proxy for Docker, Railway settings).
179
+ 28 full pages + 23 agent detail tabs, served directly from the enterprise server:
147
180
 
148
- ### Step 5: Domain Registration (Optional)
181
+ ### Platform Pages
149
182
 
150
- Registers your domain with the AgenticMail central registry:
151
- - Generates a 256-bit deployment key (shown once, must be saved)
152
- - Creates a DNS TXT verification challenge
153
- - Optional immediate DNS verification (retries 5x with 10s intervals)
154
- - Recovery via `agenticmail-enterprise recover` if key is available
183
+ | Page | Description |
184
+ |------|-------------|
185
+ | **Dashboard** | Setup checklist, quick stats, getting started guide |
186
+ | **Agents** | Create, configure, start/stop, monitor all agents |
187
+ | **Users** | User management, roles, org assignment, impersonation |
188
+ | **Organizations** | Client org management, billing, access control |
189
+ | **Org Chart** | Visual organizational hierarchy |
190
+ | **Workforce** | Shifts, schedules, on-call, capacity, clock records |
191
+ | **Task Pipeline** | Visual task flow, node-based pipeline editor |
192
+ | **Messages** | Agent-to-agent communication hub |
193
+ | **Knowledge** | Document upload, chunking, RAG search |
194
+ | **Knowledge Contributions** | Agent-contributed knowledge review |
195
+ | **Knowledge Import** | Bulk import from external sources |
196
+ | **Skills** | Enterprise skill management and assignment |
197
+ | **Community Skills** | Marketplace: browse, install, configure, update |
198
+ | **Skill Connections** | OAuth and credential management for skills |
199
+ | **DLP** | Rules, rule packs (7 enterprise packs), violations, scanning |
200
+ | **Guardrails** | Intervention rules, anomaly detection, agent safety |
201
+ | **Compliance** | SOC 2, GDPR, SOX, Incident, Access Review reports |
202
+ | **Journal** | Action journal with detail modal and rollback |
203
+ | **Audit Log** | Complete audit trail with org filtering |
204
+ | **Activity** | Real-time tool calls, conversations, cost tracking |
205
+ | **Approvals** | Human-in-the-loop approval queue |
206
+ | **Vault** | Encrypted credential storage, API keys, OAuth tokens |
207
+ | **Database Access** | Agent database connection management |
208
+ | **Memory Transfer** | Cross-agent memory sharing |
209
+ | **Roles** | Custom agent role template management (51 built-in) |
210
+ | **Settings** | Company, security, SSO, 2FA, branding, email config |
211
+ | **Domain Status** | Cloudflare tunnel, DNS, deployment health |
212
+ | **Login** | Setup wizard (first run) / login with 2FA support |
213
+
214
+ ### Agent Detail Tabs (per agent)
215
+
216
+ | Tab | Description |
217
+ |-----|-------------|
218
+ | Overview | Status, health, metrics, quick actions |
219
+ | Personal Details | Name, email, phone, avatar, identity |
220
+ | Configuration | Model, temperature, system prompt, soul |
221
+ | Permissions | Tool-level allow/deny, preset profiles |
222
+ | Skills | Assigned skills with risk levels |
223
+ | Tools | Available tools with security policies |
224
+ | Tool Security | Per-tool DLP and guardrail overrides |
225
+ | Email | Gmail OAuth, signature, email config |
226
+ | Channels | Telegram, WhatsApp, Google Chat setup |
227
+ | WhatsApp | WhatsApp Business integration |
228
+ | Communication | Agent messaging preferences |
229
+ | Memory | Long-term memory viewer/editor |
230
+ | Autonomy | Clock, daily catchup, goals, knowledge schedules |
231
+ | Budget | Token limits, cost caps, alerts |
232
+ | Workforce | Shift assignments, availability |
233
+ | Guardrails | Agent-specific intervention rules |
234
+ | Activity | Agent-specific activity feed |
235
+ | Security | API keys, access controls |
236
+ | Deployment | Runtime config, health endpoint |
237
+ | Manager | Supervisor/manager assignment |
238
+ | Meeting Browser | Meeting attendance and voice config |
239
+ | Personal Details | Birthday, timezone, language |
240
+
241
+ ### Features
242
+
243
+ - **Dark/Light themes** with CSS custom properties
244
+ - **Dynamic brand color** from company settings
245
+ - **Org switcher** on every page for multi-tenant filtering
246
+ - **Real-time SSE streaming** for live updates
247
+ - **49 built-in documentation pages** accessible from the dashboard
248
+ - **Transport encryption** — Optional AES-GCM encryption for all API traffic
155
249
 
156
250
  ---
157
251
 
158
- ## Architecture
252
+ ## Agent Runtime
159
253
 
160
- ```
161
- ┌─────────────────────────────────────────────────────────┐
162
- │ Admin Dashboard │
163
- │ (React, dark/light themes) │
164
- ├─────────────────────────────────────────────────────────┤
165
- │ Hono API Server │
166
- │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
167
- │ │ Auth │ │ Admin │ │ Engine │ │
168
- │ │ Routes │ │ Routes │ │ Routes │ │
169
- │ └──────────┘ └──────────┘ └──────────┘ │
170
- ├─────────────────────────────────────────────────────────┤
171
- │ Engine Modules (25+) │
172
- │ Skills · Permissions · Lifecycle · Knowledge Base │
173
- │ DLP · Guardrails · Journal · Compliance · Activity │
174
- │ Communication · Workforce · Vault · Storage · Onboarding│
175
- │ Policies · Memory · Approvals · Tenants · Deployer │
176
- │ Community Registry · Soul Library · Tool Catalog │
177
- ├─────────────────────────────────────────────────────────┤
178
- │ Agent Runtime │
179
- │ LLM Client · Session Manager · Tool Executor │
180
- │ Sub-Agent Manager · Email Channel · Follow-Up Scheduler │
181
- ├─────────────────────────────────────────────────────────┤
182
- │ MCP Integration Framework │
183
- │ 147 SaaS Adapters · OAuth Connect │
184
- ├─────────────────────────────────────────────────────────┤
185
- │ Database Adapter Layer │
186
- │ Postgres · MySQL · SQLite · MongoDB · DynamoDB · Turso │
187
- │ Supabase · Neon · PlanetScale · CockroachDB │
188
- └─────────────────────────────────────────────────────────┘
189
- ```
254
+ Full standalone agent execution — agents run as independent processes with their own port, tools, memory, and messaging channels.
190
255
 
191
- ### Middleware Stack
256
+ ### Runtime Features
257
+
258
+ | Feature | Description |
259
+ |---------|-------------|
260
+ | **Multi-Provider LLM** | Anthropic, OpenAI, xAI (Grok), Google — with automatic model fallback |
261
+ | **Session Manager** | Incremental message persistence, crash recovery, session resume |
262
+ | **Tool Executor** | 270+ tools with permission checking and DLP scanning |
263
+ | **Sub-Agent Spawning** | Spawn child agents for parallel work |
264
+ | **Budget Gates** | Cost check before every LLM call, hard limits with alerts |
265
+ | **Streaming** | SSE streaming for real-time dashboard updates |
266
+ | **Multimodal** | Process images, videos, documents from Telegram/WhatsApp |
267
+ | **Dependency Manager** | Auto-detect, install, and clean up system dependencies |
268
+ | **Email Channel** | Bi-directional Gmail/Outlook with OAuth |
269
+ | **Messaging** | Telegram long-polling, WhatsApp webhook |
270
+ | **Browser** | Full Playwright-based web automation |
271
+ | **Voice** | ElevenLabs TTS, meeting voice intelligence |
272
+ | **Memory** | DB-backed long-term memory with semantic search |
273
+ | **Heartbeat** | Configurable periodic checks (email, calendar, health) |
274
+ | **Autonomy** | Clock in/out, morning triage, daily catchup, goal tracking |
275
+
276
+ ### Standalone Agent Mode
192
277
 
193
- - **Request ID** — UUID per request for tracing
194
- - **Security Headers** — CSP, HSTS, XSS protection
195
- - **CORS** Configurable origins
196
- - **Rate Limiting** — Per-IP, configurable RPM (default: 120)
197
- - **IP Access Control** — CIDR-based firewall
198
- - **Audit Logging** — Every mutating action logged
199
- - **RBAC** — Role-based access control (owner, admin, member, viewer)
200
- - **Error Handling** — Structured error responses
201
- - **Circuit Breaker** — Database connectivity protection
202
- - **Health Monitor** — Periodic health checks with unhealthy threshold
278
+ ```bash
279
+ # .env.fola
280
+ DATABASE_URL=postgresql://... # Shared DB (auto-optimized for pooler)
281
+ AGENT_ID=3eecd57d-03ae-440d-8945-5b35f43a8d90
282
+ PORT=3102
283
+ ANTHROPIC_API_KEY=sk-ant-...
284
+
285
+ # Start
286
+ node dist/cli.js agent --env-file=.env.fola
287
+ ```
288
+
289
+ The agent automatically:
290
+ - Connects to the shared database (with smart pooler detection)
291
+ - Loads its configuration, permissions, and soul from DB
292
+ - Starts messaging channels (Telegram, WhatsApp, email)
293
+ - Begins autonomy features (clock in, morning triage)
294
+ - Registers health endpoint for dashboard monitoring
203
295
 
204
296
  ---
205
297
 
206
- ## Database Backends
298
+ ## Agent Tools
207
299
 
208
- All 10 backends implement the same `DatabaseAdapter` interface with full feature parity:
300
+ 270+ tools organized by category:
209
301
 
210
- ```typescript
211
- import { createAdapter, type DatabaseType } from '@agenticmail/enterprise/db';
302
+ ### Core Tools
212
303
 
213
- const db = await createAdapter({
214
- type: 'postgres', // or mysql, sqlite, mongodb, dynamodb, turso, supabase, neon, planetscale, cockroachdb
215
- connectionString: '...',
216
- });
304
+ | Tool | Description |
305
+ |------|-------------|
306
+ | `bash` / `shell` | Shell command execution |
307
+ | `browser` | Full Playwright web automation (screenshots, navigation, interaction) |
308
+ | `edit` | Precise file editing with search/replace |
309
+ | `read` / `write` | File I/O |
310
+ | `glob` / `grep` | File discovery and text search |
311
+ | `web_fetch` | HTTP requests with content extraction |
312
+ | `web_search` | Web search (Brave API) |
217
313
 
218
- await db.migrate(); // Run schema migrations
219
- await db.getStats(); // Health check
220
- await db.createUser({...}); // CRUD operations
221
- await db.logEvent({...}); // Audit logging
222
- ```
314
+ ### Google Workspace Tools
315
+
316
+ | Tool | Description |
317
+ |------|-------------|
318
+ | `gmail_search` / `gmail_read` / `gmail_send` / `gmail_reply` | Full Gmail access |
319
+ | `gmail_forward` / `gmail_trash` / `gmail_modify` / `gmail_labels` | Gmail management |
320
+ | `gmail_drafts` / `gmail_thread` / `gmail_attachment` / `gmail_profile` | Advanced Gmail |
321
+ | `gmail_get_signature` / `gmail_set_signature` | Signature management |
322
+ | `calendar_list` / `calendar_create` / `calendar_update` / `calendar_delete` | Calendar CRUD |
323
+ | `calendar_find_free` / `calendar_rsvp` | Scheduling |
324
+ | `drive_list` / `drive_search` / `drive_read` / `drive_upload` | Google Drive |
325
+ | `drive_create_folder` / `drive_share` / `drive_export` | Drive management |
326
+ | `contacts_list` / `contacts_search` / `contacts_create` | Google Contacts |
327
+ | `google_chat_send_message` / `google_chat_list_spaces` | Google Chat |
328
+ | `google_docs_*` / `google_sheets_*` / `google_slides_*` | Document editing |
329
+ | `google_forms_*` / `google_tasks_*` | Forms and Tasks |
330
+ | `google_meetings_*` | Meet integration |
331
+
332
+ ### Enterprise Tools
333
+
334
+ | Tool | Description |
335
+ |------|-------------|
336
+ | `enterprise-code-sandbox` | Isolated code execution |
337
+ | `enterprise-database` | Database queries |
338
+ | `enterprise-documents` | Document processing |
339
+ | `enterprise-http` | Advanced HTTP client |
340
+ | `enterprise-security-scan` | Vulnerability scanning |
341
+ | `enterprise-spreadsheet` | Spreadsheet operations |
342
+ | `knowledge-search` | RAG search across knowledge bases |
223
343
 
224
- ### Adapter Details
344
+ ### Agent Management Tools
225
345
 
226
- | Backend | Module | Notes |
227
- |---------|--------|-------|
228
- | PostgreSQL | `postgres.ts` | Full SQL, migrations, engine DB |
229
- | MySQL/MariaDB | `mysql.ts` | Full SQL, auto-converted DDL |
230
- | SQLite | `sqlite.ts` | Embedded, `better-sqlite3` |
231
- | MongoDB | `mongodb.ts` | Uses `_id` = `randomUUID()` |
232
- | DynamoDB | `dynamodb.ts` | Single-table design, GSI1 |
233
- | Turso | `turso.ts` | LibSQL edge database |
234
- | Supabase | `postgres.ts` | Managed Postgres (same adapter) |
235
- | Neon | `postgres.ts` | Serverless Postgres (same adapter) |
236
- | PlanetScale | `mysql.ts` | Managed MySQL (same adapter) |
237
- | CockroachDB | `postgres.ts` | Distributed (same adapter) |
346
+ | Tool | Description |
347
+ |------|-------------|
348
+ | `management_escalate` | Escalate to supervisor |
349
+ | `management_delegate` | Delegate task to another agent |
350
+ | `management_status_update` | Report status to manager |
238
351
 
239
- ### Engine Database
352
+ ### Messaging Tools
240
353
 
241
- SQL-backed deployments also get the `EngineDatabase` layer for engine module persistence:
354
+ | Tool | Description |
355
+ |------|-------------|
356
+ | `msg_telegram` / `msg_whatsapp` | Send messages via channels |
357
+ | `telegram_download_file` | Download media from Telegram |
242
358
 
243
- ```typescript
244
- const engineDbInterface = db.getEngineDB();
245
- const engineDb = new EngineDatabase(engineDbInterface, 'postgres');
246
- await engineDb.migrate(); // Versioned migration system
247
- ```
359
+ ### Dependency Management
248
360
 
249
- Features: DDL auto-conversion (`sqliteToPostgres()`, `sqliteToMySQL()`), dynamic table creation with `ext_` prefix, agent storage tables with `agt_`/`shared_` prefixes.
361
+ | Tool | Description |
362
+ |------|-------------|
363
+ | `check_dependency` | Check if system tool is installed |
364
+ | `install_dependency` | Auto-install missing dependencies |
365
+ | `list_dependencies` | List all agent-installed packages |
366
+ | `cleanup_dependencies` | Remove session-installed packages |
250
367
 
251
368
  ---
252
369
 
253
- ## Engine Modules
254
-
255
- The engine is the core of Enterprise — 25+ modules that power agent governance:
256
-
257
- ### 1. Skill Registry & Permission Engine
258
- - 47 built-in enterprise skill definitions (Google Workspace, Microsoft 365, custom)
259
- - Fine-grained tool-level permissions (allow/deny per tool)
260
- - 5 preset profiles: Research Assistant, Customer Support, Developer, Full Access, Sandbox
261
- - Skill suites for bulk assignment
262
- - Risk level classification (low, medium, high, critical)
263
- - Side effect tracking (read, write, delete, external, financial)
264
-
265
- ### 2. Agent Config Generator
266
- - Generates workspace files (SOUL.md, AGENTS.md, etc.)
267
- - Gateway configuration
268
- - Channel configs (email, Slack, Teams, etc.)
269
- - Deployment scripts per target
270
-
271
- ### 3. Deployment Engine
272
- - Docker, VPS, Fly.io, Railway provisioning
273
- - Deployment event tracking
274
- - Live agent status monitoring
275
-
276
- ### 4. Approval Workflows
277
- - Human-in-the-loop approval policies
278
- - Escalation chains with multi-level escalation
279
- - Time-based auto-escalation
280
- - Approval/rejection with audit trail
281
-
282
- ### 5. Agent Lifecycle Manager
283
- - State machine: `provisioning` → `active` → `paused` → `stopped` → `decommissioned`
284
- - Health checks and auto-recovery
285
- - Budget controls with alerts and hard limits
286
- - Usage tracking (tokens, cost, API calls)
287
- - Birthday automation (sends birthday emails to agents on their DOB)
288
-
289
- ### 6. Knowledge Base
290
- - Document ingestion and chunking
291
- - BM25F text search (extracted to shared library)
292
- - RAG retrieval for agent context
293
- - Multi-knowledge-base support per org
294
-
295
- ### 7. Multi-Tenant Isolation
296
- - Organization management with plan enforcement
297
- - 4 plan tiers: Free (3 agents), Team (25), Enterprise (unlimited), Self-Hosted (unlimited)
298
- - Feature gates per plan
299
- - SSO configuration (Google, Microsoft, GitHub, Okta, SAML, LDAP)
300
- - Usage quotas and billing
301
-
302
- ### 8. Real-Time Activity Tracking
303
- - Live tool call recording
304
- - Conversation logging
305
- - Agent timelines
306
- - Cost tracking per agent/org
307
-
308
- ### 9. Tool Catalog
309
- - 86+ cataloged tool IDs across all AgenticMail packages
310
- - Tool-to-skill mapping
311
- - Dynamic tool policy generation
312
-
313
- ### 10. Data Loss Prevention (DLP)
314
- - Content scanning rules (PII, credentials, sensitive data)
315
- - Violation tracking and alerting
316
- - Configurable rule sets per org
317
-
318
- ### 11. Agent-to-Agent Communication
319
- - Message bus (direct, broadcast, topic-based)
320
- - Task assignment and delegation
321
- - Priority levels (normal, high, urgent)
322
- - Agent email registry integration
323
-
324
- ### 12. Guardrails & Anomaly Detection
325
- - Real-time intervention system
326
- - Configurable anomaly rules (rate limits, cost thresholds, pattern matching)
327
- - Auto-stop agents on violation
328
- - Onboarding gate checks
329
- - Workforce off-duty enforcement
330
-
331
- ### 13. Action Journal & Rollback
332
- - Every agent action journaled with before/after state
333
- - Rollback capability for reversible actions
334
- - Audit trail with timestamps and actor
335
-
336
- ### 14. Compliance Reporting
337
- - SOC2, GDPR, HIPAA report generation
338
- - Data retention policies
339
- - Access audit reports
340
-
341
- ### 15. Community Skill Registry (Marketplace)
342
- - Install community skills from the marketplace
343
- - Automatic periodic sync from GitHub (every 6 hours)
344
- - Skill reviews and ratings
345
- - Local directory loading for development
346
- - Validation CLI for skill authors
347
-
348
- ### 16. Workforce Management
349
- - Shift schedules and on-call rotations
350
- - Capacity planning
351
- - Off-duty enforcement via guardrails
352
- - Work-life balance rules
353
-
354
- ### 17. Organization Policies
355
- - Global and per-org policy configuration
356
- - Policy import/export
357
- - Compliance policy templates
358
-
359
- ### 18. Agent Memory
360
- - Long-term memory persistence
361
- - Memory queries and search
362
- - Cross-session continuity
363
-
364
- ### 19. Onboarding Manager
365
- - Agent onboarding workflows
366
- - Onboarding gates (must complete before agent goes live)
367
- - Policy acknowledgment tracking
368
-
369
- ### 20. Secure Vault
370
- - Encrypted credential storage
371
- - API key management
372
- - OAuth token management
373
- - DLP-integrated access control
374
-
375
- ### 21. Storage Manager
376
- - Dynamic table management for agents
377
- - Agent-scoped tables (`agt_` prefix)
378
- - Shared tables (`shared_` prefix)
379
- - 28 storage actions (create, query, aggregate, import/export, raw SQL, etc.)
380
-
381
- ### 22. Soul Library
382
- - 51 personality templates across 14 categories
383
- - Search and browse templates
384
- - Custom soul creation
385
-
386
- ### 23. Knowledge Contribution Manager
387
- - Agents contribute learned knowledge back to org knowledge bases
388
- - Scheduled aggregation
389
-
390
- ### 24. Skill Auto-Updater
391
- - Monitors community skill registry for updates
392
- - Auto-applies compatible updates
393
- - Scheduled update checks
394
-
395
- ### 25. OAuth Connect
396
- - OAuth flow management for SaaS integrations
397
- - Token storage in vault
398
- - Refresh token rotation
370
+ ## Google Workspace Integration
371
+
372
+ Deep, native integration with 13 Google Workspace services:
373
+
374
+ | Service | Tools | OAuth Scopes |
375
+ |---------|-------|-------------|
376
+ | **Gmail** | 16 tools | `gmail.modify`, `gmail.send` |
377
+ | **Calendar** | 6 tools | `calendar`, `calendar.events` |
378
+ | **Drive** | 7 tools | `drive` |
379
+ | **Docs** | CRUD + formatting | `documents` |
380
+ | **Sheets** | CRUD + formulas | `spreadsheets` |
381
+ | **Slides** | CRUD + layout | `presentations` |
382
+ | **Forms** | Create + responses | `forms` |
383
+ | **Tasks** | List + manage | `tasks` |
384
+ | **Contacts** | Search + manage | `contacts` |
385
+ | **Chat** | Send + spaces | `chat.messages`, `chat.spaces` |
386
+ | **Meet** | Schedule + join | `calendar` |
387
+ | **Maps** | Places API | API key |
388
+ | **Meeting Voice** | TTS + transcription | ElevenLabs + virtual audio |
389
+
390
+ Agents can:
391
+ - Read and respond to emails
392
+ - Create and manage calendar events
393
+ - Upload and share Drive files
394
+ - Edit Google Docs, Sheets, and Slides
395
+ - Join Google Meet calls with voice (ElevenLabs TTS + virtual audio device)
399
396
 
400
397
  ---
401
398
 
402
- ## Agent Runtime
399
+ ## 145 SaaS Integration Adapters
403
400
 
404
- Full standalone agent execution runtime — run agents entirely in-process without AgenticMail:
401
+ Pre-built MCP adapters for connecting agents to any SaaS tool:
405
402
 
406
- ```typescript
407
- import { createAgentRuntime } from '@agenticmail/enterprise';
403
+ <details>
404
+ <summary><b>Full adapter list (145)</b></summary>
408
405
 
409
- const runtime = createAgentRuntime({
410
- engineDb: db,
411
- apiKeys: { anthropic: process.env.ANTHROPIC_API_KEY },
412
- });
406
+ ActiveCampaign · Adobe Sign · ADP · Airtable · Apollo · Asana · Auth0 · AWS · Azure DevOps · BambooHR · Basecamp · BigCommerce · Bitbucket · Box · Brex · Buffer · Calendly · Canva · Chargebee · CircleCI · ClickUp · Close · Cloudflare · Confluence · Contentful · Copper · Crisp · CrowdStrike · Datadog · DigitalOcean · Discord · Docker · DocuSign · Drift · Dropbox · Figma · Firebase · Fly.io · FreshBooks · Freshdesk · Freshsales · Freshservice · Front · GitHub · GitHub Actions · GitLab · Gong · Google Ads · Google Analytics · Google Cloud · Google Drive · GoToMeeting · Grafana · Greenhouse · Gusto · HashiCorp Vault · Heroku · HiBob · Hootsuite · HubSpot · Hugging Face · Intercom · Jira · Klaviyo · Kubernetes · Lattice · LaunchDarkly · Lever · Linear · LinkedIn · LiveChat · Loom · Mailchimp · Mailgun · Microsoft Teams · Miro · Mixpanel · Monday · MongoDB Atlas · Neon · Netlify · NetSuite · New Relic · Notion · Okta · OpenAI · OpsGenie · Outreach · Paddle · PagerDuty · PandaDoc · PayPal · Personio · Pinecone · Pipedrive · Plaid · Postmark · Power Automate · QuickBooks · Recurly · Reddit · Render · RingCentral · Rippling · Salesforce · SalesLoft · Sanity · SAP · Segment · SendGrid · Sentry · ServiceNow · Shopify · Shortcut · Slack · Smartsheet · Snowflake · Snyk · Splunk · Square · Statuspage · Stripe · Supabase · Teamwork · Telegram · Terraform · Todoist · Trello · Twilio · Twitter/X · Vercel · Weaviate · Webex · Webflow · WhatsApp · Whereby · WooCommerce · WordPress · Workday · Wrike · Xero · YouTube · Zendesk · Zoho CRM · Zoom · Zuora
413
407
 
414
- await runtime.start();
408
+ </details>
415
409
 
416
- const session = await runtime.spawnSession({
417
- agentId: 'agent-1',
418
- message: 'Research Q3 revenue trends and draft a summary email',
419
- });
420
- ```
410
+ Each adapter provides:
411
+ - Tool definitions with parameter schemas
412
+ - API executor with credential resolution from Vault
413
+ - OAuth flow configuration
414
+ - Rate limit handling and pagination
421
415
 
422
- ### Runtime Features
416
+ ---
423
417
 
424
- - **LLM Client** — Multi-provider (Anthropic, OpenAI, custom), streaming, retry with exponential backoff
425
- - **Session Manager** — Incremental message persistence, crash recovery, session resume on startup
426
- - **Tool Executor** — 28 built-in tools with security sandboxing
427
- - **Sub-Agent Manager** — Spawn child agents for parallel work
428
- - **Email Channel** — Bi-directional email communication
429
- - **Follow-Up Scheduler** — Schedule agent follow-ups and reminders
430
- - **Budget Gates** — Cost check before every LLM call
431
- - **Gateway Integration** — Register as AgenticMail plugin for hybrid deployments
432
- - **Heartbeat** — Stale session detection and cleanup
433
- - **SSE Streaming** — Real-time event streaming for dashboard
418
+ ## Enterprise Skills
434
419
 
435
- ### Supported LLM Providers
420
+ 52 pre-built skill definitions:
436
421
 
437
- ```typescript
438
- import { listAllProviders } from '@agenticmail/enterprise';
422
+ ### Google Workspace Suite (14)
423
+ Gmail · Calendar · Drive · Docs · Sheets · Slides · Forms · Meet · Chat · Keep · Sites · Groups · Admin · Vault
439
424
 
440
- // Built-in: anthropic, openai
441
- // Custom providers can be registered via PROVIDER_REGISTRY
442
- ```
425
+ ### Microsoft 365 Suite (17)
426
+ Outlook · Teams · OneDrive · Word · Excel · PowerPoint · SharePoint · Planner · Todo · OneNote · Forms · Bookings · Power BI · Power Automate · Whiteboard · Copilot · Admin
427
+
428
+ ### Enterprise Custom Suite (16+)
429
+ Calendar · Code Sandbox · Database · Diff · Documents · Finance · HTTP · Knowledge Search · Logs · Notifications · Security Scan · Spreadsheet · Translation · Vision · Web Research · Workflow
430
+
431
+ ### Soul Templates (51)
432
+
433
+ 14 categories of agent personality templates:
434
+
435
+ | Category | Examples |
436
+ |----------|---------|
437
+ | Engineering | Full-Stack Developer, DevOps Engineer, QA Engineer |
438
+ | Data | Data Analyst, ML Engineer, BI Analyst |
439
+ | Support | Customer Support, IT Help Desk, Onboarding Specialist |
440
+ | Marketing | Content Creator, SEO Specialist, Social Media Manager |
441
+ | Sales | Sales Rep, Account Executive, BDR |
442
+ | Finance | Financial Analyst, Accountant, Revenue Operations |
443
+ | HR | Recruiter, HR Coordinator, People Operations |
444
+ | Legal | Legal Assistant, Compliance Officer |
445
+ | Operations | Project Manager, Executive Assistant, Office Manager |
446
+ | Security | Security Analyst, GRC Specialist |
447
+ | Design | UX Designer, Brand Designer |
448
+ | Product | Product Manager, Technical Writer |
449
+ | Research | Research Analyst, Competitive Intelligence |
450
+ | Custom | Build your own from scratch |
451
+
452
+ Custom role templates can be created and managed via the **Roles** dashboard page.
443
453
 
444
454
  ---
445
455
 
446
- ## MCP Integration Adapters
456
+ ## Database Backends
447
457
 
448
- 147 pre-built adapters for connecting agents to SaaS tools via [Model Context Protocol](https://modelcontextprotocol.io):
458
+ 10 backends, all implementing the same adapter interface with full feature parity:
449
459
 
450
- <details>
451
- <summary><b>Full adapter list (147)</b></summary>
460
+ | Backend | Type | Best For |
461
+ |---------|------|----------|
462
+ | **PostgreSQL** | SQL | Production (recommended) |
463
+ | **Supabase** | Managed Postgres | Quick setup, free tier available |
464
+ | **Neon** | Serverless Postgres | Serverless deployments |
465
+ | **CockroachDB** | Distributed Postgres | Global scale |
466
+ | **MySQL / MariaDB** | SQL | Existing MySQL infrastructure |
467
+ | **PlanetScale** | Managed MySQL | Serverless MySQL |
468
+ | **SQLite** | Embedded | Development, small deployments |
469
+ | **Turso** | LibSQL (edge) | Edge deployments |
470
+ | **MongoDB** | NoSQL | Document-oriented workloads |
471
+ | **DynamoDB** | AWS NoSQL | AWS-native deployments |
452
472
 
453
- ActiveCampaign, Adobe Sign, ADP, Airtable, Apollo, Asana, Auth0, AWS, Azure DevOps, BambooHR, Basecamp, BigCommerce, Bitbucket, Box, Brex, Buffer, Calendly, Canva, Chargebee, CircleCI, ClickUp, Close, Cloudflare, Confluence, Contentful, Copper, Crisp, CrowdStrike, Datadog, DigitalOcean, Discord, Docker, DocuSign, Drift, Dropbox, Figma, Firebase, Fly.io, FreshBooks, Freshdesk, Freshsales, Freshservice, Front, GitHub, GitHub Actions, GitLab, Gong, Google Ads, Google Analytics, Google Cloud, Google Drive, GoToMeeting, Grafana, Greenhouse, Gusto, HashiCorp Vault, Heroku, HiBob, Hootsuite, HubSpot, Hugging Face, Intercom, Jira, Klaviyo, Kubernetes, Lattice, LaunchDarkly, Lever, Linear, LinkedIn, LiveChat, Loom, Mailchimp, Mailgun, Microsoft Teams, Miro, Mixpanel, Monday, MongoDB Atlas, Neon, Netlify, NetSuite, New Relic, Notion, Okta, OpenAI, OpsGenie, Outreach, Paddle, PagerDuty, PandaDoc, PayPal, Personio, Pinecone, Pipedrive, Plaid, Postmark, Power Automate, QuickBooks, Recurly, Reddit, Render, RingCentral, Rippling, Salesforce, SalesLoft, Sanity, SAP, Segment, SendGrid, Sentry, ServiceNow, Shopify, Shortcut, Slack, Smartsheet, Snowflake, Snyk, Splunk, Square, Statuspage, Stripe, Supabase, Teamwork, Telegram, Terraform, Todoist, Trello, Twilio, Twitter/X, Vercel, Weaviate, Webex, Webflow, WhatsApp, Whereby, WooCommerce, WordPress, Workday, Wrike, Xero, YouTube, Zendesk, Zoho CRM, Zoom, Zuora
473
+ ### Smart Connection Auto-Configuration
454
474
 
455
- </details>
475
+ When you provide a `DATABASE_URL`, the system automatically:
456
476
 
457
- ### MCP Framework
477
+ 1. **Detects your provider** — Supabase, Neon, or generic Postgres from the hostname
478
+ 2. **Optimizes the connection** — Switches Supabase session mode (port 5432) to transaction mode (port 6543), adds `?pgbouncer=true`
479
+ 3. **Generates a direct URL** — For migrations and DDL operations that need real transactions (bypasses PgBouncer)
480
+ 4. **Configures pool sizing** — Conservative pool limits for shared PgBouncer setups (max 3 per process), generous for direct connections (max 10)
481
+ 5. **Sets idle timeouts** — 2s for PgBouncer (fast release), 30s for direct connections
482
+ 6. **Handles connection errors gracefully** — Automatic retry with ROLLBACK recovery for aborted transactions
458
483
 
459
484
  ```typescript
460
- import { SkillMCPFramework } from '@agenticmail/enterprise/mcp';
485
+ import { smartDbConfig, createAdapter } from '@agenticmail/enterprise';
461
486
 
462
- // Each adapter provides:
463
- // - Tool definitions (name, description, parameters, schema)
464
- // - API executor with credential resolution
465
- // - OAuth flow configuration
466
- // - Rate limit handling
487
+ // Automatically optimized — no manual config needed
488
+ const db = await createAdapter(smartDbConfig('postgresql://postgres.ref:pass@pooler.supabase.com:5432/postgres'));
489
+ // Switches to port 6543, adds ?pgbouncer=true, generates direct URL for migrations
467
490
  ```
468
491
 
469
- The framework includes:
470
- - **API Executor** HTTP client with retry, rate limiting, pagination
471
- - **Credential Resolver** Pulls secrets from Vault, env, or OAuth tokens
472
- - **AWS SigV4** Native AWS request signing for DynamoDB, S3, etc.
492
+ The setup wizard shows all auto-configurations in the UI:
493
+ - 🟢 Provider detection (Supabase, Neon)
494
+ - Auto-configured optimizations (pooler mode, pgbouncer param)
495
+ - 🔗 Pooler URL and Direct URL (for migrations)
473
496
 
474
497
  ---
475
498
 
476
- ## Agent Tools
499
+ ## Security & Compliance
477
500
 
478
- 28 built-in tools available to agents running in the Enterprise runtime:
501
+ ### Authentication
479
502
 
480
- | Tool | Description |
481
- |------|-------------|
482
- | `bash` | Shell command execution (sandboxed) |
483
- | `browser` | Web browser automation |
484
- | `edit` | File editing with diff |
485
- | `glob` | File pattern matching |
486
- | `grep` | Text search across files |
487
- | `memory` | Agent memory read/write |
488
- | `read` | File reading |
489
- | `write` | File writing |
490
- | `web-fetch` | HTTP requests |
491
- | `web-search` | Web search (Brave API) |
492
- | `enterprise-calendar` | Calendar management |
493
- | `enterprise-code-sandbox` | Isolated code execution |
494
- | `enterprise-database` | Database queries |
495
- | `enterprise-diff` | File/text diff generation |
496
- | `enterprise-documents` | Document processing |
497
- | `enterprise-finance` | Financial calculations |
498
- | `enterprise-http` | Advanced HTTP client |
499
- | `enterprise-knowledge-search` | RAG search across knowledge bases |
500
- | `enterprise-logs` | Log analysis |
501
- | `enterprise-notifications` | Send notifications |
502
- | `enterprise-security-scan` | Security vulnerability scanning |
503
- | `enterprise-spreadsheet` | Spreadsheet operations |
504
- | `enterprise-translation` | Multi-language translation |
505
- | `enterprise-vision` | Image analysis |
506
- | `enterprise-web-research` | Deep web research |
507
- | `enterprise-workflow` | Workflow orchestration |
503
+ | Feature | Details |
504
+ |---------|---------|
505
+ | **Session cookies** | `httpOnly` cookies (`em_session`, `em_refresh`, `em_csrf`) — not localStorage |
506
+ | **CSRF protection** | Double-submit cookie pattern |
507
+ | **2FA / TOTP** | Time-based one-time passwords with backup codes |
508
+ | **SSO** | Google, Microsoft, GitHub, Okta, SAML 2.0, LDAP |
509
+ | **Password hashing** | bcrypt with cost factor 12 |
510
+ | **JWT** | Short-lived access + long-lived refresh tokens |
511
+ | **Impersonation** | Admin can impersonate users with full audit trail |
508
512
 
509
- Tools include a security middleware layer for permission checking and DLP scanning.
513
+ ### Authorization
514
+
515
+ | Feature | Details |
516
+ |---------|---------|
517
+ | **RBAC** | 4 roles: owner, admin, member, viewer |
518
+ | **Per-tool permissions** | Allow/deny at individual tool level |
519
+ | **5 preset profiles** | Research Assistant, Customer Support, Developer, Full Access, Sandbox |
520
+ | **Approval workflows** | Human-in-the-loop for sensitive operations |
521
+ | **Escalation chains** | Multi-level escalation with time-based auto-escalation |
522
+ | **Budget gates** | Hard cost limits per agent with warning thresholds |
523
+ | **Org-bound access** | External client users see only their org's data |
524
+
525
+ ### Transport Encryption
526
+
527
+ Optional AES-GCM encryption for all API responses:
528
+ - Dashboard derives encryption key from user password
529
+ - All API responses wrapped in `{"_enc":"..."}` in the network tab
530
+ - SSE streams excluded (EventSource can't send custom headers)
531
+ - Protects against network-level MITM even without HTTPS
532
+
533
+ ### Compliance Reporting
534
+
535
+ 5 report types with full HTML export for auditors:
536
+
537
+ | Report | Standard | Content |
538
+ |--------|----------|---------|
539
+ | **SOC 2 Type II** | Trust Service Criteria CC1-CC9 | Executive summary, risk score (A-F), control effectiveness, findings |
540
+ | **GDPR DSAR** | EU Data Protection | Data subject access request processing |
541
+ | **SOX Audit Trail** | Sarbanes-Oxley | Financial controls and audit trail |
542
+ | **Incident Report** | Custom | Security incident documentation |
543
+ | **Access Review** | Custom | User and agent access audit |
544
+
545
+ Reports include:
546
+ - Agent names resolved (not raw UUIDs)
547
+ - Organization/company name
548
+ - Generator identity
549
+ - Both positive (controls in place) and negative (gaps) findings
550
+ - Professional HTML export with enterprise styling
551
+
552
+ ### Action Journal & Rollback
553
+
554
+ Every agent action is journaled with:
555
+ - Before/after state snapshots
556
+ - Actor identity and timestamp
557
+ - Rollback capability for reversible actions
558
+ - Detail modal with full context
559
+ - Org-scoped filtering
560
+
561
+ ### Audit Logging
562
+
563
+ Every mutating API call is logged with:
564
+ - Actor (user or agent)
565
+ - Organization scope
566
+ - Action type and details
567
+ - IP address and request ID
568
+ - Org-scoped filtering in dashboard
510
569
 
511
570
  ---
512
571
 
513
- ## Enterprise Skills
572
+ ## Data Loss Prevention (DLP)
514
573
 
515
- 47 pre-built skill definitions organized into 3 suites:
574
+ Enterprise-grade DLP with real-time content scanning:
516
575
 
517
- ### Google Workspace (14 skills)
518
- Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Meet, Chat, Keep, Sites, Groups, Admin, Vault
576
+ ### 7 Pre-Built Rule Packs (53 rules)
519
577
 
520
- ### Microsoft 365 (17 skills)
521
- Outlook, Teams, OneDrive, Word, Excel, PowerPoint, SharePoint, Planner, Todo, OneNote, Forms, Bookings, Power BI, Power Automate, Whiteboard, Copilot, Admin
578
+ | Pack | Rules | Examples |
579
+ |------|-------|---------|
580
+ | **PII Protection** | 8 | SSN, email, phone, address, DOB, passport, driver's license |
581
+ | **Credentials & Secrets** | 8 | API keys, passwords, private keys, tokens, connection strings |
582
+ | **Financial Data** | 8 | Credit cards, bank accounts, tax IDs, financial statements |
583
+ | **Healthcare (HIPAA)** | 7 | Medical records, diagnoses, prescriptions, insurance IDs |
584
+ | **GDPR Compliance** | 7 | EU personal data, consent records, genetic data, biometrics |
585
+ | **Intellectual Property** | 8 | Source code, trade secrets, patents, M&A, board minutes |
586
+ | **Agent Safety** | 7 | Prompt injection, jailbreak, unauthorized escalation, data exfil |
522
587
 
523
- ### Enterprise Custom (16 skills)
524
- Calendar, Code Sandbox, Database, Diff, Documents, Finance, HTTP, Knowledge Search, Logs, Notifications, Security Scan, Spreadsheet, Translation, Vision, Web Research, Workflow
588
+ ### DLP Features
525
589
 
526
- Each skill definition includes:
527
- - Tool list with parameter schemas
528
- - Required configuration fields
529
- - Risk level and side effect classification
530
- - Category and description
590
+ - **One-click rule pack deployment** — Apply entire packs from the dashboard
591
+ - **Per-rule enable/disable** Toggle rules without deleting them
592
+ - **Rule editing** — Full modal editor for pattern, action, severity
593
+ - **Detail modal** Click any rule to see full configuration
594
+ - **Violation tracking** — Real-time scanning with severity levels
595
+ - **Org-scoped** — Rules and violations filtered by organization
531
596
 
532
597
  ---
533
598
 
534
- ## Dashboard
599
+ ## Multi-Tenant & Organizations
600
+
601
+ ### Internal Organizations
602
+
603
+ - Multiple organizations within one deployment
604
+ - Org switcher on every dashboard page
605
+ - Org-scoped data: agents, users, audit logs, vault, DLP, compliance, workforce, activity
606
+ - 4 plan tiers: Free (3 agents), Team (25), Enterprise (unlimited), Self-Hosted (unlimited)
607
+
608
+ ### External Client Organizations
609
+
610
+ - Create client organizations for external customers
611
+ - Bind users to a client org with "full access"
612
+ - **Strict data isolation** — org-bound users only see their client org's data
613
+ - Impersonation respects org boundaries
614
+ - Billing records per client org per agent per month
535
615
 
536
- React-based admin dashboard served from the enterprise server:
616
+ ### SSO Configuration
537
617
 
538
- - **Dark/Light themes** Professional design with CSS custom properties
539
- - **Dynamic brand color** — Uses `settings.primaryColor` throughout
540
- - **Agent management** Create, configure, start/stop, monitor
541
- - **Real-time activity** Live tool calls, conversations, cost
542
- - **Knowledge bases** Upload, manage, search documents
543
- - **Approval workflows** Review and approve/reject pending requests
544
- - **Compliance** View reports, DLP violations, audit logs
545
- - **Settings** Company info, SSO, security, billing
546
- - **Onboarding** — Agent creation wizard with soul template selection
618
+ | Provider | Protocol |
619
+ |----------|----------|
620
+ | Google | OAuth 2.0 |
621
+ | Microsoft | OAuth 2.0 |
622
+ | GitHub | OAuth 2.0 |
623
+ | Okta | OAuth 2.0 / SAML |
624
+ | SAML 2.0 | Generic |
625
+ | LDAP | LDAP/LDAPS |
547
626
 
548
627
  ---
549
628
 
550
- ## API Reference
629
+ ## Workforce Management
551
630
 
552
- The API is organized into 3 major sections:
631
+ Manage agents like employees:
553
632
 
554
- ### Auth Routes (`/api/auth/*`)
555
- - `POST /api/auth/login` — Login with email/password
556
- - `POST /api/auth/refresh` Refresh JWT tokens
557
- - `POST /api/auth/logout` Logout (invalidate cookies)
558
- - SSO callback routes for Google, Microsoft, GitHub, Okta
633
+ | Feature | Description |
634
+ |---------|-------------|
635
+ | **Shift Schedules** | Define work hours per agent, per day |
636
+ | **On-Call Rotations** | Automatic rotation schedules |
637
+ | **Capacity Planning** | Track agent utilization and availability |
638
+ | **Clock Records** | Automatic clock in/out with timestamp logging |
639
+ | **Off-Duty Enforcement** | Guardrails prevent agents from working outside shifts |
640
+ | **Vacation Auto-Responder** | Automatic responses when agent is "on vacation" |
641
+ | **Birthday Automation** | Sends birthday emails on agent DOB |
642
+ | **Org-Scoped** | Workforce data filtered by organization |
559
643
 
560
- ### Admin Routes (`/api/admin/*`)
561
- - Agent CRUD, user management, settings, audit log
562
- - Bridge API for unified agent management (`/api/admin/bridge/agents`)
644
+ ---
563
645
 
564
- ### Engine Routes (`/api/engine/*`)
565
- 328 routes across 22 sub-apps:
646
+ ## Knowledge Base & RAG
566
647
 
567
- | Sub-App | Prefix | Description |
568
- |---------|--------|-------------|
569
- | DLP | `/dlp/*` | Data loss prevention rules & scans |
570
- | Guardrails | `/guardrails/*`, `/anomaly-rules/*` | Intervention rules & anomaly detection |
571
- | Journal | `/journal/*` | Action journal & rollback |
572
- | Communication | `/messages/*`, `/tasks/*` | Agent messaging & task delegation |
573
- | Compliance | `/compliance/*` | Reports & data retention |
574
- | Catalog | `/skills/*`, `/souls/*`, `/profiles/*`, `/permissions/*`, `/config/*` | Skill registry, soul library, permission profiles |
575
- | Agents | `/agents/*`, `/usage/*`, `/budget/*`, `/bridge/*` | Agent lifecycle, usage, budgets |
576
- | Knowledge | `/knowledge-bases/*` | Document ingestion & RAG |
577
- | Org/Approvals | `/orgs/*`, `/approvals/*`, `/escalation-chains/*` | Multi-tenant & approval workflows |
578
- | Activity | `/activity/*`, `/stats/*` | Real-time tracking & analytics |
579
- | Deploy/Schema | `/deploy-credentials/*`, `/schema/*` | Deployment & DB schema |
580
- | Community | `/community/*` | Skill marketplace |
581
- | Workforce | `/workforce/*` | Shifts, schedules, capacity |
582
- | Policies | `/policies/*` | Org policies & import |
583
- | Memory | `/memory/*` | Agent memory management |
584
- | Onboarding | `/onboarding/*` | Agent onboarding flows |
585
- | Vault | `/vault/*` | Encrypted credential storage |
586
- | Storage | `/storage/*` | Dynamic agent databases |
587
- | OAuth | `/oauth/*` | SaaS OAuth connect flows |
588
- | Knowledge Contrib | `/knowledge-contribution/*` | Agent-contributed knowledge |
589
- | Skill Updates | `/skill-updates/*` | Auto-update management |
648
+ | Feature | Description |
649
+ |---------|-------------|
650
+ | **Document Ingestion** | Upload documents for chunking and indexing |
651
+ | **BM25F Search** | Full-text search across knowledge bases |
652
+ | **RAG Retrieval** | Automatic context injection into agent prompts |
653
+ | **Multi-KB Support** | Multiple knowledge bases per org |
654
+ | **Agent Access Control** | Per-agent knowledge base permissions |
655
+ | **Contribution System** | Agents contribute learned knowledge back |
656
+ | **Bulk Import** | Import from external sources |
657
+
658
+ ---
659
+
660
+ ## Communication & Task Pipeline
661
+
662
+ ### Agent-to-Agent Messaging
663
+
664
+ - Direct messages between agents
665
+ - Broadcast messages to all agents
666
+ - Topic-based channels
667
+ - Priority levels: normal, high, urgent
668
+ - Email-based delivery via agent addresses
669
+
670
+ ### Task Pipeline
671
+
672
+ - Visual node-based task flow editor
673
+ - Task assignment and delegation
674
+ - Status tracking (pending → claimed → in_progress → completed)
675
+ - Org-scoped pipeline views
676
+ - SSE streaming for real-time updates
677
+
678
+ ### External Channels
679
+
680
+ | Channel | Mode | Features |
681
+ |---------|------|----------|
682
+ | **Email (Gmail)** | OAuth | Full CRUD, attachments, signatures |
683
+ | **Email (Outlook)** | OAuth | Full CRUD, attachments |
684
+ | **Telegram** | Long-polling | Text, media (images/video/docs), inline buttons |
685
+ | **WhatsApp** | Webhook | Text, media, templates |
686
+ | **Google Chat** | Webhook + API | Messages, spaces, reactions |
687
+
688
+ ---
689
+
690
+ ## Agent Autonomy System
691
+
692
+ Agents operate independently with configurable autonomy features:
693
+
694
+ | Feature | Description |
695
+ |---------|-------------|
696
+ | **Clock In/Out** | Agents clock in at shift start, out at end |
697
+ | **Morning Triage** | Scan overnight accumulation on first clock-in |
698
+ | **Daily Catchup** | Scheduled daily summary and planning |
699
+ | **Weekly Catchup** | Monday morning weekly review |
700
+ | **Goal Tracking** | Check goal progress at configured times |
701
+ | **Knowledge Updates** | Weekly knowledge base contribution |
702
+ | **Heartbeat** | Periodic health checks with configurable intervals |
703
+
704
+ ---
705
+
706
+ ## Meeting & Voice Intelligence
707
+
708
+ Agents can attend and participate in meetings:
709
+
710
+ | Feature | Description |
711
+ |---------|-------------|
712
+ | **Meeting Voice** | ElevenLabs TTS through virtual audio device |
713
+ | **Meeting Monitor** | Track Google Meet attendance |
714
+ | **Voice Intelligence** | Real-time transcription and analysis |
715
+ | **Browser-Based** | Joins via Playwright browser automation |
716
+ | **sox + Virtual Audio** | Audio routing for meeting participation |
717
+
718
+ ---
719
+
720
+ ## Multimodal Support
721
+
722
+ Agents can process media sent via messaging channels:
723
+
724
+ | Media Type | Support |
725
+ |------------|---------|
726
+ | **Images** | Received as base64, sent to LLM as vision content blocks |
727
+ | **Videos** | Downloaded and processed locally |
728
+ | **Documents** | Downloaded for analysis |
729
+ | **Voice Notes** | Transcription via Whisper |
730
+
731
+ Media handling includes:
732
+ - Automatic download from Telegram/WhatsApp
733
+ - Base64 encoding for LLM vision models
734
+ - Temporary file cleanup
735
+ - Dependency auto-installation (ffmpeg, etc.)
590
736
 
591
737
  ---
592
738
 
593
739
  ## Deployment
594
740
 
741
+ ### Production (Recommended)
742
+
743
+ ```bash
744
+ # Main server
745
+ pm2 start dist/cli.js --name enterprise -- start
746
+
747
+ # Standalone agents (one per agent)
748
+ pm2 start dist/cli.js --name fola-agent -- agent --env-file=.env.fola
749
+ pm2 start dist/cli.js --name john-agent -- agent --env-file=.env.john
750
+
751
+ # Cloudflare tunnel (optional, for public access)
752
+ pm2 start cloudflared -- tunnel run --token $TUNNEL_TOKEN
753
+ ```
754
+
595
755
  ### Docker
596
756
 
597
757
  ```bash
598
- npx @agenticmail/enterprise # Select "Docker" in Step 3
758
+ npx @agenticmail/enterprise # Select "Docker"
599
759
  docker compose up -d
600
760
  ```
601
761
 
602
- Generates `docker-compose.yml` + `.env` with all secrets.
603
-
604
762
  ### Fly.io
605
763
 
606
764
  ```bash
607
- npx @agenticmail/enterprise # Select "Fly.io" in Step 3
765
+ npx @agenticmail/enterprise # Select "Fly.io"
608
766
  fly launch --copy-config
609
767
  fly secrets set DATABASE_URL="..." JWT_SECRET="..."
610
768
  fly deploy
@@ -613,28 +771,16 @@ fly deploy
613
771
  ### Railway
614
772
 
615
773
  ```bash
616
- npx @agenticmail/enterprise # Select "Railway" in Step 3
774
+ npx @agenticmail/enterprise # Select "Railway"
617
775
  railway init && railway link && railway up
618
776
  ```
619
777
 
620
- ### AgenticMail Cloud
621
-
622
- ```bash
623
- npx @agenticmail/enterprise # Select "AgenticMail Cloud" in Step 3
624
- # Instant URL: subdomain.agenticmail.io
625
- ```
626
-
627
778
  ### Local / Development
628
779
 
629
780
  ```bash
630
- npx @agenticmail/enterprise # Select "Local" in Step 3
631
- # Server starts on http://localhost:3000
632
- ```
633
-
634
- Or with pm2 for production:
635
-
636
- ```bash
637
- pm2 start dist/cli.js --name agenticmail-enterprise --watch
781
+ npx @agenticmail/enterprise # Select "Local"
782
+ # or
783
+ npm run dev # Build + watch mode
638
784
  ```
639
785
 
640
786
  ---
@@ -645,10 +791,15 @@ pm2 start dist/cli.js --name agenticmail-enterprise --watch
645
791
  # Interactive setup wizard (default)
646
792
  npx @agenticmail/enterprise
647
793
 
648
- # Validate a community skill manifest
794
+ # Start the server
795
+ npx @agenticmail/enterprise start
796
+
797
+ # Run a standalone agent
798
+ npx @agenticmail/enterprise agent --env-file=.env.fola
799
+
800
+ # Validate a community skill
649
801
  npx @agenticmail/enterprise validate ./community-skills/my-skill/
650
- npx @agenticmail/enterprise validate --all
651
- npx @agenticmail/enterprise validate --json
802
+ npx @agenticmail/enterprise validate --all --json
652
803
 
653
804
  # AI-assisted skill scaffolding
654
805
  npx @agenticmail/enterprise build-skill
@@ -656,49 +807,43 @@ npx @agenticmail/enterprise build-skill
656
807
  # Submit a skill to the marketplace
657
808
  npx @agenticmail/enterprise submit-skill ./community-skills/my-skill/
658
809
 
659
- # Recover a domain registration on a new machine
810
+ # Domain recovery
660
811
  npx @agenticmail/enterprise recover --domain agents.agenticmail.io --key <hex>
661
812
 
662
- # Check DNS verification status
813
+ # DNS verification
663
814
  npx @agenticmail/enterprise verify-domain
664
- npx @agenticmail/enterprise verify-domain --domain agents.agenticmail.io
665
815
  ```
666
816
 
667
817
  ---
668
818
 
669
- ## Security
819
+ ## Environment Variables
670
820
 
671
- ### Authentication
672
- - **httpOnly cookies** — `em_session`, `em_refresh`, `em_csrf` (not localStorage JWT)
673
- - **CSRF protection** Double-submit cookie pattern
674
- - **SSO** Google, Microsoft, GitHub, Okta, SAML 2.0, LDAP
675
- - **Password hashing** bcrypt with cost factor 12
676
- - **JWT** Short-lived access tokens + long-lived refresh tokens
677
-
678
- ### Authorization
679
- - **RBAC** 4 roles: owner, admin, member, viewer
680
- - **Per-tool permissions** Allow/deny at individual tool level
681
- - **Approval workflows** Human-in-the-loop for sensitive operations
682
- - **Budget gates** Hard cost limits per agent
683
-
684
- ### Data Protection
685
- - **DLP Engine** Content scanning for PII, credentials, sensitive data
686
- - **Secure Vault** Encrypted credential storage with access control
687
- - **Egress Filter** Outbound request filtering
688
- - **IP Firewall** CIDR-based access control
689
- - **Audit Logging** Every mutating action logged with actor, timestamp, details
690
-
691
- ### Infrastructure
692
- - **Rate Limiting** — Per-IP, configurable
693
- - **Circuit Breaker** — Database connectivity protection
694
- - **Security Headers** — CSP, HSTS, X-Frame-Options, X-Content-Type-Options
695
- - **Domain Lock** — Cryptographic domain registration to prevent unauthorized duplication
821
+ | Variable | Description | Default |
822
+ |----------|-------------|---------|
823
+ | `DATABASE_URL` | Database connection string (auto-optimized for poolers) | — |
824
+ | `JWT_SECRET` | JWT signing secret | |
825
+ | `ENCRYPTION_KEY` | Vault encryption key | |
826
+ | `MASTER_KEY` | Admin master key (first-run setup) | — |
827
+ | `TRANSPORT_DECRYPT_KEY` | Transport encryption key for API responses | — |
828
+ | `PORT` | Server port | `3000` |
829
+ | `CORS_ORIGINS` | Allowed CORS origins (comma-separated) | `*` |
830
+ | `RATE_LIMIT` | Requests per minute per IP | `120` |
831
+ | `DB_POOL_MAX` | Override database connection pool size | Auto (3 for pooler, 10 for direct) |
832
+ | `AGENT_ID` | Agent ID (standalone agent mode) | — |
833
+ | `ANTHROPIC_API_KEY` | Anthropic API key | — |
834
+ | `OPENAI_API_KEY` | OpenAI API key | — |
835
+ | `XAI_API_KEY` | xAI (Grok) API key | |
836
+ | `GOOGLE_API_KEY` | Google AI API key | |
837
+ | `ELEVENLABS_API_KEY` | ElevenLabs TTS API key | — |
838
+ | `BRAVE_API_KEY` | Brave Search API key | — |
839
+ | `TELEGRAM_BOT_TOKEN` | Telegram bot token | |
840
+ | `CLOUDFLARE_TUNNEL_TOKEN` | Cloudflare tunnel token | — |
696
841
 
697
842
  ---
698
843
 
699
- ## Community Skills
844
+ ## Community Skills Marketplace
700
845
 
701
- Build and share skills through the community marketplace:
846
+ Build and share skills:
702
847
 
703
848
  ### Creating a Skill
704
849
 
@@ -706,12 +851,7 @@ Build and share skills through the community marketplace:
706
851
  npx @agenticmail/enterprise build-skill
707
852
  ```
708
853
 
709
- The AI-assisted scaffolding tool generates:
710
- - `manifest.json` — Skill metadata, tools, permissions, config fields
711
- - Tool implementations
712
- - README with usage instructions
713
-
714
- ### Skill Manifest Format
854
+ ### Skill Manifest
715
855
 
716
856
  ```json
717
857
  {
@@ -719,13 +859,12 @@ The AI-assisted scaffolding tool generates:
719
859
  "version": "1.0.0",
720
860
  "description": "What this skill does",
721
861
  "author": "your-name",
722
- "license": "MIT",
723
862
  "category": "productivity",
724
863
  "tools": [
725
864
  {
726
865
  "name": "my_tool",
727
- "description": "What this tool does",
728
- "parameters": { ... },
866
+ "description": "Tool description",
867
+ "parameters": { "type": "object", "properties": {} },
729
868
  "riskLevel": "low",
730
869
  "sideEffects": ["read"]
731
870
  }
@@ -736,63 +875,62 @@ The AI-assisted scaffolding tool generates:
736
875
  }
737
876
  ```
738
877
 
739
- ### Validating
740
-
741
- ```bash
742
- npx @agenticmail/enterprise validate ./community-skills/my-skill/
743
- ```
744
-
745
- ### Submitting
878
+ ### Validation & Submission
746
879
 
747
880
  ```bash
748
- npx @agenticmail/enterprise submit-skill ./community-skills/my-skill/
881
+ npx @agenticmail/enterprise validate ./my-skill/
882
+ npx @agenticmail/enterprise submit-skill ./my-skill/
749
883
  ```
750
884
 
751
- Skills are synced from the GitHub repository every 6 hours to all deployments.
885
+ Skills are synced from the GitHub registry every 6 hours to all deployments.
752
886
 
753
887
  ---
754
888
 
755
- ## Configuration
889
+ ## API Reference
756
890
 
757
- ### Environment Variables
891
+ The API is organized into 3 major route groups:
758
892
 
759
- | Variable | Description | Default |
760
- |----------|-------------|---------|
761
- | `DATABASE_URL` | Database connection string | — |
762
- | `JWT_SECRET` | JWT signing secret | — |
763
- | `PORT` | Server port | `3000` |
764
- | `CORS_ORIGINS` | Allowed CORS origins (comma-separated) | `*` |
765
- | `RATE_LIMIT` | Requests per minute per IP | `120` |
766
- | `AGENTICMAIL_REGISTRY_URL` | Central registry URL | `https://registry.agenticmail.com/v1` |
767
- | `ANTHROPIC_API_KEY` | For agent runtime | — |
768
- | `OPENAI_API_KEY` | For agent runtime | — |
893
+ ### Auth (`/api/auth/*`)
894
+ Login, refresh, logout, SSO callbacks, bootstrap, 2FA, impersonation
769
895
 
770
- ### Server Config (Programmatic)
896
+ ### Admin (`/api/admin/*`)
897
+ Agent CRUD, user management, settings, audit log, bridge API
771
898
 
772
- ```typescript
773
- createServer({
774
- port: 3000,
775
- db: adapter,
776
- jwtSecret: 'your-secret',
777
- corsOrigins: ['https://your-domain.com'],
778
- rateLimit: 120,
779
- trustedProxies: ['10.0.0.0/8'],
780
- logging: true,
781
- runtime: {
782
- enabled: true,
783
- defaultModel: { provider: 'anthropic', modelId: 'claude-sonnet-4-20250514' },
784
- apiKeys: { anthropic: '...' },
785
- },
786
- });
787
- ```
899
+ ### Engine (`/api/engine/*`)
900
+ 82 modules exposed across 22+ route sub-apps:
901
+
902
+ | Sub-App | Routes | Description |
903
+ |---------|--------|-------------|
904
+ | Agents & Lifecycle | `/agents/*`, `/usage/*`, `/budget/*` | Agent management, health, budgets |
905
+ | DLP | `/dlp/*` | Rules, rule packs, violations, scanning |
906
+ | Guardrails | `/guardrails/*`, `/anomaly-rules/*` | Intervention rules, anomaly detection |
907
+ | Journal | `/journal/*` | Action journal, rollback, detail |
908
+ | Compliance | `/compliance/*` | 5 report types, HTML export |
909
+ | Knowledge | `/knowledge-bases/*` | Documents, RAG, search |
910
+ | Communication | `/messages/*`, `/tasks/*` | Messaging, task pipeline |
911
+ | Workforce | `/workforce/*` | Schedules, shifts, capacity, clock records |
912
+ | Catalog | `/skills/*`, `/souls/*`, `/profiles/*`, `/permissions/*` | Registry |
913
+ | Approvals | `/approvals/*`, `/escalation-chains/*` | Approval workflows |
914
+ | Activity | `/activity/*`, `/stats/*` | Real-time tracking |
915
+ | Vault | `/vault/*` | Encrypted credentials |
916
+ | Storage | `/storage/*` | Dynamic agent databases |
917
+ | OAuth | `/oauth/*` | SaaS OAuth connect |
918
+ | Policies | `/policies/*` | Org policies |
919
+ | Memory | `/memory/*` | Agent memory |
920
+ | Onboarding | `/onboarding/*` | Agent onboarding |
921
+ | Community | `/community/*` | Skill marketplace |
922
+ | Roles | `/roles/*` | Custom role templates |
923
+ | Organizations | `/orgs/*` | Multi-tenant management |
924
+ | Skill Updates | `/skill-updates/*` | Auto-update management |
925
+ | Knowledge Contrib | `/knowledge-contribution/*` | Agent contributions |
788
926
 
789
927
  ---
790
928
 
791
929
  ## Requirements
792
930
 
793
- - **Node.js** 18+
931
+ - **Node.js** 18+ (22+ recommended)
794
932
  - **Database** — Any of the 10 supported backends
795
- - **LLM API Key** — Anthropic or OpenAI (for agent runtime)
933
+ - **LLM API Key** — Anthropic, OpenAI, xAI, or Google (at least one)
796
934
 
797
935
  ---
798
936
 
@@ -802,4 +940,4 @@ MIT — See [LICENSE](./LICENSE)
802
940
 
803
941
  ---
804
942
 
805
- Built by [AgenticMail](https://agenticmail.io) · [GitHub](https://github.com/agenticmail/enterprise) · [AgenticMail](https://agenticmail.ai)
943
+ Built with [AgenticMail](https://agenticmail.io) · [Docs](https://docs.agenticmail.io) · [Discord](https://discord.gg/agenticmail)