Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mycelium-ai.co/llms.txt

Use this file to discover all available pages before exploring further.

WhatsApp uses an in-process bridge rather than an HTTP webhook receiver. The bridge connects to the WhatsApp multi-device protocol and exports to the vault on a configurable cadence.

Open-source ingest skill

Pull recent messages from a named WhatsApp chat into External Inputs/WhatsApp/<contact>/<YYYY-MM-DD>.md. Requires the WhatsApp bridge running locally.
/ingest-whatsapp "Nelly Ortiz" --days 7
Voice notes are transcribed by the bridge before export. Each voice note renders inline as [Voice note] <transcript>.

Bridge setup (paid runtime)

The bridge is a Go binary that connects to the WhatsApp Web multi-device API. It runs as a sidecar to the runtime, not as an HTTP endpoint.

Prerequisites

  • WhatsApp account with multi-device enabled.
  • Bridge binary deployed alongside the runtime container.

Configuration

# bridge.yaml
bridge:
  vault_export_path: vaults/{tenant_id}/External Inputs/WhatsApp/
  transcription: whisper-base  # or whisper-small for higher accuracy
  export_interval_hours: 4
  pending_transcript_timeout_seconds: 180

What gets exported

Content typeMemory categoryNotes
Text messagefactSender, timestamp, thread context
Voice notefactTranscript inline; bare [Voice note] if expired
Shared documentfactFile name and type; content not ingested

Privacy

Voice note audio is never stored in the vault. Only the transcript lands in the markdown file. Audio files are processed in memory and discarded.

Retry

Voice note transcription retries automatically on failure. Expired audio (deleted from WhatsApp’s servers before bridge captured it) is logged as orphan_no_keys and marked as a bare [Voice note] with no transcript.