Openai Support Agent Demo

screenshot of Openai Support Agent Demo
nextjs
react
tailwind
cmdk

Demo of a customer support agent interface using NextJS and the OpenAI Responses API with File Search

Overview

The Customer Support Agent with Human in the Loop Demo is an innovative application built using NextJS and the OpenAI API. This demo showcases a seamless interaction between AI and human agents, enhancing customer support experiences. It provides a comprehensive chat interface designed for both customers and agents, ensuring that human oversight is always present during sensitive transactions. This blend of AI assistance and human expertise promises an effective approach to managing customer inquiries while retaining control over critical actions.

Features

  • Multi-turn conversation handling: Engage in complex dialogues with customers, allowing for a natural flow of conversation across multiple messages.
  • File search tool: Effortlessly search through documents and files to provide accurate information to customer queries.
  • Vector store creation & file upload: Create a custom vector store and upload files to enhance the knowledge base and improve response accuracy.
  • Knowledge base display: Easily access and display relevant articles and FAQs to assist customer support agents with immediate information.
  • Function calling: Execute specific functions based on customer inquiries, enabling quick responses to common requests.
  • Streaming suggested responses: Get real-time suggestions as responses to customer questions, facilitating faster interactions.
  • Suggested actions for tool calls: The system can propose actions for agents to execute based on customer requests, streamlining workflows.
  • Auto-execution of tool calls: For non-sensitive actions, the application can automatically execute tasks, further enhancing user efficiency.

This demo is highly customizable, allowing users to adapt the interface and functionality to better fit their specific customer service needs.

nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

cmdk
cmdk

cmdk is a fast, composable command menu component for React. It provides the foundation for building command palettes, search interfaces, and keyboard-navigable menus similar to those found in applications like VS Code, Linear, and Raycast.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

recharts
Recharts

Recharts is a powerful and easy-to-use React library for building customizable and interactive charts. Built on D3.js, it offers a wide range of pre-built chart types, such as line, bar, pie, and scatter charts, all of which can be composed with a declarative syntax.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.

zod
Zod

Zod is a TypeScript-first schema declaration and validation library. It allows you to define schemas that can validate data at runtime while providing excellent TypeScript inference, making it perfect for API validation, form validation, and type-safe data handling.

Zustand

Zustand is a lightweight state management library for React that provides a simple and intuitive API for managing state in your application. It allows developers to easily create and manage global state, and provides a powerful set of tools for optimizing performance and improving developer productivity. Zustand is designed to be easy to use and easy to learn, making it a popular choice for developers of all skill levels.