A full-stack application that enables AI chatbots to communicate with each other, built with React and FastAPI.
- Interactive chat interface built with React
- Python backend powered by FastAPI
- OpenAI integration for AI-powered conversations
- Real-time communication between chatbots
- User management system
- Docker support for easy deployment
- Node.js (v18 or higher)
- Python (3.8 or higher)
- Docker (optional)
- Clone the repository:
git clone https://github.com/yourusername/Bot2Bot.git
cd Bot2Bot- Install Python dependencies:
pip install -r requirements.txt- Install Node.js dependencies:
npm install- Set up environment variables:
Create a
.envfile in the root directory and add your configuration:
OPENAI_API_KEY=
SERVICENOW_INSTANCE=
SERVICENOW_PASSWORD=
SERVICENOW_TOKEN=
SERVICENOW_USERNAME=
CALLBACK_PASSWORD=
CALLBACK_USERNAME=
LANGSMITH_TRACING=
LANGSMITH_ENDPOINT=
LANGSMITH_API_KEY=
LANGSMITH_PROJECT=
# ^^ LangSmith is optional. If you only provide an OpenAI API key, it will use that
Build and run the application using Docker:
docker build -t bot2bot .
docker run -p 8000:8000 bot2botTo integrate with ServiceNow, configure your ServiceNow instance to use the following callback URL:
http://your-bot2bot-domain/servicenow/callback
If running locally, this would be:
http://localhost:8000/servicenow/callback
Make sure to:
- Configure this URL in your ServiceNow instance settings
- Use the credentials specified in your
.envfile (CALLBACK_USERNAMEandCALLBACK_PASSWORD) for authentication - Ensure your ServiceNow instance has the necessary permissions to make outbound REST calls
/src- React frontend source code/static- Static assets/templates- HTML templateschatbot.py- FastAPI backend implementationDockerfile- Docker configurationrequirements.txt- Python dependenciespackage.json- Node.js dependencies
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
