I'm trying to get Slack to prompt the user to sign in with their Google account (account link) before they can use my Dialogflow chatbot in Slack. The reason being, is that I need access to their calendar in order to create and modify the events, among other things.
Simply following the Slack integration instructions on the 'Integrations' page in the Dialogflow console didn't work. It immediately installed the app.
Related
As a leisure project, I created a small project that updates slack status whenever an event is added/updated in Google Calendar (Just like the Google calendar app on Slack). Whatever I implemented till now works as expected but I did so by creating a new Slack app, which I don't want to do - In other words, I am trying to integrate Google Calendar with Slack, without any Slack bot or Slack app setup. At least this is what Zapier does - It asks for authentication to Google calendar & Slack, and integrates them without having a Slack bot or Slack app.
I referred to Slack API docs but couldn’t find any page helpful enough to work without a Slack bot or Slack app, and simply with a Web API token.
I think I found a page closer to what I need but this too requires a client ID and client secret which are possible if a new app is created.
It's no longer possible to generate an API token on its own for Slack. If it helps, you can just think of a Slack app as a simple container representing what you want to accomplish. Install the Slack app to get the token and then use the token for that purpose. You don't need to learn or implement OAuth or provide much more than a name to retrieve a token scoped to the activities you wish to accomplish.
I am developing chatbot using Microsoft bot framework composer. I added this chatbot to Microsoft Teams channel as well. It is a IT Help desk chatbot. We have a separate ticketing system, whenever user send a email to support#abc.com, the support ticket would be automatically created.
I want my chatbot to send a email automatically to create a ticket when the user needs to create a ticket using chatbot.
There are a lot of ways to do that. For example, you can use "Send an HTTP request" action in the composer, and call an endpoint where you do this email processing (for example: you can quickly test by using a logic app which will be your http endpoint, and inside this logic app use an email connector - outlook or other)
More details on the "send an http request" step here
And a tutorial to send an email with Logic Apps here
I'm developing a facebook/workplace chatbot using dialogflow with node.js for fulfillment. Can't seem to find resources for pushing notifications.
I want to be able to trigger sending the message by visiting the webhook url.
You need to use the Facebook Graph APIs to send a facebook notification to a specific user. User can click on the notification to launch the facebook messenger chatbot.
Here is a quick example.
https://graph.facebook.com/v3.0/{user_id}/notifications?template={your_message}&href={link}&access_token={page_access_token}
You can read more about it here: https://developers.facebook.com/docs/graph-api/reference/user/notifications/
Basically, you need to run a web service which when called makes the calls to the facebook notification APIs.
All you need to do is pass the user id, the message/link to be displayed in the notification and the page access token.
When someone first sends you a message via Facebook, Facebook provides you the page-specific user id which you can store in the database.
Page access token can be accessed by going to https://developers.facebook.com/apps
I have an external service with is own database where the users can log in.
Now I have a bot in NodeJS using Bot Builder and the Bot Framework.
I want to link them.
Is there anyway that the bot recognize the users from the other service everytime they open a new conversation and everytime they write something in the bot?
I've just tried with web chat before and I know that with channels that they support like Facebook, Telegram, Skype etc is easy to recognize the users every time they come back, but I don't know how if it is possible to do this with an external service where the users are already logged in and they want to talk with the chatbot.
I don't know how could I generate an authtoken or something that the bot framework read it and recognize the user.
You can use the DirectLine API to allow your bot and a custom client to communicate to each other, a sample can be found here, and here if you want to use WebSockets.
You can also add authentication to your bot via Azure Bot Service to use OAuth as stated here, where you will find samples too.
If I begin a dialog with a user where in the middle that user is sent a link that they are meant to open, how can I resume the conversation with the user after they have closed the webpage (which I control) the link lead to?
They way I implemented this myself, without using BotBuilder for Node.js v3, was that the link I send to the user has the chatId information associated with it, so when the user later closes the webpage the link leads to, the webpage sends a call to my chat server saying its time to resume the conversation with the specific chatId.
With BotBuilder for Node.js its unclear how I could get it to send a one off message for a specific chatId on a specific channel or begin a new dialog with a user that is triggered by a website or source other than the direct chat recipient. Can someone please give me guidance on this?
For more information on this subject, check out the documentation guide: Integrate your bot with a web browser.
Some scenarios require more than just a bot to fulfill a requirement. A bot may need to send the user to a web browser to complete a task and then resume the conversation with the user after the task has been completed.
Tools covered in this article include:
AuthBot - a .NET library for Azure Active Directory authentication on bots built via Microsoft Bot Framework.
botauth - authentication middleware for bots built using the Bot Framework and Node.js. botauth is leverages passportjs authentication strategies to help bot developers connect to 3rd party oauth providers. You can use botauth to connect your bot's users to their Facebook, Dropbox, or any other API protected by OAuth 2.0.