Slack and Watson Integration

17 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€67.10
List Price:  €95.86
You save:  €28.76
£55.67
List Price:  £79.54
You save:  £23.86
CA$100.49
List Price:  CA$143.56
You save:  CA$43.07
A$111.96
List Price:  A$159.95
You save:  A$47.99
S$94.87
List Price:  S$135.54
You save:  S$40.66
HK$544.16
List Price:  HK$777.41
You save:  HK$233.24
CHF 62.56
List Price:  CHF 89.37
You save:  CHF 26.81
NOK kr792.29
List Price:  NOK kr1,131.89
You save:  NOK kr339.60
DKK kr500.54
List Price:  DKK kr715.08
You save:  DKK kr214.54
NZ$123.74
List Price:  NZ$176.78
You save:  NZ$53.04
د.إ257.07
List Price:  د.إ367.26
You save:  د.إ110.19
৳8,330.24
List Price:  ৳11,900.85
You save:  ৳3,570.61
₹5,945.56
List Price:  ₹8,494.03
You save:  ₹2,548.46
RM315.51
List Price:  RM450.75
You save:  RM135.24
₦108,149.19
List Price:  ₦154,505.46
You save:  ₦46,356.27
₨19,403.53
List Price:  ₨27,720.51
You save:  ₨8,316.98
฿2,393.75
List Price:  ฿3,419.79
You save:  ฿1,026.04
₺2,454.67
List Price:  ₺3,506.82
You save:  ₺1,052.15
B$425.95
List Price:  B$608.53
You save:  B$182.58
R1,282.09
List Price:  R1,831.63
You save:  R549.54
Лв131.15
List Price:  Лв187.37
You save:  Лв56.21
₩101,234.93
List Price:  ₩144,627.53
You save:  ₩43,392.60
₪254.67
List Price:  ₪363.83
You save:  ₪109.16
₱4,117.86
List Price:  ₱5,882.91
You save:  ₱1,765.05
¥10,949.58
List Price:  ¥15,642.93
You save:  ¥4,693.35
MX$1,405.49
List Price:  MX$2,007.92
You save:  MX$602.43
QR254.12
List Price:  QR363.05
You save:  QR108.92
P963.49
List Price:  P1,376.48
You save:  P412.98
KSh8,999.72
List Price:  KSh12,857.29
You save:  KSh3,857.57
E£3,561.31
List Price:  E£5,087.81
You save:  E£1,526.49
ብር8,689.79
List Price:  ብር12,414.52
You save:  ብር3,724.72
Kz64,250.82
List Price:  Kz91,790.82
You save:  Kz27,540
CLP$69,143.42
List Price:  CLP$98,780.55
You save:  CLP$29,637.13
CN¥510.67
List Price:  CN¥729.56
You save:  CN¥218.89
RD$4,244.94
List Price:  RD$6,064.47
You save:  RD$1,819.52
DA9,440.04
List Price:  DA13,486.35
You save:  DA4,046.31
FJ$162.13
List Price:  FJ$231.62
You save:  FJ$69.49
Q537.12
List Price:  Q767.35
You save:  Q230.22
GY$14,584.29
List Price:  GY$20,835.60
You save:  GY$6,251.30
ISK kr9,693.35
List Price:  ISK kr13,848.23
You save:  ISK kr4,154.88
DH701.59
List Price:  DH1,002.31
You save:  DH300.72
L1,285.64
List Price:  L1,836.70
You save:  L551.06
ден4,127.89
List Price:  ден5,897.23
You save:  ден1,769.34
MOP$558.06
List Price:  MOP$797.27
You save:  MOP$239.20
N$1,283.39
List Price:  N$1,833.49
You save:  N$550.10
C$2,565.21
List Price:  C$3,664.75
You save:  C$1,099.53
रु9,482.30
List Price:  रु13,546.73
You save:  रु4,064.42
S/259.58
List Price:  S/370.84
You save:  S/111.26
K282.68
List Price:  K403.85
You save:  K121.16
SAR262.90
List Price:  SAR375.59
You save:  SAR112.68
ZK1,929.21
List Price:  ZK2,756.13
You save:  ZK826.92
L333.95
List Price:  L477.10
You save:  L143.14
Kč1,686.22
List Price:  Kč2,408.98
You save:  Kč722.76
Ft27,781.83
List Price:  Ft39,690.03
You save:  Ft11,908.20
SEK kr772.17
List Price:  SEK kr1,103.14
You save:  SEK kr330.97
ARS$71,242.69
List Price:  ARS$101,779.64
You save:  ARS$30,536.94
Bs481.71
List Price:  Bs688.19
You save:  Bs206.47
COP$305,135.87
List Price:  COP$435,927.07
You save:  COP$130,791.20
₡35,171.10
List Price:  ₡50,246.58
You save:  ₡15,075.48
L1,769.55
List Price:  L2,528.04
You save:  L758.48
₲543,563.42
List Price:  ₲776,552.46
You save:  ₲232,989.03
$U3,109.25
List Price:  $U4,441.97
You save:  $U1,332.72
zł286.15
List Price:  zł408.81
You save:  zł122.65
Already have an account? Log In

