ms-teamslisted
Install: claude install-skill zylos-ai/zylos-ms-teams
# Microsoft Teams
Microsoft Teams communication channel for zylos.
Depends on: comm-bridge (C4 message routing). Optional: voice-asr (auto-detected via ~/zylos/bin/transcribe; disabled gracefully when absent).
## Sending Messages
```bash
# Via C4 bridge (standard path — always use stdin form)
cat <<'EOF' | node ~/zylos/.claude/skills/comm-bridge/scripts/c4-send.js "ms-teams" "<conversationId>|type:dm|user:<aadObjectId>"
Hello!
EOF
```
Direct send (bypasses C4 logging, for testing only):
```bash
node ~/zylos/.claude/skills/ms-teams/scripts/send.js "<endpoint>" "Hello!"
```
## Media Messages
```bash
# Send image
cat <<'EOF' | node ~/zylos/.claude/skills/comm-bridge/scripts/c4-send.js "ms-teams" "<conversationId>|type:dm|user:<aadObjectId>"
[MEDIA:image]/path/to/photo.png
EOF
# Send file
cat <<'EOF' | node ~/zylos/.claude/skills/comm-bridge/scripts/c4-send.js "ms-teams" "<conversationId>|type:dm|user:<aadObjectId>"
[MEDIA:file]/path/to/document.pdf
EOF
```
Images are sent as inline base64 attachments. Other file types are sent as a text reference.
## On-Demand Attachment Download
For smart-mode conversations, attachments may not be included in the webhook payload. Use the on-demand download script:
```bash
node ~/zylos/.claude/skills/ms-teams/scripts/download-attachments.js <conversationId> <messageId>
```
## Admin CLI
Manage bot configuration via `admin.js`:
```bash
ADM="node ~/zylos/.claude/skills/ms-teams/src/admin.js"
# General
$ADM show