slack-voice-interface
Slack Voice Interface
How It Works
User sends voice clip in Slack
|
v
OpenClaw transcribes automatically (built-in)
|
v
NetClaw processes with full skill set
(pyATS, NetBox, ServiceNow, all 40 MCP servers)
|
v
python3 $MCP_CALL "python3 -u $TTS_MCP_SCRIPT" text_to_speech → MP3 file
|
v
Upload MP3 to Slack thread + post text response
Voice Response Workflow
Step 1: Process the question
Treat the transcribed voice message identically to a typed text message. Use the full NetClaw skill set — pyATS, NetBox, ServiceNow, etc.
Step 2: Generate voice response
After composing your text response, call text_to_speech:
python3 $MCP_CALL "python3 -u $TTS_MCP_SCRIPT" text_to_speech '{"text":"R1 has 3 OSPF neighbors, all in FULL state on Area 0...","voice":"en-US-GuyNeural"}'
This returns JSON with an output_path to the generated MP3 file.
To list available voices:
python3 $MCP_CALL "python3 -u $TTS_MCP_SCRIPT" list_voices '{"language":"en"}'
Step 3: Deliver both text and voice
Post the text response in the Slack thread AND upload the MP3 file:
:loud_speaker: Voice Response [MP3 audio file attached]
R1 has 3 OSPF neighbors, all in FULL state on Area 0:
- 2.2.2.2 (R2) via Gi1 — FULL/DR
- 3.3.3.3 (R3) via Gi2 — FULL/BDR
Always deliver text AND voice. Text is primary (searchable, accessible). Voice is supplementary.
Voice Selection
| Voice | Description |
|---|---|
| en-US-GuyNeural | Professional male — default |
| en-US-JennyNeural | Professional female |
| en-US-AriaNeural | Conversational female |
| en-GB-RyanNeural | British male |
Users can request a voice change:
- "Switch to a female voice" → use en-US-JennyNeural
- "Use a British accent" → use en-GB-RyanNeural
Call list_voices to see all 300+ available voices.
Performance
| Phase | Latency |
|---|---|
| edge-tts synthesis | 1-2 seconds |
| Slack MP3 upload | < 1 second |
Voice synthesis adds minimal overhead to the response time.
Fallback
If TTS fails, deliver the text response immediately. Do not block on voice.
Tips for Voice Responses
- Keep it concise — under 100 words works best for spoken delivery
- Avoid tables — describe data conversationally for voice
- Spell out abbreviations — say "OSPF" not "O-S-P-F" (edge-tts handles this)
- Use natural phrasing — the text will be read aloud, so write for the ear
GAIT Integration
Record voice interactions in the GAIT audit trail:
Input: Voice clip from @user (transcript: "What are your interfaces?")
Action: Queried R1 interfaces via pyATS
Output: 4 interfaces found — text + voice response delivered to Slack
More from automateyournetwork/netclaw
drawio-diagram
Generate draw.io network diagrams — native .drawio files with CLI export (PNG/SVG/PDF), plus browser-based Mermaid/XML/CSV via MCP server. Use when creating network topology diagrams, generating architecture visuals, exporting diagrams to PNG or PDF, or building draw.io files from discovery data.
20pyats-topology
Network topology discovery via CDP/LLDP neighbors, ARP tables, routing peers, and interface mapping to build complete network maps. Use when mapping the network, building a diagram, discovering what is connected to what, or documenting device neighbors and links.
20aws-architecture-diagram
AWS architecture diagrams — generate visual network topology diagrams from live AWS infrastructure. Use when drawing AWS network diagrams, visualizing VPCs, mapping Transit Gateway topology, or generating architecture documentation.
19grafana-observability
Grafana observability platform — dashboards, Prometheus PromQL, Loki LogQL, alerting, incidents, OnCall schedules, annotations, datasource queries, panel rendering (75+ tools). Use when querying Grafana dashboards, running PromQL for interface metrics, searching Loki logs for syslog events, investigating firing alerts, or checking who is on call.
18pyats-health-check
Comprehensive network device health monitoring - CPU, memory, interfaces, hardware, NTP, logging, environment, and uptime analysis. Use when running a device health check, monitoring CPU or memory usage, checking interface errors, or validating NTP sync.
17aws-security-audit
AWS security auditing — IAM users/roles/policies, CloudTrail API events, security posture analysis. Use when auditing IAM permissions, investigating security incidents, checking MFA compliance, or tracing API activity in CloudTrail.
16