Create an investment management chatbot  

Create a service-based chatbot to manage a personal wealth portfolio

Last updated

Create a Watson Conversation-based financial chatbot that enables you to query your investments, analyze securities, and use multiple interfaces.

By Tom Eck, Laura Bennett


Chatbots are rapidly gaining acceptance and becoming the norm for all kinds of customer interactions. In this developer journey, you will create a Watson Conversation-based chatbot that enables you to use an Investment Portfolio service to query portfolios and associated holdings. You’ll use a Simulated Instrument Analytics service to compute analytics on securities under a given scenario and will learn how to swap between a standard web interface and a Twilio interface.

When you have completed this journey, you will understand how to:

  • Create a chatbot dialog with Watson Conversation
  • Set up multiple interfaces with the Watson Conversation bot: web & Twilio
  • Access, seed and send data to the Investment Portfolio Service
  • Send data along with a scenario to the Simulated Instrument Analytics service to retrieve analytics


  1. The developer can set up multiple communication channels (for example, WebUI or Twilio). The application listens for messages from either channel.
  2. The conversation API takes in natural language input and breaks and maps it to intents and entities that it has been trained for. The app makes a call to the respective financial service based on the intent that was identified.
  3. The context of the conversation is saved to the Cloudant DB so that the Conversation API is able to save the state and track the conversation flow of the user.
  4. The Portfolio Investment API is called if there is a query asking for information around the holdings or portfolio. An asynchronous call is made through a “Promise Request” to make the query and return the results. Subsequently, the results are parsed and formatted in a response object that is sent back to the Conversation interface.
  5. The Simulated Analytics API is called if the intent is identified as “impact analysis.” This call initially requires issuing an asynchronous “Promise Request” querying the name of the holdings currently owned using the Portfolio Investment API. This is stored in an object that is subsequently sent to the Simulated Instrument Analytics service (SIA). SIA pulls the base and conditional price out of the object in order to compare against the potential market changes and return a measure of the impact to the holdings in this scenario. (In this use case, the change scenario is querying how the portfolio would perform if the S&P 500 drops by 5%. Results are parsed and formatted in a response object that is sent back to the Conversation interface.


Watson Conversation

Create a chatbot with a program that conducts a conversation via auditory or textual methods.

Cloudant NoSQL DB

A fully managed data layer designed for modern web and mobile applications that leverages a flexible JSON schema.

Investment Portfolio

Maintain a record of your investment portfolios over time.

Simulated Instrument Analytics

Compute theoretical or market-calibrated values for investment securities over an alternate set of market conditions.


Integrate voice, messaging, and VoIP into your web and mobile apps.

Cloud Foundry

Build, deploy, and run applications on an open source cloud platform.



Finding patterns in data to derive information.

Artificial Intelligence

Cognitive technologies that can understand, reason, learn, and interact like humans.


Repository for storing and managing collections of data.


An environment to develop apps and enable engagements that are designed specifically for mobile users.

Platform as a Service

A platform for Cloud services making it easy to develop, deploy, and manage applications by abstracting the complexity of maintaining the infrastructure required to carry out these activities.

Related Blogs

Create an FAQ-aware cognitive banking chatbot with Node.js and Watson

Our newest journey teaches you how to create a banking chatbot with Watson™ and Node.js. There’s no doubt that chatbots are ubiquitous. They have become our personal assistants and so much more. No call queue should ever be needed to get through the usual support conversation on any website with cognitive chatbots. Market analysis suggests...

Continue reading Create an FAQ-aware cognitive banking chatbot with Node.js and Watson

Related Links


Deliver real-time and reference market data to your digital assets.


Build your chatbot with Watson Conversation.