Include additional context (cross-channel) for the email classifier
Loading…
Corporate Mailbox Manager
Loading…
Include additional context (cross-channel) for the email classifier
Loading…
Daily Briefing Manager
Category-level controls for the daily Telegram briefings. Saving any
unified row (Comment / Message / Chat / Email) broadcasts the same
Top N + filter to every per-platform / per-mailbox row in the matching
manager card.
Post Top N → caps posts shown per platform in the Daily Social Media Briefing & Recommendations.
Comment → caps + filters comments per platform in the Daily Social Media (Comment) Briefing.
Message → caps + filters inbound DMs per platform in the Daily Social Media (Message) Briefing.
Chat → caps + filters customer turns per channel in the Daily Messaging Briefing & Recommendations.
Email → caps + filters emails per mailbox in the Daily Email Briefing & Recommendations; filter is also consumed live by the email worker for response-policy gating.
Loading…
Social Media (Comment) Manager
Guide:
Action policies (what to do per comment):
• no_reply — ignore
• draft_reply — generate draft + Telegram approval link
• reply_comment — auto-post a public reply via webhook
• send_comment — forward the comment to Telegram (notification only)
Sentiment gating: account-level filter (none, positive, neutral, negative) applies to all enabled policies. Per-policy overrides take precedence. draft_reply + reply_comment can coexist if their sentiment gates don't overlap.
Click Edit on a platform row to configure with checkboxes.
Loading…
Include additional context (cross-channel) for the comment classifier
Loading…
Memory Architecture
Loading…
Task Role Policy (WhatsApp non-admin)
Controls which worker roles non-admin WhatsApp Cloud senders can dispatch tasks to. Admin contacts are uncapped. Non-admin senders are also rate-limited at 10 task creates/hour. Unknown roles default to admin-only.
Loading…
Channel Default Role
Per-channel default for the SENDER-ROLE marker the dispatch wrapper injects. contact-lookup resolves the sender's contact and uses is_admin (only manual rows). admin / standard always inject the same role regardless of sender. Used by /api/orchestrator/tasks for all channels and by the WhatsApp Cloud worker.
Loading…
Social Media (Message) Manager
Guide:
Action policies (what to do per inbound DM):
• no_reply — ignore
• draft_reply — generate draft + Telegram approval link
• reply_message — auto-send a private reply via Graph API
• send_message — forward the DM to Telegram (notification only)
Sentiment gating: account-level filter (none, positive, neutral, negative) applies to all enabled policies. Per-policy overrides take precedence. draft_reply + reply_message can coexist if their sentiment gates don't overlap.
Click Edit on a platform row to configure with checkboxes.
Loading…
Include additional context (cross-channel) for the DM classifier
Loading…
Customer Chat Manager
Guide:
Channel handled: whatsapp-cloud (customer side only — admin-owner turns are filtered out at briefing time).
Action policies (what to do per inbound chat turn):
• no_reply — ignore
• draft_reply — generate draft + Telegram approval link
• reply_message — auto-send a reply via the channel
• send_message — forward the turn to Telegram (notification only)
Sentiment gating: account-level filter (none, positive, neutral, negative) applies to all enabled policies. Per-policy overrides take precedence. draft_reply + reply_message can coexist if their sentiment gates don't overlap.
Click Edit on a channel row to configure with checkboxes. Used by Daily Messaging Briefing + Daily Messaging Recommendation.
Loading…
Include additional context (cross-channel) for the chat classifier
Start / stop / restart each live agent process. A prompt change only takes effect after the
matching process is restarted. Stop & restart ask for confirmation.
Agent connection (the docker container; synced directly over SSH)
Connection settings
Storage & persistence (reference — how host paths map into the container)
Bind mount(you manage — code + .env) /root/docker-python-server1/var/www/live_chat_agent_server_v1/ → /var/www/live_chat_agent_server_v1/ Edit on the server; live immediately, survives container recreate (no docker commit needed).
Named volume(Docker manages — DB + RAG) /var/lib/docker/volumes/python-server1-data/_data/ → /var/www/live_chat_agent_server_v1/data/ DB + RAG vectors; Docker-managed (don't hand-edit), survives container recreate.
Agent System Prompt (per-channel)
Per-channel prompts
Agent Knowledge Base (RAG)
Manage knowledge base
Knowledge Base0 entries
Operator-curated content the customer agent searches via the search_knowledge_base tool. Entries live in the python-server1 container (documents_rag/<brand>/*.txt); every change auto-rebuilds the brand's Chroma store. The 6 live workers cache the store at boot — click Apply to live agents to push changes to customers. Applying briefly interrupts live chats.
Add to Knowledge Base
+ Add knowledge entry
⬆ Upload file (PDF / Word / text / audio / video)
PDFs are text-extracted (with OCR fallback for scans); audio/video is transcribed (can take a while for long media).
Q&A pairs from past chats that scored well as reusable FAQ material. Click Promote to add a candidate to the KB, or Dismiss to drop it. Click "Scan now" to force a fresh pass. Min score sets the floor — only pairs scoring ≥ it are collected and shown here. Turn on Auto-approve to skip the manual step — pairs scoring ≥ Auto-approve min score are promoted automatically.
Promotion Candidates
0 selected
Knowledge Graph0 entities · 0 relations
Entities + relations extracted from the knowledge entries, pushed to the live agent so it can answer multi-hop questions ("what does X support?", "what connects to Y?"). Click an entity to see its connections; Rebuild after changing entries.
Entities & Relations
Agent Server Files (backend)
Browse & edit server files
Browse and edit the back-end source/text files in the Server Directory. Saving backs up the file (.bak.<timestamp>) then overwrites it. Python files are syntax-checked before the swap (a broken file is rejected, never saved), and since the workers run with auto-reload a saved .py takes effect on the next reload. Heavy/secret trees (.venv, __pycache__, data, .env) are hidden. Editing back-end code can break the live agent — change carefully.
Agent Client Files (frontend)
Browse & edit client files
Browse and edit the front-end widget files in the Client Directory. These are static assets served to browsers — saving backs up the file (.bak.<timestamp>) and overwrites it in place; no process restart needed (visitors get the new file on next load).
Agent Widget Files (frontend)
Browse & edit widget files
Browse and edit the front-end files in the Widget Directory. These are static assets served to browsers — saving backs up the file (.bak.<timestamp>) and overwrites it in place; no process restart needed (visitors get the new file on next load).
Business Chat
Business Insight
A daily LLM pass reads the business-chat history (chat_history_business) and, in ONE pass, produces a single strategic read that fuses analysis (sentiment, themes, responsiveness) with prioritised recommended actions — the truest parallel to Unified / Social Media Insights for the business-chat channel. This complements (does not replace) the per-channel 💬 Daily Business Chat Briefing and 💡 Recommendations. Defaults to dashboard-only: turn on Send Alert / Send Email below to also push the daily digest.
(Enabled off skips the daily run; Send Alert / Send Email gate the daily push + email — both default OFF, dashboard-only)
Advice(optional — steers the LLM, e.g. "prioritise refund/token failures", "focus on churn-risk conversations")
Latest insight
Loading…
History
Business Reports
Add / edit reports
Subscribe to live HTML business-report URLs (connected to your realtime data source). Each is re-fetched on your schedule, a full-text snapshot is recorded whenever the content changes, and every version is ingested into Foxy's private knowledge — so you can ask about current state, history, trends and general business intelligence from any channel, just like the email query.
Each report has its own refresh interval (default 5 min), history retention (default 30 days) and fetch timeout (default 60 s) — set any value per URL. The timeout is applied independently to each URL (not shared). The metric extraction checkbox pulls clean labelled figures for exact-number Q&A; uncheck it to ingest the raw report text only.
Subscribed reports
Loading reports…
Business Insight
A daily LLM pass reads every enabled report above — both the parsed statistics (totals, today-vs-yesterday) and the narrative knowledge — and produces a cross-report insight briefing with trend detection. The daily digest is delivered every day when Send Alert is on. Configuration (Enabled, Send Alert, Top N, data window, Advice) and Generate now now live in the Daily Briefing Manager → Business Report row; per-report guidance stays in each report's Advice box above. The latest insight + history display below.
Latest insight
Loading…
History
DevOps Chat
Manage the apps and websites your coding agent builds and deploys — repos, default models, and deploy targets.
Default models (per coding agent)
The model an app uses when its own Model field is left blank ("agent default"). This writes the CLI's own config — ~/.codex/config.toml (codex) and ~/.claude/settings.json (claude) — and applies to every blank-model app on its next edit job.
Manage Apps & Websites➕ Add / edit app & website
Register a website or app for the software-developer agent to work on. The Repo Access Token is stored server-side and never shown back here — on edit, leave it blank to keep the saved one, or type a new value to replace it.
Loading apps…
Model Chat
Talk directly to the agent from the dashboard — read, write, run commands, and browse the web.
Default models (per coding agent)
The model a new chat uses when you don't pick one. This is Model Chat's own setting — separate from DevOps.
Chat
Chat directly with the model on your existing Claude / OpenAI plan. Full access: web search, and it can read, write and run commands on the server (admin-only). Attach a file (📎) to drop its contents into the conversation. Pick who you're talking to; start a New chat to switch model.
Chat & Voice — Cross-Channel Context
Per-surface toggles for the context block prepended to inbound chat messages — owner-bound surfaces pull the owner's profile + history, WhatsApp Cloud is sender-resolved.
Per-Surface Context
Telegram
Loading…
WhatsApp
Loading…
WhatsApp Cloud
Loading…
Chat
Loading…
Voice
Loading…
Customer Notification Center
Loading…
Gmail Inbox Action Center
Corporate Inbox Action Center
Social Media (Post)
Configure Brand & Goal: Brand = hard constraint (voice + identity); Goal = soft direction (what we're pushing right now).
Strategy settings
Brand
Goal
Auto Post Review Window (0 = publish immediately / no preview · 1–1440 = send Telegram preview, then wait N minutes before publishing — up to 24h)
minutes
Goal Targets (quantify the goal so the system can self-measure objectively; add up to 20 entries)
Platform
Metric
Target
Deadline
Last 7 days
Last 30 days
Media Transcriber (Video + Voice)
Paste public media URL (YouTube/video/audio), or upload/select a local media file (video/audio). Upload fills input automatically.
Knowledge Base (RAG)
Foxy's own searchable memory — curated entries, the promotion queue and the knowledge graph, all managed below.
Manage knowledge base
Knowledge Base
Operator-curated content Foxy can search via the search_knowledge_base tool. Public entries are visible to customers (WhatsApp Cloud standard senders); Private entries are visible only to admin/owner channels (you on Telegram, voice, WA native, chat). Visibility is enforced at the SQL retrieval layer — private chunks never load into a customer prompt.
Add to Knowledge Base📎 Upload text file
Drop a PDF / DOCX / TXT / MD here, or:
Readyvisibility: private
Confirm the visibility radio above is correct before tapping Upload.
🎵 Upload media file (audio / video)
Drop an audio / video file here, or:
Transcribed via the selected STT model, then indexed. With summary checked, a second "{title} — summary" entry is also saved. Allow 30 s – 3 min per minute of media.
Readyvisibility: private
Confirm STT settings + visibility above before tapping Upload.
🔗 Upload URL
STT settings + summary apply to YouTube + direct media URLs only — HTML pages ignore them.
HTML pages are scraped. YouTube links + direct audio/video URLs (.mp3/.mp4/etc) are transcribed first. Allow 1–3 min per minute of media.
🔄 URL refresh subscriptions (auto re-fetch on schedule)
Q&A pairs from past chats that scored well as reusable FAQ material. Choose visibility on each card (defaults to private), then click Promote to add it to the KB, or Dismiss to drop. Scanner runs every 6 hours; click "Scan now" to force a fresh pass. Min score sets the floor — only pairs scoring ≥ it are collected and shown here. Turn on Auto-approve to skip the manual step — pairs scoring ≥ Auto-approve min score are promoted automatically as Private.
Promotion Candidates
0 selectedvisibility:
Loading…
Knowledge Graph
Entities + relations auto-extracted from your KB documents on every ingest. Foxy uses these for multi-hop questions ("what does X sell?", "who works for Y?"). Click an entity to see its connections.
Entities & Relations
Loading…
Trigger Schedules (WAT)
Fire times for every scheduled job in West Africa Time (UTC+1) — edit and Save to reschedule the systemd timer instantly.