Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@ac-reusable-dialogs/feedback-elicitation

Package Overview
Dependencies
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ac-reusable-dialogs/feedback-elicitation

ACDL reusable dialog for eliciting feedback from users

  • 0.0.4
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
4
Maintainers
2
Weekly downloads
 
Created
Source

Feedback Elicitation Reusable Dialog


Feedback Elicitation is an ACDL Reusable Dialog that gives skill developers an easy way to collect feedback about their skill from customers. Currently, Feedback Elicitation requests and collects a numeric rating from the user.

Installation


  1. Install the latest version of acc (@alexa/acdl) globally
npm i -g @alexa/acdl
  1. Install @ac-reusable-dialogs/feedback-elicitation
npm i @ac-reusable-dialogs/feedback-elicitation

Overview


Arguments:

NameTypeDescription
feedback_promptAPLAThe APLA response prompt to be used for requesting feedback
payloadThingResponse payload of the previous action called
notifyActionActionPrevious action called before calling the FeedbackElicitation dialog

Return:

TypeDescription
Nothingnothing literal

** Feedback Elicitation must be called after an action call. It will act as the response after the action then offer up the feedback elicitation action.

Usage


Basic example:

...
import com.ac.reusable.dialogs.feedback.*

sample_apla = apla("../resources/prompts/sample_apla/document.json")

type SamplePayload {
    Number num
}

action Number sampleAction()

...

sample {
    ...
    x = sampleAction()
    GetFeedback(feedback_prompt=sample_apla, payload = SamplePayload {num = x}, notifyAction = sampleAction)
    ...
}

Example skill:

This is NumberBot, a skill that generates a random number, then collects feedback on the experience

namespace com.numberbot

import com.amazon.alexa.ask.conversations.*
import com.amazon.ask.types.builtins.AMAZON.*
import com.amazon.alexa.schema.Nothing
import com.amazon.alexa.schema.Thing
import com.amazon.alexa.schema.Number
import com.ac.reusable.dialogs.feedback.*

numericfeedback_apla = apla("../response/prompts/numericfeedback_apla/document.json")

mySkill = skill(
    locales = [Locale.en_US],
    dialogs = [MainDialog],
    skillLevelResponses = SkillLevelResponses
        {
            welcome = prompts.AlexaConversationsWelcome,
            out_of_domain = prompts.AlexaConversationsOutOfDomain,
            bye = prompts.AlexaConversationsBye,
            reqmore = prompts.AlexaConversationsRequestMore,
            provide_help = prompts.AlexaConversationsProvideHelp
        },
    invocationNames = [ InvocationName 
        {
            locale = Locale.en_US,
            invocationName = "acdl number feedback bot"  
        }
    ]
)

type NumPayload {
    Number num
}

getStart = utterances(["give me a number please"])

action Number getNumber()

//main
dialog Nothing MainDialog {
    sample {
        expect(Invoke, getStart)
        number = getNumber()
        //Feedback Elicitation usage
        GetFeedback(numericfeedback_apla, payload = NumPayload {num = number}, notifyAction = getNumber)  
    }
}

Invalid Examples:

  1. There is no action call prior to GetFeedback
sample {
    expect(Invoke, getStart)
    //Feedback Elicitation usage
    GetFeedback(numericfeedback_apla, payload = NumPayload {num = num}, notifyAction = getNumber)  
}
  1. GetFeedback already acts as a response, it cannot be directly followed by an additional response
sample {
    expect(Invoke, getStart)
    //Feedback Elicitation usage
    GetFeedback(numericfeedback_apla, payload = NumPayload {num = num}, notifyAction = getNumber)  
    response(sample_apla, Notify {actionName = getNumber}, payload = NumPayload {num = num})
}

Alexa/User Turns example


...

Alexa: Please give this interaction a rating between 1-5, where 5 is the highest rating

User: Two

Alexa: Thank you for the feedback!

...


License


This library is licensed under the Amazon Software License.

FAQs

Package last updated on 01 Mar 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc