Skip to content
No description, website, or topics provided.
TypeScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
models
src
.gitignore
LICENSE
README.md
index.ts
package-lock.json
package.json
tsconfig.json
tslint.json

README.md

Jovo Conversational Component: ConductSurvey

Getting Started

The component provides a prepackaged solution to run a survey.

It asks the user questions that are predefined in a JSON file, which they answer to with a number from 1 to 5, where 1 is really bad and 5 is really good.

Find out more about Jovo's Conversational Components

Installation

You can install the component using npm:

$ npm install --save jovo-component-conduct-survey

After that, you use the Jovo CLI to transfer the component's files to your project using the load command:

$ jovo load jovo-component-conduct-survey

Last but not least you have to include the component in your app.js:

// @language=typescript
// src/app.ts

import { ConductSurvey } from './components/jovo-component-conduct-survey';

app.useComponents(new ConductSurvey());

// @language=javascript
// src/app.js

const { ConductSurvey } = require("../components/jovo-component-conduct-survey");

app.useComponents(new ConductSurvey());

Sample Dialog

SSML tags are not included in sample dialogs, but might be included in the responses.

Sample Dialog #1
User Alexa Speech Alexa Reprompt Keys
  Please help me improve by answering the {{numberOfQuestions}} following questions with a number between 1 and 5, where 1 is the worst and 5 is the best. Question 1   start, question.1
2      
  Question 2   question.2
5      
  Question 3   question.3
4      

----> Send response back <----

Sample Dialog #2
User Alexa Speech Alexa Reprompt Keys
  Please help me improve by answering the {{numberOfQuestions}} following questions with a number between 1 and 5, where 1 is the worst and 5 is the best. Question 1   start, question.1
Stop      

----> Send response back <----

Sample Dialog #3
User Alexa Speech Alexa Reprompt Keys
  Please help me improve by answering the {{numberOfQuestions}} following questions with a number between 1 and 5, where 1 is the worst and 5 is the best. Question 1   start, question.1
Help      
  Simply answer to the questions with a number between 1 and 5, where 1 is the worst and 5 is the best. Question x   help, question.x
5      
----> run through other questions <----

Response

The component's $response has the following interface:

{
    status: "SUCCESSFUL" | "REJECTED" | "ERROR",
    data: {
        answers: {
            '1': 5,
            '2': 2
        }
    }
}

The answers object contains the user's answers to each question, where the object's key is the question number.

Find out more about Conversational Component's responses

Configuration

The component offers two configurations. First, the questions. They are specified inside the questions.json file in the src/ folder. The questions start with number 1 and continue until the last question is or until the configurable numberOfQuestions is reached.

Name Descriptions Type Required
numberOfQuestions The number of questions that should be asked number No - default 3

Example:

// config.js

module.exports = {
    // ...
    components: {
        'jovo-component-conduct-survey': {
            numberOfQuestions: 5
        }
    }
};

Find out more about Conversational Component's configuration

You can’t perform that action at this time.