Alexa for CI/CD: Add Alexa Skill to Alexa for Business - Part 4
Tags: aws, serverless, cloud, alexa
Published: 2022-05-03 16:33:06

In the last part of our Alexa for Bitrise tutorial series, you will learn how to publish Alexa Skills to Alexa for Business and use it with AWS Organizations. Let's dive in!

After you create, build, test, and integrate your skill with the [AWS Lambda function ](https://dev.to/aws-builders/alexa-for-cicd-putting-it-all-together-part-3-do6)you're ready to certify and publish your skill. In this tutorial, you will learn how to publish Skills to Alexa for Business. 

Let’s get started! 

## Publish the skills

There are two different options to publish your skills with Alexa: **public** and **private**. Public means it will appear in the [Amazon Alexa Skills Store](https://www.amazon.com/alexa-skills/b?ie=UTF8&node=13727921011). In this case, your skill must meet requirements for policy, security, functionality, voice interface, and user experience to receive a certificate. After your skill passes certification testing, you can publish your skill in the [Amazon Alexa Skills Store](https://www.amazon.com/alexa-skills/b?ie=UTF8&node=13727921011).

But in our case, since our Skill is for development purposes and may not require to be published to the Skills Store, we will publish it as a Private Skill for our AWS Organization. 

## Publish the skill with private availability

To use the [Amazon developer console](https://developer.amazon.com/alexa/console/ask) to publish a private skill, you must have the following:

A skill Id for a skill that is under development (You have already one from [Part 3](https://dev.to/aws-builders/alexa-for-cicd-putting-it-all-together-part-3-do6))
The **ARN** for AWS [Alexa for Business](https://us-east-1.console.aws.amazon.com/a4b/home?region=us-east-1#/home) accounts to which you want to grant access to the private skill

## What’s Alexa for Business?

[Alexa for Business](https://developer.amazon.com/en-US/docs/alexa/alexa-for-business/understand-alexa-for-business.html) makes it easy for you to use Alexa in your organization. Alexa for Business provides tools to manage Alexa devices, enroll users, and configure skills across those devices. 


![1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x5g34el9rrhlmwj2rft1.png)

_Image Source - Alexa for Business_

**Note: Alexa for Business is available in the US only.**

To be able to publish your Skills to Alexa for Business you should have [AWS Organization](https://us-east-1.console.aws.amazon.com/organizations/v2/home/) to be able to assign the Skills to it. 

**AWS Organization** helps you centrally manage and govern your environment as you grow and scale your AWS resources. Using [AWS Organizations](url), you can create accounts and allocate resources, group accounts to organize your workflows, apply policies for governance, and simplify billing by using a single payment method for all of your accounts - [AWS Organizations](https://aws.amazon.com/organizations/).


![2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/su7y1v058jezu7mxylmo.png)

_Image Source AWS Organizations - Amazon Web Services_

**Let’s now publish the Skill with the following steps:**

- Navigate to the [Distribution page](https://developer.amazon.com/en-US/docs/alexa/devconsole/launch-your-skill.html).
- Make sure you have completed all fields in the Skill Preview section for language (**English US**). 


![3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/94o4ohxq93a7ooxl1hlw.png)


![4](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sgrt58hymmk8qu4rqk5q.png)

You can select your favorite icons (I just used any simple icons for the demo)

- Click **Save** and **Continue** button
- Answer questions in the **Privacy and Compliance** section then click **Save and continue** button


![5](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qrjxnyb4wtxk9enrmtcw.png)

- For the **Availability** option, select **Alexa for Business Organizations**, then click **Save** and **continue** button.

![6](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5742vy551g7s338vxad6.png)

- You will navigate to the **[Certification](https://developer.amazon.com/en-US/docs/alexa/devconsole/test-and-submit-your-skill.html)** page. Review and correct any validation errors. All validations must pass before you can submit the skill.


![7](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f0mdtupb203tbys9sg7d.png)

- Click the **Submission** button, then click **Submit for review** button.


![8](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f7pxv48ru1xhod8dtc0m.png)

- Once your skill has been published (**privately**) to the live stage, you can add the skill to a specific Alexa for Business organization.

![9](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xsv5xu8m1q9rrqaa75bv.png)

- You can manage the Alexa for Business organizations with access to your private skill from the **Distribution > Availability** section of the developer console. The Manage access to your skill section contains controls to add and remove organizations. The list of organizations that currently have access is displayed as well.

![10](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tmyrv549363kgmbk821q.png)

Well done!, you just published your first Alexa Skills to Alexa for Business, now it’s time to manage the access to the Skill from the Alexa for Business Console.

## Manage skill access from the Alexa for Business console

Once you have set up the private skill for distribution, the customer whose account has been granted access can follow these steps to access the private skill:

- Log in to the [Alexa For Business console](https://console.aws.amazon.com/a4b).
- Navigate to the **Skills > Private Skills** tab. Select **Review** and then **Enable the private skill**.

![11](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zzqs14wujvw0kb3qn8y6.png)

Navigate to the **Enabled Skills** tab. Add the private skill to a skill group to enable the skill on devices in rooms containing that skill group. See the [Alexa for Business administrators guide](http://docs.aws.amazon.com/a4b/latest/ag/what-is.html) for more information.

## Conclusion

My goal with this series was to learn the basics of AWS Lambda, design and build a Serverless function to trigger CI build for example Bitrise builds with Bitrise API via the custom Lambda function, design and build a custom Alexa skill, and finally publish the Alexa skills to the Alexa for Business service so we can use them with AWS Organizations.


## Resources

- [Certify and Publish Your Skill | Alexa Skills Kit](https://developer.amazon.com/en-US/docs/alexa/certify/certify-your-skill.html)
- [Define Skill Store Details and Availability | Alexa Skills Kit](https://developer.amazon.com/en-US/docs/alexa/devconsole/launch-your-skill.html#skill-metadata)
- [Alexa Skills and Features](https://www.amazon.com/alexa-skills/b?ie=UTF8&node=13727921011)
- [Certification Requirements | Alexa Skills Kit](https://developer.amazon.com/en-US/docs/alexa/custom-skills/certification-requirements-for-custom-skills.html)
- [Create and Publish Private Skills (ASK CLI)](https://developer.amazon.com/en-US/docs/alexa/alexa-for-business/create-and-publish-private-skills.html)
- [AWS Organizations - Amazon Web Services](https://aws.amazon.com/organizations/)
- [Understand Alexa for Business](https://developer.amazon.com/en-US/docs/alexa/alexa-for-business/understand-alexa-for-business.html)
- [AWS Organizations](https://aws.amazon.com/organizations/)
- [What is Alexa for Business? - Alexa for Business](http://docs.aws.amazon.com/a4b/latest/ag/what-is.html)

Thank you for reading these articles!

Happy building!