Argus On WhatsApp
Argus is Alfrada's WhatsApp-native agent. Alfred and Ada live in the application UI surface; Argus lives in both places: configured and reviewed in Alfrada, then used from WhatsApp DMs, groups, and scheduled heartbeat check-ins.
Use Argus when work is already happening in WhatsApp and you want an agent that can read the thread, remember who people are, check the rest of your workspace, and either answer directly or ask before taking a bigger action.
What Argus Is
Argus is:
- A WhatsApp-facing agent bound to a dedicated Agent WhatsApp number.
- A coordinator for short, high-signal instructions in DMs and groups.
- A tool-capable agent that can read WhatsApp history, email, calendars, tasks, Slack, Teams, GitHub, docs, sheets, slides, files, and the web when those tools are connected.
- A scheduled checker that can run autonomous heartbeat reviews and ping you only when something is timely.
- A distinct UI surface: you do not need to open the Alfrada app to ask a quick question, capture a follow-up, or approve a next step.
Argus is not your personal WhatsApp identity. Your own WhatsApp can be connected as a read-only context source, but Argus sends from the agent number.
The Two WhatsApp Numbers
Argus uses two account roles so context and sending stay separate.
| Role | UI label | Required? | What it does |
|---|---|---|---|
personal | Your WhatsApp | Optional | Read-only mirror of your WhatsApp history. It helps Argus understand past conversations, but Argus never sends from this number. |
agent | Agent WhatsApp | Required | The number Argus receives messages on and sends from. Inbound messages can trigger agent turns; outbound messages pass through access rules and proactive-send throttles. |
The product intentionally asks you to pair the agent number before continuing. Personal pairing is recommended for context and owner recognition, but it is not the sending channel.
Setup Walkthrough
1. Start The Argus Wizard
Open Argus setup from the app. The wizard has five steps:
- Welcome — explains the agent.
- Pair — connects Your WhatsApp and Agent WhatsApp.
- Contacts — chooses who Argus is allowed to talk to.
- Behavior — sets group defaults and wakeword.
- Heartbeat — sets proactive check-ins, quiet hours, minimum gap, and model.
The wizard writes directly to the same WhatsApp account and ACL tables used by Settings, so there is no duplicate configuration layer.
2. Pair Agent WhatsApp
Pair the dedicated agent number by scanning the QR code in WhatsApp -> Linked Devices -> Link a Device.
When the agent number connects:
- Alfrada records the phone number and pair time.
- A recurring Argus heartbeat scheduled task is created or refreshed.
- Brand-new agent accounts default to
whitelistmode with no entries, so historical sync messages do not cause accidental replies.
3. Optionally Pair Your WhatsApp
Your WhatsApp is read-only. It gives Argus:
- personal chat history for
whatsapp_history, - better owner identification,
- richer context when you ask "what did I promise?" or "what happened with this person?"
If you skip it, Argus can still operate from the agent number, but self-reference routing such as recipient="me" and personal-history recall have less context to work with.
4. Configure Contacts And Groups
In Trusted contacts, select the people and groups Argus is allowed to interact with. Under the hood, entries are stored by WhatsApp JID and can include:
- a label,
- a per-group mode,
- a per-group wakeword.
You can also save contact overrides later with whatsapp_set_contact, which helps Argus recognize people whose WhatsApp profile names are unclear.
Access Modes
Argus supports three account-level access modes:
| Mode | Behavior | Best for |
|---|---|---|
whitelist | Only listed 1:1 contacts can DM Argus. Group messages are allowed at the room level because the agent account is already a member, then group behavior decides whether Argus speaks. The owner is never locked out. | Most serious rollouts. |
blacklist | Everyone except listed contacts can trigger Argus. | Controlled environments where the block list is actively maintained. |
open | Any sender reaching the agent number can trigger processing. | Public workflows with active monitoring. |
Start with whitelist unless you have a clear reason not to. Open mode is powerful, but it expands who can cause agent work.
Groups Are Gated By Group Mode
For groups, membership is the allow: if the agent account has been added to the group and the group is not blacklisted, inbound group messages reach the group behavior layer. From there:
monitorstores context silently and never replies.mention_onlyreplies only when addressed by mention, quote, wakeword, or a recent follow-up.respondcan reply to normal group messages.
This keeps the common product behavior simple: add Argus to a group, choose the group mode, and it can participate without separately whitelisting every participant or toggling a second @-mention bypass. Non-owner senders in groups are still treated as external; they cannot access owner memories, files, calendar, private history, or owner-only tools.
Group Behavior Modes
Access mode decides who can reach Argus. Group behavior decides when Argus speaks inside allowed groups.
| Mode | Behavior |
|---|---|
monitor | Argus silently ingests group context. No reply is triggered. |
mention_only | Argus replies only when addressed by owner, mention, quote, or wakeword. |
respond | Argus can respond to group messages that pass ACL and trust checks. |
Use monitor for sensitive groups, mention_only for busy groups, and respond only where an active agent is genuinely welcome.
Inbound Message Flow
When a WhatsApp message arrives:
- The personal role returns immediately. It is read-only.
- The agent role checks the global WhatsApp kill switch.
- Duplicate live bridge events are dropped.
- Sender and chat JIDs are normalized, including multi-device suffix handling.
- Owner identity is checked from the paired personal number.
- Non-owner senders are checked against ACL. In
whitelist, unlisted 1:1 DMs are blocked, while group traffic is allowed through to group-mode gating because the agent is already a group member. Inblacklist, listed contacts/groups are blocked. - Historical messages older than
paired_atare dropped to prevent post-pair backlog replies. - Group mode decides whether the message should trigger a turn or just be logged.
- Media is downloaded into the session when possible, except audio, which is already transcribed by the bridge.
- A WhatsApp chat session is created or reused.
- The agent runs headlessly and replies back through the agent number.
If a headless turn exceeds the configured timeout, Argus sends a short fallback telling the user the reply took too long and was stopped.
Owner Vs External Senders
Argus has a trust boundary:
- Owner — the principal. Owner messages bypass ACL (so you can't lock yourself out) and Argus runs in ludicrous mode: every active tool in the catalog is auto-merged into the session's toolkit, so you never have to pre-select a tool before asking. Memory, calendar, email, every Composio MCP — all available by default.
- External sender — a whitelisted or otherwise allowed non-owner. External turns are helpful but constrained.
External WhatsApp turns get a prompt block that says not to reveal owner memories, private history, files, credentials, schedules, contacts, or cross-chat context. Group turns (any sender) also receive an auto-injected "Recent in this chat" block — the last ~30 messages of this group, labelled by speaker — so Argus can catch up on silently-ingested chatter (monitor-mode rooms, mention-only-not-addressed messages) without ever calling whatsapp_history. That tool reads the owner's entire WhatsApp database, so external senders cannot invoke it; owner can still call it for explicit cross-chat lookups.
Tools available to external senders are re-capped at stream time to a curated allowlist:
- Conversational primitives:
browser,speech. - Research & discovery:
google_search,tavily_search,context7_docs,scholar_search,google_patent,youtube. - Public social search (no auth, no owner identity):
twitter_search,reddit_reader,tiktok_search,instagram_search,linkedin_profile,linkedin_jobs. - Location / travel / shopping:
google_flights,google_maps,airbnb_search,google_shopping. - Finance read-only:
analyst_views,company_financials,stocks_analyser,psx_market. - Analysis & artifact generation (scoped to the in-session sandbox):
code_executor,markdown_editor,crud_tool,mermaid_diagram,presentation,excel_ops,report_generator. - Visual / media artifacts:
image_lab,pexels_media,meme_tool,music_lab,video_lab,video_editor. - Specialist read-only:
medical_vision(on-box MedGemma, no PHI leaves the deployment).
What stays blocked for external senders, no matter what: whatsapp_send/whatsapp_history/whatsapp_set_contact, every Composio MCP (Gmail, Drive, Calendar, Slack, Teams, GitHub, LinkedIn, Twitter, Facebook, Discord, Zoom, Sheets, Docs, Slides, Analytics, Cats), task_scheduler/argus_schedule_self, agentic_browser, agent_intuition, agent_smith, history_searcher, settings_tool, billing, request_tool_activation.
This is why contact whitelisting does not equal owner authority. A trusted contact can ask Argus to research a topic, run an analysis, or generate a PDF/deck/sheet for them in the thread; they cannot reach into your inbox, your calendar, your past chats, or any tool that acts as you.
Sending From Argus
Argus sends with whatsapp_send, always from the agent number.
The send tool:
- resolves recipients by self-reference, contact/group name, phone number, or raw JID,
- refuses non-owner sends that fail ACL,
- applies proactive-send throttles when the send is not a direct reply in an active WhatsApp conversation,
- records successful proactive sends so future heartbeat pings respect the minimum gap,
- can attach media and transcode common audio formats to WhatsApp-compatible Opus voice notes.
Voice notes are off by default in the WhatsApp prompt. Argus should use text unless the user explicitly asks for audio or the content is long enough that listening is clearly easier.
Autonomous Heartbeat Check-Ins
Argus can run recurring heartbeat checks without an active WhatsApp message.
The heartbeat is a normal Alfrada ScheduledTask named Argus heartbeat. It is created when Agent WhatsApp pairs and refreshed when heartbeat preferences change.
Each tick asks Argus to:
- list and review scheduled tasks,
- use
todo_listfor multi-step checks when helpful, - recall the user's priorities through Agent Intuition,
- inspect relevant signal across WhatsApp history, email, calendar, Slack, Teams, GitHub, Google Docs/Sheets/Slides, browser research, files, and task history,
- decide whether anything is timely enough to interrupt the owner,
- ask the owner on WhatsApp before high-impact or irreversible actions.
Most heartbeat runs should stay silent. Silence is correct when nothing new is actionable.
Heartbeat Controls
In setup or Settings, configure:
- Enabled — whether the scheduled heartbeat is active.
- Cadence — how often the scheduled task runs.
- Minimum gap — how long to wait between proactive pings.
- Quiet hours — local do-not-disturb window.
- Heartbeat model — model used for scheduled Argus runs.
Quiet hours and minimum gap gate proactive pings. They do not block a live reply when you are actively talking to Argus.
Heartbeat Tool Set
Current heartbeat runs can use:
- WhatsApp:
whatsapp_history,whatsapp_send,whatsapp_set_contact - Email and calendar:
gmail_composio,outlook,google_calendar - Work coordination:
task_scheduler,todo_list,history_searcher,agent_intuition - Communication and social:
slack,microsoft_teams,twitter,twitter_search - Research and browsing:
google_search,tavily_search,browser,agentic_browser - Build and analysis:
code_executor,excel_ops - Documents and deliverables:
markdown_editor,report_generator,google_docs,google_sheets,google_slides - Creative:
image_lab,meme_tool - Developer context:
github
Heartbeat runs are intentionally broad because the job is to decide what matters, not just scan one inbox.
Model Selection
Argus has two model paths:
- Live WhatsApp chat model — controlled by server configuration for WhatsApp sessions.
- Heartbeat model — stored per Agent WhatsApp account as
daemon_model_path.
The heartbeat default is GPT-5.4 Mini (openai:gpt-5.4-mini). In the UI, users can pick another model or choose Auto, which stores strategizelabs:auto and lets the model router decide at runtime.
Changing the heartbeat model refreshes the scheduled task, so future ticks use the selected model.
Practical Use Cases
Founder or executive follow-up
Ask:
Argus, what did I promise Ali and Sarah this week, and what still needs a reply?
Argus can search WhatsApp history, email, calendar, and tasks, then return a concise list or schedule deeper follow-up.
Group coordination without noise
Set a busy group to mention_only with wakeword Argus.
Then ask:
Argus, summarize the open decisions from this group and tell me who owns each one.
The group stays calm until someone explicitly invokes the agent.
Customer or community triage
Whitelist selected customer groups, keep sensitive groups on monitor, and use contact notes for relationship context.
Ask:
Argus, flag any customer messages today that need a same-day answer.
Personal chief-of-staff reminders
Enable heartbeat every 30 or 60 minutes during work hours.
Argus checks tasks, calendar, inbox, Slack, Teams, docs, and WhatsApp history, then pings only if something is actionable.
Lightweight creative morale
When appropriate, Argus can use meme_tool or image_lab during heartbeat work.
Ask:
If nothing urgent is pending by 6pm, send me a tasteful ops-week meme.
Humor should support the work, not replace serious alerts.
Document and spreadsheet follow-through
Argus can spot that a WhatsApp thread refers to a sheet, deck, or document, then use Google Sheets, Docs, Slides, Excel Ops, or Report Generator to prepare a concrete artifact.
For high-impact changes, Argus should ask before committing or sending.
Rollout Checklist
- Pair Agent WhatsApp.
- Pair Your WhatsApp if you want personal-history context and stronger owner recognition.
- Keep ACL in
whitelistwhile testing. - Add a few trusted contacts or groups.
- Set group defaults to
monitorormention_only. - Add per-group overrides only where needed.
- Configure heartbeat cadence, quiet hours, minimum gap, and model.
- Send owner, group, non-owner, ACL-blocked, and media test messages.
- Watch the first few heartbeat runs in task history.
- Expand access deliberately.
Troubleshooting
Argus does not reply
Check:
- Agent WhatsApp is connected.
- WhatsApp kill switch is not engaged.
- The sender or group passes ACL.
- Group mode is not
monitor. - In
mention_only, the message actually addressed Argus by mention, quote, owner message, or wakeword. - The message is not older than the agent account's pair time.
Argus can read but cannot send
Check:
- Agent WhatsApp is paired and running.
- The outbound recipient resolves to a JID.
- The recipient is the owner or passes ACL.
- Quiet hours and minimum gap are not blocking a proactive send.
Argus cannot find a person by name
Use the contact picker or ask Argus to list chats with whatsapp_history. Save a stable contact label/note with whatsapp_set_contact or the UI override.
Heartbeat is too noisy
Increase the minimum gap, narrow the cadence, add quiet hours, or make groups monitor/mention_only. The right heartbeat should feel like a useful interruption, not a feed.
Heartbeat is too quiet
Confirm it is enabled, the scheduled task exists, the model is valid, connected tools are authenticated, and quiet hours/min-gap are not suppressing pings.
FAQ
Is Argus a separate app?
No. Argus is an Alfrada agent surface that runs through WhatsApp. The setup and controls live in Alfrada; the day-to-day interaction can happen in WhatsApp.
Why do I need a separate Agent WhatsApp number?
WhatsApp linked devices run one number per identity. The agent number gives Argus a clear sender identity and prevents your personal number from becoming an automation account.
Is my personal WhatsApp required?
No. It is optional and read-only. It improves history recall and owner recognition, but Argus sends from Agent WhatsApp.
Can Argus message other people?
Yes, from Agent WhatsApp, but outbound sends respect ACL. Heartbeat runs should proactively ping the owner only and ask before high-impact third-party actions.
Can Argus post on social, send email, or edit work?
Argus can use connected tools, but the prompt tells heartbeat runs to ask the owner before high-impact or irreversible actions such as public posting, sending third-party email, merging/closing PRs, deleting data, or messaging non-owner contacts.
What happens in groups?
Allowed groups can run in monitor, mention_only, or respond. monitor logs context without a reply; mention_only speaks only when addressed; respond allows active replies.
What is the default heartbeat model?
GPT-5.4 Mini. Users can lock a different model in settings or choose Auto.
Does quiet hours stop all Argus messages?
No. Quiet hours gate proactive heartbeat sends. If you are actively talking to Argus, replies are not blocked by the proactive-send throttle.
Can external contacts see my private context?
They should not. External sender turns receive stricter prompt guardrails and a limited tool set. Still, use whitelist and group modes carefully.
How do I pause WhatsApp traffic quickly?
Administrators can use the WhatsApp kill switch sentinel. While engaged, inbound and outbound WhatsApp traffic pauses until the sentinel is removed.
Best Practices
- Treat ACL as policy, not preference.
- Start with
whitelist. - Use
monitorfor sensitive groups. - Use
mention_onlyfor busy groups. - Save contact notes for important recurring stakeholders.
- Keep heartbeat pings rare and actionable.
- Ask Argus for one clear action at a time in WhatsApp.
- Review early task history before expanding access.
Argus is powerful because it meets work where it already happens. It is reliable when the identity, access, and group behavior rules are configured intentionally.