{"id":16551049,"url":"https://github.com/rossgodwin/rg-archetype-aws-lambda-alexa-apiai","last_synced_at":"2026-04-17T18:02:23.502Z","repository":{"id":170415608,"uuid":"100810352","full_name":"rossgodwin/rg-archetype-aws-lambda-alexa-apiai","owner":"rossgodwin","description":"Amazon AWS Lambda function example that can be used as a endpoint for a Alexa skill and ApiAi.","archived":false,"fork":false,"pushed_at":"2017-08-26T21:58:13.000Z","size":480,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-04T15:47:24.036Z","etag":null,"topics":["alexa","alexa-skill","amazon-alexa","apiai","aws","aws-lambda","aws-lambda-java","lambda","starter"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rossgodwin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2017-08-19T17:29:10.000Z","updated_at":"2020-08-20T03:45:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"d839a054-d624-41eb-9884-b045361c4f06","html_url":"https://github.com/rossgodwin/rg-archetype-aws-lambda-alexa-apiai","commit_stats":null,"previous_names":["rossgodwin/rg-archetype-aws-lambda-alexa-apiai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rossgodwin/rg-archetype-aws-lambda-alexa-apiai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossgodwin%2Frg-archetype-aws-lambda-alexa-apiai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossgodwin%2Frg-archetype-aws-lambda-alexa-apiai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossgodwin%2Frg-archetype-aws-lambda-alexa-apiai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossgodwin%2Frg-archetype-aws-lambda-alexa-apiai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rossgodwin","download_url":"https://codeload.github.com/rossgodwin/rg-archetype-aws-lambda-alexa-apiai/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossgodwin%2Frg-archetype-aws-lambda-alexa-apiai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31939788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["alexa","alexa-skill","amazon-alexa","apiai","aws","aws-lambda","aws-lambda-java","lambda","starter"],"created_at":"2024-10-11T19:36:14.540Z","updated_at":"2026-04-17T18:02:23.494Z","avatar_url":"https://github.com/rossgodwin.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# rg-archetype-aws-lambda-alexa-apiai\n\nAmazon AWS Lambda function that can be used as a endpoint for a Alexa skill and ApiAi.\n\nFYI [The usage of archetype and meaning I got from maven.](https://maven.apache.org/guides/introduction/introduction-to-archetypes.html)\n\n## Technologies\n* Eclipse 4.5.2 Mars\n* Jdk1.8.0_77\n* AWS Lambda Java support libraries\n* Java Alexa Skills kit\n* Amazon AWS\n* Amazon Alexa\n* Api.ai\n\n## Get and build Jar Files\n\nNote: these are already in the lib folder\n\n### Aws\n\n[Download AWS Lambda Java support libraries.](https://github.com/aws/aws-lambda-java-libs)\nUse maven to build java-core\n```\n\u003e cd {aws_lamba_source_home}\\aws-lambda-java-core\n\u003e mvn package\n```\n\n### Alexa\n\n[Download Java Alexa Skills kit.](https://github.com/amzn/alexa-skills-kit-java)\n```\n\u003e cd {alexa_source_home}\n\u003e mvn package\n```\n\n### ApiAi\n\n[Download Java SDK for api.ai.](https://github.com/api-ai/apiai-java-client)\n```\n\u003e cd {apiai_source_home}\n\u003e mvn package\n```\n\n### Gson\n\n[Gson Java serialization/deserialization libary.](https://github.com/google/gson)\n```\n\u003e cd {gson_source_home}\n\u003e mvn package\n```\n\n### Simple Logging Facade for Java\n\n[Download, at the time 1.7.25 was latest.](https://www.slf4j.org/download.html)\n\n## Create Archive\n\n### Update Alexa Skill Application Id\n\nTo get your Alexa skill id, Go to Amazon Developer -\u003e Alexa -\u003e Alexa Skills Kit - Get Started -\u003e select the link **View Skill ID**.  Go to **org.rg.archetype.aws.lambda.alexa.MainSpeechletRequestStreamHandler** and update the supported ids list in the class to contain you Alexa skill id.\n\n### Build jar\n\n```\n\u003e cd {rg-archetype-aws-lambda-alexa-apiai home}\n\u003e mvn assembly:assembly -DdescriptorId=jar-with-dependencies package\nor\n\u003e mvn package\n```\n\n## Alexa\n\n### Create AWS Lambda Function\n\n* Go to the AWS Console and click on the Lambda link. **Note: ensure you are in us-east or you wont be able to use Alexa with Lambda.**\n* Click **Create function** or **Get Started Now** button.\n* Skip selecting a blueprint and click **Author from scratch** button.\n* On add trigger, choose **Alexa Skills Kit** and select **Next**\n* On configure function -\u003e basic information - assign a name and for the runtime choose **Java 8**\n* On configure function -\u003e Lambda function code - for the code, upload {rg-archetype-aws-lambda-alexa-apiai home}\\target\\rg-archetype-aws-lambda-1.0.jar\n* On configure function -\u003e Lambda function handler and role - for the handler enter **org.rg.archetype.aws.lambda.alexa.MainSpeechletRequestStreamHandler**.\n* On configure function -\u003e Lambda function handler and role - for role, select **Create a custom role**, for IAM Role select **lambda_basic_excution** and choose **Allow**\n* On configure function -\u003e Lambda function handler and role - for existing role, select **lambda_basic_excution**\n* Click **Next**\n* Click **Create function**\n\n### Alexa Skill Setup\n\nThe only thing I will cover here is configuring the endpoint.\n\n#### Configuration tab\n\nFor 'Service Endpoint Type' choose **AWS Lambda ARN (Amazon Resource Name)**\nFor 'Default', go to the AWS console and copy the ARN for the Lambda function you just created (usually in the upper right corner of the console window)\n\n## Api.ai\n\n### Create AWS Lambda Function\n\n* Go to the AWS Console and click on the Lambda link. **Note: ensure you are in us-east or you wont be able to use Alexa with Lambda.**\n* Click **Create function** or **Get Started Now** button.\n* Skip selecting a blueprint and click **Author from scratch** button.\n* I did not add any triggers, select **Next**\n* On configure function -\u003e basic information - assign a name and for the runtime choose **Java 8**\n* On configure function -\u003e Lambda function code - for the code, upload {rg-archetype-aws-lambda-alexa-apiai home}\\target\\rg-archetype-aws-lambda-1.0.jar\n* On configure function -\u003e Lambda function handler and role - for the handler enter **org.rg.archetype.aws.lambda.apiai.MainRequestStreamHandler**.\n* On configure function -\u003e Lambda function handler and role - for role, select **Create a custom role**, for IAM Role select **lambda_basic_excution** and choose **Allow**\n* On configure function -\u003e Lambda function handler and role - for existing role, select **service-role/execute_my_lambda**\n* Click **Next**\n* Click **Create function**\n\n### Build API to expose a Lambda Function\n\nhttp://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started.html\n\n## Helpful Resources\n\n### Create maven pom.xml and archive code\n\nhttps://docs.aws.amazon.com/lambda/latest/dg/lambda-java-how-to-create-deployment-package.html\nhttps://docs.aws.amazon.com/lambda/latest/dg/java-create-jar-pkg-maven-no-ide.html\nhttps://github.com/amzn/alexa-skills-kit-java/blob/master/samples/pom.xml\n\n### Alexa Skill and AWS Configuration\n\nhttps://developer.amazon.com/alexa-skills-kit/alexa-skill-quick-start-tutorial\n\n### Apiai\n\nhttp://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html#api-gateway-proxy-integration-lambda-function-java\nhttps://www.raizlabs.com/dev/2017/01/build-ai-assistant-api-ai-amazon-lambda/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frossgodwin%2Frg-archetype-aws-lambda-alexa-apiai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frossgodwin%2Frg-archetype-aws-lambda-alexa-apiai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frossgodwin%2Frg-archetype-aws-lambda-alexa-apiai/lists"}