Use this guide when you want DeepScientist to continue a quest through WhatsApp.
The current open-source runtime prefers the local-session path for WhatsApp:
- no public webhook is required for the recommended path
- the local auth/session state stays on your machine
- direct messages can auto-bind to the latest active quest when enabled
DeepScientist currently supports WhatsApp through:
WhatsAppLocalSessionServicefor local session sync and inbound ingestionGenericRelayChannelfor bindings, inbox/outbox, targets, and runtime statusWhatsAppConnectorBridgefor outbound delivery
For the recommended path, outbound delivery is queued into the local-session outbox and handled by the local sidecar/session runtime.
- Open
Settings > Connectors > WhatsApp. - Enable WhatsApp.
- Keep
transport: local_session. - Keep or choose a writable
session_dir. - Save the connector.
- Complete the local login flow for the WhatsApp session.
- Send one real message from WhatsApp.
- Return to DeepScientist and verify that the target conversation has been discovered.
Route:
Use this page to:
- keep
transport: local_session - choose the local session directory
- inspect discovered targets and runtime state after the first real WhatsApp message
Main fields:
enabledtransportbot_nameauth_methodsession_dircommand_prefixdm_policyallow_fromgroup_policygroup_allow_fromgroupsauto_bind_dm_to_active_quest
For the full field reference, see 01 Settings Reference.
WhatsApp conversations are normalized into quest-aware connector ids like:
whatsapp:direct:<jid>whatsapp:group:<jid>
DeepScientist binds quests to those normalized conversation ids instead of transient browser/session state.
Important rules:
- one quest keeps local access plus at most one external connector target
- direct messages can auto-follow the latest active quest when auto-bind is enabled
- bindings can be changed later from the project settings page
If several quests are running, read 34 Multitask Entry Guide first. Do not put every task into one chat entry.
The current open-source path is local-session oriented:
- runtime status is mirrored into DeepScientist under connector logs
- inbound messages are drained from the local session inbox
- outbound messages are queued into the local session outbox
This keeps the recommended WhatsApp path local-first.
By default:
- direct messages can pair with the active quest
- group behavior depends on
group_policy - group allowlists can be enforced through
groupsandgroup_allow_from
WhatsApp may be hidden by the system connector gate. Confirm that:
config.connectors.system_enabled.whatsappistrue
Check that:
transportislocal_sessionsession_dirpoints to a writable path
Check that:
- the local login/session flow has completed
- at least one real inbound message has reached the local session inbox
Check that:
- the conversation is bound to the intended quest
- or
auto_bind_dm_to_active_questis enabled for direct-message pairing
Check that:
- the local-session sidecar or local session processor is running
- the local session outbox is being drained
- the target JID is correct
