# \[Workshop\] Build Your First AI Voice Bot — DevConf Pune 2026 - Creds

**URL:** <https://community.exotel.com/t/workshop-build-your-first-ai-voice-bot-devconf-pune-2026-creds/25>\
**Category:** General\
**Tags:** workshop, devconfin\
**Created:** [February 13, 2026, 7:23am UTC](https://community.exotel.com/t/workshop-build-your-first-ai-voice-bot-devconf-pune-2026-creds/25 "2026-02-13T07:23:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![shivaatripathi](https://yyz1.discourse-cdn.com/flex007/user_avatar/community.exotel.com/shivaatripathi/32/32_2.png) [@shivaatripathi](https://community.exotel.com/u/shivaatripathi)\
**Post date:** [February 13, 2026, 7:23am UTC](https://community.exotel.com/t/workshop-build-your-first-ai-voice-bot-devconf-pune-2026-creds/25/1 "2026-02-13T07:23:09Z")

</div>

# **Welcome to the Exotel Developer Network workshop!** 🎙

You’re about to build a **production-ready voice AI agent** that integrates Google’s AI services with Exotel’s telephony platform. By the end of this workshop, you’ll have a working bot that:

✅ Understands speech in real-time (Google Cloud STT - Chirp 3)  
✅ Responds intelligently (Google Gemini LLM)  
✅ Speaks naturally (Google Cloud TTS - Chirp3-HD)  
✅ Receives calls via Exotel (WebSocket streaming)

* * *

## 📋 Setup Checklist

Follow these steps in order:

### Step 1: Clone the Repository

```bash
git clone https://github.com/exotel/voicebot-quick-starter.git
cd voicebot-quick-starter

```

The repo contains everything you need — bot pipeline, WebRTC runner, and Exotel telephony runner. **Don’t dive into the code yet** — just clone it.

[📖 Full Setup Guide on GitHub](https://github.com/exotel/voicebot-quick-starter#quick-start)

* * *

### Step 2: Exotel Credentials

These credentials authenticate your bot with Exotel’s voice API. **Valid during the workshop only** (expires post-event).

| Credential | Value |
| --- | --- |
| **API Key** | |
| **API Token** | |
| **Account SID** | |
| **Virtual Phone Number (Exophone)** | |

**When you need this:** Step 4 in the GitHub guide (Exotel Telephony section)

* * *

### Step 3: Google Cloud Credentials

Your bot uses **three Google Cloud services**. Here are your credentials:

**What it’s for:** Accessing Vertex AI, Cloud Speech-to-Text, and Cloud Text-to-Speech APIs

#### Service Account JSON Key File

Download your GCP service account JSON file here: \<`File Remove`\>

This file enables your bot to authenticate with Google Cloud APIs.

**⚠ Important:**

- Download this file and **save it in your `voicebot-quick-starter/` directory**

- Never commit this file to Git — it’s already in `.gitignore`

- This key expires after the workshop

**Where to place it:** See Step 4 in the GitHub guide (Google Cloud Setup)

#### 3c. The AI Services Your Bot Uses

Your bot is configured with these Google Cloud services:

| Service | Component | Details |
| --- | --- | --- |
| **Speech-to-Text** | Google Cloud STT | Model: Chirp 3 (optimised for Indian English & Hindi) |
| **LLM** | Vertex AI | Model: Gemini 2.5 Flash Lite (fast & affordable) |
| **Text-to-Speech** | Google Cloud TTS | Voice: en-US-Chirp3-HD (natural, high-quality) |

✅ **All services are pre-configured in the code** — just authenticate with your service account JSON.

* * *

### Step 4: Set Environment Variables

Inside your `voicebot-quick-starter/` directory, create a `.env` file:

```bash
# .env
GOOGLE_APPLICATION_CREDENTIALS=./your-service-account.json

```

Replace `your-service-account.json` with the actual filename of your downloaded JSON key.

* * *

### Step 5: Install Dependencies & Run

```bash
# Install Python 3.10+ and dependencies
pip install -r requirements.txt

# Run the WebRTC demo (browser-based)
python default_runner.py

```

Open **[http://localhost:7860/client](http://localhost:7860/client)** in your browser and start talking to your bot!

* * *

## 🔍 What’s Happening Behind the Scenes

When you run the bot:

1. **You speak** → Google Cloud STT transcribes your voice

2. **Bot understands** → Gemini LLM generates a response

3. **Bot speaks back** → Google Cloud TTS converts response to natural speech

4. **Loop repeats** → Real-time conversation

For incoming phone calls (Exotel), the same pipeline runs, but over WebSocket instead of WebRTC.

* * *

## 🆘 Quick Troubleshooting

| Issue | Solution |
| --- | --- |
| **“GOOGLE\_APPLICATION\_CREDENTIALS not found”** | Check that your `.env` file exists and points to the correct JSON file path |
| **“No audio output”** | Make sure your browser allows microphone access (WebRTC) |
| **“Connection refused”** | Ensure Python dependencies installed: `pip install -r requirements.txt` |

For more help, check the **[GitHub Troubleshooting Section](https://github.com/exotel/voicebot-quick-starter#troubleshooting)**

* * *

## 🎁 Express Interest for Swag

Loved building this? Let us know! We’ve got **Exotel Developer Network stickers, hoodies, and more** for workshop participants.

**[Express Interest for Swag](https://claude.ai/chat/INSERT_SWAG_LINK)**

* * *

## 📚 What’s Next After This Workshop?

- **Customize the bot** → Edit the system prompt in `bot.py` to change its personality

- **Deploy to production** → Run it on your server with ngrok or cloud hosting

- **Connect your own phone number** → Set up incoming call handling

- **Explore other AI models** → Swap Gemini for Claude, OpenAI, or Groq

- **Get community help** → Ask questions in the [EDN Forums](https://community.exotel.com/)

* * *

## 📖 Documentation

- **Full GitHub Repo** → [GitHub - exotel/voicebot-quick-starter: voicebot quick starter](https://github.com/exotel/voicebot-quick-starter)

- **Exotel Voice API Docs** → [https://docs.exotel.com/](https://docs.exotel.com/)

- **Pipecat Framework** → [https://docs.pipecat.ai/](https://docs.pipecat.ai/)

* * *

## 🙋 Questions?

- Post in this thread or ask a facilitator

- Check our [EDN Community Guidelines](https://claude.ai/chat/INSERT_GUIDELINES_LINK)

- Email us: [developers@exotel.com](mailto:developers@exotel.com)

**Happy coding! Let’s build the AI voice revolution in India.** 🚀

* * *

_Credentials are valid only for DevConf Pune 2026 (Feb 13, 2026) and will expire automatically post-event._

---

<div class="post-metadata">

**Author:** ![Kulothungan80](https://avatars.discourse-cdn.com/v4/letter/k/5fc32e/32.png) [@Kulothungan80](https://community.exotel.com/u/Kulothungan80)\
**Post date:** [February 17, 2026, 11:26am UTC](https://community.exotel.com/t/workshop-build-your-first-ai-voice-bot-devconf-pune-2026-creds/25/2 "2026-02-17T11:26:00Z")

</div>

Hi Trying, let’s see if this works

---

<div class="post-metadata">

**Author:** ![shivaatripathi](https://yyz1.discourse-cdn.com/flex007/user_avatar/community.exotel.com/shivaatripathi/32/32_2.png) [@shivaatripathi](https://community.exotel.com/u/shivaatripathi)\
**Post date:** [March 30, 2026, 10:38am UTC](https://community.exotel.com/t/workshop-build-your-first-ai-voice-bot-devconf-pune-2026-creds/25/3 "2026-03-30T10:38:04Z")

</div>

Would love to know if you were able to make it work. If not, feel free to create a thread about your progress, and we will be happy to solve it collectively.
