Webhooks triggered by Google Assistant - google-assistant-sdk

I noticed that IFTTT.com is using a Google Assistant integration that allows them, basically, to set up for each of their users some kind of "trigger words" that trigger a call to a webhook. I searched a lot in the API docs and found no proper way to do the same, only ways to set up conversations or IoT interactions.
I kind of want to build something similar to the IFTTT integration with a way to programmatically set up actions via an API (not via the dashboard).
Is it possible to do or is this just a custom development Google made for IFTTT?
In my researches I found out about something called "Direct actions" but it does not seem to exist anymore in the Google Assistant Doc. Can you help me with that?
I don't know if my questions are very clear, please tell me if they are not
Thanks in advance for your help
Have a good day

Here's similar options to the IFTTT integration:
Create routines in the Google Home app. That will allow you to create custom commands that activate one or several actions.
Create a smart home action. It's a type of direct action, as opposed to a conversational action, and will let you directly invoke the Assistant for a subset of commands.
You could also create a conversational action. While it would not give you the same direct control, you can still run actions quickly by doing a deeper invocation, ie. "Ask my test app to do an action". It would also give you much greater flexibility over the input.

Related

Connect to Twilio Autopilot with Dynamic Stylesheet

My use case requires me to have users pick their desired voice for the autopilot questions. The thing is there doesn't seem to be a way of Dynamically choosing the Stylesheet of the Assistant (without actually updating the resource).
My perfect scenario would be something like:
connect.autopilot(SID, {voice: 'Polly.Joanna'})
I've also checked in The JSON Encoded Actions Schema but it doesn't seem to have a way of changing the voice of a specific Autopilot Action like this:
"say": {
"say_voice": "Polly.Joanna",
"speech: "Example speech"
}
The only reasonable solutions so far seem to be either:
create an Assistant for each user. (May lead to overloading Twilio)
have only one Assistant but update its stylesheet before connecting the user (This would probably lead to concurrency issues, right?)
Any other suggestions on how to tackle this problem? Thanks in advance
You are right, an Assistant has one directly linked StyleSheet and that is how you define the voice. You also don't want to update the Assistant with a new StyleSheet as that would likely change the voice of any calls that are already in progress (though I haven't tested this).
You do suggest creating an Assistant for each user. According to the Autopilot documentation you can create up to 500 Assistants per account. I don't know how many users you have that need Assistants, but that could work? I would guess that if your users want to customise the voice, they may end up wanting to customise other aspects of the Assistant, including the phrases it uses, so it might be useful to have an Assistant each too.
I don't have any other ideas for this though, I'm afraid.

Is it possible to add a direct command to Google Assistant API?

I am working on an Arduino project and I was curious if it is possible to add a "direct command" to Google assistant on android.
I've searched a bit and all I could find is having the Assistant do things like "Hey Google, let's talk to Application Name" but I think that's a little annoying to use, I wanted to know is if it's possible to add like "Hey Google do this" and it would like open a specific website.
Is is possible or I'm out of luck?
Thank you!
You can use explicit invocation to trigger a Google Assistant action.
The user can include an invocation phrase at the end of their invocation that will take them directly to the function they're requesting, like so:
"Hey Google do this" would be an example of invocation that is currently only available to partners. Since Spotify has a relationship with Google, for example, users can say "Hey Google, play Despacito on Spotify." If you would like to create Actions using parnter solutions, you will need to contact support to request access and become a partner.
As a third party developer, the closest you can get to mimicking the feature you're requesting is, "Hey Google, talk to My App Name about visiting www.example.com", which could trigger an intent that would respond with a browsing carousel of links to www.example.com and any other websites you would like to suggest.

Google assistant SDK custom commands

Currently following hot word example, I create custom commands like turn screen on/off, how do I disable voice response "sorry I can't help you"
there are multiple ways do it.follow this link and details google assistant
1 - if your using this method/project creation and run it. then you can parse the request/query in event.args['text'] based on which you can perform activity local without sending it to google assistant. problems: google will response with some voice message parallel.
2 - use IFTTT, pretty simple to work with. basic use with webhooks takes little time though. this link is useful and use ngrok for local webhook url
3 - use API.AI this is for advanced projects where you depend on google to assist with questions recognization and response with your answers from webhooks. it's not straight forward to work with, the details and tutorials that are given are with google cloud functions which works only with node.js as of now. if your python programmer or any other languages google has examples in github which are again not stright forward, I guess.

Viewing user responses from slack to errbot

I'm very new to bots. I'd like to develop a quick/simple test that makes it possible for a bot (errbot) to write a message to slack, then view responses back to the bot from users on slack.
How do I go about achieving this? Do I need to write a plugin for this?
Apologies if my question is too general/ambiguous -- I haven't come across an example that clearly explains this.
Yes, you need to program a bot a way or another, Errbot is just a framework that help you do that (concentrate on messages/responses) through plugins and not on the technicalities of the services it is connected to (Slack or any other).

Using OAuth to retrieve "consumer" email from a linked Google Apps Script within a Google Apps Site

While https://developers.google.com/accounts/docs/OAuth2Login is very descriptive, I cannot seem to wrap my head around how to translate into a Google Apps Script.
The ultimate goal is to have the user click a link, authorize access to their userinfo. I will then use their email address or userId to assign the appropriate spreadsheet to other Google Apps Scripts UIs.
I am certain that some sample code would get me on my way.
Is it even possible?
Can a linked be utilized to make this happen? http://support.google.com/sites/bin/answer.py?hl=en&answer=1224166&topic=1224152&ctx=topic
The trouble is that when you publish your script as a service, it executes under your ID. All the authorization has to be done in the script editor. So, when a third person clicks a button or link or whatever, the script runs under your user ID and all you get back is your own user id.
In short, the answer is no. Sad, but true :(
Check out the OAuth code on the Google Code site. There are some great examples along with the client (and server) code in several different programming languages. Follow along with the samples on how to get the tokens needed.

Resources