Skip to content

robbybarnes/zendesk-voice-summary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zendesk Voice Summary Tool

An automated tool for transcribing and summarizing voice recordings from Zendesk tickets using OpenAI's Whisper and GPT models.

Features

  • Downloads voice recordings from Zendesk tickets
  • Transcribes audio using OpenAI Whisper API
  • Generates intelligent summaries with GPT-5
  • Posts summaries back to tickets as private comments
  • Handles multiple recordings per ticket
  • Skip existing transcripts to save time
  • Command-line and interactive modes
  • Can be packaged as a standalone executable

Installation

Prerequisites

  • Python 3.8+
  • Zendesk account with API access
  • OpenAI API key

Setup

  1. Clone the repository:
git clone https://github.com/yourusername/zendesk-voice-summary.git
cd zendesk-voice-summary
  1. Create a virtual environment:
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Set environment variables:
export ZENDESK_DOMAIN="yourcompany.zendesk.com"
export ZENDESK_EMAIL="your-email@company.com"
export ZENDESK_PASSWORD="your-zendesk-password"
export OPENAI_API_KEY="sk-your-openai-api-key"

Usage

Interactive Mode

Run without arguments to enter interactive mode:

python voice_summary.py

Command Line Mode

Process single ticket:

python voice_summary.py 12345

Process multiple tickets:

python voice_summary.py 12345 12346 12347

Process from URL:

python voice_summary.py https://yourcompany.zendesk.com/agent/tickets/12345

Options

  • --no-zendesk - Process recordings without posting to Zendesk
  • --skip-existing - Skip recordings that already have transcripts

Examples

# Process without posting to Zendesk
python voice_summary.py --no-zendesk 12345

# Skip existing transcripts
python voice_summary.py --skip-existing 12345 12346

Installation as Command Line Tool

Option 1: Wrapper Script

Install the wrapper script to use voice_summary from anywhere:

./scripts/install_voice_summary.sh

Then use:

voice_summary 12345
voice_summary  # Interactive mode

Option 2: Standalone Executable

Build a standalone executable with PyInstaller:

./scripts/build_standalone.sh

This creates a self-contained executable in dist/voice_summary that can be distributed without Python dependencies.

How It Works

The tool operates in three phases:

  1. Download & Transcribe: Downloads MP3 files from Zendesk and transcribes them using Whisper
  2. Summarize: Creates intelligent summaries with sections for Description, Troubleshooting, and Next Steps
  3. Post to Zendesk: Adds the summary as a private comment on the ticket

File Organization

Processed files are saved with this naming convention:

  • Audio: ticket{id}_call{call_id}.mp3
  • Transcripts: ticket{id}_call{call_id}.txt
  • Combined summaries: ticket{id}_combined_summary.txt

When using the wrapper script, files are organized in ~/zendesk-transcripts/.

Configuration

Set these environment variables:

Variable Description Required
ZENDESK_DOMAIN Your Zendesk subdomain (e.g., company.zendesk.com) Yes
ZENDESK_EMAIL Your Zendesk account email Yes
ZENDESK_PASSWORD Your Zendesk password Yes
OPENAI_API_KEY Your OpenAI API key Yes

Requirements

  • Python 3.8+
  • requests - For Zendesk API calls
  • openai - For Whisper transcription and GPT summarization

Optional:

  • pytz - For timezone support (Python < 3.9)
  • pyinstaller - For building standalone executables

License

MIT License - see LICENSE file for details

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgments

Built with:

About

Automatically transcribe and summarize Zendesk voice recordings using OpenAI Whisper and GPT-4o. Downloads recordings, generates structured summaries, and posts them back as ticket comments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors