Skip to content


In a code node, you're able to use a selection of predefined NPM modules. On this page, you'll find all the necessary information to run these modules in a code node.


Moment.js Documentation

You can use the moment.js module for parsing, validating, manipulation and displaying dates.


In a code node, call the following function:

moment(inp?:any, format?: any, strict?: boolean);


the following example gets the current UTC time and date and outputs it back to the contact.

const utc = moment.utc();


Lodash Documentation

Cognigy.AI also supports the utility library Lodash within code nodes.


You can call functions of the Lodash module by using the following syntax:

You can use any Lodash function within a code node. See their documentation for further information.


The following example shows a typical use-case and syntax of the Lodash module.

const favouriteFoods = ["pizza", "spaghetti", "burger"];
const last = _.last(favouriteFoods);
In this example we're extracting the last element of the favouriteFoods array and sending it as an output message.

Messenger Platform

Messenger Documentation

For building Facebook Messenger messages (quick replies, buttons, lists, generic templates, etc.) you can use the facebook-bot-messenger module within a Code Node.


In a Code Node, you can create a message type of your choice by using the MessengerPlatform namespace. For a list of possible message types, visit the facebook-bot-messenger documentation.


The following snippet can be used to generate a quick reply message. Keep in mind that the built message (builder.buildMessage()) must be the value of the message property of the _facebook object.

// use facebook-bot-messenger to compile reply
const builder = new MessengerPlatform.QuickRepliesMessageBuilder('Pick a color:');
builder.addImageOption('Red', 'DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED', '')
       .addImageOption('Green', 'DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_GREEN', '');

// output the reply
actions.output("test", { "_cognigy": { "_facebook": {"message": builder.buildMessage() }}});

Messenger Platform

XML-js Documentation

In case you want to parse XML data, you can use this module.


Within a Code Node, you can call the following method:

const xml =
    '<?xml version="1.0" encoding="utf-8"?>' +
    '<note importance="high" logged="true">' +
    '    <title>Happy</title>' +
    '    <todo>Work</todo>' +
    '    <todo>Play</todo>' +

const result = xmljs.xml2json(xml, { compact: true, spaces: 4 });

// result will now contain a JSON representation of the xml above

Text Cleaner


Within a Code Node, you can invoke the getTextCleaner function, which retrieves an instance of the Text Cleaner class. This class provides access to various text-cleaning functions.


Parameter Type Description
locale string The locale for which to instantiate the class. For example, 'de' or 'en').
options object See below for the config options.

Config Options

    // additional characters which won't be cleaned by cleanDisallowedSymbols
    additionalAllowedCharacters: string[], 

    // additional symbols which are replace (for example, "minus": "-")
    additionalMappedSymbols: { [key: string]: string }, 

    // additional phrases which are replaced
    additionalSpecialPhrases: { [key: string]: string }, 

    // additions to the phonetic alphabet (for example, "cognigy": "c")
    additionalPhoneticAlphabet: { [key: string]: string } 


Instance of the Text Cleaner class.