Use Google Sheets as a CMS for Your Voice App
Hardcoding voice responses in your handler code is fine for prototypes. But for production apps β especially those with multiple languages or frequently changing content β you need a CMS. Google Sheets is a surprisingly powerful option. With the Jovo CMS plugin, you can manage all your app's responses in a spreadsheet and have them loaded at runtime. No redeployment needed.
Why Google Sheets?
- Free and familiar β everyone on your team can edit a spreadsheet
- Multi-language ready β add columns for each locale (en, de, fr, ja)
- Real-time updates β change a response and it's live immediately
- No backend required β the Jovo plugin reads directly from the Sheets API
Step 1: Install the Plugin
$ npm install @jovotech/cms-googlesheets
Step 2: Create Your Spreadsheet
Create a Google Sheet with this structure:
| key | en | de |
|---|---|---|
| welcome | Welcome! Ready to play? | Willkommen! Bereit zum Spielen? |
| goodbye | See you next time! | Bis zum nΓ€chsten Mal! |
| help | You can say yes or no. | Sag ja oder nein. |
Step 3: Configure the Plugin
// app.ts
import { GoogleSheetsCms } from '@jovotech/cms-googlesheets';
app.use(
new GoogleSheetsCms({
spreadsheetId: 'YOUR_SPREADSHEET_ID',
sheets: {
responses: {
range: 'responses!A:C'
}
}
})
);
Step 4: Use in Handlers
LAUNCH() {
return this.$send({
message: this.$t('welcome') // Auto-resolves to locale
});
}