Your AI Superpower in Sales for Enterprise - Real-Time AI Multi-Agent Sales Orchestrator
AI SalesGrid - Solution on AWS Overview | Technical Deployment Guide on AWS
AI-SalesGrid is an innovative enterprise solution designed to revolutionize sales processes through real-time AI multi-agent orchestration. Leveraging the power of AWS Bedrock agents and Amazon Nova LLM and deployed on AWS, this system acts as an intelligent sales superpower, automating and optimizing complex sales workflows. It features a user-friendly Streamlit frontend that interacts with an AWS API Gateway, which in turn orchestrates a suite of specialized AI agents.
The project focuses on building an agentic workflow to empower sales professionals, enabling them to close deals faster, personalize customer interactions, and gain actionable insights, ultimately enhancing overall sales efficiency and revenue.
- π― Real-Time Multi-Agent Orchestration: Deploys and manages a network of specialized AI agents that collaborate to achieve sales objectives.
- π§ Generative AI Integration: Utilizes AWS Bedrock (Agents + Flow + kb) with Amazon Nova AI to power advanced conversational capabilities, content generation, and intelligent decision-making for sales agents.
- βοΈ AWS Native Deployment: Built for deployment on Amazon Web Services (AWS), leveraging services like API Gateway for robust, scalable, and secure communication.
- π CRM Integration Readiness: Designed with architecture capable of integrating with existing CRM systems to enrich agent context and streamline data flow.
- β‘ Enterprise-Grade Scalability: Engineered for high performance and scalability to meet the demands of large enterprise sales operations.
- π Secure & Compliant: Adheres to AWS's robust security and compliance standards, with secure credential handling via environment variables for sensitive access keys.
- Intuitive Streamlit Frontend: Provides a responsive and interactive chat interface for users to engage with the AI sales assistant.
- Automated Sales Workflow: Manages the entire sales journey from initial client inquiry to final reporting.
- Client Requirement Analysis: Specialized agent analyzes client needs and matches them with available company services, strictly adhering to a knowledge base.
- Dynamic Pricing Generation: An agent generates pricing, validating against predefined rules like discount limits, margin thresholds, and approval policies.
- Formal Proposal Generation: An agent crafts professional proposals following company templates, incorporating solution and pricing details.
- Comprehensive Risk Assessment: An agent evaluates delivery timelines, margin risks, and compliance issues, providing a risk score.
- Executive Summary Reporting: An agent generates concise executive summaries, formatted for CEO dashboards, detailing deal size, margin, risk, and approval status.
- Configurable AI Agents: Agents are configured to utilize specific Amazon Nova AI models or agent IDs.
- Containerized Deployment: Provided Dockerfiles for easy, consistent, and scalable deployment of both frontend and backend agent components.
The system's architecture comprises a Streamlit web frontend, an AWS API Gateway acting as a secure intermediary, and a backend multi-agent system powered by AWS Bedrock. The frontend sends user prompts to the API Gateway using authentication, which then forwards the request to the AWS Bedrock agent for processing. The agent processes the request, potentially orchestrating other sub-agents, and returns a response through the API Gateway back to the Streamlit application.
The detailed architecture is described in the Architecture Diagram directory and the AI SalesGrid - Tech Deployment on AWS.pdf.
- Languages: Python 3.8 (Frontend), Python 3.11 (Agent)
- Frontend Framework: Streamlit
- AI Agent Platform: AWS Bedrock
- LLM: Amazon Nova AI
- Cloud Platform: Amazon Web Services (AWS)
- API Gateway: For secure and scalable API endpoints.
- IAM: For managing access and authentication.
- Compute (e.g., ECS/EKS/Lambda): For hosting the Amazon Nova Agent backend.
- Containerization: Docker
- Python Libraries:
streamlit: For interactive web applications.requests: For making HTTP calls.boto3,botocore: AWS SDK for Python, used for SigV4 authentication.asyncio: For asynchronous operations.openai: Used as a client to interact with the Amazon Nova API.adk: (Implied byCMDin agent Dockerfile) Amazon Agent Development Kit.
Follow these steps to get AI-SalesGrid up and running for development and deployment. This project consists of two main components: the Streamlit Frontend and the Amazon Nova Agent.
- Python 3.8+: Required for both frontend and agent development.
- Docker: Required for building and running the containerized applications.
- AWS CLI: Recommended for managing AWS credentials and services.
- AWS Account: An active AWS account with billing enabled.
- AWS IAM User/Role: Configured with necessary permissions (e.g., permissions to invoke API Gateway, AWS Bedrock, Lambda).
Bedrock agnet is the core intelligence of AI-SalesGrid.
Navigate to the agent directory:
cd Github/3- Amazon Nova AgentInstall Agent Python dependencies:
While a requirements.txt is not explicitly provided for this folder in the project data, the agent.py uses openai. Create a requirements.txt if it doesn't exist:
echo "openai" > requirements.txt
# Add any other specific ADK dependencies here if knownBuild the Agent Docker image:
docker build -t ai-salesgrid-nova-agent .Note on Agent Deployment: The agent.py interacts with https://api.nova.amazon.com/v1.
For Streamlit: The api_url in the Streamlit frontend (Github/2- Streamlit Frontend/app.py) should point to an AWS API Gateway endpoint that invokes this agent.
Navigate to the frontend directory:
cd ../../Github/2- Streamlit FrontendInstall Frontend Python dependencies:
pip install -r requirements.txtBuild the Frontend Docker image:
docker build -t ai-salesgrid-streamlit-frontend .Both the frontend and the agent require specific environment variables.
The agent.py requires an API Key for Amazon Nova. This key is typically set as <API_KEY> in the code example, but in a real deployment, it should be an environment variable.
| Variable | Description | Required |
|---|---|---|
NOVA_API_KEY |
Your Amazon Nova API key or similar authentication token. | Yes |
You should also provide the Agent ID (e.g., AGENT-1fb10db68a5248509d87af7c848751cb) to the agent application as an environment variable or configuration.
The app.py requires AWS credentials and the API Gateway endpoint.
| Variable | Description | Required |
|---|---|---|
AWS_ACCESS_KEY_ID |
Your AWS Access Key ID with permissions to invoke the API Gateway. | Yes |
AWS_SECRET_ACCESS_KEY |
Your AWS Secret Access Key. | Yes |
API_GATEWAY_URL |
The full URL of your AWS API Gateway endpoint that invokes the Nova Agent. | Yes |
You can set these in your environment or pass them during docker run.
.
βββ Github/
β βββ AI SalesGrid - Solution on AWS.pdf # High-level overview and business case on AWS
β βββ AI SalesGrid - Tech Deployment on AWS.pdf # Detailed technical deployment guide on AWS
β βββ README.md # This README file
β βββ 1- Architecture Diagram/ # Contains architectural diagrams
β β βββ 1- Main Archtiect.png
β β βββ 2- Multi Agent Arch.png
β β βββ 3- Architect.png
β β βββ 4- Advanced Multi Agent with CRM.png
β βββ 2- Streamlit Frontend/ # Frontend Streamlit application
β β βββ app.py # Main Streamlit application
β β βββ Dockerfile # Docker build instructions for the frontend
β β βββ requirements.txt # Python dependencies for the frontend
β βββ 3- Amazon Nova Agent/ # Backend Amazon Nova AI Agent
β βββ Dockerfile # Docker build instructions for the agent
β βββ agents/
β β βββ ai-salesgrid/
β β βββ agent.py # Core Amazon Nova Agent logic
β β βββ __init__.py # Python package initializer
β βββ requirements.txt # (Implicit) Python dependencies for the agent (e.g., openai)
βββ LICENSE # Project license (suggested)
βββ AI-SalesGrid-on-AWS/
βββ 1- Architecture Diagram
β βββ 1- Main Archtiect.png
β βββ 2- Multi Agent Arch.png
β βββ 3- Architect.png
β βββ 4- Advanced Multi Agent with CRM.png
βββ 2- Streamlit Frontend
β βββ Dockerfile
β βββ app.py
β βββ requirements.txt
βββ 3- Amazon Nova Agent
β βββ Dockerfile
β βββ agents
βββ AI SalesGrid - Solution on AWS.pdf
βββ AI SalesGrid - Tech Deployment on AWS.pdfAI-SALESGRID-ON-AWS/
__root__
2- Streamlit Frontend
app.py requirements.txt Dockerfile
3- Amazon Nova Agent
Dockerfile agents
ai-salesgrid
agent.py
Before getting started with AI-SalesGrid-on-AWS, ensure your runtime environment meets the following requirements:
- Programming Language: Python
- Package Manager: Pip
- Container Runtime: Docker
Install AI-SalesGrid-on-AWS using one of the following methods:
Build from source:
- Clone the AI-SalesGrid-on-AWS repository:
β― git clone https://github.com/fadynabil10/AI-SalesGrid-on-AWS- Navigate to the project directory:
β― cd AI-SalesGrid-on-AWS- Install the project dependencies:
β― pip install -r 2- Streamlit Frontend/requirements.txtβ― docker build -t fadynabil10/AI-SalesGrid-on-AWS .Run AI-SalesGrid-on-AWS using the following command:
Using pip Β
β― python {entrypoint}β― docker run -it {image_name}Refer to AI SalesGrid - Tech Deployment on AWS.pdf for detailed instructions on configuring AWS services (e.g., IAM roles, S3 buckets, DynamoDB tables, Bedrock access).
The AI SalesGrid is designed for robust and scalable deployment on Amazon Web Services.
-
Review Technical Deployment Guide: Thoroughly read
AI SalesGrid - Tech Deployment on AWS.pdf. This document contains the authoritative steps for deploying all components on AWS. -
Infrastructure Provisioning: Follow the
AI SalesGrid - Tech Deployment on AWS.pdfrequirements. -
Deploy AWS Bedrock Agents: The agent will likely be deployed as one or more AWS Lambda functions, potentially fronted by AWS API Gateway, or as containers on AWS ECS.
- Lambda Deployment: Package the agent code and dependencies into a deployment package (
.zipfile) and deploy it to AWS Lambda. - Container Deployment: Build a Docker image for the agent and push it to Amazon ECR, then deploy it to AWS ECS.
- Lambda Deployment: Package the agent code and dependencies into a deployment package (
-
Deploy Streamlit Frontend: The Streamlit application can be deployed on AWS using various methods:
- AWS EC2: Run the Streamlit app on an EC2 instance.
- AWS ECS/Fargate: Containerize the Streamlit app and deploy it as a service.
- AWS Amplify/S3 + CloudFront: Serve the static assets (if any) and integrate with a backend.
Refer to
AI SalesGrid - Tech Deployment on AWS.pdffor the recommended deployment strategy for the Streamlit frontend.
The AWS Bedrock Agent exposes an API, typically through AWS API Gateway, allowing the Streamlit Frontend and other enterprise systems to interact with the multi-agent orchestration.
Authentication to the Agent API will be handled via AWS IAM roles and policies, or potentially API Gateway custom authorizers/Cognito integration as defined in the AWS deployment strategy.
The specific endpoints will depend on the agent's functionality and API Gateway configuration. Examples might include:
POST /agent/orchestrate: Initiate a new sales orchestration task.GET /agent/status/{task_id}: Check the status of an ongoing orchestration task.POST /agent/feedback: Provide feedback on agent performance.
We welcome contributions to AI-SalesGrid! Please see our Contributing Guide for details on how to get started, report bugs, and suggest features.
Contributors should follow the "Quick Start" guide for local development. Adherence to Python best practices, clear documentation of agent logic, and unit testing is highly encouraged.
- AWS Bedrock: For providing a robust suite of AI and cloud services.
- AWS Bedrock Knowledge base and Lambda Actions with data on RDS/Redshift/Dynamodb: Powering the intelligence of the sales agents.
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π‘ Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/fadynabil10/AI-SalesGrid-on-AWS
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.' - Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
β Star this repo if you find it helpful!
Made with β€οΈ by Fady Nabil
