Skip to main content
The Input Object is a JSON object that serves as the short-term AI Agent memory. The Input object is generated each time the user sends a message or provides a voice input to an AI Agent. The Input object stores:
  • General data about the user input, such as time and type of input
  • Endpoint-specific data
  • Results from the NLU Intent mapping process, such as the recognized Intent and Slots

Limitations

  • You can store up to 1.5 MB in the Input object. For dedicated SaaS and on-premises installations, you can configure the limit using the MAX_MEMORY_OBJECT_SIZE variable in the values.yaml file. Increasing the object size could lead to performance issues.

Properties

The data in the Input object depends on the Endpoint through which the user input is received. This article doesn’t include all possible property variations.
With Cognigy.AI 4.91, the Understood Messages concept was deprecated, with removal from the Insights reports scheduled for version 2025.19. Use the Goals and Tasks concepts to evaluate whether your AI Agent understood a particular phrase.Respectively, the OData endpoint understood field was deprecated in the same version, with full removal scheduled for version 2025.24. Use the Goals collection in the Cognigy.AI OData endpoint.Refer to the list of all upcoming removals on the Deprecations and Removals page.
The Input object contains the following properties:
KeyTypeDescription
textStringThe text of the user input.
intent1StringThe detected Intent name. If no Intent is detected, the property value is null.
intentScore1NumberThe detected Intent score. If no Intent is detected, the property value is null.
intentFlowStringThe Flow ID in which the Intent is detected. If no Intent is detected, the property value is null.
slotsArrayContains the detected system-defined and user-defined Slots.
nlu1ObjectContains the detailed NLU processing results.
modeStringThe type of input received by Cognigy.AI. Can be either TextOnly or TextData.
type1StringThe type of input sentence as determined by the NLU engine (Statement, Command, Greeting, BGreeting, whQuestion, howQuestion, ynQuestion, pAnswer, nAnswer).
intentOutOfStateStringContains the detected Intent that has been excluded in the current Flow state. If no detected Intent was excluded in the current Flow state, the value is null.
currentTimeObjectContains the timestamp data of the user input reception.
languageStringThe locale language that was used to process the user input. For example, en-US, de-DE.
ipStringThe IP address of the user. If the IP address isn’t available, for example, due to privacy or masking settings, the value is null.
hashedIpStringThe hashed IP address of the user.
stateStringThe current state of the Flow. By default, the value is default. Other states can be defined. See State for more information.
channelStringThe channel through which the user input was received. This property is also available in the OData records to allow channel-based analytics filtering.
endpointTypeStringThe type of Endpoint through which the message was received, for example, Alexa or Facebook (Meta) Messenger. You can’t change this value.
entrypointStringThe ID of this property varies based on Snapshot usage:
  • The Project ID when no Snapshot is used.
  • The Snapshot ID when a Snapshot is used.
userIdStringThe current user’s ID. Cognigy.AI uses the user ID to identify their individual contact profile.
See Contact Profiles for more information.
inputIdStringA unique ID that is generated for each user input received by Cognigy.AI.
sessionIdStringThe current session ID. The session ID either provided by the channel or generated by Cognigy.AI. Most Endpoints allow defining an individual session expiration (TTL).
flowNameStringThe name of the Flow in execution.
URLTokenStringThe Endpoint URL Token.
frustrationNumberIndicates user frustration by representing how often the user repeatedly takes the same path in the Flow.
completedGoalsArrayThe Goals that have been at the current stage in the Flow.
executionNumberThe number of messages received in the current session.
traceIdStringA unique identifier for the user input.
activeQuestionObjectContains information about an active question.
appsObjectContains information about the xApps that are active in the current session.
intentLevel1ObjectContains information about the Intent Hierarchy level of the detected Intent. If no Intent was detected, the object is {"level1": null, "level2": null, "level3": null}
understood1BooleanAn input is considered understood if any of the following conditions are met:
  • An Intent or Slot is identified.
  • The input is marked as understood through the Nodes: Code, Overwrite Analytics, Search Extract Output, or AI Agent.
  • The sentence type is pAnswer, nAnswer, or Greeting, if the Confirmation Word logic is activated.

