{"id":18039,"date":"2018-02-08T11:49:44","date_gmt":"2018-02-08T11:49:44","guid":{"rendered":"http:\/\/developer.kore.ai\/v7-2\/?post_type=docs&#038;p=13252"},"modified":"2021-03-30T10:28:00","modified_gmt":"2021-03-30T09:28:00","slug":"adding-the-amazon-alexa-channel","status":"publish","type":"post","link":"https:\/\/developer.kore.ai\/v7-2\/docs\/bots\/channel-enablement\/adding-the-amazon-alexa-channel\/","title":{"rendered":"Adding the Amazon Alexa Channel"},"content":{"rendered":"<section class=\"l-section wpb_row height_auto\"><div class=\"l-section-h i-cf\"><div class=\"g-cols vc_row type_default valign_top\"><div class=\"vc_col-sm-12 wpb_column vc_column_container\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\">\r\n\t<div class=\"wpb_text_column \">\r\n\t\t<div class=\"wpb_wrapper\">\r\n\t\t\t<p>To add Amazon Alexa as a channel to your Kore.ai bot, you need to extract supported Dialog Tasks of this bot from Configurations tab and add to your Amazon Alexa\u2019s Skills. Additionally, you also need to configure your bot\u2019s Webhook URL as your Alexa Skill Set\u2019s Service Endpoint for the platform to receive messages.<\/p>\n<div class=\"alert alert-info\">\n<p><b>Note:<\/b> Alexa as a channel should ideally be enabled for bots that are specifically built to work on voice-based channels. Please review the following constraints before enabling Alexa as a channel for this bot:<\/p>\n<ol>\n<li>Enterprise Bots that require user\u2019s authorization to communicate with the bot are not supported.<\/li>\n<li>If your dialog tasks require user\u2019s authorization to communicate with external systems, then the platform will push a card with URL information to Alexa app.<\/li>\n<li>Intents and entities of only Published Dialog tasks can be exported to Amazon Alexa. Do ensure that your intents and entities adhere to naming guidelines of Amazon Alexa.<\/li>\n<li>Not all entity types available in Kore.ai platform are currently available in Alexa. Do verify that your tasks contain Alexa supported entities for optimal user experience.<\/li>\n<li>Do ensure that your dialog tasks contain one or more utterances.<\/li>\n<li>If you would like to display bot response as templates on supported devices like Echo Show, you will need to define channel specific responses\/prompts.<\/li>\n<li>Do ensure that your dialog tasks contain Bot Message node as the last node only. Alexa marks a task as completed if a bot message is displayed without expecting any input from the user.<\/li>\n<li>Webhook Nodes work asynchronously and are currently are not supported.<\/li>\n<li>Amazon Alexa executes one task at a time and hence \u2018Hold &amp; Resume\u2019 functionality will not be supported.<\/li>\n<\/ol>\n<\/div>\n<p>To add the Amazon Alexa channel to your Bot, you will need to:<\/p>\n<ol>\n<li><b> Add a New Skill- <\/b>To enable Alexa channel to your Kore.ai bot, create a new Alexa skill in the Amazon developer console.<\/li>\n<li><b>Configure Interaction Model &#8211;\u00a0<\/b>Alexa skill can be built in one of the following ways:\n<ul>\n<li>Dialog Migration to extract the dialog tasks\u00a0from Kore.ai and import them into Amazon Alexa&#8217;s Skills. This will entail re-import for reflecting ongoing changes in the dialog definition. Intent detection and execution is primarily controlled by Alexa.<\/li>\n<li>Redirection to create a single intent in your skill with one SearchQuery slot that would accept\u00a0user inputs and redirect them to your Kore.ai bot. Intent detection and execution is primarily controlled by the Kore.ai bot.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Enable Account Linking &#8211; <\/strong>To access end user&#8217;s authentication details for making API calls to external services. This step is optional.<\/li>\n<li><b>Enable Webhook Integration- <\/b>To setup Amazon Alexa integration to your Kore.ai Bot, enable webhook integration by copying the Webhook URL provided on the configurations tab of the Amazon Alexa Channel page in the Bot builder and select \u2018HTTPS\u2019 as Service Endpoint type.<\/li>\n<li><b>Enable Channel-<\/b> After completing the integration setup, you need to enable the channel.<\/li>\n<li><b>Test Integration- <\/b>Once the channel is enabled, to validate a successful integration, you can test any intent utterance using the Test tab of your Alexa Skill and check its responses for the given test utterances.<\/li>\n<li><b>Publishing Information, Privacy &amp; Compliance and Certification<\/b>&#8211; You will need to publish your Alexa Skill on Alexa App and provide details for Privacy and Compliance to enable \u2018Skills Beta Testing\u2019 that will allow you to invite your co-developers to test your app. You will also need to submit your Skill to Amazon for Certification to enable your skill to become visible on Alexa Skills on Amazon App Store after it is certified.<\/li>\n<\/ol>\n<h5><strong>To add the Amazon Alexa Channel<\/strong><\/h5>\n<ol>\n<li>In the <b>Bots<\/b> section of the Bot Builder, click the Bot to which you want to add the Amazon Alexa channel.<\/li>\n<li>On the <b>Channels<\/b> tab, click the <b>Amazon Alexa<\/b> icon. The <b>Amazon Alexa<\/b><b> Channel<\/b> page gets displayed.<\/li>\n<li>In a new browser tab, login to your <a href=\"https:\/\/developer.amazon.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"><b>Amazon Developer<\/b><b> portal<\/b><\/a> and navigate to <b>Alexa<\/b> tab. Choose <b>Skills<\/b>\u00a0from <strong>Your\u00a0<\/strong><b>Alexa Console <\/b>and click <b>Create Skill<\/b>. To enable the Alexa channel, you must have or register for an Amazon Developer account beforehand.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/13\/getting-started-wth-alexa-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13297\" src=\"\/wp-content\/uploads\/sites\/13\/getting-started-wth-alexa-1.png\" alt=\"\" width=\"500\" height=\"172\" \/><\/a><\/li>\n<li>In <b>Create a New Alexa Skill<\/b> section, enter the required information in the respective fields. If you would like to display templates on Alexa supported devices, select <b>Yes <\/b>for <b>Render Template<\/b> option in the <b>Global Fields<\/b> section as shown in the illustration. Click <b>Save<\/b> to save your details to create a new skill and then <b>Next<\/b> to proceed.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/13\/render-template-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13298\" src=\"\/wp-content\/uploads\/sites\/13\/render-template-1.png\" alt=\"\" width=\"450\" height=\"361\" \/><\/a><\/li>\n<li>Now, from the <b>Interaction Model<\/b> tab, select <b>Launch Skill Builder.<\/b> You will be redirected to <b>Dashboard<\/b> section of Skill Builder. Select <b>Code Editor<\/b> tab from the navigation panel.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/13\/code-editor-icon-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13299\" src=\"\/wp-content\/uploads\/sites\/13\/code-editor-icon-1.png\" alt=\"\" width=\"500\" height=\"168\" \/><\/a><\/li>\n<li>In <b>Code Editor<\/b>, you need to define the intents and entities to be associated with your newly created skill. For this, navigate to <b>Configurations<\/b> tab of the Amazon Alexa channel page in the bot builder and download the <b>JSON file<\/b> containing intents and entities of all supported dialogs in this bot. Navigate back to the Code Editor section in Developer console and Upload the JSON file and click <b>Apply Changes.<br \/>\n<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/13\/code-editor-upload-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13300\" src=\"\/wp-content\/uploads\/sites\/13\/code-editor-upload-1.png\" alt=\"\" width=\"500\" height=\"235\" \/><\/a> <\/b><b><br \/>\n<\/b><\/li>\n<li>Review and ensure that there are no errors in your code and click on <b>Save Model<\/b> and then click on <b>Build Model<\/b>.\n<div class=\"alert alert-info\"><b>Note:<\/b> It takes 2-5 mins for the Model to be built. Any changes implemented to the built model should be followed by rebuilding the model.<\/div>\n<\/li>\n<li>To enable webhook integration, you need to click on <b>Configuration<\/b>\u00a0tab to navigate back to Developer Console.In the <b>Global Fields &#8211; Endpoint section<\/b>, select <b>HTTPS\u00a0<\/b>as the Service Endpoint Type. Copy the Webhook URL provided in the\u00a0 Configurations tab of Amazon Alexa channel page in the bot builder and enter in the <b>Default<\/b>\u00a0textbox. Click on <b>Next<\/b> to save changes and to navigate to <b>SSL Certificate\u00a0<\/b>tab.<br \/>\n<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/13\/HTTP-n-webhook-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13301\" src=\"\/wp-content\/uploads\/sites\/13\/HTTP-n-webhook-1.png\" alt=\"\" width=\"400\" height=\"387\" \/><\/a><\/li>\n<li>In the \u2018SSL Certificate\u2019 tab, select the option \u2018My development endpoint is a sub-domain of a domain that has a\u00a0wildcard certificate from a certificate authority\u2019. Click on <b>Next<\/b> to save changes and to navigate to<b>\u00a0Test<\/b>\u00a0tab.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/13\/SSL-certificate-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13302\" src=\"\/wp-content\/uploads\/sites\/13\/SSL-certificate-1.png\" alt=\"\" width=\"450\" height=\"284\" \/><\/a><\/li>\n<li>Before you can start testing your bot on Alexa, you would need to complete the channel setup. Navigate to the \u2018Configurations\u2019 tab of the Amazon Alexa channel page, review the details and Select<b>\u00a0Yes<\/b>\u00a0and click on <b>Save<\/b>\u00a0to enable Amazon Alexa Channel.<\/li>\n<li>Once done, you can now use the <b>Test <\/b>tab of your Alexa Skill to test your utterances against the integration. In the \u2018Test\u2019 tab,navigate to <b>Service Simulator<\/b>\u00a0section and provide any intent utterance and click on <b>Ask &lt;skill-name&gt;<\/b>\u00a0to test the utterance. If you get a successful response then the integration can be considered as success.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/13\/test-tab-simulator-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13303\" src=\"\/wp-content\/uploads\/sites\/13\/test-tab-simulator-1.png\" alt=\"\" width=\"300\" height=\"525\" \/><\/a><\/li>\n<li>Now, navigate to <b>Publishing Information<\/b> tab and provide all the required details for publishing your Alexa Skill on Alexa App\u00a0 and <b>Save<\/b> the details.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/13\/publishing-format-page-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13304\" src=\"\/wp-content\/uploads\/sites\/13\/publishing-format-page-1.png\" alt=\"\" width=\"350\" height=\"558\" \/><\/a><\/li>\n<li>Next, navigate to <b>Privacy &amp; Compliance<\/b> tab and provide all the required details requested and click on <b>Save<\/b>. After completing\u00a0 these steps, <b>Skills Beta Testing\u00a0<\/b>option will be enabled and this will allow you to invite your co-developers to test your app.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/13\/privacy-settings-amazon-alexa-1.png1_-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13305\" src=\"\/wp-content\/uploads\/sites\/13\/privacy-settings-amazon-alexa-1.png1_-1.png\" alt=\"\" width=\"350\" height=\"285\" \/><\/a><\/li>\n<li>When you are ready to submit your Skill to Amazon, click on <b>Submit for Certification<\/b>. Your skill will be visible on <b>Alexa Skills<\/b>\u00a0on <b>Amazon App Store<\/b> after it is certified.<\/li>\n<\/ol>\n<h1><span class=\"ez-toc-section\" id=\"Editing_the_Amazon_Alexa_Channel\">Editing the Amazon Alexa Channel<\/span><\/h1>\n<p>To <b>edit<\/b> the Amazon Alexa channel, hover your mouse over the channel to modify, and then click the <b>Settings<\/b> icon to display the command menu as shown in the following illustration.<br \/>\n<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/13\/Edit-Alexa-2-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13306\" src=\"\/wp-content\/uploads\/sites\/13\/Edit-Alexa-2-1.png\" alt=\"\" width=\"500\" height=\"232\" \/><\/a><br \/>\nSelect one of the following commands to modify the channel:<\/p>\n<ul>\n<li><b>Disable\/Enable<\/b> \u2013 Click <b>Disable<\/b> to temporarily disable use of the Amazon Alexa for your Bot.To enable use of the Amazon Alexa channel, Click <b>Enable.<\/b><\/li>\n<li><b>Delete<\/b> \u2013 Click <b>Delete<\/b>, and then click <b>OK<\/b> in the <b>Delete Confirmation<\/b> dialog to permanently delete the Bot channel configuration.\n<div class=\"alert alert-info\">\u00a0<b>Warning:<\/b> This operation is permanent, and cannot be undone.<\/div>\n<\/li>\n<\/ul>\n\r\n\t\t<\/div>\r\n\t<\/div>\r\n<\/div><\/div><\/div><\/div><\/div><\/section>\n","protected":false},"excerpt":{"rendered":"To add Amazon Alexa as a channel to your Kore.ai bot, you need to extract supported Dialog Tasks of this bot from Configurations tab and add to your Amazon Alexa\u2019s Skills. Additionally, you also need to configure your bot\u2019s Webhook URL as your Alexa Skill Set\u2019s Service Endpoint for the platform to receive messages. Note:...","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[],"class_list":["post-18039","post","type-post","status-publish","format-standard","hentry","category-channel-enablement"],"_links":{"self":[{"href":"https:\/\/developer.kore.ai\/v7-2\/wp-json\/wp\/v2\/posts\/18039","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.kore.ai\/v7-2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/developer.kore.ai\/v7-2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/developer.kore.ai\/v7-2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.kore.ai\/v7-2\/wp-json\/wp\/v2\/comments?post=18039"}],"version-history":[{"count":1,"href":"https:\/\/developer.kore.ai\/v7-2\/wp-json\/wp\/v2\/posts\/18039\/revisions"}],"predecessor-version":[{"id":20765,"href":"https:\/\/developer.kore.ai\/v7-2\/wp-json\/wp\/v2\/posts\/18039\/revisions\/20765"}],"wp:attachment":[{"href":"https:\/\/developer.kore.ai\/v7-2\/wp-json\/wp\/v2\/media?parent=18039"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/developer.kore.ai\/v7-2\/wp-json\/wp\/v2\/categories?post=18039"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/developer.kore.ai\/v7-2\/wp-json\/wp\/v2\/tags?post=18039"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}