How to make Alexa respond two time? - alexa

How do i make alexa to respond as describe using node js ?
User: Hello, i am john.
Alexa: Ok, i know who you are you
Alexa: Do you want to know my name?

You make it one reponse with a period between the sentences. You can also use Alexa's SSML tags for a longer pause between sentences. Neither requires node.js as it would just be part of the response string, whatever programming language you use.
Here's a getting started tutorial for node.
https://developer.amazon.com/en-US/alexa/alexa-skills-kit/get-deeper/tutorials-code-samples/build-an-engaging-alexa-skill/module-3

Related

Alexa Conversation: Converting from a Variable to an API Parameter?

I'm new to Alexa Conversations - still learning. My challenge: In the Alexa Conversation Dialog, I'm trying to enable a skill to ask to play music in a certain room. For example, a user might ask to play Prince in the Kitchen or they might ask to play Let's Go Crazy in the Bedroom or they might ask to play Dua Lipa Radio in the Bathroom. In each case, I need to prompt the user to ask them if the request is an Artist, a Song, a Playlist or a Station. Currently I'm prompting the user and saving their answer in a custom variable called MusicType.
How do I now take the answer and convert that to a different API Parameter? In this case I'd want to take MusicType and set it to PlayListName in the API. I don't see how to take the values out of variables and then associate them to something else. help?
I tried using the Inform Args section but that will only continue to save the variable - it seems it needs conditional logic here?
With the Alexa Conversations Description Language you can add conditional logic as already suggested by yourself, which then uses further expressions to handle the variable content and/or invoke the API in different ways.
But be aware that the feature is currently in Beta (might change without notice) and is not supported in the UI, so it needs to be done with CLI access from your side.

Does an Alex skill need to have an invocation name?

I would like to build a skill to help those with ADHD. I'd like to teach Alexa to automatically do certain tasks, such as remind them to do certain things based on information in their calendar.
I want Alexa to help the person with ADHD manage simple daily tasks, rather than burden them with remembering to even ask for the reminder.
Example:
Rather than saying, "Alexa I'm going to school. Ask schoolPlanner what I should bring?"
They could just say "Bye Alexa, I'm going to school"
And after looking into your calendar or something, Alexa would respond, "did you remember your phone and book bag?"
A possible solution is in beta right now, for English skills only: https://developer.amazon.com/docs/custom-skills/understand-name-free-interaction-for-custom-skills.html
This is not possible at this time:
https://forums.developer.amazon.com/questions/61953/invoking-custom-skill-without-ask-and-invocation-n.html

Quick replies or suggestion with watson conversation

We are working on FB messenger app which use IBM watson conversation for AI bot. But, we need quick replies like provided by wit.ai.
Is there any way to get quick replies or suggestion from watson conversation while getting message.
The Conversation API receives a text message and understands its intention giving the user an answer. It does not offer any kind of quick-replay or interface enhancements.
What you could do is develop this function in your integration software. Using wit.ai example:
User: “I want to order”
The integration software sends this message to Watson. It finds out that is the intention #order and send it back to the integration software. Instead of just send the answer to the user, knowing the #order intention, the integration software builds a quick reply:
Bot: “For here? yes or no?”
And you go on. You can build any kind of quick reply using images or buttons, for example.
I would agree with Danilo. We don't offer this service out of the box at this point. Wit obviously has a greater allegiance with Facebook than we do, so that is much more their focus. We may get there over time as it is a very popular channel. I would do something similar to Danilo mentioned.
In my output object coming from watson, I would put some indicator to include buttons.
"outputs": {
"text": "Do you want for here or to go?",
"quickreply": {"for here", "to go" }
}
and then your client side code needs to know to put whatever is in the click reply section into buttons for messenger specifically. If that's invalid Json, sorry, but I hope it gets the point across. You will need to do this manually for now though.

Can you launch an Amazon Echo (Alexa) skill with just the name of the skill? No other connecting words

Is it possible to launch an Alexa App with just its name? This is similar to when you ask it what the weather is.
"Alexa, weather"
However I would like to be able to say
"Alex, weather in Chicago" and have it return that value
I can't seem to get the app to launch without a connecting word. Things like ask, open, tell would count as a connecting word.
I have searched the documentation but can't find mention of it, however there are apps in the app store that do this.
It is documented in the first item here.
I've verified that this works with my own skill. One thing I've noticed is that Alexa's speech recognition is much worse when invoked in this manner presumably because it requires matching against a greater set of possible words. I have to really enunciate in a quiet room to get Alexa to recognize my invocation name in this context.
When developing a custom skill you have to use the connecting words e.g. Alexa, ask your invocation name to do something.
If you want to pass a variable, you have to specify the sample utterances:
OneshotTideIntent get high tide
OneshotTideIntent get high tide for {City} {State}
Then you handle cases in your code when user does not provide these values. For examples see https://github.com/amzn/alexa-skills-kit-js
When writing the example phrases you use the following construct:
"Alexa, [connecting word] [your invocation name], [sample utterance]". As far as I have noticed she is rather picky and you have to be exact when invoking custom skill (the voice recognition works way better with built in skills)
EDIT: launching skill without connecting word is possible when developing "smart home" skill

Can I change chat id?

I'm using the appengine. I'm going to use an app named Square for this example.
We have the domain www.square.com.
We cannot get square.appspot.com
We do have squares.appspot.com.
For moving the app over the www.square.com. We did this. Great! Very exciting.
But we also built a chat bot. We now need people to friend 'squares'. What we want is for people to friend 'square'.
So two questions please: Is there a way to get Square.appengine.com. From my research... I assume someone took it and it's now gone (remember 'square' just an example here).
Knowing #1... is there a way to change the chat bot 'name'? From Squares.appspot.com --> Square.appspot.com?
Thanks so much in advance!
It's a chat bot, for us to send a message to an individual they have to have it as a friend. In their friends list they see: squares.appspot.com. This isn't our domain or our name. We need it to say square.appspot.com. Preferably we could change the name...
which leads to the second question... how do we change the name that people see.
"If you've built the chat bot, why can't you jsut change it's name yourself?"
Am I missing something this simple? How?

Resources