How to create a weather bot in 5 minutes | by Andrew Rudchuk | Towards Data Science

Create weather bot to get the information about the weather in the Hala.ai chat. In this tutorial we are using the service https://weatherstack.com to get the information about the current weather.
Step 1. Go to the https://weatherstack.com and sign up for a free account
Step 2.After the registration, go to the https://weatherstack.com/quickstart and copy the API Access Key that was generated for your account and also Base URL
Step 3.Go to the Integrationsection on the Hala Platform, add the new integration REST API, and past the values that you have copied in the previous step. Save your results.
Step 4.Go to the Actionssection on the Hala Platform, and create a new action. Provide the name for the action and select the integration.
Step 5. Make the configuration of your API service. You can find more information about building the API in the documentation of the API provider. In our case, you can read API documentation of this service here. When you will finish, save your changes.
Step 6. You have set up integration and action. Now, you need to create an intent to recognize the user input about getting the weather. Go to the Intentssection on the Hala Platformand press New Utterance
Step 7. To change the default name of the intent, click on icon pencil next to the default value, or you can click on the default value, and then you will be able to modify it.
Step 8. Specify the name of the intent and press Enter
Step 9. Now you need to provide examples of how the end-users can write about the getting the weather forecast. You need to provide at least five examples.
Step 10. Saveyour changes and train model
Step 11. Now, you need to create an entity to recognize the city in for which we need to provide the weather. Go to the Entitiessection on the Platform and press New Entity
Saveyour changes and train model
Step 12. Go to the Skill Kitsection on the Hala Platformand create a skill by pressing the button Create skill
Step 13. Provide the name of the skill, description, and tags (last two is optional). Press next for creating the dialog flow.
Step 14. You will be promoted to the interface for creation dialog flow. Create the first root node by pressing the button Add new
Step 15. Open the created dialog node and fill it.
Field Name — you can enter any value, for example “User asks for a weather forecast”
Conditions — here you need to specify created intent intent.get_weather
Actions — skip this section
Context — skip this section
Output — here we need to ask the user for which city we need to provide the weather forecast
Step 16. Now you need to create a child node to recognize the input from the user about the city.
Step 17. Open the child node and fill it.
Field Name — you can enter any value, for example “Form Success”
Conditions — here you need to specify the entity entity.city
Actions — When we got the information about the city, we can send the API request to the weather service. We need to add the Action that we have created previously.
Find and add the action
When you add the action, you would need to specify the context variable where the response from the weather service will be stored, for example, context.weatherResponse
Context — Here we need to save the City name into the context variable that will be sent to the weather service.
Output — In output you can write something like this “Please wait, I am checking the information.”
Step 18. Create a new child node to process the API response from the weather service.
Open the created node and fill it:
Field Name — you can enter any value, for example “Provide the results”
Conditions — Specify the context variable that was created for the Action Response on previous steps: context.weatherResponse
Actions — skip this section
Context — skip this section
Output — In the Output, we would need to provide information about the weather. To access the data from the API response, you would need to use the next prefix context.weatherResponse.and then specify the path to the required data. All API providers have information about using their API. You could read this information to create the correct path to the data extracting.
You can use the next text:
Weather forecast for {{context.weatherResponse.request.query}}Local time: {{context.weatherResponse.location.localtime}}Temprature: {{context.weatherResponse.current.temperature}}Wind speed: {{context.weatherResponse.current.wind_speed}}
Step 19. Save the changes by pressing button “Save Changes”. Now you have created the simple skill with one dialog node.
Remember to save your changes.
Step 20. Test the results. Go to the Hala Web Chat by using the next link https://chat.hala.ai/and type the first message in the chat. You can type one of the trained phrases, or you can use new phrases that weren’t specified in intent training.
Congratulations! You have created the skill (bot) and tested it.