Transcript

Video 4.8 slack and Watson integration. In this video, we will implement a weather station using slack and Watson. We have tried almost all of the ways to build a weather station. Now, we're going to try a new way. We will use a slash command and ask about the weather in Slack, which will then give us a weather info. But how can slack give weather info?

We are going to make it do that. In case you don't know, slack is a tool which could replace emails, text messaging, and it is used within teams for instant messaging. If you want to know more about Slack, check out the resources. I also want you to create a new workspace and a new slack account. You can delete it once you're done with your experimentation. Let's start I told you that We'll be using slash commands.

First, what are the slash commands are not messages. When you send a payload along with a slash command like this, you will send the payload to the designated service endpoint, which is your application. And we can interpret this payload data and return something to slack. To create slash commands, we need to create a slack application. So go to the URL api.slack.com and click on start building. This will redirect you to the applications page.

Yeah, by default, you will get a create a new app pop up to create one. I'm naming mine whether choose a workspace like I told you before, you can create a new workspace for experimentation. After all, no one wants to mess up with an official account. Now we're only going to create slash commands, in which case, you need to go here and create a new command. I'm going to have slash whether the request URL will be the URL to which the payload will be sent to. And since we want this data to come to node rate, we should give app underscore URL slash slack.

You can have anything in this part. You can add parameters to be passed if you want, then safe. We have created an app under slash command, but we haven't installed it into our workspace yet. So let's do that. Click Install. Once you complete your authorization, it is done.

Let's check if my slash command exists. Cool. So let's move to the node read part. In your editor, create the URL you have defined in the request part of the slash command, add a debug node to http in node to see what you get. Make sure you change the method to post because we will be getting the payload data as JSON documents. And also, don't forget to commend the HTTP node auth property in settings.js file to allow authorization to send data deployed.

And let's try the slash command we created. Well, nothing's happening here. What did we get in Node red? We are getting a lot of data. We can find the text here. Remember, our primary need was to Use the slash commands to return weather data.

Okay, so we get the text from here and check if it has any keyword called weather using regular expressions, and then send the current weather data. But we already know how to do it. So let's try it another way. Guess what it is? It is by using Watson assistant, you can install it as a service from the catalog. Here, I'm choosing the plus trial option, which has been recently included.

This is the best under the free options because it includes all the goodies of the plus plan. So let's choose that. Open it before we start that our A few key terms you need to know. I'll explain them. But if you want to know more, you can always check out the resources. First is a skill.

A skill is a conversational application, we are going to create a weather skill. Likewise, you can create a translate skill for translating a message to another language etc. In simple terms, it is equivalent to a mobile app. We have specialized apps for email, chats, games, etc. Now you get the picture. Okay, now we need to create one here.

Skills here are of two types, dialog and search. The one we will create is a dialogue skill. That is self explanatory. I'm going to create one named weather forecast. The next part is intense and intent is the user's intention. You can say the same thing in different ways.

Like if you're going to say yes, you could use. Yes, yeah. Okay. Yep. etc. Those are the different examples you can have.

Now let's create a weather intent. Here, input the different utterances of asking about the weather. For instance, what's the weather? What is the weather now? Is it hot? Is it cold outside?

I would like to know the current weather forecast. These are some of the utterances. Now, you can make Watson trained by giving these sample utterances by using this try it option. Right now, let's give some time for Watson to finish its training. When you enter the utterance here, it'll identify the intent. Now let's try this.

