Developer Productivity

Learn how to use all developer productivity tools available in Progress NativeChat

Before you dive into NativeChat, it’s important to understand all productivity features and capabilities available to developers for building, testing, debugging and deploying chatbots. NativeChat provides all the necessary tools for a developer to build, test, debug and deploy chatbots.

Code Editor

For building your Cognitive Flow, NativeChat allows you to write your JSON definitions directly in Monaco editor which is also used by Microsoft in Visual Studio Code. If you are familiar with all the shortcuts and goodies available in Visual Studio Code, you will be already at home with NativeChat.

Scheme Validation

NativeChat provides a full-blown scheme validation for the structure of your Cognitive Flow and prevents saving invalid JSON scheme. To explore the documentation of our Cognitive Flow you can check the Steps Configuration documentation. If you want to use a different editor for editing your JSON, you can download the schema from here.

Code Suggestions

You can access all available values for a certain property by invoking the suggestions menu Ctrl + Space.

Suggestions with NativeChat

Snippets

Remembering the structure of every configuration might be a tedious task. That is why you can rely on commonly used snippets that can be expanded directly in your JSON code definition.

Shortcuts

You can access the shortcuts menu at any time by pressing F1.

  • Save changes Ctrl + S
  • Format document Shift + Alt + F
  • Suggestions menu Ctrl + Space
  • Fold Ctrl + Shift + [
  • Unfold Ctrl + Shift + ]
  • Replace Ctrl + H

Source control

NativeChat doesn’t come with a built-in source control system. If you need to keep a copy of your latest cognitive flow and training definitions, you can always export your project and keep a backup.

Support for RTL languages

The Code Editor support in NativeChat doesn’t properly handle Right to Left languages such as Arabic, Hebrew or Persian etc. You can use any editor that supports RTL to build the cognitive flow for these languages and submit your final cognitive flow definition in our editor. Further, you can use our JSON scheme in any external editor that supports RTL to make it easier to write valid JSON according to our scheme.

Test console

Before you publish your chatbot, you need to make sure that it performs well.

The NativeChat development portal has a built-in testing console where you can test your bot. The console gives you log with all that happens during a chat session - NLP understanding, validation results, webhook responses etc.

Test Console

Proxy bot

The fastest way to test your chatbot in a specific channel is by using the NativeChat’s proxy chatbot. This way, you don’t need to have a working Facebook page or Alexa skill to test how your chatbot experience looks/sounds like in these environments.

Facebook Messenger

From the Test drop down button, click the Test in Messenger button. It will open a dialog with instructions on how to navigate to the NativeChat Messenger URL and provide the following instruction:

proxy {bot-id}

Once successfully mapped, the NativeChat bot will connect to your bot and will relay all messages back and forth.

Amazon Alexa

To test your chatbot as Amazon Alexa skill, you need to enable the NativeChat Proxy skill.

What You Need

How to Use the Proxy Skill

  1. Open the Alexa Developer Console
  2. Go to Test tab (1) in the top navigation
  3. Pick Development from the dropdown (2) Test screen in the Alexa Developer Console.
  4. Type or say “Alexa, nativechat proxy” in the simulator
  5. Go to your bot in NativeChat portal and from the Test dropdown menu pick Test in Alexa Developer Console Test dropdown menu in the NativeChat portal.
  6. Copy the ` proxy {bot-id} ` command and paste it into the Alexa simulator in the Alexa Developer Console. A screenshot from NativeChat portal, showing where the proxy bot command is located.