Voxa is a framework that uses state machines to create elegant cross platform conversational experiences.

View project on GitHub


Voxa is a framework that provides a way to organize a conversational experience into a state machine. Even the most complex voice user interface (VUI) can be represented through the state machine and it provides the flexibility needed to both be rigid when needed in specific states and flexible to jump around states when needed.

Why Voxa vs other frameworks

Voxa provides a more robust framework for building Alexa skills, Cortana skills, or Google Assistant Actions. It provides a design pattern that wasn’t found in other frameworks. Critical to Voxa was providing a pluggable interface and supporting all of the latest platform features. Voxa is written primarily in TypeScript but skills and actions can utilize it in either JavaScript or TypeScript.

Platform Support

Alexa Assistant Cortana


Just install from npm

npm install --save voxa


const Voxa = require('voxa');

// Views are used by your controller to send responses to the user
const views = {
  LaunchIntent: { tell: 'Hello World!' },

// initialize the skill
const skill = new Voxa({ views })

// respond to a LaunchIntent
skill.onIntent('LaunchIntent', (event) => {
  return { reply: 'LaunchIntent' };

// lambda handler
exports.handler = function handler(event, context, callback) {
  return skill.execute(event, context)
    .then(result => callback(null, result))


An extensive test suite with more than 99% code coverage

npm run test

Build Status Coverage Status Documentation npm

JS Code linting

npm run lint