Passing context information
Overview
Context is external data that you pass from your application into EDDI conversations. It's how you inject real-world information—like user profiles, session data, or business state—into your bot's logic without hard-coding it.
Why Context Matters
Context enables your bots to:
Personalize responses: Use user names, preferences, account details
Make business decisions: Check user roles, subscription status, account balances
Maintain session state: Pass authentication tokens, session IDs
Adapt behavior: Change bot responses based on time of day, location, language
Integrate with your systems: Bring data from your CRM, database, or services
Context vs Conversation Memory
Source
Your application (external)
EDDI (internal)
Direction
Input to EDDI
Managed by EDDI
Lifetime
Per request
Persistent across conversation
Purpose
Inject external data
Store conversation history
Usage
${context.userName}
${memory.current.input}
Context Types
EDDI supports three context types:
string: Simple text valuesobject: Structured JSON dataexpressions: Parsed semantic expressions
How Context is Used
Once passed to EDDI, context can be:
Matched in Behavior Rules: Conditions check context values
Used in Output Templates:
[[${context.userName}]]Included in HTTP Call Bodies: Pass to external APIs
Stored as Properties: Save to conversation memory
Example Flow
Sending Context to Conversations
In this section we will explain how EDDI handles the context of a conversation and which data can be passed within the scope of a conversation.
In order to talk to EDDI with context, send a POST request to /bots/{environment}/{botId}/{conversationId} (same way as interacting in a normal conversation in EDDI), but this time provide context parameters:
Send message in a conversation with a Chatbot REST API Endpoint
HTTP Method
POST
API endpoint
/bots/{environment}/{botId}/{conversationId}
{environment}
(Path parameter):String Deployment environment (e.g: restricted,unrestricted,test)
{botId}
(Path parameter):String Id of the bot that you wish to continue a conversation with.
{conversationId}
(Path parameter): String Id of the conversation that you wish to send the message to.
returnDetailed (Optional)
(Query parameter):Boolean - Default : false Will return all sub results of the entire conversation steps, otherwise only public ones such as input, action, output & quickReplies.
returnCurrentStepOnly (Optional)
(Query parameter):Boolean - Default : true Will return only the latest conversationStep that has just been processed, otherwise returns all conversationSteps since the beginning of this conversation.
Request Body
a JSON object sent in the request body consists of the usual input text (message to the bot) only this time we are going to provide context information through a key value data structure ; the Context value must have one of the following : string,object or expressions.
Example
Here is an example of a JSON object of the input data:
Additional information:
We can also use http://localhost:7070/chat to test the context parameters by providing Context Type,Context Name, Context Value. see image below :

Last updated
Was this helpful?