voice-email

Send emails via natural voice commands - designed for accessibility

16 stars

Best use case

voice-email is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Send emails via natural voice commands - designed for accessibility

Teams using voice-email should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/voice-email/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/data-ai/voice-email/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/voice-email/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How voice-email Compares

Feature / Agentvoice-emailStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Send emails via natural voice commands - designed for accessibility

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Voice Email Skill

Send emails using natural voice commands. Perfect for accessibility use cases.

## What It Does

When you receive a voice message, parse and send an email:

**Input format:**
```
new email to [recipient], subject [subject], body [body], send
```

**Examples:**
- "new email to john@example.com, subject Hello, body How are you doing, send"
- "send email to mom@gmail.com, subject Dinner, body See you at 7pm, send"

## What This Skill CANNOT Do

- ❌ Execute arbitrary code
- ❌ Access files outside of logging/debugging
- ❌ Modify system files
- ❌ Access other accounts without explicit OAuth
- ❌ Send emails to unknown recipients without user confirmation

## Prerequisites

This skill requires:
1. **gogcli** - Google CLI for Gmail (must be installed separately)
2. **Deepgram** - For voice transcription (API key required)
3. **Telegram bot** - For receiving voice messages (already configured in OpenClaw)
4. **ElevenLabs** - Optional, for voice responses (not required)

### Install gogcli (once, manually)

**Option A - via npm (recommended):**
```bash
npm install -g gogcli
```

**Option B - via binary (verify source):**
Download from https://gogcli.ai and verify the binary

Then authenticate:
```bash
gog auth add your-email@gmail.com
```

### Configure Deepgram (REQUIRED)

Add to openclaw.json:
```json
{
  "tools": {
    "media": {
      "audio": {
        "enabled": true,
        "models": [{"provider": "deepgram", "model": "nova-3"}]
      }
    }
  },
  "env": {
    "DEEPGRAM_API_KEY": "your-deepgram-key"
  }
}
```

### Configure ElevenLabs (OPTIONAL)

For voice responses, add to openclaw.json:
```json
{
  "messages": {
    "tts": {
      "auto": "always",
      "provider": "elevenlabs",
      "elevenlabs": {
        "apiKey": "YOUR_ELEVENLABS_KEY",
        "voiceId": "YOUR_VOICE_ID"
      }
    }
  }
}
```

Without ElevenLabs, text responses still work.

## Usage

Simply send a voice message with the command. The agent will:
1. Transcribe it (via Deepgram)
2. Parse the fields
3. Send the email (via gogcli)
4. Confirm via text (or voice if ElevenLabs configured)

## Command Parser

The agent extracts:
- `to`: Email address (after "to", "email to", "send to")
- `subject`: Text after "subject"
- `body`: Text after "body" (before "send")

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| DEEPGRAM_API_KEY | Yes | For voice transcription |
| ELEVENLABS_API_KEY | No | For voice responses |
| ELEVENLABS_VOICE_ID | No | Voice to use |

## Security Notes

- **Network**: Requires access to Telegram API, Deepgram API, Gmail API
- **Credentials**: 
  - gogcli stores OAuth tokens in system keyring
  - Deepgram key in openclaw.json (or environment)
  - ElevenLabs key in openclaw.json (optional)
- **Data**: Voice recordings processed by Deepgram, emails sent via user's Gmail
- **Privilege**: Modifies openclaw.json to enable media/audio
- **Does NOT**: Execute arbitrary code, access unrelated files, or modify system

## Best Practices for Production

1. **Use test accounts**: Create dedicated Gmail account for testing
2. **Limit Gmail OAuth**: Use app-specific passwords if needed
3. **Scope Deepgram**: Use minimal quota for testing
4. **Review logs**: Check `/tmp/openclaw-*.log` for unexpected activity
5. **Backup config**: `cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak`

## Uninstall

```bash
clawhub uninstall voice-email
```

Then remove API keys from openclaw.json if desired.

## Validation / Testing

To verify the skill is working:

1. Test Deepgram directly:
```bash
curl -X POST "https://api.deepgram.com/v1/listen" \
  -H "Authorization: Token $DEEPGRAM_API_KEY" \
  -H "Content-Type: audio/ogg" \
  --data-binary @sample.ogg
```

2. Test gogcli:
```bash
gog auth status
gog gmail send --to "your-email@gmail.com" --subject "Test" --body "Working!"
```

3. Send a voice message on Telegram:
   "new email to your-email@gmail.com, subject test, body hello, send"

Related Skills

weekly-email-team-instructions

16
from diegosouzapw/awesome-omni-skill

Generates The Edmund Bogen Team's weekly market intelligence package: email, article page, dashboard, and community listings pages. Guides team through data collection, validates consistency, and produces all HTML assets ready for deployment to Constant Contact and GitHub.

voice-agents

16
from diegosouzapw/awesome-omni-skill

Voice agents represent the frontier of AI interaction - humans speaking naturally with AI systems. The challenge isn't just speech recognition and synthesis, it's achieving natural conversation flo...

text-to-voice

16
from diegosouzapw/awesome-omni-skill

Convert text to speech using Kyutai's Pocket TTS. Use when the user asks to "generate speech", "text to speech", "TTS", "convert text to audio", "voice synthesis", "generate voice", "read aloud", or "create audio from text". Supports voice cloning from audio samples and multiple pre-made voices (alba, marius, javert, jean, fantine, cosette, eponine, azelma).

email-triage-draft-replies

16
from diegosouzapw/awesome-omni-skill

Review unread email, categorize it, and draft replies (no sending without approval)

email-extractor

16
from diegosouzapw/awesome-omni-skill

Expert in email content extraction and analysis. **Use whenever the user mentions .eml files, email messages, says "Extract email information", "Using the email information", or requests to extract, parse, analyze, or process email files.** Handles email thread parsing, attachment extraction, and converting emails to structured markdown format for AI processing. (project, gitignored)

voice-dna-creator

16
from diegosouzapw/awesome-omni-skill

Analyze writing samples to create a comprehensive voice DNA profile. Use when the user wants to capture their unique writing voice, needs to create a voice profile for AI content, or is setting up a new writing system.

blog-voice-analyzer

16
from diegosouzapw/awesome-omni-skill

Run the AI Voice Analyzer on blog content to detect AI-sounding patterns and get actionable rewrite suggestions. Use when reviewing or improving blog articles before publishing.

brand-voice-consistency

16
from diegosouzapw/awesome-omni-skill

Ensure all communication matches brand voice and tone guidelines. Use when creating marketing copy, customer communications, public-facing content, or when users mention brand voice, tone, or writing style.

zoho-invoice-automation

16
from diegosouzapw/awesome-omni-skill

Automate Zoho Invoice tasks via Rube MCP (Composio). Always search tools first for current schemas.

verifiedemail-automation

16
from diegosouzapw/awesome-omni-skill

Automate Verifiedemail tasks via Rube MCP (Composio). Always search tools first for current schemas.

jikime-marketing-email

16
from diegosouzapw/awesome-omni-skill

Email marketing and automation specialist for creating email sequences, drip campaigns, lifecycle emails, and nurture flows.

invoice-organizer

16
from diegosouzapw/awesome-omni-skill

Automatically organizes invoices and receipts for tax preparation by reading messy files, extracting key information, renaming them consistently, and sorting them into logical folders. Turns hours of manual bookkeeping into minutes of automated organization.