@agenticmail/enterprise 0.5.312 → 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.
- package/README.md +682 -544
- package/dist/agent-autonomy-PSXQ4MNP.js +766 -0
- package/dist/agent-heartbeat-6H3YAQ32.js +510 -0
- package/dist/agent-heartbeat-7WS3XILF.js +510 -0
- package/dist/agent-heartbeat-BFGKYUUK.js +510 -0
- package/dist/agent-heartbeat-SSV65YTX.js +510 -0
- package/dist/agent-heartbeat-T5IIHVF4.js +510 -0
- package/dist/agent-heartbeat-X3C6FIU2.js +510 -0
- package/dist/agent-tools-BW6CLQQ7.js +13897 -0
- package/dist/agent-tools-KEA7QEWF.js +13897 -0
- package/dist/agent-tools-NU7V3S5N.js +13899 -0
- package/dist/agent-tools-WINDYRQ2.js +13897 -0
- package/dist/chunk-3ELH5CU6.js +4910 -0
- package/dist/chunk-4QYRS3MS.js +1519 -0
- package/dist/chunk-52REEVDW.js +1519 -0
- package/dist/chunk-5RZJ76YI.js +4977 -0
- package/dist/chunk-6L7FQI5Q.js +4909 -0
- package/dist/chunk-763OMGFI.js +1519 -0
- package/dist/chunk-7ILSXGY6.js +1519 -0
- package/dist/chunk-7UCKD25B.js +551 -0
- package/dist/chunk-A6MSR7DL.js +4977 -0
- package/dist/chunk-ASD2YB6O.js +1519 -0
- package/dist/chunk-AZOIHLLX.js +4977 -0
- package/dist/chunk-BDCFOP7O.js +537 -0
- package/dist/chunk-BSVWPG6I.js +106 -0
- package/dist/chunk-C46DNDZB.js +1519 -0
- package/dist/chunk-CFVTK4FQ.js +4977 -0
- package/dist/chunk-CHJAOKCJ.js +4921 -0
- package/dist/chunk-CYEWTXYH.js +4977 -0
- package/dist/chunk-D3KFSWLK.js +48 -0
- package/dist/chunk-DUVGNAIY.js +4977 -0
- package/dist/chunk-DX4XEFVE.js +25229 -0
- package/dist/chunk-EX6FQSEV.js +167 -0
- package/dist/chunk-F5VZ5EUH.js +1519 -0
- package/dist/chunk-FVUDSPOD.js +4977 -0
- package/dist/chunk-G6FTZKJX.js +4977 -0
- package/dist/chunk-GFEAZN6Y.js +1519 -0
- package/dist/chunk-HKV4FQFW.js +1519 -0
- package/dist/chunk-ICCPULDT.js +25217 -0
- package/dist/chunk-IYEM627Q.js +25216 -0
- package/dist/chunk-JHRJ4QJ6.js +1519 -0
- package/dist/chunk-K2DAUYHV.js +4977 -0
- package/dist/chunk-KDQDSZZQ.js +4973 -0
- package/dist/chunk-LDUD6AZY.js +1519 -0
- package/dist/chunk-LES5TJ5L.js +4909 -0
- package/dist/chunk-MJGGW6MC.js +106 -0
- package/dist/chunk-MQKIWAHQ.js +106 -0
- package/dist/chunk-NGA7BBPF.js +48 -0
- package/dist/chunk-OE3TI4IQ.js +1519 -0
- package/dist/chunk-OHSBIYDR.js +4977 -0
- package/dist/chunk-OZEYDEPB.js +1519 -0
- package/dist/chunk-P4PODSQH.js +1519 -0
- package/dist/chunk-P7UOSFIE.js +636 -0
- package/dist/chunk-PFN6DODU.js +4921 -0
- package/dist/chunk-PKDVM4IY.js +4917 -0
- package/dist/chunk-Q5KG3G7U.js +25115 -0
- package/dist/chunk-QMVNW4FJ.js +25229 -0
- package/dist/chunk-QZ5UPRBE.js +4977 -0
- package/dist/chunk-SPP23N42.js +4977 -0
- package/dist/chunk-SRGHNFOY.js +4921 -0
- package/dist/chunk-TPLVQFXM.js +2594 -0
- package/dist/chunk-U3XYF4QP.js +4977 -0
- package/dist/chunk-VRRJH2DY.js +4921 -0
- package/dist/chunk-WY42BS3F.js +1519 -0
- package/dist/chunk-XAA4VHHZ.js +1519 -0
- package/dist/chunk-Z5Y5KTPC.js +4977 -0
- package/dist/chunk-ZA4QRACH.js +4977 -0
- package/dist/chunk-ZHLGSTXF.js +4909 -0
- package/dist/cli-agent-26BUULHZ.js +2169 -0
- package/dist/cli-agent-2FLJWXOC.js +2169 -0
- package/dist/cli-agent-4NNQFLO6.js +2255 -0
- package/dist/cli-agent-5WV3EEPW.js +2252 -0
- package/dist/cli-agent-65JUT6DU.js +2193 -0
- package/dist/cli-agent-6HLL7A5K.js +2255 -0
- package/dist/cli-agent-CZ26QWUZ.js +2210 -0
- package/dist/cli-agent-HPVSWDNQ.js +2255 -0
- package/dist/cli-agent-K4SBVG5X.js +2210 -0
- package/dist/cli-agent-K5D424X2.js +2252 -0
- package/dist/cli-agent-U4OL5FGK.js +2210 -0
- package/dist/cli-agent-WUMPOIKQ.js +2169 -0
- package/dist/cli-agent-WWRGGJ2F.js +2255 -0
- package/dist/cli-agent-ZDBBTVGU.js +2193 -0
- package/dist/cli-agent-ZIZ5JP4O.js +2252 -0
- package/dist/cli-recover-I4KNR2OI.js +487 -0
- package/dist/cli-recover-IQTUKWR2.js +487 -0
- package/dist/cli-recover-OYJHELOR.js +487 -0
- package/dist/cli-recover-PVQC7UXB.js +487 -0
- package/dist/cli-recover-T32NABFA.js +487 -0
- package/dist/cli-serve-FTQJ3RUK.js +143 -0
- package/dist/cli-serve-G4PUCASH.js +143 -0
- package/dist/cli-serve-HBZYUUQ3.js +143 -0
- package/dist/cli-serve-L3NUROMO.js +143 -0
- package/dist/cli-serve-LAA5WIZK.js +143 -0
- package/dist/cli-serve-LV4TUSJD.js +143 -0
- package/dist/cli-serve-MFCTVA2L.js +140 -0
- package/dist/cli-serve-QCRUFI5B.js +143 -0
- package/dist/cli-serve-S7OGQN4P.js +143 -0
- package/dist/cli-serve-SI4BQRXT.js +140 -0
- package/dist/cli-serve-UNB7EHN4.js +143 -0
- package/dist/cli-serve-UV3GVDRD.js +143 -0
- package/dist/cli-serve-V5QICXR5.js +143 -0
- package/dist/cli-serve-VG6Z6GIB.js +143 -0
- package/dist/cli-serve-XSYHPGZI.js +143 -0
- package/dist/cli-serve-Y534FCRV.js +140 -0
- package/dist/cli-verify-CZIITRED.js +149 -0
- package/dist/cli-verify-N73GOKEF.js +149 -0
- package/dist/cli-verify-QEEBZOUZ.js +149 -0
- package/dist/cli-verify-RC5HI6DU.js +149 -0
- package/dist/cli-verify-VKBNIEAX.js +149 -0
- package/dist/cli.js +5 -5
- package/dist/dashboard/app.js +8 -2
- package/dist/dashboard/components/org-switcher.js +5 -1
- package/dist/dashboard/org-switcher.js +156 -0
- package/dist/dashboard/pages/login.js +160 -4
- package/dist/dashboard/pages/task-pipeline.js +1 -1
- package/dist/factory-3IWXVE37.js +9 -0
- package/dist/factory-5M6PTMLC.js +11 -0
- package/dist/factory-CSSHN7GE.js +11 -0
- package/dist/factory-JFWXTAWK.js +11 -0
- package/dist/factory-TBGUYM5X.js +9 -0
- package/dist/google-W5AYGNUJ.js +33 -0
- package/dist/index.js +6 -6
- package/dist/meetings-FJ453ENF.js +12 -0
- package/dist/postgres-BCHZWRU3.js +832 -0
- package/dist/postgres-BI4QVRM6.js +825 -0
- package/dist/postgres-BOTHOPDW.js +875 -0
- package/dist/postgres-JBUKR3TA.js +873 -0
- package/dist/postgres-Z7QYSU6K.js +861 -0
- package/dist/routes-7QYAQTWA.js +90 -0
- package/dist/routes-JCBVZU54.js +90 -0
- package/dist/routes-KEDEJFRE.js +90 -0
- package/dist/routes-WI64ADVH.js +90 -0
- package/dist/routes-X36OSCID.js +90 -0
- package/dist/runtime-75XR6KEW.js +45 -0
- package/dist/runtime-BNM7ZNNL.js +45 -0
- package/dist/runtime-ES6WCJ7D.js +45 -0
- package/dist/runtime-KYJTML2B.js +45 -0
- package/dist/runtime-LO67ZHQA.js +45 -0
- package/dist/runtime-VIXKKVSZ.js +45 -0
- package/dist/runtime-WHWJPCGK.js +45 -0
- package/dist/runtime-Z2Q6GUHH.js +45 -0
- package/dist/runtime-ZZ6CALSB.js +45 -0
- package/dist/server-27A4WEJC.js +28 -0
- package/dist/server-2CBXP4WS.js +28 -0
- package/dist/server-4JQAB5R4.js +28 -0
- package/dist/server-6BOM5U64.js +28 -0
- package/dist/server-FLJKNPRD.js +28 -0
- package/dist/server-HMIHIQ2N.js +28 -0
- package/dist/server-KIXXLR2D.js +28 -0
- package/dist/server-KSEIZTXF.js +28 -0
- package/dist/server-MPVW7DKZ.js +28 -0
- package/dist/server-PRTVRQ2D.js +28 -0
- package/dist/server-SYIG6HAX.js +28 -0
- package/dist/server-U32KDIXC.js +28 -0
- package/dist/server-WFN6CA4T.js +28 -0
- package/dist/server-XQUE3FGT.js +28 -0
- package/dist/server-XWT2UORK.js +28 -0
- package/dist/server-Y3BGNN5Q.js +28 -0
- package/dist/setup-352L2TPS.js +20 -0
- package/dist/setup-4MM645XK.js +20 -0
- package/dist/setup-5JPWW6IP.js +20 -0
- package/dist/setup-CUN6LVUV.js +20 -0
- package/dist/setup-D3YHPWPY.js +20 -0
- package/dist/setup-D4A5I6UM.js +20 -0
- package/dist/setup-DOPLXTB3.js +20 -0
- package/dist/setup-E3NSIM6B.js +20 -0
- package/dist/setup-E3V2D7NL.js +20 -0
- package/dist/setup-FSYPGI2C.js +20 -0
- package/dist/setup-G3RPKRG3.js +20 -0
- package/dist/setup-KJ77HNWK.js +20 -0
- package/dist/setup-LPSOY5V5.js +20 -0
- package/dist/setup-N3ODDSQE.js +20 -0
- package/dist/setup-NLDM3M2P.js +20 -0
- package/dist/setup-SWJMNDWF.js +20 -0
- package/dist/system-prompts-6OUTAMH6.js +41 -0
- package/dist/task-queue-YP2I54IA.js +9 -0
- package/dist/telegram-QRNGRT5M.js +17 -0
- package/dist/whatsapp-VYVINCGV.js +31 -0
- package/god_is_great.html +35 -0
- package/package.json +1 -1
- package/src/agent-tools/index.ts +4 -1
- package/src/agent-tools/tool-resolver.ts +15 -4
- package/src/agent-tools/tools/browser.ts +2 -2
- package/src/agent-tools/tools/local/dependency-manager.ts +286 -0
- package/src/agent-tools/tools/local/index.ts +3 -0
- package/src/agent-tools/tools/messaging/telegram.ts +29 -0
- package/src/agent-tools/tools/messaging/whatsapp.ts +59 -4
- package/src/auth/routes.ts +1 -1
- package/src/cli-agent.ts +47 -6
- package/src/cli-serve.ts +2 -5
- package/src/dashboard/app.js +8 -2
- package/src/dashboard/components/org-switcher.js +5 -1
- package/src/dashboard/pages/login.js +160 -4
- package/src/dashboard/pages/task-pipeline.js +1 -1
- package/src/db/adapter.ts +2 -0
- package/src/db/factory.ts +78 -0
- package/src/db/postgres.ts +57 -12
- package/src/engine/agent-autonomy.ts +1 -1
- package/src/engine/agent-heartbeat.ts +1 -1
- package/src/engine/messaging-poller.ts +146 -11
- package/src/engine/oauth-connect-routes.ts +23 -3
- package/src/engine/routes.ts +1 -1
- package/src/engine/task-poller.ts +54 -3
- package/src/engine/task-queue.ts +30 -0
- package/src/runtime/index.ts +2 -1
- package/src/runtime/types.ts +2 -0
- package/src/server.ts +13 -1
- 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
|
|
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
|
|
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.
|
|
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
|
-
- [
|
|
17
|
+
- [Why AgenticMail Enterprise](#why-agenticmail-enterprise)
|
|
18
18
|
- [Quick Start](#quick-start)
|
|
19
|
-
- [Setup Wizard](#setup-wizard)
|
|
20
19
|
- [Architecture](#architecture)
|
|
21
|
-
- [
|
|
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
|
-
- [
|
|
28
|
-
- [
|
|
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
|
-
- [
|
|
32
|
-
- [Community Skills](#community-skills)
|
|
33
|
-
- [
|
|
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
|
-
##
|
|
45
|
+
## Why AgenticMail Enterprise
|
|
39
46
|
|
|
40
|
-
|
|
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
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
45
|
-
- **
|
|
46
|
-
- **
|
|
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 |
|
|
55
|
-
| Engine modules |
|
|
56
|
-
|
|
|
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 |
|
|
59
|
-
| Enterprise skill definitions |
|
|
60
|
-
|
|
|
61
|
-
|
|
|
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
|
-
|
|
|
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. **
|
|
77
|
-
2. **
|
|
78
|
-
3. **
|
|
79
|
-
4. **Custom Domain** — Optional: point your own domain
|
|
80
|
-
5. **
|
|
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
|
-
|
|
112
|
+
Run an agent as its own process (recommended for production):
|
|
108
113
|
|
|
109
|
-
|
|
114
|
+
```bash
|
|
115
|
+
node dist/cli.js agent --env-file=.env.fola
|
|
116
|
+
```
|
|
110
117
|
|
|
111
|
-
|
|
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
|
-
|
|
120
|
+
---
|
|
118
121
|
|
|
119
|
-
|
|
122
|
+
## Architecture
|
|
120
123
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
177
|
+
## Dashboard
|
|
145
178
|
|
|
146
|
-
|
|
179
|
+
28 full pages + 23 agent detail tabs, served directly from the enterprise server:
|
|
147
180
|
|
|
148
|
-
###
|
|
181
|
+
### Platform Pages
|
|
149
182
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
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
|
-
##
|
|
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
|
-
###
|
|
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
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
-
|
|
197
|
-
|
|
198
|
-
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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
|
-
##
|
|
298
|
+
## Agent Tools
|
|
207
299
|
|
|
208
|
-
|
|
300
|
+
270+ tools organized by category:
|
|
209
301
|
|
|
210
|
-
|
|
211
|
-
import { createAdapter, type DatabaseType } from '@agenticmail/enterprise/db';
|
|
302
|
+
### Core Tools
|
|
212
303
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
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
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
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
|
-
###
|
|
344
|
+
### Agent Management Tools
|
|
225
345
|
|
|
226
|
-
|
|
|
227
|
-
|
|
228
|
-
|
|
|
229
|
-
|
|
|
230
|
-
|
|
|
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
|
-
###
|
|
352
|
+
### Messaging Tools
|
|
240
353
|
|
|
241
|
-
|
|
354
|
+
| Tool | Description |
|
|
355
|
+
|------|-------------|
|
|
356
|
+
| `msg_telegram` / `msg_whatsapp` | Send messages via channels |
|
|
357
|
+
| `telegram_download_file` | Download media from Telegram |
|
|
242
358
|
|
|
243
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
-
|
|
278
|
-
-
|
|
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
|
-
##
|
|
399
|
+
## 145 SaaS Integration Adapters
|
|
403
400
|
|
|
404
|
-
|
|
401
|
+
Pre-built MCP adapters for connecting agents to any SaaS tool:
|
|
405
402
|
|
|
406
|
-
|
|
407
|
-
|
|
403
|
+
<details>
|
|
404
|
+
<summary><b>Full adapter list (145)</b></summary>
|
|
408
405
|
|
|
409
|
-
|
|
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
|
-
|
|
408
|
+
</details>
|
|
415
409
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
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
|
-
|
|
416
|
+
---
|
|
423
417
|
|
|
424
|
-
|
|
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
|
-
|
|
420
|
+
52 pre-built skill definitions:
|
|
436
421
|
|
|
437
|
-
|
|
438
|
-
|
|
422
|
+
### Google Workspace Suite (14)
|
|
423
|
+
Gmail · Calendar · Drive · Docs · Sheets · Slides · Forms · Meet · Chat · Keep · Sites · Groups · Admin · Vault
|
|
439
424
|
|
|
440
|
-
|
|
441
|
-
|
|
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
|
-
##
|
|
456
|
+
## Database Backends
|
|
447
457
|
|
|
448
|
-
|
|
458
|
+
10 backends, all implementing the same adapter interface with full feature parity:
|
|
449
459
|
|
|
450
|
-
|
|
451
|
-
|
|
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
|
-
|
|
473
|
+
### Smart Connection Auto-Configuration
|
|
454
474
|
|
|
455
|
-
|
|
475
|
+
When you provide a `DATABASE_URL`, the system automatically:
|
|
456
476
|
|
|
457
|
-
|
|
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 {
|
|
485
|
+
import { smartDbConfig, createAdapter } from '@agenticmail/enterprise';
|
|
461
486
|
|
|
462
|
-
//
|
|
463
|
-
|
|
464
|
-
//
|
|
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
|
|
470
|
-
-
|
|
471
|
-
-
|
|
472
|
-
-
|
|
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
|
-
##
|
|
499
|
+
## Security & Compliance
|
|
477
500
|
|
|
478
|
-
|
|
501
|
+
### Authentication
|
|
479
502
|
|
|
480
|
-
|
|
|
481
|
-
|
|
482
|
-
| `
|
|
483
|
-
|
|
|
484
|
-
|
|
|
485
|
-
|
|
|
486
|
-
|
|
|
487
|
-
|
|
|
488
|
-
|
|
|
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
|
-
|
|
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
|
-
##
|
|
572
|
+
## Data Loss Prevention (DLP)
|
|
514
573
|
|
|
515
|
-
|
|
574
|
+
Enterprise-grade DLP with real-time content scanning:
|
|
516
575
|
|
|
517
|
-
###
|
|
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
|
-
|
|
521
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
527
|
-
-
|
|
528
|
-
-
|
|
529
|
-
-
|
|
530
|
-
-
|
|
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
|
-
##
|
|
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
|
-
|
|
616
|
+
### SSO Configuration
|
|
537
617
|
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
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
|
-
##
|
|
629
|
+
## Workforce Management
|
|
551
630
|
|
|
552
|
-
|
|
631
|
+
Manage agents like employees:
|
|
553
632
|
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
-
|
|
558
|
-
|
|
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
|
-
|
|
561
|
-
- Agent CRUD, user management, settings, audit log
|
|
562
|
-
- Bridge API for unified agent management (`/api/admin/bridge/agents`)
|
|
644
|
+
---
|
|
563
645
|
|
|
564
|
-
|
|
565
|
-
328 routes across 22 sub-apps:
|
|
646
|
+
## Knowledge Base & RAG
|
|
566
647
|
|
|
567
|
-
|
|
|
568
|
-
|
|
569
|
-
|
|
|
570
|
-
|
|
|
571
|
-
|
|
|
572
|
-
|
|
|
573
|
-
|
|
|
574
|
-
|
|
|
575
|
-
|
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
631
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
810
|
+
# Domain recovery
|
|
660
811
|
npx @agenticmail/enterprise recover --domain agents.agenticmail.io --key <hex>
|
|
661
812
|
|
|
662
|
-
#
|
|
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
|
-
##
|
|
819
|
+
## Environment Variables
|
|
670
820
|
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
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
|
|
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
|
-
|
|
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": "
|
|
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
|
-
###
|
|
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
|
|
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
|
|
885
|
+
Skills are synced from the GitHub registry every 6 hours to all deployments.
|
|
752
886
|
|
|
753
887
|
---
|
|
754
888
|
|
|
755
|
-
##
|
|
889
|
+
## API Reference
|
|
756
890
|
|
|
757
|
-
|
|
891
|
+
The API is organized into 3 major route groups:
|
|
758
892
|
|
|
759
|
-
|
|
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
|
-
###
|
|
896
|
+
### Admin (`/api/admin/*`)
|
|
897
|
+
Agent CRUD, user management, settings, audit log, bridge API
|
|
771
898
|
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
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
|
|
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
|
|
943
|
+
Built with [AgenticMail](https://agenticmail.io) · [Docs](https://docs.agenticmail.io) · [Discord](https://discord.gg/agenticmail)
|