Schedule
Every 15 minutes
Model
OpenAI GPT-4o-mini
openrouter/openai/gpt-4o-mini
Approval
Drafted replies require your approval before send
Replies land in outbox/drafts/<thread>__reply.md. Escalations bypass — they're informational only. Spam is moved to inbox/spam/ silently.
What it does
Every 15 minutes, scans inbox/unread/ for new YAML+markdown messages. Classifies each by intent (question / complaint / billing / sales / spam), urgency (P0_blocking → P3_whenever), sentiment, and requires_human flag. For routine messages, drafts a reply (capped at 200 words, matches sender's formality). For anything mentioning refund / lawyer / cancel / GDPR / breach, escalates instead of drafting — and prepends an ALERT line for angry P0s.
Tools it can use
filesystem
file_read Read incoming messages from inbox/unread/ file_list Find new messages each run file_write Draft replies in outbox/ or escalations memory
memory_store Per-thread classification history memory_recall Sender history before drafting Workspace
Paths under /var/lib/openfang/workspace/ this Agent reads or writes:
inbox/unread/inbox/spam/outbox/drafts/escalations/reports/inbox/shared.inbox.* Starter prompts
Triage now
Run the workflow once
Run your triage workflow now. Process every file in inbox/unread/. Report counts per intent and urgency, plus the top 3 items needing eyes.
Classify this message
Paste an email, get classification
Classify this inbound: From: [paste sender] / Subject: [paste subject] / Body: [paste body]. Apply your full classification tags. Do not draft a reply unless requires_human=false.
Today's digest
What hit the inbox today
Generate today's inbox digest: counts per intent + urgency, top 3 themes, aging items (no reply >48h), one suggested process improvement.
Spam discipline check
Are we leaking real mail?
Look at the last 30 messages you marked as spam. Report on patterns: who's most-flagged sender, any false-positive risk, any patterns I should know about.