{"id":18039,"date":"2018-02-08T11:49:44","date_gmt":"2018-02-08T11:49:44","guid":{"rendered":"http:\/\/developer.kore.ai\/v9-0\/?post_type=docs&#038;p=13252"},"modified":"2021-05-05T07:03:46","modified_gmt":"2021-05-05T06:03:46","slug":"adding-the-amazon-alexa-channel","status":"publish","type":"post","link":"https:\/\/developer.kore.ai\/v9-0\/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 must extract supported Dialog Tasks of this bot from the <strong>Configurations<\/strong> tab and add to your Amazon Alexa\u2019s Skills. Additionally, you must configure your bot\u2019s <em>Webhook URL<\/em> as your Alexa Skill Set\u2019s Service Endpoint for the platform to receive messages.<\/p>\n<div class=\"alert alert-info\">\n<p>Note: Alexa as a channel must be enabled for bots that are specifically built to work on voice-based channels. Review the following constraints before enabling Alexa as a channel for this bot:<\/p>\n<ol>\n<li>Enterprise bots that require the user\u2019s authorization to communicate with the bot are not supported.<\/li>\n<li>If your dialog tasks require the user\u2019s authorization to communicate with external systems, then the platform will push a card with URL information to the Alexa app.<\/li>\n<li>Intents and entities of only Published Dialog Tasks can be exported to Amazon Alexa. Ensure that your intents and entities adhere to the naming guidelines of Amazon Alexa.<\/li>\n<li>Not all entity types available in the Kore.ai platform are currently available in Alexa. Verify that your tasks contain Alexa-supported entities for optimal user experience.<\/li>\n<li>Ensure that your dialog tasks contain one or more utterances.<\/li>\n<li>If you want to display bot response as templates on supported devices like Echo Show, you must define channel-specific responses\/prompts.<\/li>\n<li>Ensure that your dialog tasks contain the 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 not supported.<\/li>\n<li>Amazon Alexa executes one task at a time and hence <strong>Hold &amp; Resume<\/strong> functionality is not supported.<\/li>\n<\/ol>\n<\/div>\n<p>To add the Amazon Alexa channel to your bot, you must:<\/p>\n<ol>\n<li><b> Add a New Skill<\/b> &#8211; To enable the Alexa channel to your Kore.ai bot, create a new Alexa skill in the Amazon developer console.<\/li>\n<li><b>Configure Interaction Model<\/b> &#8211; Alexa skill can be built in one of the following ways:\n<ul>\n<li>Dialog Migration to extract the dialog tasks from 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 are primarily controlled by Alexa.<\/li>\n<li>Redirection to create a single intent in your skill with one SearchQuery slot that accepts user inputs and redirects them to your Kore.ai bot. Intent detection and execution are primarily controlled by the Kore.ai bot.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Enable Account Linking <\/strong>&#8211; To access end user&#8217;s authentication details to make API calls to external services. This step is optional.<\/li>\n<li><b>Enable Webhook Integration<\/b> &#8211; To integrate Amazon Alexa with your Kore.ai bot, enable webhook integration by copying the <strong>Webhook URL<\/strong> provided on the <strong>Configurations<\/strong> tab of the Amazon Alexa Channel page in the bot builder and select <em>HTTPS<\/em> as Service Endpoint type.<\/li>\n<li><b>Enable Channel<\/b> &#8211; After completing the integration setup, enable the channel.<\/li>\n<li><b>Test Integration<\/b> &#8211; Once the channel is enabled, to validate a successful integration, test any intent utterance using the <strong>Test<\/strong> 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 must publish your Alexa Skill on Alexa App and provide details for Privacy and Compliance to enable <em>Skills Beta Testing<\/em> that allows you to invite your co-developers to test your app. You must also 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<p>To add the Amazon Alexa Channel, follow the below steps:<\/p>\n<ol>\n<li>In the <b>Bots<\/b> section of the Bot Builder, click the bot you want to add the Amazon Alexa channel to.<\/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 is displayed.<\/li>\n<li>In a new browser tab, log in to your <a href=\"https:\/\/developer.amazon.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"><b>Amazon Developer<\/b><b> Portal<\/b><\/a> and click the <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.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/21\/getting-started-wth-alexa-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13297\" src=\"\/wp-content\/uploads\/sites\/21\/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 want to display templates on Alexa-supported devices, select the <b>Yes <\/b>for <b>Render Template<\/b> option in the <b>Global Fields<\/b> section as shown in the image.<\/li>\n<li>Click <b>Save<\/b> to create a new skill and click <b>Next<\/b> to proceed.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/21\/render-template-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13298\" src=\"\/wp-content\/uploads\/sites\/21\/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 are redirected to the <b>Dashboard<\/b> section of Skill Builder. Select the <b>Code Editor<\/b> tab from the left pane.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/21\/code-editor-icon-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13299\" src=\"\/wp-content\/uploads\/sites\/21\/code-editor-icon-1.png\" alt=\"\" width=\"500\" height=\"168\" \/><\/a><\/li>\n<li>In <b>Code Editor<\/b>, define the intents and entities to associate with your newly created skill. For this, click the <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. Go back to the Code Editor section in the Developer console and Upload the JSON file and click <b>Apply Changes.<br \/>\n<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/21\/code-editor-upload-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13300\" src=\"\/wp-content\/uploads\/sites\/21\/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 <b>Save Model<\/b> &gt; <b>Build Model<\/b>.\n<div class=\"alert alert-info\">Note: It takes 2-5 mins for the Model to build. Any changes implemented to the built model must be followed by rebuilding the model.<\/div>\n<\/li>\n<li>To enable webhook integration, click the <b>Configuration<\/b> tab to go back to the Developer Console. In the <b>Global Fields &#8211; Endpoint <\/b>section, select <b>HTTPS\u00a0<\/b>as the Service Endpoint Type. Copy the <strong>Webhook URL<\/strong> provided in the <strong>Configurations<\/strong> tab of the Amazon Alexa channel page in the bot builder and enter it in the <b>Default<\/b>\u00a0textbox.<\/li>\n<li>Click <b>Next<\/b> to save changes and go to the <b>SSL Certificate\u00a0<\/b>tab.<br \/>\n<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/21\/HTTP-n-webhook-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13301\" src=\"\/wp-content\/uploads\/sites\/21\/HTTP-n-webhook-1.png\" alt=\"\" width=\"400\" height=\"387\" \/><\/a><\/li>\n<li>In the SSL Certificate tab, select the option <strong>My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority<\/strong>.<\/li>\n<li>Click <b>Next<\/b> to save changes and to go to the<b>\u00a0Test<\/b>\u00a0tab.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/21\/SSL-certificate-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13302\" src=\"\/wp-content\/uploads\/sites\/21\/SSL-certificate-1.png\" alt=\"\" width=\"450\" height=\"284\" \/><\/a><\/li>\n<li>Before you can start testing your bot on Alexa, you must complete the channel setup. Go to the <strong>Configurations<\/strong> tab of the Amazon Alexa channel page, review the details and select<b> Yes<\/b>; click <b>Save<\/b>\u00a0to enable Amazon Alexa Channel.<\/li>\n<li>Once done, you can use the <b>Test <\/b>tab of your Alexa Skill to test your utterances against the integration. In the <strong>Test<\/strong> tab, go to the <b>Service Simulator<\/b> section and provide any intent utterance and click <b>Ask &lt;skill-name&gt;<\/b> to test the utterance. If you get a successful response then the integration is considered a success.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/21\/test-tab-simulator-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13303\" src=\"\/wp-content\/uploads\/sites\/21\/test-tab-simulator-1.png\" alt=\"\" width=\"300\" height=\"525\" \/><\/a><\/li>\n<li>Now, go to the <b>Publishing Information<\/b> tab and provide all the required details for publishing your Alexa Skill on Alexa App and <b>Save<\/b> the details.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/21\/publishing-format-page-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13304\" src=\"\/wp-content\/uploads\/sites\/21\/publishing-format-page-1.png\" alt=\"\" width=\"350\" height=\"558\" \/><\/a><\/li>\n<li>Next, go to the <b>Privacy &amp; Compliance<\/b> tab and provide all the required details requested and click <b>Save<\/b>. After completing these steps, the <b>Skills Beta Testing\u00a0<\/b>option is enabled and this allows you to invite your co-developers to test your app.<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/21\/privacy-settings-amazon-alexa-1.png1_-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13305\" src=\"\/wp-content\/uploads\/sites\/21\/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 <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<h2><span class=\"ez-toc-section\" id=\"Edit_Amazon_Alexa_Channel\">Edit Amazon Alexa Channel<\/span><\/h2>\n<p>To edit the Amazon Alexa channel, follow the below steps:<\/p>\n<ol>\n<li>Hover over the channel to modify, and then click the <b>Settings<\/b> icon to display the command menu as shown in the following image.<br \/>\n<a ref=\"magnificPopup\" href=\"\/wp-content\/uploads\/sites\/21\/Edit-Alexa-2-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13306\" src=\"\/wp-content\/uploads\/sites\/21\/Edit-Alexa-2-1.png\" alt=\"\" width=\"500\" height=\"232\" \/><\/a><br \/>\nSelect one of the following commands to modify the channel:<\/li>\n<\/ol>\n<ul>\n<li><b>Disable\/Enable<\/b> \u2013 Click <b>Disable<\/b> to temporarily disable the use of the Amazon Alexa for your bot. To enable the use of the Amazon Alexa channel, Click <b>Enable.<\/b><\/li>\n<li><b>Delete<\/b> \u2013 Click <strong>Delete<\/strong>. On the Delete Confirmation dialog box, click <strong>OK<\/strong> to permanently delete the bot channel configuration.\n<div class=\"alert alert-info\">Warning: 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 must extract supported Dialog Tasks of this bot from the Configurations tab and add to your Amazon Alexa\u2019s Skills. Additionally, you must configure your bot\u2019s Webhook URL as your Alexa Skill Set\u2019s Service Endpoint for the platform to receive messages. Note: Alexa as...","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\/v9-0\/wp-json\/wp\/v2\/posts\/18039","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.kore.ai\/v9-0\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/developer.kore.ai\/v9-0\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/developer.kore.ai\/v9-0\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.kore.ai\/v9-0\/wp-json\/wp\/v2\/comments?post=18039"}],"version-history":[{"count":2,"href":"https:\/\/developer.kore.ai\/v9-0\/wp-json\/wp\/v2\/posts\/18039\/revisions"}],"predecessor-version":[{"id":27339,"href":"https:\/\/developer.kore.ai\/v9-0\/wp-json\/wp\/v2\/posts\/18039\/revisions\/27339"}],"wp:attachment":[{"href":"https:\/\/developer.kore.ai\/v9-0\/wp-json\/wp\/v2\/media?parent=18039"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/developer.kore.ai\/v9-0\/wp-json\/wp\/v2\/categories?post=18039"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/developer.kore.ai\/v9-0\/wp-json\/wp\/v2\/tags?post=18039"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}