TeamCRM: Customer Management Dashboard

Test this app for free
21
import logging
from gunicorn.app.base import BaseApplication
from app_init import app  # Import the Flask app instance
import admin_routes  # Register admin routes
import routes  # Register main routes

# Setup logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

class StandaloneApplication(BaseApplication):
    def __init__(self, app, options=None):
        self.application = app
        self.options = options or {}
        super().__init__()

    def load_config(self):
        # Apply configuration to Gunicorn
        for key, value in self.options.items():
            if key in self.cfg.settings and value is not None:
                self.cfg.set(key.lower(), value)

    def load(self):
        return self.application
Get full code

Created: | Last Updated:

Team-based CRM dashboard for managing shared customer information, featuring team member access, customer statistics, and deal tracking.

Getting Started with TeamCRM Dashboard Template

This template provides a complete customer relationship management dashboard with team access control, customer statistics, and data import capabilities.

Initial Setup

  • Click "Start with this Template" to begin
  • Press the "Test" button to deploy the application

Using the Dashboard

Once deployed, you'll have access to a full-featured CRM dashboard with the following capabilities:

  • Home Dashboard
  • View customer statistics including total, new, active, and inactive customers
  • Manage customer records with add, edit, and delete functionality
  • Search and filter customers by status

  • Team Management

  • Control access by email domain or individual email addresses
  • Block/unblock team member access
  • Monitor team member last login activity

  • Customer Import

  • Import customer data directly from Google Sheets
  • Required columns in your Google Sheet:
    • Name (required)
    • Email (required)
    • Company (optional)
    • Phone (optional)
    • Status (optional)

Managing Team Access

The dashboard provides two ways to grant access:

  • Domain-based Access: Allow anyone with specific email domains
  • Individual Access: Grant access to specific email addresses

To add new team members:

  1. Navigate to the Team Management section
  2. Choose either:
  3. "Add New Domain" to allow all users from a specific email domain
  4. "Add New Admin" to grant access to individual email addresses

Importing Customers

To import customers from Google Sheets:

  1. Create a Google Sheet with the required columns
  2. Make the sheet publicly accessible for reading
  3. Copy the Google Sheet URL
  4. Navigate to the Import section
  5. Paste the URL and click "Import Customers"

The import history will show the status and results of all import attempts.

Security Features

The dashboard includes built-in security features:

  • Session-based authentication
  • Team member access control
  • Ability to block specific users
  • Activity monitoring with last login tracking

The template provides a complete team-based CRM solution that can be deployed immediately with no additional configuration required.



Template Benefits

  1. Centralized Customer Data Management
  2. Provides a unified platform for storing and accessing customer information
  3. Enables teams to maintain consistent customer records across the organization
  4. Reduces data silos and improves data accuracy through standardized input

  5. Team Collaboration & Access Control

  6. Granular control over team member access through domain-based and individual permissions
  7. Built-in blocking/unblocking functionality for managing team member access
  8. Transparent tracking of team member activities and last login timestamps

  9. Efficient Customer Import Capabilities

  10. Streamlined bulk import feature from Google Sheets
  11. Historical tracking of import activities and success rates
  12. Automated validation of imported data to maintain data quality

  13. Real-time Performance Analytics

  14. Dashboard with key metrics including total customers, new customers, and activity status
  15. Visual representation of customer engagement levels
  16. Quick identification of inactive customers requiring attention

  17. Scalable Infrastructure & Security

  18. Enterprise-grade security with session management and authentication
  19. Error handling and logging for system reliability
  20. Multi-threaded architecture supporting concurrent users and operations

Technologies

Streamline CSS Development with Lazy AI: Automate Styling, Optimize Workflows and More Streamline CSS Development with Lazy AI: Automate Styling, Optimize Workflows and More
Optimize Your Django Web Development with CMS and Web App Optimize Your Django Web Development with CMS and Web App
Flask Templates from Lazy AI – Boost Web App Development with Bootstrap, HTML, and Free Python Flask Flask Templates from Lazy AI – Boost Web App Development with Bootstrap, HTML, and Free Python Flask
Enhance HTML Development with Lazy AI: Automate Templates, Optimize Workflows and More Enhance HTML Development with Lazy AI: Automate Templates, Optimize Workflows and More
Streamline JavaScript Workflows with Lazy AI: Automate Development, Debugging, API Integration and More  Streamline JavaScript Workflows with Lazy AI: Automate Development, Debugging, API Integration and More

Similar templates

Open Source LLM based Web Chat Interface

This app will be a web interface that allows the user to send prompts to open source LLMs. It requires to enter the openrouter API key for it to work. This api key is free to get on openrouter.ai and there are a bunch of free opensource models on openrouter.ai so you can make a free chatbot. The user will be able to choose from a list of models and have a conversation with the chosen model. The conversation history will be displayed in chronological order, with the oldest message on top and the newest message below. The app will indicate who said each message in the conversation. The app will show a loader and block the send button while waiting for the model's response. The chat bar will be displayed as a sticky bar at the bottom of the page, with 10 pixels of padding below it. The input field will be 3 times wider than the default size, but it will not exceed the width of the page. The send button will be on the right side of the input field and will always fit on the page. The user will be able to press enter to send the message in addition to pressing the send button. The send button will have padding on the right side to match the left side. The message will be cleared from the input bar after pressing send. The last message will now be displayed above the sticky input block, and the conversation div will have a height of 80% to leave space for the model selection and input fields. There will be some space between the messages, and the user messages will be colored in green while the model messages will be colored in grey. The input will be blocked when waiting for the model's response, and a spinner will be displayed on the send button during this time.

Icon 1 Icon 1
648

We found some blogs you might like...