If it was wrong, you can choose the right intent by clicking here, and it will train on the data again. But we have only added questions, we have not added the answers. For that, go to the dialogue tab. Click on Create to create a new dialogue. This is called a dialogue flow and these are called nodes. When we start, by default, the first node is triggered and this is it should respond with this text.

Now you can modify it as per your wish. Open the Watson trainer to see what happens. Something will happen when we clear this. See, the text we saw comes first because when we keep The first node in the dialogue is triggered, but it is not going to matter much now. We want Watson to check for the weather intent. So let's add a new node and add the weather intent here.

We have to enter some text here, but we don't have the temperature data yet. True. For now, give some text and check if Watson recognizes the intent. Nice it does. Okay, a question for you. What if the user wants to check the weather for a specific location?

For example, what is the weather in Chennai, India. In this case, the location data must be separated and used in some weather node to get the weather information. Don't think about regular expressions again. I have a better way We can use entities in Watson. entities are like variables. I'll show you how they work.

Under the entities tab, you can define entities. Now I'm going to make my job even more easier by using the system entities. These are predefined by IBM. We'll be using the location entity. So turn that on. Next, come to the dialog.

Here, add a child node under the weather node. Okay, Lakshmana I think you're going a bit too fast. Okay, I'll slow down a chai notice something which will help your user to answer more questions. Here, we're going to use it to get the location data. But why can't I use it in the weather node itself? You can, but remember, we are using slash commands so we can't have a real conversation here in this child node, if it recognizes any location data, that is, if assistant recognized access location, then respond with dollar sis location.

Note that the access location is an entity. And dollar says location is a context variable. And you can use that in a sentence using this syntax. Now let's try it in Watson trainer. Awesome. It works.

But how do we get this data in Node red. I'll show you how. Using this here, like every other Watson node, you have to enter your API key and service endpoint. Then you also have to enter the workspace ID. Okay, pause Lakshmana I have a doubt. I saw a similar note called assistant to in the palette.

Why are we not using it? Well, because assistant two will ask for the assistant ID and assisted one will ask for the workspace ID. We need not create an assistant to use slash commands. An assistant is actually a chat bot. We've just created a skill. We did not deploy it within assistant.

And when we do that, we also need to create a bot in the slack app. For now, that will be too complicated. So let's focus on this. But if you want to know more, check out the resources section of this video. Okay, we can get the workspace ID from here. Now we know the part of artists from slack.

And assistant only accepts payload. So change it using the change node. Now let's check what we get in return by using a debug node. Hmm, lots of data again, payloads, intense entities have entities, but we need to get the location data. So let's try again. We can see our context variables here.

Now we need to separate these and use it in a weather node. I'm going to go with that The one we saw in the first video. Yes, open weather map. We already know the kind of data we get from this. I'm going to send only the description back to slack. So change it here and done.

With it's not done yet. The user can either ask for weather bluntly, like what's the weather now, or they can mention the specific location in the utterance. In the first case, we need to have a predefined location such that when he calls that way, the weather information of the predefined location must be sent. else we need to send the weather information For the specific location asked by the user. Here, you can also send your location from your Android using term arcs to your app in the IBM Cloud and use that to get weather information. You should try that later.

We need a switch node for that. I'm checking the length of the entities array. If it is zero, then the user has not entered any location. So the default location needs to be used, if not, the Entity Data is used to send location info to the weather node. Okay, done. Now we're good to go deploy Check it out.

Impressive. The next step is you can add more interaction to your slack application by adding more intense and dialogues like this, try the same and get back to me about your implementation. In this video, we learned how to integrate slack and Watson with no dread to build a weather station. In this section, we learned about the different ways to build a weather station. Now we've come to the end of this course. Congratulations on successfully completing the introduction to no dread course from macademia.

Cost summary in this course, we have learned How to run node red on different platforms, how to work with the node red user interface, how to use different nodes from the pallet, how to implement a weather station in different ways. Equipped with this knowledge, you will be able to prototype and build real time applications using node red as your instructor and a well wisher. I'm excited to learn about the various projects, you come up with the knowledge built from this course. And don't forget, I have put in considerable effort to make this course useful to you. Please leave detailed feedback and an appropriate rating. If you're satisfied with this course.

This will motivate me to bring more such courses to learners like you admitted me, you, the student always comes first. We are in business to help you get better. Thank you

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.