Skip to main content
Skip table of contents

Studio Nodes

A Controller instance controls a Conversation from creation to closure. It monitors and controls the communication exchange between the customer and the business resources (Bot, Agent) and takes decisions upon controller-bot intents. The bot gives scripting control to the business to customize the behavior of conversation handling. For example, send a greeting message as customer joins a conversation or send a survey message to the customer when agent leaves.

The Conversation Studio decides to close a channel session at any point in time, based on the bot training data. For instance, it may close a session if one of the following happens:

  • The customer leaves the chat 

  • The agent leaves the chat and no one else is in the conversation

  • Customer response timeout expire

Conversation Studio is built through Node-RED which is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

Available Nodes

In Node-RED a node is a fundamental building block encapsulating a specific functionality. ExpertFlow provides businesses with the following nodes that they can connect in different sequences to define custom behavior of the system.

1. Initial Processor Node


This initial node defines an endpoint for the EF CX system to invoke and determine its next move. The EF CX system sends a request to this endpoint for each intent, executing additional actions based on the workflow specified by the businesses. All the available intents are present in the configuration panel of this node which can be accessed by double clicking the node. For each configured intent, an output point will be shown at the right of the node, which can be further connected to various nodes to define the behavior of the system upon the occurrence of that specific event in the conversation.

Ideally, you will have only one initial node in your workspace to define behavior of all intents


Following is the current list of intents present in this node:

Channel Session Started

Agent SLA Expired

This intent is fired when agent is unable to respond within the defined time limit.

Agent Subscribed

This intent indicates that an agent has subscribed to a conversation.

Agent Unsubscribed

This intent means that some agent has left the conversation.

Channel Session Expired

Conversation Started

End Chat

Participant Role Changed

This intent indicates that the role of some participant has changed. For example, if the role of bot is changed from PRIMARY to ASSISTANT.

Task State Changed


Message is routed to this intent in case it does not match any of the available intent.


2. Action Node

localhost_1880_red_ (1).png

Action node contains a set of actions that can be taken on the conversation. Each action has different configuration parameters which are reveled upon the selection of that action.


All the available actions along with their configuration are given below

Assign Bot

This action adds a bot in the conversation.


Input Details


Option Details


The role of the bot being added


With primary role, bot replies directly to the customer


With Assistant role, bot works in suggestion mode and aids the agent

End Conversation

As the name suggests, this action ends the conversation.

Change Bot Participant Role

This action can be used to change the role of the bot present int the conversation.


Input Details


Option Details


New role of the bot


With primary role, bot replies directly to the customer


With Assistant role, bot works in suggestion mode and aids the agent

Find Agent

This action finds an agent for the current conversation.

Remove All Agents

This actions removes all the agents from the conversation.

Remove Channel Session

This action can be used to remove current, last used or all channel sessions.


Input Details


Option Details

Channel Session

The Channel Session to remove


Remove the current channel session

Last Used

Remove the channel session last used by the customer


This option removes all the channel sessions of the customer

Reason Code

The reason to remove the channel session


Remove the channel session without specifying the reason

Force Closed

Revoke Bot

Revoke Bot action can be used to remove the bot from the conversation.

Dispatch Flushed Task Message

Dispatch flushed task message


Input Details


Option Details


Message to send after dispatching flushed task message




3. Condition Node

localhost_1880_red_ (2)-20240303-044834.png

The condition node acts as a decision point in your workflow. It contains a set of conditions that are checked on the received data (requests). Based on the outcome of these checks, the node directs the data flow down one of two paths:

  • True Output: The upper output point is the output point for true cases. The request is routed to the next node through this output point, when the added condition is met.

  • False Output: If the current request fails to meet the specified condition, it exits the condition node through the bottom output and continues on wards in your main flow.


The collection of conditions in this node are self explanatory. Following is the list of all the conditions that are present in this node’s configuration:

  • Is Customer Present (checks if customer is present in the conversation)

  • Is All Agent In Wrapup (checks if all the agents present in the current conversation are in wrapup state or not)

  • Is Room Private (this condition checks if the received request is for a private room)

  • Is Agent Present (checks if an agent is present in the conversation)

  • Is Push Routing Mode (this condition checks if the routing mode for the current conversation is push)

  • Is Latest Intent Set (checks if the latest intent is set or not on the received request)

  • Is Start Conversation Intent (this condition checks if the latest intent is START_CONVERSATION for the received request)

  • Is Direction Direct Transfer (checks if the conversation is routed to the new agent through direct transfer)


4. Text Message Node

localhost_1880_red_ (3).png

The Text Message node can be used to send messages to the customer. The configuration for this node contains only a single input field for message, which will be sent to the customer as is, whenever a request passes through this node.

5. Final Processor Node

localhost_1880_red_ (4).png

Any flow that started with Initial Processor node, must end with this Final Processor node. This node sends a response back for the request received by Initial Processor node. Unlike Initial Processor node, you can have multiple copies of this node. So you can either end the flow for all intents with a single Final Processor node or with multiple of them.

Example Flow

Following is an example flow, which is based on the combination of all the nodes provided in EF CX.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.