Channel Output

Description

Within a code node you have the ability to output a text message along with a data object by using the following actions functions:

actions.output("<YOUR_TEXT>", {"key": "value" });
// OR
actions.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 
 }
}

actions.say("<YOUR_TEXT", jsonPayload);

See the next sections for the required format.

Alexa

:link: 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

:link: Messenger Messaging Reference

For the messenger you can send 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 quck 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
actions.output("test", { "_cognigy": { "_facebook": {"message": builder.buildMessage() }}});

Google Actions

:link: Google Actions Responses Reference

Example


Here we'll output some suggestion chips to the contact:

{
"_cognigy":{
"_google": {
    "conversationToken": "",
    "expectUserResponse": true,
    "expectedInputs": [
        {
            "inputPrompt": {
                "richInitialPrompt": {
                    "items": [
                        {
                            "simpleResponse": {
                                "textToSpeech": "Howdy! I can tell you fun facts about almost any number like 0, 42, or 100. What number do you have in mind?",
                                "displayText": "Howdy! I can tell you fun facts about almost any number. What number do you have in mind?"
                            }
                        }
                    ],
                    "suggestions": [
                        {
                            "title": "0"
                        },
                        {
                            "title": "42"
                        },
                        {
                            "title": "100"
                        },
                        {
                            "title": "Never mind"
                        }
                    ]
                }
            },
            "possibleIntents": [
                {
                    "intent": "actions.intent.TEXT"
                }
            ]
        }
    ]
}
}
}

Webchat

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"
              }
            ]
          }
        }
    }
}

LINE

:link: 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

:link: 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"
    }]
}

Did this page help you?