Input Object


Every time a user or system says something to Cognigy, a new Input object is created and passed into the Flow.

If text was sent to the system, the Input object will contain the text, plus all the information we can get from it.


Everything starts with the Start Node

The Start Node of a Flow takes the Input object and passes it to the next Node in line. This Node has full access to the Input, can read it and edit it, before it is handed to the next Node in the Flow.


Inspect the current Input Object from the INFO tab of the Interaction Panel

Input Properties

The Input object contains the following properties (for text input).

textThe text the user said/wrote.
intentThe detected Intent, can be null.
typeThe type of sentence (Statement, Command, Greeting, BGreeting, whQuestion, howQuestion, ynQuestion, pAnswer, nAnswer)
currentTimeThe timestamp when the message arrived within our system.
questionInformation on if the input was a question and what kind of question it was.
modeThe input mode, which can be one of: TextOnly, DataOnly, TextData, Empty
slotsDetected slots
intentMapperResultsDetailed result of our Intent mapper.
stateThe current state within the session. By default, it will contain the value "default". Other states can be defined. See States for more information.
channelThe channel, the input came through. We will set this value for most of the supported channels, e.g. a facebook endpoint has the value "facebook".

For our more generic endpoint types like "socket", "webhook" and "rest", you can define the channel on your own. This property will also be part of ODATA records and allow you to overwrite them and specify through e.g. which website certain chats arrived.
endpointTypeThe type of endpoint the input came through. The value can't be changed. This field will have one of the following values: alexa, dialogflow, facebook, webhook, google, intercom, line, microsoftBotFramework, microsoftTeams, socket, rest, ringCentralEngage, slack, smooch, twilioAutopilot, twilioSms, twilio, userlike
userIdThe current user's ID. This is what our system uses to identify a user within the system. If a user with the same user ID re-appears within the system, we will e.g. reuse a contact-profile.

See Contact Profiles for more information.
inputIdA unique ID that will be generated per user input.
sessionIdThe current session ID. This is either provided by a channel or generated by our system. Most endpoints allow defining an individual session expiration (ttl).
dataThe data object which the user input contained if included. This object can contain a "request" property which always contains the original request from the external channel.

If a facebook endpoint is used, will e.g. contain the original HTTP request content from facebook.
understoodA boolean flag which determines whether our NLU system understood the users message. The flag is set to true when an intent/slot was found or if the type of sentence was pAnswer, nAnswer or Greeting - otherwise the flag will be false.

Input & Cognigy Script

In Flow Nodes, Input properties can be accessed via {{}} with property following dot-notation property.child.child.

Example: {{ci.text}} would return the text the user sent to the Flow.