๐ค AI Agents to scale your Sales org infinitely; Open Source alternative to Salesforce ๐ค
If Salesforce were built today, starting with AI, it would be built with AI Agents at the foundation.
But Salesforce is too expensive, and hard to customise.
NOTE: QRev is under active development, and we are releasing an early version so that a strong Agentic foundation can be set with ideas from contributors like you. This repository will be updated regularly with changes and new releases.
Sales orgs have people like SDR's, BDR's, Account Execs, Head of Sales etc.
The question we ask ourselves constantly is whether we should mimic the real world and have Digital Worker equivalents within the app ? or Have one superagent that co-ordinates with other software agents internally.
We are starting with the latter approach. We think based on the users role and role based permissions, Qai will be able to do different things. It will also simplify the requirement of remembering names of Digial workers like Qai just for the sake of seeming cool. But internally, there will be an army of digial workers / agents doing their job anyways.
Open to ideas.
- โ Framework: Typescript for frontend & NodeJS for backend
- โ App Server Database: MongoDB
- โ Vector Database: ChromaDB
- โ AI Server SQL Relational Database: SQLite or anything that works with SQLAlchemy
- โ LLM Tooling: Langchain
Before you get started, please make sure you have the following installed:
- An editor of your choice. For example, Visual Studio Code (VS Code)
- Node.js
- Git
There's 3 main components to running the code
-
๐จ Client App
-
๐๏ธ App Server
-
๐ค AI Server
Please refer to the sample People CSV file for the structure of the CSV file that the user can upload to the QAI bot for generating campaigns.
To get a local copy up and running, please follow these simple steps.
Here is what you need to be able to run QRev.
-
Node.js (Version: >=18.18.0)
-
Mongo (Version: >=5.x)
If you want to enable any of the available integrations, you will have to obtain credentials for each one. More details on this can be found below under the integrations section.
-
Clone the GitHub repo
git clone https://github.com/qrev-ai/qrev.git
-
Go to the
server
foldercd server
-
Setup Node If your Node version does not meet the project's requirements as instructed by the docs, "nvm" (Node Version Manager) allows using Node at the version required by the project:
nvm install v18.18.0
nvm use 18.18.0
You can install nvm from here.
-
Install the packages with
npm
npm ci
npm ci
makes sure that the versions of the packages installed will be frompackage-lock.json
, this will make sure the right version of packages are installed. -
Set up your
.env
file- Duplicate
.env.example
to.env
- Use
openssl rand -base64 32
to generate a key and add this underREFRESH_TOKEN_JWT_SECRET
in the.env
file. - Use
openssl rand -base64 32
to generate a key and add this underACCESS_TOKEN_JWT_SECRET
in the.env
file. - Use
openssl rand -base64 32
to generate a key and add this underAI_BOT_SERVER_TOKEN
in the.env
file and make sure the AI server uses the same token as well.
- Duplicate
-
If you haven't already configured MongoDB and got the MONGO_DB_URL, then follow the steps here to install Mongo DB locally.
-
Run the below command to start the server:
npm start
Make sure you have the right Environment variables
These are referenced in the Client Code
- Go to the
client
folder
cd client
- Install libraries
npm install
-
Set up the
.env
file via following commands-
Copy the example environment file:
cp .env.example .env
-
Add your Google client id for the variable
REACT_APP_GOOGLE_CLIENT_ID
-
Add your app backend server host url for
REACT_APP_BASE_API_URL
-
Add your app backend server host url for
REACT_APP_BACKEND_HOST_URL
Note: Please make sure there is no
/
at the end of the URL environment values. -
-
To prevent any formatting issues in the code files, run the following
git config --global core.autocrlf true
- Run the client
npm start
Please refer the Server README
QRev supports a few Integrations, which will expand over time
Please refer the Server README