Skip to main content
With a Code Node, you can output a text message along with a data object by using the following actions functions:
api.output("<YOUR_TEXT>", {"key": "value" });
// OR
api.say("<YOUR_TEXT>", {"key": "value" });
The data parameter should take the JSON payload that defines the custom channel message:
const jsonPayload = {
 "_cognigy":{
  // Channel Specific Payload 
 }
}

api.say("<YOUR_TEXT", jsonPayload);
See the next sections for the required format.
The Cognigy.AI default channel has a specific channel format which you can find more about at AI default channel format.
Alexa Response JSON Reference

Example

We’ll output a simple card to our contact by using the following snippet:
{
    "_cognigy": {
        "_alexa": {
            "response": {
                "shouldEndSession": false,
                "card":  {
                    "type": "Standard",
                    "title": "Title of the card",
                    "content": "Content of a simple card",
                    "text": "Text content for a standard card",
                    "image": {
                        "smallImageUrl": "https://url-to-small-card-image",
                        "largeImageUrl": "https://url-to-large-card-image"
                    }
                }
            }
        }
    }
}
Messenger Messaging ReferenceFor the messenger you can send multiple templates by building a JSON object or by using the facebook-bot-messenger module. For further information got to their GitHub Page.

Example

The following snippet will send a simple text message and a quick reply to the contact:
{
    "_cognigy": {
        "_facebook": {      
          "message": {
            "text": "Hello World",
            "quick_replies": [
              {
                "content_type": "text",
                "condition": "",
                "title": "Hi",
                "image_url": "",
                "payload": "Hi"
              }
            ]
          }
        }
    }
}
Or you can use the facebook-bot-messenger module for building custom json. Here we’ll send quick replies to the contact:
// use facebook-bot-messenger to compile reply
const builder = new MessengerPlatform.QuickRepliesMessageBuilder('Pick a color:');
builder.addImageOption('Red', 'DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED', 'http://petersfantastichats.com/img/red.png')
       .addImageOption('Green', 'DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_GREEN', 'http://petersfantastichats.com/img/green.png');

// output the reply
api.output("test", { "_cognigy": { "_facebook": {"message": builder.buildMessage() }}});
The Webchat uses the same format as the Messenger but instead of adding the _facebook property you have to add _webchat.

Example

The following example sends a text message and a quick reply to the contact:
{
    "_cognigy": {
        "_webchat": {      
            "message": {
                "text": "Hello World",
                "quick_replies": [
                    {
                        "content_type": "text",
                        "condition": "",
                        "title": "Hi",
                        "image_url": "",
                        "payload": "Hi"
                    }
                ]
            }
        }
    }
}
The default AI channel, which is always selected from the default, uses the almost same format as the webchat above. The only difference is that you type _default instead of _webchat.

Example

The following example sends a text message and a quick reply to the contact:
{
    "_cognigy": {
        "_default": {      
            "message": {
                "text": "Hello World",
                "quick_replies": [
                    {
                        "content_type": "text",
                        "condition": "",
                        "title": "Hi",
                        "image_url": "",
                        "payload": "Hi"
                    }
                ]
            }
        }
    }
}
LINE Messaging API

Example

The following outputs a simple confirm prompt to the contact:
{
    "_cognigy": {
        "_line": {
                "type": "template",
                "altText": "this is a confirm template",
                "template": {
                    "type": "confirm",
                    "text": "Are you sure?",
                    "actions": [
                        {
                            "type": "message",
                            "label": "Yes",
                            "text": "yes"
                        },
                        {
                            "type": "message",
                            "label": "No",
                            "text": "no"
                        }
                    ]
                }
        }
    }
}
Smooch messaging API

Example

The following outputs a simple image to the end user:
{
    "role": "appMaker",
    "type": "image",
    "text": "Hello!",
    "mediaUrl": "http://example.org/image.jpg",
    "actions": [{
        "text": "More info",
        "type": "link",
        "uri": "http://example.org"
    }]
}

Example

The following outputs a gallery with images to the end user. This example is quite interesting since one needs to create an attachment for each image using the RingCentral Engage API. The returned attachmentIds are inserted in the Custom JSON below:
{
  "command": "structured-content",
  "body": "",
  "structuredContent": {
    "type": "carousel",
    "items": [
        {
            "attachment_id": "5f73470a0e69dc",
            "title": "This is the title",
            "url": "https://url-to-image.com",
            "subtitle": "This is the first subtitle",
            "items": [
                {
                    "type": "url",
                    "url": "https://www.cognigy.com/",
                    "title": "Visit Website"
                },
                {
                    "type": "reply",
                    "payload": "I want to select this one",
                    "title": "Select"
                }
            ]
        },
        "...": "..."
    ]
  }
}
I