How to add actions to Conversation Services - ibm-watson

I was checking out the documentation on developing applications for the Conversation Service.
Here, it specifies how actions can be used to carry out actions on the application side. It says these actions are returned by the dialogs. But I could not find where in the dialog I can specify actions in the response. A google search for the documentation also did not yield any fruitful results. Any help?

You can have access to dialog nodes for same example. Import workspace to your conversation service to see actions specified in the response
More details here:
https://www.ibm.com/watson/developercloud/doc/conversation/develop-app.html#setting-up-the-service

Related

Where do I find my fullfillment URL to the google home action?

I've just been started integrating assistant to smarthome project that i'm working on. And I've initially experimenting the assistant by implementing account linking flow and sync intent. I tested the account linking by testing with the google developer tool for oauth flow and confirmed it worked. Whereas, in the smarthome app, upon account linking, as soon as it completes the account linking flow I keep receiving an error message stating "Couldn't update your settings, Check your connection". Didn't find much clue with the logs for troubleshoot. And also, the solutions they were on the other posts does not seem to be working out for me as well. Would appreciate if anyone could help resolve this.
Also, I'd like to know the place where I can find the fulfillment URL that needs to be entered when creating the smarthome action. I've been using firebase to deploy my cloud functions. Moreover, I suspect weather the fulfillment URL I entered that was provided by codelabs sample were invalid thus assisant unable reach the fulfillment.
Your fulfillment URLs are the functions that you've created. For Firebase, there's a specific pattern that you can follow. If you visit your Firebase console, in the functions section, you'll see the full URL which you can copy and paste into the Fulfillment URL input.
In my example, I have a cloud function named "about_info" with the pattern https://us-central1.PROJECT_ID.cloudfunctions.net/FUNCTION_NAME. So you can use a similar scheme to identify what your function names will be.

Does the Commerce API allow you to receive a query (via Webhooks or REST) that lets you know when a payment has been detected?

I'm rebuilding the CoinbaseCommerceButton component from scratch, and in order to improve the end-user experience I want to allow the user to continue on using my app after a payment has been detected. Is there a way to do this?
There are currently two ways to do this.
1. CoinbaseCommerceButton
There is an onPaymentDetected callback as documented here. After the callback is triggered, you can safely remove the button from the DOM and allow the user to continue using your application.
2. Webhook Subscriptions
Detected payments can also be registered for via webhooks with the charge:pending event type. See here for a more detailed explanation of how this can be achieved.

Change RingCentral behavior in Salesforce App

We've recently integrated the RingCentral app with our Salesforce org, and we'd like to change the behavior of how calls are logged. The calls in question are related to phone numbers attached to Opportunities.
From what we can tell, the app only permits you to log a call made with this method as a new task under the associated Account, if an Account exists.
We want calls from the logged as a "Log a Call" record under the Opportunity, not as a Task under the Account.
We'd also like to be able to call from and log against an existing Task in certain cases. For example, there may be a Task to follow up on a stalled opportunity, and an outgoing call can log against that task.
I don't think this functionality is possible natively, and I'm pretty new to the RingCentral API. Is it possible to achieve this functionality through the API and Salesforce somehow? Thanks!
You can customize the behavior of RingCentral in Salesforce by using the Embeddable Voice Widget:
Embeddable Voice Widget
https://github.com/ringcentral/ringcentral-embeddable-voice
There are a series of demos here:
https://github.com/ringcentral-tutorials/ringcentral-web-widget-demos
Specific Salesforce demos include:
salesforce_lightning/tutorial - basic embedding in Salesforce
salesforce_lightning_more/tutorial - shows how to customize the experience
See discussion on getting objectId for object that triggered widget:
https://github.com/ringcentral/ringcentral-embeddable-voice/issues/112

Can I designate admin accounts in the developer console for which I can check from within GAE Endpoints API impl?

I want to have some restrictions on my endpoints API where even if a user is authenticated, they might not be allowed to perform certain actions. I'm mostly guarding against someone being malicious and writing their own client against my backend (my own client will never do what I'm guarding against).
However, I'd still like to be able to perform those actions as myself for debugging purposes.
A simple approach would be to hardcode some "admin" email addresses on the backend.
Is there a better way? Ideally, I'd want to be able to specify the list in the console, and then in code I could have some API on the google User class such as user.isAdmin().
Does such a thing exist?
Thank you.
Using endpoints, you have the opportunity to include a User object parameter in java or use from google.appengine.api import users in python and then user.get_current_user(). If the user is administrator, you can check this (python example) (javadoc for function isUserAdmin()). Do this inside your protected API functions.
You can read more about authorization in endpoints here. In general the docs are a great place to find this kind of info.

How to get auth token for Google Custom Search Engine?

I'm trying to create a Google custom search engine programatically. Therefore I have to sent the GET request as described in this link.
https://developers.google.com/custom-search/docs/api
GET http://www.google.com/cse/api/<USER_ID>/cse/<CSE_ID>
Authorization: GoogleLogin auth=IM6F7Cx2fo0TAiwlhNVdSE8Ov8hw6aHV
Here they mentioned auth token. How can I get this?
From the page you linked Custom Search - autentication
Although the Accounts Authentication API supports multiple authentication methods, Custom Search only supports ClientLogin
Answer: You get the access token back from client login.
What I would like to know is what will happen when client login stops working and if this will work with OAuth2. If it does work with OAuth2 why haven't they added documentation for it. I am sending some feed back on that page, its really outdated.
I had this same question, especially since ClientLogin is now deprecated, so I asked Google support and this was the response:
"Hi,
Greetings from Google for Work Support Team!
As i understand from your message, you are trying to use GSS features programmatically, i would like to update you that GSS supported only client login authentication to access search engine and its features programmatically, but client login is deprecated and it no longer works with GSS.
Oauth 2.0 is also currently not supported with GSS.
We already have a feature request #6043481 to provide support for Oauth 2.0 with GSS. However i don't have an ETA when it will be implemented.
Due to this reason, currently adding promotion programmatically is not possible. I would recommend you to use search engine control panel and respective features manually by opening GSS control panel in browser and update promotion from GSS control panel->Search Feature-> Promotions-> Add as per your requirement.
Please check the same from your end and let me know if you need any further assistance with this."
tl;dr: This is currently not possible.
It looks like they've removed this functionality altogether instead of fixing it so auth is possible. There are no longer docs at https://developers.google.com/custom-search/docs/api , it 404s.

Resources