An input is considered not understood if any of the following conditions are met:
  • There is an active handover without triggering an AI Copilot Whisper Flow.
  • The message is explicitly marked as Don't count or Null.
dataObjectThe data payload of the input. This object depends on the Endpoint through which the user input is received.
attachmentsArrayAn array of URLs pointing to the attachments uploaded to the chat.
localeId1StringThe unique ID for the current locale used to process the input message.
resultStringThe answer from the user to a question from a Question or Optional Question.
conditionalEntrypointWasExecuted1BooleanIndicates if the Flow was executed on a conditional Node.
transcriptObjectContains information about the conversation transcript generated via the Get Transcript Node.

Nested Objects

KeyPropertyTypeDescription
intentMapperResultsObjectProvides details about the NLU Intent mapping results.
finalIntentNameStringThe name of the detected Intent.
finalIntentScoreNumberThe score of the detected Intent.
finalIntentNegatedBooleanIndicates whether the detected Intent was negated.
finalIntentConfirmationSentenceStringThe confirmation sentence of the detected Intent.
finalIntentDisambiguationSentenceStringThe disambiguation sentence of the detected Intent.
highestFlowStringReference ID of the Flow in which the highest-scoring Intent was detected.
intentPathStringThe path of the Intent.
intentPathIdsArrayThe IDs of the Intents in the path.
intentPathFlowReferenceIdsArrayThe reference IDs of the Flows in which the Intents in the path were found.
scoresArrayContains the results for the highest-scoring Intents for the current user input.
idStringThe ID of the Intent.
nameStringThe name of the Intent.
scoreNumberThe score of the Intent.
negatedBooleanIndicates whether the Intent was negated.
confirmationSentenceStringThe confirmation sentence of the Intent.
confirmationSentencesArrayThe confirmation sentences of the Intent.
disambiguationSentenceStringThe disambiguation sentence of the Intent.
flowStringThe reference ID of the Flow in which the Intent was detected.
descriptionStringThe description of the detected Intent.
intentFlowStringA unique ID assigned to the Flow in which the Intent was detected.
uniqueIntentFlowIdStringA unique identifier for the Flow in which the Intent was detected.
intentIdStringA unique ID assigned to the Intent that was selected by the NLU processing.
uniqueIntentIdStringA unique identifier for the selected Intent.
detailedSlotsArrayContains the detected system-defined and user-defined Slots, with more detailed information about the system-defined Slots.
tokensArrayContains the user input tokens.
yesNoIntentResultsObjectContains the results of the Yes/No Intents model evaluation. See Yes/No Intents for more information.
finalIntentNameStringThe name of the detected Yes/No Intent.
finalIntentScoreNumberThe score of the detected Yes/No Intent.
scoresArrayContains the results for the highest-scoring Yes/No Intents.
idStringThe ID of the Intent.
nameStringThe name of the Intent.
scoreNumberThe score of the Intent.
negatedBooleanIndicates whether the Yes/No Intent was negated.
confirmationSentenceStringThe confirmation sentence of the Yes/No Intent.
confirmationSentencesArrayThe confirmation sentences of the Yes/No Intent.
disambiguationSentenceStringThe disambiguation sentence of the Yes/No Intent.
flowStringThe reference ID of the Flow in which the Yes/No Intent was detected.
descriptionStringThe description of the detected Yes/No Intent.
KeyTypeDescription
yearNumberThe year.
monthNumberThe month of the year.
dayNumberThe day of the month.
hourNumberThe hour of the day.
minuteNumberThe minute of the hour.
secondNumberThe second of the minute.
millisecondsNumberThe milliseconds of the current time.
weekdayNumberThe day of the week.
dayOfWeekStringThe day of the week.
ISODateStringThe date and time in ISO 8601 format.
plainStringThe current date and time in plain text.
grainStringThe grain of the current time.
timezoneOffsetStringThe timezone offset of the current time.
KeyTypeDescription
nodeIdStringThe question Node’s ID.
typeStringThe type of question.
lastExecutedAtStringThe timestamp of the last execution of the active question.
forgetQuestionThresholdNumberThe threshold for forgetting the question.
repromptCountNumberThe number of times the question was reprompted.
escalationCountNumberThe number of times the question was escalated.
KeyPropertyTypeDescription
customizationObjectContains the style customization options for the xApp Session as configured in the xApp: Init Session Node.
sessionObjectContains xApp session-specific data.
tokenStringThe xApp session token used to start a real-time connection with the xApp Shell Page.
pinStringThe xApp session PIN, if the xApp: Get Session PIN Node is used.
baseUrlStringBase URL of the xApp Shell Page.
urlStringThe xApp session URL for the current conversation.
KeyTypeDescription
level1StringLevel 1 Intent name. If no Intent was detected, the property value is null.
level2StringLevel 2 Intent name. If no child Intent was detected, the property value is null.
level3StringLevel 3 Intent name. If no grandchild Intent was detected, the property value is null.
The transcript object is only available if the Get Transcript Node is used in the Flow.
KeyPropertyTypeDescription
roleStringDefines who sent the message. Possible values: - assistant — the message is sent by the AI Agent. - user — the message is sent by the end user. - agent — a human agent. - system — a system message. - tool — an external tool.
typeStringThe type of the message. Possible values: - input — a user input. - output — an AI Agent output. - toolCall — a request to a tool. - toolAnswer — a tool response. - debugLog — a system debug message.
sourceStringThe origin of the message. Possible values are user, assistant, agent, or system. Helps distinguish between different actors in the conversation.
payloadObjectThe main content of the message. Its structure depends on the message type.
For type input or outputRepresents the messages exchanged between the end user and the AI Agent.
textStringThe text of the message.
textAlternativeStringThe alternative text shown if the main payload is non-text, for example, for images, buttons, or other rich media. Available only for messages of the output type.
dataObjectThe additional structured information, such as metadata, attachments, or rich media.
For type toolCallRepresents a request sent by the AI Agent to an external tool.
nameStringThe name of the tool being called.
idStringThe unique identifier for the tool call.
inputObjectThe parameters or data sent to the tool for processing.
For type toolAnswerRepresents the response returned from a tool call.
toolCallIdStringReferences the original tool call ID that this answer corresponds to.
nameStringThe name of the tool that provided the answer.
contentStringThe output content returned by the tool.
For type debugLogRepresents a system debug message.
headerStringThe header describing the debug log.
messageStringThe detailed debug message content.
metadataObjectThe additional structured data related to the debug log (for example, key-value pairs for internal debugging).
idStringThe unique identifier for each message. Ensures that the messages are traceable, maintain order, and prevent duplicates.
traceIdStringThe identifier used to group related messages within the same session, allowing easier tracking of conversation threads.
timestampNumberThe UNIX timestamp representing when the message was created. It is useful for ordering and analyzing the message history.

Working with the Input Object

You can view the Input object by navigating to Info > Input in the Interaction Panel. You can copy the exact JSON path of an Input object value by right-clicking it and selecting Copy JSON Path.

Accessing Input Properties

Nodes can dynamically access Input properties with CognigyScript, for example, {{input.property}} or Tokens. The CognigyScript expression you use to access the input object follows the dot notation for JSON objects: property.child.child.

Examples

  • {{input.text}} returns the text that the user sent to the Flow.
  • {{input.nlu.tokens}} returns the tokens of the user input in an array.
  • {{input.attachments[0].url}} returns the URL of the first attachment uploaded to the chat.

More Information


1: The NLU properties are computed by the NLU Connector and stored after the NLU processing. For this reason, Rules and Intent Conditions can’t access these properties.
I