-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml.example
More file actions
123 lines (103 loc) · 3.12 KB
/
config.yaml.example
File metadata and controls
123 lines (103 loc) · 3.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# 🧤 eMitt Configuration
# Catch every email - LLM-powered email processing server
server:
# SMTP server settings
smtp_port: 2525
smtp_host: "0.0.0.0"
# TLS configuration (optional)
tls:
enabled: false
cert_file: ""
key_file: ""
# Only accept emails for these domains
# Leave empty to accept all domains
allowed_domains:
- "example.com"
database:
# SQLite database path
path: "./emitt.db"
llm:
# LLM provider (currently only openai supported)
provider: "openai"
# OpenAI API key (use environment variable)
api_key: "${OPENAI_API_KEY}"
# Model to use
model: "gpt-5.2"
# Maximum tokens for completion
max_tokens: 4096
# Temperature for generation (0-1)
temperature: 0.7
# MCP (Model Context Protocol) servers
# These provide additional tools to the LLM
mcp:
servers: []
# Example MCP server configurations:
# - name: "filesystem"
# command: "npx"
# args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
# - name: "brave-search"
# command: "npx"
# args: ["-y", "@anthropic/mcp-server-brave-search"]
# Mailbox routing rules
# Emails are matched against these rules in order
mailboxes:
# Support mailbox - process with LLM
- name: "support"
match:
to: "support@.*"
processor:
type: "llm"
system_prompt: |
You are a helpful support assistant for processing incoming emails.
Your tasks:
1. Analyze the email content to understand the request
2. Categorize the issue (bug report, feature request, question, feedback)
3. Extract key information (urgency, affected features, user details)
4. Take appropriate action using available tools
When responding to emails:
- Be professional and empathetic
- Provide clear and helpful information
- If you need more information, ask specific questions
Available actions:
- Use http_request to call external APIs or webhooks
- Use database_query to look up or store information
- Use send_email to reply or forward the email
tools:
- http_request
- database_query
- send_email
# Invoices - extract data and store
- name: "invoices"
match:
subject: "(?i)invoice.*"
processor:
type: "llm"
system_prompt: |
You are an invoice processing assistant.
For each invoice email:
1. Extract invoice details (number, date, amount, vendor)
2. Store the information in the database
3. If attachments exist, note their filenames
Use the database_query tool to store extracted data.
tools:
- database_query
# Notifications - forward to admin
- name: "notifications"
match:
from: ".*@notifications\\..*"
processor:
type: "forward"
forward_to: "admin@example.com"
# Webhooks - send to external service
- name: "webhooks"
match:
to: "webhook@.*"
processor:
type: "webhook"
webhook_url: "https://example.com/api/email-webhook"
# Catch-all - store but don't process
- name: "catch-all"
match:
to: ".*"
processor:
type: "noop"