Amazon Lex – Build Conversation Bots

Conversational interfaces for your applications powered by the same deep learning technologies as Alexa.

Amazon Lex is a service for building conversational interfaces into any application using voice and text. Amazon Lex provides the advanced deep learning functionalities of automatic speech recognition (ASR) for converting speech to text, and natural language understanding (NLU) to recognize the intent of the text, to enable you to build applications with highly engaging user experiences and lifelike conversational interactions. With Amazon Lex, the same deep learning technologies that power Amazon Alexa are now available to any developer, enabling you to quickly and easily build sophisticated, natural language, conversational bots (“chatbots”).


  1. Sign-up for an AWS account and setup the AWS Lex service/application.

  2. Sign-up for a PubNub account, if you don't have one already.

  3. Import the Integration Block into your PubNub account. You can choose to add this to an existing application or create a new one.

  4. Configure the Integration Block module code, connecting it to your AWS account:

    1. Create a Secret in PubNub Vault, named AWS_ACCESS_KEY_ID, with value equal to your AWS Access Key ID for this service.

    2. Create a Secret in PubNub Vault, named AWS_SECRET_ACCESS_KEY, with value equal to your AWS Secret Key for this service.

    3. Create a Secret in PubNub Vault, named AWS_REGION, with value equal to your AWS Region for the target queue .

  5. Update the Integration code to set the following variables:

    1. const AWS_REGION = 'YOUR_LEX_REGION'; // set to your region

    2. const BOT_ALIAS = 'YOUR_LEX_BOT_ALIAS'; // set to bot alias

    3. const BOT_NAME = 'YOUR_LEX_BOT_NAME'; // set to bot name

  6. Start the Integration Block module.

  7. Try a test message (you can click on Publish to do this).


This Integration Block is setup to listen to a specific PubNub channel (CHANNEL-to-send-to-LEX) but you can configure it to listen to all channels or a subset, using wildcards, e.g. chat.*. Thus, you can route message data sent through PubNub over to an Amazon Lex application for cross chat room bot integration, for example. The bot response will be published back on to the channel of the incoming message.

Talk to an expert