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

Aspect
Context
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:

  1. string: Simple text values

  2. object: Structured JSON data

  3. expressions: 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

Element
Tags

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/chatarrow-up-right to test the context parameters by providing Context Type,Context Name, Context Value. see image below :

Callbacksarrow-up-right

Last updated

Was this helpful?