Arrow icon
See all demos

Chatbot

The chatbot demo – written in Angular, React, Vue and Typescript – is a practical example of a modern visual application created with JointJS+. Using such a user interface, companies can define communication logic and automate repetitive processes to ultimately become more efficient in meeting their customers' demands or more productive in internal communication flows. The source code of this demo is available as part of the JointJS+ license.
Demo instructions
Modify the current communication flow by adding or removing components.

Made with JointJS+

The source code of this demo is available as part of the JointJS+ commercial license. Don't have a license yet? Start a trial and use the source code of this and many other demos for free, with no obligations, for 30 days.

Compatible with:

ReactAngularVueSvelteHTML5Salesforce Lightning

Made with JointJS+

All features required to build this demo are included in the commercial JointJS+ package. Don't have a license yet? Start a trial and build professional applications with ease.

Compatible with:

ReactAngularVueSvelteHTML5Salesforce Lightning

Made with JointJS

The source code of this demo is available in the JointJS open-source library which helps developers create simple visual applications in less time.

Compatible with:

ReactAngularVueSvelteHTML5Salesforce Lightning

Made with JointJS

All features required to build this demo application are included in our open-source library, JointJS. Download the package and create basic visual applications in no time.

Compatible with:

ReactAngularVueSvelteHTML5Salesforce Lightning

What is a chatbot and how to develop one using JointJS+?

Chatbots have revolutionized customer interactions by simulating human conversation using artificial intelligence (AI) and natural language processing (NLP). These computer programs analyze user inputs and provide automated responses, aiming to deliver personalized and efficient interactions.

Chatbots serve various purposes, including customer support, lead generation, virtual assistants, and information retrieval. Businesses benefit from 24/7 availability, instant responses, reduced wait times, and improved user experiences. Chatbots streamline processes, automate tasks, and gather valuable insights.

JointJS+ offers JavaScript and TypeScript developers a lot of options for developing chatbots with interactive capabilities. It is a professional diagramming library that offers limitless customization features to create great looking and user-friendly chatbot interfaces. JointJS+ provides users with several plugins that allow developers to take advantage of functionality that would take excessive time to develop from scratch that could be applied elsewhere.

For instance, plugins used in this demo application are:

  • PaperScroller - manages scrolling, panning, centering, and auto-resizing of content
  • Lightbox - component for displaying images by filling the screen and dimming out the rest of the application
  • Stencil - a palette of JointJS elements that allow you to drag and drop cells right in your diagram
  • CommandManager - keeps track of changes in a graph to give you an option to undo/redo them
  • Toolbar - add tools in your application, either use prebuilt or define your own
  • Tooltip - display information anywhere in the application
  • Keyboard - essential plugin, that gives you an option to create keyboard shortcuts

We wrote the above demo for you in TypeScript, Angular, React and Vue to help you get started regardless of the selected framework! To explore the source codes of these demos and start your free 30-day trial of JointJS+, simply dive in and unlock a world of possibilities.

Integration

Are you a developer eager to create engaging Chatbot applications using popular web application frameworks like React, Vue, Angular, Svelte, or Lightning? Well, you're in luck! JointJS+ is framework-agnostic and that makes it a versatile solution that goes beyond framework limitations, allowing for easy integration in every scenario.

We have prepared examples of popular JavaScript frameworks that showcase the usage of our Toolbar plugin. These examples serve as a guide, illustrating how to integrate and utilize it seamlessly within your chosen framework.

TypeScript chatbot

For TypeScript enthusiasts, the Chatbot demo in JointJS+ presents an exciting opportunity. Built entirely with TypeScript, by utilizing the powerful capabilities of static typing and advanced language features, the Chatbot demo in JointJS+ significantly enhances your development efforts. Explore the possibilities and enhance your Chatbot development by starting a 30-day trial of JointJS+ today.

React chatbot

Designing chatbot applications using JointJS+ and React is a breeze. With React's component-based architecture and efficient rendering, developers can create visually appealing and interactive chatbot interfaces. By effortlessly integrating JointJS+, you can enhance the design process and elevate your chatbot applications. As mentioned before, take a look at the example below to see how to initialize the Toolbar plugin in a React application.

-- CODE language-js --
import
{ useEffect, useRef } from 'react';
import
{ ui } from '@clientio/rappid';

export const ChatbotToolbar
= () => {
  const
toolbarEl = useRef(null);
  const
toolbar = useRef();

  useEffect
(() => {
    
toolbar.current = new ui.Toolbar({
      
tools: [
        
{ type: 'button', name: 'ok', text: 'Ok' },
        
{ type: 'button', name: 'cancel', text: 'Cancel' }
      
]
    
});

    
toolbar.current.render();
    
toolbarEl.current.appendChild(toolbar.current.el);

    return
() => {
      
toolbar.current.remove();
    
}
  
}, []);

  return
(
    
<div ref={toolbarEl}></div>
  
);
}

To save some of your precious time we have written this demo in React for you. And it is written in two different ways. You can either check out implementation in React or React with Redux. Make sure to start your free 30-day trial of JointJS+ to view the source code of this ready-to-use app.

🔗 Interested in a step-by-step guide on how to integrate JointJS+ with your React application? Follow our tutorial on React and JointJS+ integration. For more examples, check out our Github repository.

