{"id":23306013,"url":"https://github.com/alexa-samples/skill-sample-nodejs-alexa-conversations-weather-bot","last_synced_at":"2025-08-13T01:07:51.668Z","repository":{"id":110044595,"uuid":"280223416","full_name":"alexa-samples/skill-sample-nodejs-alexa-conversations-weather-bot","owner":"alexa-samples","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-07T16:24:59.000Z","size":12,"stargazers_count":6,"open_issues_count":0,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-07-13T04:41:39.831Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexa-samples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-07-16T18:03:13.000Z","updated_at":"2025-03-18T20:46:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"83a834a4-8d7f-4dbe-97fa-6fc492e7268a","html_url":"https://github.com/alexa-samples/skill-sample-nodejs-alexa-conversations-weather-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alexa-samples/skill-sample-nodejs-alexa-conversations-weather-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexa-samples%2Fskill-sample-nodejs-alexa-conversations-weather-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexa-samples%2Fskill-sample-nodejs-alexa-conversations-weather-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexa-samples%2Fskill-sample-nodejs-alexa-conversations-weather-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexa-samples%2Fskill-sample-nodejs-alexa-conversations-weather-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexa-samples","download_url":"https://codeload.github.com/alexa-samples/skill-sample-nodejs-alexa-conversations-weather-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexa-samples%2Fskill-sample-nodejs-alexa-conversations-weather-bot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270161138,"owners_count":24537596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-20T12:15:12.010Z","updated_at":"2025-08-13T01:07:51.632Z","avatar_url":"https://github.com/alexa-samples.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Alexa Conversations - Weather Bot Skill \n\nThis folder contains the nodejs lambda function code for the Alexa Conversations Weather Bot hosted template available in the Alexa Developer Portal.\n\n# How to use\nYou should only use this code if you create a new Alexa skill using the Alexa Conversations Weather Bot template, but decide to host your own endpoint for the skill service.\n\n# Installing the code in your own lambda function\nTo use this code in your own AWS Lambda function, you will need to login to your AWS account and create a lambda function for NodeJS using the latest version and paste the 5 files under lambda/custom folder into the inline editor or upload a zip file containing the files. For more information on setting up lambda functions for use in Alexa skills, please see our documentation: [Host a Custom Skill as an AWS Lambda Function](https://developer.amazon.com/en-US/docs/alexa/custom-skills/host-a-custom-skill-as-an-aws-lambda-function.html%28https://developer.amazon.com/en-US/docs/alexa/custom-skills/host-a-custom-skill-as-an-aws-lambda-function.html)\n\n\n# Skill Functionality\n\nPlease refer to the [developer documentation](https://developer.integ.amazon.com/en-US/docs/alexa/conversations/about-alexa-conversations.html) for details or terminology you don't understand as part of this guide.\n\nThis template provides a very simple starting point to demonstrate a few key concepts in Alexa Conversations. Out of the box it supports the following voice flows:\n\n - A one-shot invocation that tells weather information for a given city\n - Elicitation, denial and re-confirmation of city to give weather information\n\nAs a developer, you can see examples of:\n\n - Annotated dialogs to consume user input\n - Calling a configured API to pass the captured input to the lambda function,\n - Processing the response in APL-A (audio)\n\nBefore modifying the template to begin your development, you should try to following invocations and trace their path through the annotated dialog to understand how Utterance Sets, API invocations, API responses and Response Templates are connected together in the dialog to create the interaction and round trip. \n\n 1. \"Alexa, open weather bot\"\n 2. \"Alexa ask weather bot for weather in Seattle\"\n\n# Modifying the template\nAfter creating a skill from the hosted-skill template, you can feel free to leave the existing dialogs, APIs, response templates and utterance sets in place and start building your own dialogs, just be aware that utterances that match those in the existing utterance sets have a chance of invoking those dialogs.\n## To completely clear any traces of the template and start with a 'bare metal' Alexa Conversations skill\n\n - Delete the Utterance Sets named **DenyGetWeather**, **ConfirmGetWeather**, **InformCity**, **GetWeatherWithCity** and **GetWeather**\n - Delete the dialogs **GetWeatherRequestingArg**, **GetWeatherWithArg** and **GetWeatherDenyingFirstArg**\n - Delete the API Definitions **GetWeatherAPI**\n - Delete the Response Templates **GetWeatherResponse**, **ConfirmGetWeatherResponse**, **RequestCityResponse**\n - You will also want to modify the **welcome** template so that the skill launch (i.e. \"open *conversation starter*) is more appropriate for your skill.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexa-samples%2Fskill-sample-nodejs-alexa-conversations-weather-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexa-samples%2Fskill-sample-nodejs-alexa-conversations-weather-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexa-samples%2Fskill-sample-nodejs-alexa-conversations-weather-bot/lists"}