{"id":26480249,"url":"https://github.com/hellostealth/stealth-alexa","last_synced_at":"2025-06-27T10:06:55.343Z","repository":{"id":95756283,"uuid":"161245933","full_name":"hellostealth/stealth-alexa","owner":"hellostealth","description":"Stealth driver for voice bots via Amazon Alexa","archived":false,"fork":false,"pushed_at":"2018-12-19T17:31:13.000Z","size":11,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-27T10:05:17.481Z","etag":null,"topics":["alexa","alexa-custom-skill","alexa-sdk","alexa-skill","chatbot","conversational-bots","ruby","stealth","voice-assistant","voice-chat"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hellostealth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2018-12-10T22:41:59.000Z","updated_at":"2021-03-15T09:40:48.000Z","dependencies_parsed_at":"2023-05-21T22:30:37.130Z","dependency_job_id":null,"html_url":"https://github.com/hellostealth/stealth-alexa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hellostealth/stealth-alexa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellostealth%2Fstealth-alexa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellostealth%2Fstealth-alexa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellostealth%2Fstealth-alexa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellostealth%2Fstealth-alexa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hellostealth","download_url":"https://codeload.github.com/hellostealth/stealth-alexa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellostealth%2Fstealth-alexa/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262235780,"owners_count":23279566,"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","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":["alexa","alexa-custom-skill","alexa-sdk","alexa-skill","chatbot","conversational-bots","ruby","stealth","voice-assistant","voice-chat"],"created_at":"2025-03-20T02:13:17.085Z","updated_at":"2025-06-27T10:06:55.331Z","avatar_url":"https://github.com/hellostealth.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stealth Alexa\n\nThe Stealth Alexa driver adds the ability to build Alexa voice bots via [Stealth](https://github.com/hellostealth/stealth). Alexa bots can be accessed via a wide array of Alexa-enabled products, including Amazon's own Echo devices (including those with displays).\n\nThis Stealth integration provides a way of building Alexa Skills using Stealth. Though the patterns for voice bots are the same as text-based bots, the reply types supported are unique.\n\n[![Gem Version](https://badge.fury.io/rb/stealth-alexa.svg)](https://badge.fury.io/rb/stealth-alexa)\n\n## Configure the Integration\n\n## Replies\n\nAlexa replies are unique in that each request is processed synchronously (unlike most other Stealth integrations). Therefore, each reply should only contain a single reply.\n\nHere are the supported replies for the Alexa integration:\n\n### Speech\n\nThese are standard replies for Alexa Skills. They are similar to `text` replies in other integrations. They can be sent like:\n\n```yaml\n- reply_type: speech\n  text: Hello World!\n```\n\nIf your speech contains difficult to pronouce words or you wish to add effects to the speech, you can send along [SSML](https://developer.amazon.com/docs/custom-skills/speech-synthesis-markup-language-ssml-reference.html) to help Alexa pronouce the words.\n\n```yaml\n- reply_type: speech\n  ssml: \"I want to tell you a secret. \u003camazon:effect name=\"whispered\"\u003eI see dead people.\u003c/amazon:effect\u003e\"\n```\n\nOptionally, you can specify a `playBehavior` for how Alexa treats your reply. More info [here](https://developer.amazon.com/docs/custom-skills/request-and-response-json-reference.html#outputspeech-object).\n\n```yaml\n- reply_type: speech\n  text: Hello World!\n  play_behavior: 'ENQUEUE'\n```\n\n### Reprompts\n\nReprompts are sent to the user when either they fail to respond or their response did not match one of your mapped intents. Reprompts are optional and if one is not set, nothing is sent to the user.\n\nIf you set `reprompt: true`, Stealth will re-send your speech.\n\n```yaml\n- reply_type: speech\n  text: Hello World!\n  reprompt: true\n```\n\nYou may also customize your reprompt by specifying a complete `speech` object:\n\n```yaml\n- reply_type: speech\n  text: \"Today will provide you a new learning opportunity. Stick with it and the possibilities will be endless. Can I help you with anything else?\"\n  reprompt:\n    text: \"Can I help you with anything else?\"\n```\n\nYou can also specify an SSML reprompt.\n\n### Cards\n\nCards are rich media that can be displayed via the Alexa mobile app or on devices that may feature a screen. Stealth supports all four card types:\n\n* Simple - a card that contain a title and plain text content\n* Standard - a card that contain a title, plain text content, and an image\n* LinkAccount - a card that displays a link to an authorization URI that the user can use to link their Alexa account with a user in another system. See [Account Linking for Custom Skills](https://developer.amazon.com/docs/account-linking/account-linking-for-custom-skills.html) for details.\n* AskForPermissionsConsent - A card that asks the customer for consent to obtain specific customer information, such as Alexa lists or address information. See [Alexa Shopping and To-Do Lists](https://developer.amazon.com/docs/custom-skills/access-the-alexa-shopping-and-to-do-lists.html#missing_permissions) and [Enhance Your Skill with Address Information](https://developer.amazon.com/docs/custom-skills/device-address-api.html).\n\n\nSimple card:\n\n```yaml\n- reply_type: card\n  type: Simple\n  title: Hello World\n  content: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas pretium, sem sed placerat elementum, purus quam iaculis dolor, a euismod urna magna et sem.\n```\n\nFor standard cards, you can specify a large and small image. For more info on the dimensions and file format, please check out [Alexa's documentation](https://developer.amazon.com/docs/custom-skills/include-a-card-in-your-skills-response.html#image_size).\n\n```yaml\n- reply_type: card\n  type: Standard\n  title: Hello World\n  content: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas pretium, sem sed placerat elementum, purus quam iaculis dolor, a euismod urna magna et sem.\n  small_image_url: https://loremflickr.com/720/480\n  large_image_url: https://loremflickr.com/1200/800\n```\n\n### Sessions\n\nBy default, Stealth will keep a session open between replies. If you would like to end a session, you can set the `end_session` key to any reply:\n\n```yaml\n- reply_type: speech\n  text: Hello World!\n  end_session: true\n```\n\n### Session Attributes\n\nWhile your user's session is active, you can pass along key-value pairs in your responses. These will be spent back by Alexa in their requests. This is useful for multi-step scripts, like for example ordering a pizza.\n\nTo set these session values, you can include the `session_values` key in any your responses (except `AudioPlayer` and `PlaybackController` replies).\n\n```yaml\n- reply_type: speech\n  text: Hello World!\n  session_values:\n    x: 1\n    y: blue\n```\n\n### Directives\n\nComing soon.\n\n### Delays\n\nDelays are not supported for Alexa bots.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellostealth%2Fstealth-alexa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhellostealth%2Fstealth-alexa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellostealth%2Fstealth-alexa/lists"}