Vue chatbot

Leveraging Vue's smooth integration with JointJS+, developers can effortlessly design Chatbot applications in Vue. With Vue's declarative syntax and component-based approach, creating interactive and user-friendly interfaces for designing chatbots becomes a walk in the park. This integration empowers developers to build visually appealing and effective chatbot design applications that provide smooth communication with users. As mentioned earlier, below you can see an example of Toolbar initialization in a Vue application.

-- CODE language-js --
<script setup >
import { ref, onMounted, onBeforeUnmount } from 'vue';
import { ui } from '@clientio/rappid';

const toolbarEl = ref(null);
const toolbar = new ui.Toolbar({
   tools: [
       { type: 'button', name: 'ok', text: 'Ok' },
       { type: 'button', name: 'cancel', text: 'Cancel' }
   ]
});

onMounted(() => {
   toolbar.render();
   toolbarEl.value.appendChild(toolbar.el);
});

onBeforeUnmount(() => {
   toolbar.remove();
});
</script>

< template >
   <div ref="toolbarEl" > </div>
< /template>

Because saving your time is one of the things we take pride in, we made sure to write this demo application in Vue as well! If you are interested in its source code, go ahead and start your free 30-day trial of JointJS+.

🔗 Interested in a step-by-step guide on how to integrate JointJS+ with your Vue application? Follow our tutorial on Vue and JointJS+ integration. For more examples, check out our Github repository.

Angular chatbot

With its seamless integration into Angular, JointJS+ gives developers power to design chatbot applications with ease. By taking advantage of Angular's robust features for data binding and dependency injection, developers can create dynamic and data-driven interfaces for chatbot design. This integration ensures accurate representations of chatbot designs and streamlined development workflows, enhancing user experiences. Displayed below is an example of Toolbar initialization in an Angular application, providing a clear understanding of how to seamlessly integrate Toolbar into your Angular projects.

-- CODE language-js --
import { AfterViewInit, OnInit, ViewChild, OnDestroy, Component } from '@angular/core';
import { ui } from '@clientio/rappid';
@Component({
   selector: 'chatbot-toolbar',
   template: `
       <nav #toolbarEl></nav>
    `
})

export class ChatbotToolbar implements OnInit, AfterViewInit, OnDestroy {
   @ViewChild('toolbarEl') toolbarEl;

   private toolbar;

   public ngOnInit() {
       const toolbar = this.toolbar = new ui.Toolbar({
           tools: [
               { type: 'button', name: 'ok', text: 'Ok' },
               { type: 'button', name: 'cancel', text: 'Cancel' }
           ]
       });

       toolbar.render();
   }

   public ngAfterViewInit() {
       const { toolbar, toolbarEl } = this;
       toolbarEl.nativeElement.appendChild(toolbar.el);
   }

   public ngOnDestroy() {
       const { toolbar } = this;
       toolbar.remove();
   }
}

If you prefer Angular over other frameworks, you can find the source code of this demo application. All you have to do is start your free 30-day trial of JointJS+ to dive right into it!

🔗 Interested in a step-by-step guide on how to integrate JointJS+ into your Angular application? Follow our tutorial on Angular and JointJS+ integration. For more examples, check out our Github repository.

Svelte chatbot

JointJS+ integrates smoothly with Svelte, known for its lightweight and reactive nature, for designing chatbots. The integration empowers developers to effortlessly create visually captivating and responsive chatbot interfaces, enhancing the overall user experience. Provided below is an example of Toolbar initialization in a Svelte application, offering a straightforward approach to integrating Toolbar into your Svelte projects.

-- CODE language-js --
<script>
  import { onMount, onDestroy } from 'svelte';
  import { ui } from '@clientio/rappid/rappid.js';

  let toolbarEl;
  let toolbar;

  onMount(() => {
    toolbar = new ui.Toolbar({
      tools: [
        { type: 'button', name: 'ok', text: 'Ok' },
        { type: 'button', name: 'cancel', text: 'Cancel' },
      ],
    });

    toolbarEl.appendChild(toolbar.render().el);
  });

  onDestroy(() => {
    toolbar.remove();
  });
</script>

<nav bind:this={toolbarEl} />

🔗 At this moment we don’t have a source code for this demo in Svelte. But implementing it on your own is very easy, you can take a look at our tutorial to help you with it. For more examples, check out our Github repository.

Salesforce Lightning chatbot

Developers exploring the Salesforce Lightning framework can unlock new possibilities by integrating JointJS+. Salesforce Lightning, known for its exceptional performance and rich feature set, seamlessly combines with JointJS+ to empower developers in building efficient and scalable chatbot interfaces. By harnessing the lightning-fast rendering of Salesforce Lightning and the interactive capabilities of JointJS+, developers can create visually appealing and high-performing chatbot experiences.

🔗 Interested in a step-by-step guide on how to integrate JointJS+ into your Lightning application? Follow our tutorial on Lightning and JointJS+ integration.

Ready to take the next step?

Modern development is not about building everything from scratch. The JointJS team equips you with plenty of ready-to-use demo apps that can serve as a boilerplate and radically reduce your development time. Start a free 30-day JointJS+ trial, get source code of the Chatbot application that is written in TypeScript, React, Vue and Angular, and go from zero to a fully functional app in no time.

Speed up your development with a powerful library