Using Honeycode to develop an Alexa Skill on-the-go

By Joel Farvault (@Joel-1ada), Alexa Skill Builder and Cloud Solution Architect

In this article, we’re going to be using Honeycode, Alexa Hosted Skill, Amazon S3, and Zapier, and sharing how we can link an Alexa Skill with Honeycode by updating Amazon S3 through Zapier and Webhooks. Honeycode will be used as a User Interface for creating and updating the knowledge base of an Alexa Skill.

Where it all began

I had the idea of creating a Do It Yourself (DIY) tips for Alexa Skills following the requests of my daughters to easily find a DIY activity or a suggestion. If you’re unfamiliar with DIY, a DIY means “Do It Yourself” and it relates to arts & crafts, and is a method of building, modifying, or repairing an item by yourself. It’s the best way to save money, reduce waste, and a fun activity to do with your kids at home. During the current pandemic, my daughters wanted to spend time with fun activities, and I wanted to help them. Since my kids have no coding experience, I needed an accessible solution for them and I chose Honeycode. This AWS service has allowed me to achieve their request by means of building a user-friendly content creation experience with Alexa Skills for the non-technical person. Using Honeycode and Alexa Skills, I've been able to create a Graphical User Interface for managing the DIY knowledge base, which can be easily used by anyone without coding experience.

Before I started building my app, I asked myself: How do we easily update the DIY? How do we create a new DIY using a mobile app? How can my kids update or create a DIY using any device while on the go? That’s the purpose of my Honeycode app, which I’m thrilled to share with you. Using the “DIY Tips” app, anyone can create or modify the content of the Alexa Skill. No need to be a developer nor obtain admin rights. The DIY Tips app brings enough flexibility and makes it possible for my daughters to create a new DIY project without my support or coding skills. Especially when I’m unable to give their DIY activity my full attention.

App Overview

My DIY Tips app allows you to simply create or update a DIY suggestion using a mobile app or a browser, and then sends the suggestion to Alexa Skills. The skill uses Alexa Conversation in order to guide the user on selecting the best DIY activities through series of questions:

  • available material
  • category of DIY: paper artworks, needlework, or beauty
  • selection of recommended activities

From a builder perspective, the Honeycode app is linked with Alexa, and creates a full customer experience from the User Interface to Voice User Interface. We’ve developed one experience by bringing together a mobile app, a browser view, and a voice interaction. This solution also empowers the user to create and publish new content, which everyone can contribute to and share while on the go using the Honeycode mobile app. This is immensely useful in the digitally advanced age we live in today!

External Integration Overview

As app users, my daughters don’t need to understand this next section, but I wanted to provider you, the reader, with it as an overview in case you’re interested. The schema below describes the end-to-end flow from the DIY Tips app that creates the new tip, and then via the Zapier integration, the DIY tip is updated in the Alexa Skills.

The DIY Tips app allows the user to add a DIY project through a friendly User interface, followed by the app creating a JSON file.

The Alexa skill is built with a front-end based on Alexa Conversation and the back-end has been developed in Python using a knowledge base as a JSON File.

The Alexa Skill is based on a JSON database that contains the list of DIY activities. But if we want to add or modify an activity, it accesses the JSON file that's stored in an S3 bucket, and then updates the JSON. Note that I’m the only one able to update and modify the file, as I’m the Alexa Skill creator.

From the DIY Tips app, you can easily fill-in the UI form by completing the fields (domain, category, material, activity, description…). Once the user clicks on the button “Update ALEXA Skill DIY tips,” a Zap from Zapier is activated, which sends the DIY data to an S3 bucket. Using a Webhook from Honeycode, Zapier sends the data converted in JSON to Amazon S3.

Finally, the new DIY file is created by Honeycode and is sent to S3 to be processed by a Lambda function, which automatically updates the Alexa Skills database.

Once the new DIY tip has been added in the Alexa Skills database, it can be proposed by Alexa when the DIY tips skill is invoked.

using_honeycode_to_develop_an_Alexa_Skill_on-the-go_blog_8

This DIY Tips app has also given me the opportunity to transform a personal project into a business project. The Alexa Skills integration with Honeycode opens a wide range of possibilities for the Alexa Skills community, such as for developers. Different business cases can benefit from this type of integration with Honeycode:

  • Everyone can create content for an Alexa Skill, no need to code or to manage administrative tasks
  • The developer can bring new customer experiences by mixing User Interface and Voice User Interface
  • No need to build complex mobile apps to connect with Alexa since Honeycode connects with Zapier or Amazon AppFlow, making it easy to build and share a mobile app
  • Alexa brings a lot of opportunity for leveraging Internet of Things (IoT). Honeycode connected with Alexa can open new possibilities for linking a mobile app, voice, and IoT

Fun Fact: I decided to participate in the Alexa Conversation hackathon (link), and I developed an Alexa skill for “DIY Tips” with the purpose to provide a daily DIY tip or a recommended activity based on materials and preferences. My daughters thought this was pretty neat, even though they’re not deeply familiar with the Alexa developer community.

My Alexa Skill is currently available for free in the Alexa store US, but through the integration with Honeycode, I can provide more features, and make the app with a paid option down the road. Honeycode has also given me more flexibility, as it has allowed me to create a mobile app for Alexa Skills while on the go—I can update it anywhere at any given time! With the DIY Tips app integration with Alexa Skills, it has enabled the possibilities of creating new DIYs for everyone. Moreover, using the technological foundations: Zapier (Honeycode to S3), JSON file on S3, ASK for Python, APL, and Alexa Conversation, I have created a generic layer that allows me to connect any Honeycode app with Alexa regardless of the domain. The possibilities in Honeycode are endless, and I’m only just getting started—currently, I’m developing new apps, such as a weather app, calendar management, and games.

I’m looking forward to sharing more apps with the Honeycode community!

Not yet a Honeycode Customer? Sign up for our free version here.

5 Likes