69dynamics Admin Panel Tutorial
Complete step-by-step guide to every feature, configuration, and automation in your admin panel.
1 Getting Started
The 69dynamics Admin Panel is a single-page application (SPA) accessed at https://69dynamics.in/admin. It uses Firebase Authentication for secure login.
Login
Navigate to https://69dynamics.in/admin in your browser.
Enter your registered admin email and password. Click Sign In.
Only whitelisted admin emails can access the panel. Super admins (Main Admin) can manage roles from the Admin Roles section.
Navigation
The left sidebar contains all sections organized into groups:
| Group | Sections |
|---|---|
| Overview | Dashboard |
| Clients | Clients, Projects (List/Kanban/Gantt), Project Requests, Reviews, Onboarding, Tasks, Contacts (CRM), Notes, Documents, Contracts, Milestones |
| Leads | Inquiries, Lead Pipeline (Kanban), Referrals, Newsletter, Applications, Quotations |
| Content | Blog (AI Generator + Auto-Scheduler + SEO), Testimonials, Email Campaigns |
| Finance | Invoices, Expenses, Payments, Invoice Reminders, Revenue Analytics |
| Scheduling | Calendar |
| Analytics | Campaigns (UTM + Google Ads + Email), Lighthouse, Performance Monitor, Conversions, Configurator Leads |
| Automation | Quantum Pipeline (List/Kanban), SLA Monitor |
| Supply Chain | SC Dashboard, Products, Orders, Reports, Payments, Returns, Templates, Scoreboard, Forecasting, Gallery |
| Client Support | Communication Hub, Support Tickets, Announcements, Client Feedback, Client Teams, Brand Vault, Collaboration |
| Strategy | Service Roadmap, ROI Tracker, Enhancements |
| AI Intelligence | Sentiment Tracker, Churn Alerts, Client ROI, Compliance Auditor, Scope Creep, Client Health, Proposal Generator, Revenue Forecast, Report Builder, Client Onboarding |
| HR & Operations | Employees, Leave Management |
| Procurement | Vendors, Purchase Orders, Stock Management |
| Resources | Guides, Audit Log, Webhooks |
| Account | Settings, Admin Roles (super admin only) |
https://69dynamics.in/admin#blog opens the Blog section directly.
2 Dashboard
The Dashboard provides a real-time overview of your workspace with key metrics displayed in stat cards:
- Total Clients β Active client count from the
clientscollection - Active Projects β Number of ongoing projects
- Inquiries β Contact form submissions awaiting response
- Newsletter Subscribers β Email list count
- Applications β Career/job applications received
- Recent Activity β Timeline of latest events across all sections
3 Clients
Manage all your client records. Each client has contact details, project associations, and status tracking.
Adding a Client
Click the + Add Client button in the Clients section.
Fill in client details: Name, Email, Phone, Company, Status (Active/Inactive/Lead).
Click Save. The client is added to Firestore and appears in the table.
Client Table Features
- Search β Filter clients by name, email, or company
- Edit β Click the pencil icon to modify client details
- Delete β Click the trash icon (with confirmation)
- Status Badges β Visual indicators: Active (green), Inactive (gray), Lead (yellow)
4 Projects
Track all client projects with status management and assignment. Projects support three view modes: List (default), Kanban board, and Gantt timeline chart.
Creating a Project
Click + New Project β Fill in project name, client (select from dropdown), description, status (Planning / In Progress / Review / Completed), and deadline β Save.
Status Workflow
| Status | Meaning | Badge Color |
|---|---|---|
| Planning | Project scope being defined | Blue |
| In Progress | Active development/work | Yellow |
| Review | Awaiting client review | Orange |
| Completed | Delivered and signed off | Green |
Search & Filter
Use the search bar at the top to filter projects by name, client, or status. Results update in real-time as you type.
4b Project Views: Kanban & Gantt NEW
Switch between three project views using the view toggle buttons in the top bar.
List View (Default)
Traditional table showing all projects with columns: Name, Client, Status, Deadline, and Actions. Sortable and searchable.
Kanban View
Click the Kanban toggle button in the Projects top bar.
Projects are displayed as draggable cards organized into status columns:
- Planning β In Progress β Review β Completed
Drag and drop project cards between columns to update their status. The change is saved to Firestore automatically.
Gantt Chart View
Click the Gantt toggle button in the Projects top bar.
Projects are rendered on a visual timeline with horizontal bars showing duration from start to deadline. Features include:
- Zoom Controls β Zoom in/out to view weekly, monthly, or quarterly timelines
- Color-Coded Bars β Each status has a distinct color matching the badge colors
- Hover Details β Hover over any bar to see project name, client, dates, and status
- Overdue Highlighting β Past-deadline projects are highlighted in red
5 Project Requests
When clients submit project requests via the portal, they appear here for review.
- View request details, scope, and budget
- Accept or decline requests
- Convert accepted requests into active projects
5b Review & Reputation Management UPDATED
Manage client reviews, send review requests, and track your online reputation. Now with automated review collection and reputation dashboard.
Reputation Dashboard
The top stats cards show at-a-glance metrics:
| Card | What it shows |
|---|---|
| Total Reviews | All review requests in the system |
| Requests Sent | Manual + automated review request emails sent |
| Pending | Reviews awaiting client response |
| Response Rate | Percentage of reviews that got a response |
Sending Review Requests
Click β Send Review Request β Enter client email, name, project name, and optional personal message β Send Request. The client receives a branded email with links to leave a Google review or rate through the Portal.
Automated Review Reminders
The scheduledReviewReminders Cloud Function runs every Wednesday at 11 AM IST. It automatically finds projects completed 7-14 days ago and sends a friendly follow-up email requesting feedback β but only if no request was previously sent for that project.
Review Status Flow
| Status | Meaning |
|---|---|
| pending | Submitted by client, awaiting your review |
| sent | Review request email sent, awaiting client response |
| responded | Client has responded / marked as handled |
Features
- Search β Filter reviews by client name, email, or content with real-time search
- Star Ratings β Visual star display (1-5) for each review
- Status Management β New / Approved / Featured / Rejected
- Export β Export all reviews to CSV for reporting and marketing use
- Mark as Responded β Click "Mark as Responded" in review detail modal
Using Reviews for Marketing
Approved reviews are displayed on the main website's testimonials section. Featured reviews appear prominently on the homepage.
5c Contacts (CRM Database) NEW
A centralized CRM database for managing all customer contacts β separate from the Clients section, this stores broader contact information for sales, outreach, and networking.
Adding a Contact
Click + Add Contact β Fill in name, email, phone, company, designation, source, and notes β Save.
Contact Fields
| Field | Description |
|---|---|
| Name | Full name of the contact |
| Primary email address | |
| Phone | Phone number |
| Company | Organization they belong to |
| Designation | Job title or role |
| Source | How they were acquired (e.g., referral, event, LinkedIn) |
| Tags | Custom labels for categorization |
| Notes | Internal notes about the contact |
6 Client Onboarding
The onboarding section manages new client access requests and setup milestones.
Access Requests
When a client registers on the portal (/portal), an access request is created. Admin must approve it for the client to access their portal dashboard.
Navigate to Onboarding β Find pending requests β Click Approve. A welcome email is sent automatically via the onClientAccessRequest Cloud Function.
Milestones
Track onboarding completion milestones per client β e.g., "Brand assets received", "Domain connected", "First deployment". Milestones are stored in the clientMilestones Firestore collection.
7 Tasks
Internal task management for your team. Create, assign, and track tasks with due dates.
- Priority β Low / Medium / High / Urgent
- Status β To Do / In Progress / Done
- Assignment β Assign to specific team members
- Due Date β Track deadlines with overdue highlighting
8 Notes
Quick notes for internal use β meeting notes, client requirements, ideas. Attached to specific clients or as general notes.
9 Documents
Upload and manage client documents (contracts, invoices, assets). Files are stored in Firebase Storage and linked to client records.
10 Inquiries
All contact form submissions from the main website land here. Each inquiry is automatically scored by the Lead Scoring AI (see below).
How It Works
- Visitor fills the contact form on
69dynamics.in - Data is saved to the
inquiriesFirestore collection (now includes UTM tracking data if available) - The
onNewInquiryCloud Function triggers automatically β sends a branded notification email to the admin - The
onInquiryScoredCloud Function computes a lead score and tier (Hot / Warm / Cold) - Inquiry appears in the admin panel with all details + lead score badge
10b Lead Scoring AI NEW
Every new inquiry is automatically scored by the onInquiryScored Cloud Function to help your team prioritize follow-ups.
Scoring Criteria
| Signal | Points |
|---|---|
| High budget (βΉ50K+ / βΉ1L+) | +30 |
| Medium budget (βΉ25K-40K) | +20 |
| Budget mentioned | +10 |
| High-value service (Quantum / CRM / ERP / Bundle) | +25 |
| Standard service (Website / Marketing / SEO) | +15 |
| Detailed message (200+ characters) | +15 |
| Brief message (50+ characters) | +8 |
| Phone number provided | +10 |
| Company name provided | +5 |
| Urgency keywords detected | +15 |
Lead Tiers
| Tier | Score Range | Priority | Recommended Follow-Up |
|---|---|---|---|
| π₯ Hot | 60+ points | High | Respond within 4 hours |
| π‘ Warm | 35-59 points | Standard | Respond within 24 hours |
| π΅ Cold | 0-34 points | Low | Add to nurture sequence |
leadScore, leadTier, and leadSignals (array of matched criteria) to the inquiry document automatically.
10c Automated Follow-Up Emails NEW
The automatedFollowUps Cloud Function runs daily at 10:00 AM IST and sends two types of automated follow-up emails to unreplied inquiries.
Follow-Up Sequence
| Stage | Timing | Content | Flag |
|---|---|---|---|
| 48-Hour Follow-Up | 2 days after inquiry | Personalized "still interested?" email with project discussion CTA | followUp48Sent: true |
| 7-Day Nurture | 7 days after inquiry | Resource-rich email with blog links, Quantum CRM info, WhatsApp link | followUp7dSent: true |
Stop Conditions
- If admin has marked the inquiry as
replied: trueβ sequence stops - If the 48h email has already been sent β won't re-send
- If both follow-ups are already sent β inquiry is excluded from future runs
10d Follow-Up Monitoring Badges NEW
The Inquiries table now includes a Follow-Up column that shows the real-time status of automated follow-up emails for each lead.
Badge Types
| Badge | Color | Meaning |
|---|---|---|
| Replied | Green | Lead has replied β follow-up sequence stopped |
| 7d β | Blue | 7-day nurture email was sent (with date tooltip) |
| 48h β | Light Green | 48-hour follow-up was sent (with date tooltip) |
| Due | Yellow | Inquiry is older than 48 hours but follow-up hasn't been sent yet |
| Pending | Gray | Follow-up is scheduled (inquiry is less than 48 hours old) |
automatedFollowUps Cloud Function.
11 Referrals
Tracks referral program entries from /refer. Each referral shows the referrer name, referred client, and status.
12 Newsletter
Manages newsletter subscribers. Subscriptions come through the footer signup form.
Flow
- User enters email in the newsletter form β POSTs to
/api/newsletter newsletterSubscribeCloud Function saves to FirestoreonNewsletterSubscribetriggers β sends welcome email to subscriber + notification to admin
| Field | Description |
|---|---|
| Subscriber email address | |
| Date | Subscription timestamp |
| Source | Page where they subscribed |
13 Applications
Career applications from /careers. The onNewApplication Cloud Function notifies admin via email when a new application is submitted.
- View applicant name, email, position, experience
- Download attached resumes
- Update status: New / Reviewed / Shortlisted / Rejected
13b Quotations & Estimates NEW
Create and manage service quotations for potential clients. Quotations serve as formal price estimates before converting leads to projects.
Creating a Quotation
Click + New Quotation β Fill in client details, service items with pricing, validity period, and terms β Save.
Quotation Status Flow
| Status | Meaning | Badge |
|---|---|---|
| Draft | Being prepared, not yet sent | Gray |
| Sent | Shared with the client | Blue |
| Accepted | Client has accepted the quote | Green |
| Expired | Validity period has passed | Red |
| Rejected | Client declined the quote | Red |
Actions
- Send via Email β Email the quotation PDF to the client
- Convert to Project β Once accepted, convert directly into an active project
- Duplicate β Clone an existing quotation to create a similar one
14 Blog Management
Create, edit, and publish blog posts. Posts appear on /blog.
Creating a Manual Post
Click + New Post in the Blog section.
Fill in: Title (slug auto-generates), Category, Author, Cover Image (upload or URL), Excerpt, and Content (HTML editor with toolbar).
Set status to Draft or Published. Click Publish Post.
Editor Toolbar
The content editor supports: Bold, Italic, H2, H3, Paragraph, Lists (UL/OL), Code blocks, and a live preview toggle.
Blog Status Flow
| Status | Visibility | Badge Color |
|---|---|---|
| Draft | Admin only β not visible on website | Yellow |
| Pending Approval | AI-generated β awaiting admin review | Purple |
| Published | Live on /blog | Green |
onBlogPublish Cloud Function can auto-post to social platforms. You can also click "Repost" in the table to re-trigger.
15 AI Blog Generator UPGRADED
Generate high-quality, SEO-optimized blog posts using Gemini AI (2.5-flash primary, 2.0-flash-001 fallback). Posts are saved as "Pending Approval" and must be manually approved before going live.
AI Content Structure
The AI generator produces structured content that includes:
- Table of Contents β Auto-generated sticky TOC sidebar for long posts
- Key Takeaways Box β 3-5 bullet-point summary at the top of each post
- CTA Box β "Ready to get started?" call-to-action section at the end
- SEO Tags β 5 relevant tags auto-generated per post
- Word Count β 1,200-1,800 words per post (industry-standard long-form)
- Structured HTML β Proper H2/H3 headings, ordered/unordered lists, and semantic markup
How to Generate an AI Post
Go to the Blog section. Click the purple β¦ Generate AI Post button.
Select a Topic Category:
- Random (Surprise me)
- Quantum CRM/ERP
- AI Updates & Trends
- ERP/CRM Best Practices
- Digital Marketing
- Web Development
- Business Growth Tips
- E-Commerce Strategies
Optionally select a Blog Category (or leave as "Auto-detect").
Click Generate Post. Wait 15-30 seconds for Gemini AI to write the post.
On success, the post is saved as Pending Approval. An email notification is sent to the admin with the post title and a link to the admin panel for review.
GEMINI_API_KEY environment variable must be set in functions/.env. See Environment Variables section.
16 Blog Approval Workflow NEW
AI-generated blog posts follow a review-before-publish workflow to ensure content quality.
Workflow Steps
- Generate β Admin clicks "Generate AI Post" β Gemini AI writes the post β Saved as
pending_approval - Email Notification β Admin receives an email with the post title, topic, excerpt, and a "Review & Approve" link
- Review β In the Blog table, pending posts show a purple "Pending Approval" badge and a green β Approve button
- Preview β Click the eye icon to preview the full post content before approving
- Edit (Optional) β Click the pencil icon to edit the AI-generated content before approving
- Approve β Click the green β Approve button β Confirm β Post status changes to "Published" and goes live on
/blog
AI Posts in the Table
AI-generated posts are tagged with a purple AI badge next to the title, making them easy to identify.
17 Blog Auto-Scheduler NEW
Automatically generate and publish AI blog posts on a fixed schedule β no manual intervention needed. This is powered by the scheduledBlogGeneration Cloud Function.
Schedule
| Setting | Value |
|---|---|
| Days | Wednesday & Saturday |
| Time | 10:00 AM IST (04:30 UTC) |
| Function | scheduledBlogGeneration (Cloud Scheduler / Pub/Sub) |
| AI Model | Gemini 2.5-flash (with 2.0-flash-001 fallback) |
How It Works
- Cloud Scheduler triggers the
scheduledBlogGenerationfunction on Wed/Sat at 10 AM IST - Function checks
metadata/blogSettingsβ ifautoPublishEnabledisfalse, it skips - Gemini AI generates a blog post with a random topic from the configured categories
- Post is saved directly as Published to the
blogPostscollection - Admin receives an email notification with the post title, excerpt, and link
Enable / Disable the Scheduler
Go to the Blog section in the admin panel.
Scroll down to the Blog Auto-Scheduler panel (below the blog posts table).
Toggle the Auto-Publish switch ON or OFF. The setting is saved to metadata/blogSettings in Firestore.
18 Blog Frontend Features NEW
The public blog page (/blog) has been completely redesigned with new interactive features for reader engagement.
Comments System
Each published blog post now supports reader comments:
- Readers can leave comments with their name and message
- Comments are stored in the
blogPosts/{postId}/commentsFirestore subcollection - Comments are displayed in reverse chronological order beneath each post
- Admin can delete inappropriate comments from Firestore
Newsletter Subscription (In-Post)
A newsletter signup CTA is embedded within each blog post, prompting readers to subscribe. Submissions are saved to the newsletterSubscribers Firestore collection with UTM tracking data.
Scroll-Triggered CTA Banner
A sticky CTA banner slides in from the bottom after the reader scrolls 40% of a blog post. It encourages visitors to start a project or get in touch. The banner auto-dismisses and can be closed manually.
UTM Tracking on Blog
Blog visitors who arrive via UTM-tagged links (from ads, emails, or social media) automatically have their UTM data captured and attached to:
- Comment submissions
- Newsletter subscriptions
- Contact form inquiries
This allows you to trace exactly which campaign or channel brought a lead. See the UTM Tracking section for details.
18b Testimonials NEW
Manage customer testimonials displayed on the main website. Testimonials are sourced from approved reviews and can also be created manually.
Managing Testimonials
- Add Testimonial β Manually create with client name, company, quote text, star rating, and photo
- From Reviews β Promote approved reviews directly to testimonials carousel
- Visibility Toggle β Show/hide individual testimonials on the public website
- Order Management β Drag to reorder testimonials display sequence
18c Email Campaigns NEW
Plan, create, and manage email marketing campaigns separately from the quick Email Blast tool in Campaigns. Email Campaigns provides a more structured approach for drip campaigns and recurring communications.
Campaign Types
| Type | Use Case |
|---|---|
| One-Time | Single send to a segment (promotions, announcements) |
| Drip Sequence | Multi-email automated series (onboarding, nurture) |
| Recurring | Weekly/monthly newsletters, digests |
Creating a Campaign
Navigate to Content β Email Campaigns β Click + New Campaign β Fill in campaign name, subject, recipient type, email body β choose send option β Save Campaign.
Sending Options
| Option | Behavior |
|---|---|
| Save as Draft | Saves campaign without sending. Can be sent later. |
| Send Immediately | Check "Send immediately" β campaign fires right away via Cloud Function. |
| Schedule for Later | Check "Send immediately" β Check "Schedule for later" β Pick date/time. The processCampaignSchedule Cloud Function runs hourly and sends all due campaigns automatically. |
Recipient Segments
| Segment | Source |
|---|---|
| All Contacts | Combined: Newsletter + Inquiries + Clients |
| Leads Only | inquiries collection |
| Customers Only | clientProfiles collection |
| Newsletter Subscribers | newsletterSubscribers collection |
| VIP Contacts | Tagged VIP clients |
Campaign Stats
The dashboard cards show: Total Sent, Open Rate, Click Rate, and Drafts. Status badges: sent scheduled draft
19 Website Performance Monitoring UPDATED
Monitor your website's performance, accessibility, SEO, and best practices using Google PageSpeed Insights data. Fully configurable β choose which pages to audit and how often.
Performance Dashboard
The Performance Monitor section (under Analytics) shows:
- Core Web Vitals β LCP, FID, CLS, TTFB real-time cards
- Site Health Checks β SSL, HTTPS redirect, response time, Firebase status
- Page Size Analysis β Visual bars showing page weight for each URL
- Performance Log β Historical audit records with scores
- Optimization Recommendations β AI-powered tips to improve scores
Configuring Audit URLs
Go to Settings β Lighthouse Audit β Enter the URLs you want to audit (one per line) β Select the schedule β Save Lighthouse. The backend reads these URLs from Firestore and audits each one.
Audit Schedule Options
| Schedule | When |
|---|---|
| Weekly | Every Monday at 9 AM IST (default) |
| Bi-weekly | Every other Monday |
| Monthly | 1st of each month |
| Manual only | Only when you click "Run Now" |
Manual Run
Click the βΆ Run Now button in the Lighthouse section to trigger an immediate audit. Results appear in the table within 30-60 seconds.
Reading the Data
| Score Range | Color | Meaning |
|---|---|---|
| 90-100 | π’ Green | Excellent β no action needed |
| 50-89 | π‘ Orange | Needs improvement |
| 0-49 | π΄ Red | Poor β requires attention |
20 Conversion Tracking
Track user actions and marketing conversions across your website.
How Conversions Are Logged
The frontend JavaScript calls the logConversionEvent Cloud Function whenever a user completes a significant action:
| Event Type | Trigger |
|---|---|
form_submit | Contact form, newsletter, inquiry submission |
cta_click | Major CTA button clicks (Get Started, etc.) |
page_view | Key page visits (pricing, portal, etc.) |
whatsapp_click | WhatsApp chat button clicks |
phone_call | Phone number clicks on mobile |
Viewing Data
The Conversions section shows a table of all logged events with: event type, label, source page, referrer, and timestamp. Use this data to understand which pages and CTAs drive the most leads.
gtag('event', 'conversion', ...) for campaign optimization. GA4 tracking ID: G-MHBHJR0F1G.
20c Performance Monitor NEW
Track system-level performance metrics for your website and admin panel. Helps identify slow pages, API bottlenecks, and Client-side rendering issues.
Metrics Tracked
| Metric | Description | Target |
|---|---|---|
| Page Load Time | Full page load duration | < 3 seconds |
| Time to Interactive | When the page becomes usable | < 5 seconds |
| API Response Time | Cloud Function execution time | < 2 seconds |
| Error Rate | Percentage of failed requests | < 1% |
| Uptime | Service availability percentage | > 99.9% |
21 Configurator Leads
Leads generated from the Service Configurator tool on the main website. The configurator lets visitors build a custom digital package by selecting services.
How It Works
- Visitor opens the Service Configurator on the main site
- They select services (Website, SEO, Ads, CRM, etc.) and see a live price estimate
- On submission, the
saveConfiguratorLeadCloud Function saves the configuration to Firestore - Lead appears here with: selected services, estimated budget, contact info
20 Campaigns NEW
The Campaigns section is a full marketing command center with three tabs: UTM Link Generator, Lead Source Analytics, and Email Blast.
Navigation: Admin Panel β Analytics & Reports β Campaigns
Tab 1: UTM Link Generator
Build tracked campaign URLs with UTM parameters for Google Ads, Meta Ads, emails, and social media campaigns.
- Go to the Campaigns section β UTM Link Generator tab
- Enter the Base URL (e.g.,
https://69dynamics.in) - Fill in UTM parameters:
- Source β Where the traffic comes from (e.g.,
google,facebook,newsletter) - Medium β Marketing medium (e.g.,
cpc,email,social) - Campaign β Campaign name (e.g.,
summer-promo-2025) - Term (optional) β Paid keyword
- Content (optional) β Ad variant for A/B testing
- Source β Where the traffic comes from (e.g.,
- Click Generate Link β the full URL with UTM parameters appears below
- Click Copy to copy the URL to clipboard
- Click Shorten to create a short URL via TinyURL (optional)
- Click Save Campaign to save the link to Firestore for later reference
Tab 2: Lead Source Analytics
Visualize where your leads are coming from across all UTM-tagged traffic.
The analytics engine aggregates UTM data from three collections:
inquiriesβ Contact form submissionsnewsletterSubscribersβ Blog/footer newsletter signupsconfiguratorLeadsβ Service configurator leads
It counts how many leads came from each UTM source and displays:
- Source Breakdown Bars β Visual progress bars showing lead counts per source (e.g., Google: 42, Facebook: 28)
- UTM-Tagged Leads Table β Detailed table of all leads with their source, medium, campaign, type, and date
Tab 3: Email Blast
Send bulk HTML emails to your newsletter subscribers directly from the admin panel.
- Go to the Campaigns section β Email Blast tab
- Enter the Subject line
- Write the Email Body in the HTML editor
- Optionally add a CTA Button β enter the button text and URL
- The Audience Count at the top shows how many subscribers will receive this email
- Click Preview to see how the email will look with the branded 69dynamics template
- Click Send Blast β Confirm β The blast is queued in Firestore
- The
processEmailBlastCloud Function picks up the queued blast and sends emails in batches of 5 (with 1-second pauses between batches to avoid rate limits) - Once all emails are sent, admin receives a completion report email
Blast History
Below the compose form, you'll see the Blast History table showing all previously sent email blasts with: subject, send date, total recipients, success/fail counts, and status.
info@69dynamics.in via SMTP.
20b Google Ads Dashboard NEW
The fourth tab in the Campaigns section provides a comprehensive Google Ads performance dashboard, tracking all leads from Google Ads campaigns.
Navigation: Admin Panel β Campaigns β Google Ads tab
Integration Status
The dashboard header shows your Google Ads Account ID (AW-8723648500) and active integration checks:
- β Google Ads Tag Active
- β
GA4 Linked (
G-MHBHJR0F1G) - β GTM Installed
- β
Conversion Tracking Active (
ads_conversion_Sign_up_1) - β Enhanced Conversions Enabled (email + phone user data)
- β gclid Capture Active (Google Click ID tracking)
KPI Cards
Six stat cards show real-time Google Ads lead metrics:
| KPI | Description |
|---|---|
| Total Google Leads | All leads attributed to Google Ads (via gclid, utm_source=google, or landing page source) |
| With gclid | Leads that have Google Click ID tracking β most reliable attribution |
| Hot Leads | Google Ads leads with lead score β₯ 60 (high intent) |
| This Month | Google Ads leads received in the current month |
| Conversion Rate | Percentage of total inquiries that came from Google Ads |
| Avg Lead Score | Mean lead score across all Google Ads leads |
Performance Charts
Four interactive charts (powered by Chart.js) provide visual analytics:
| Chart | Type | Description |
|---|---|---|
| Google Ads Leads Over Time | Line chart | Daily lead volume trend β shows peaks and patterns |
| Source Breakdown | Doughnut chart | Distribution: gclid vs CPC UTM vs Landing Page sources |
| Campaigns | Horizontal bar | Lead count per UTM campaign (top 10) |
| Lead Score Distribution | Bar chart | Score ranges: 0-24, 25-49, 50-74, 75-100 |
Google Ads Leads Table
A detailed table lists all Google Ads leads with:
- Date filter β Filter by All Time, Last 7 Days, Last 30 Days, Last 90 Days
- Columns β Date, Name, Email, Service, Source, Campaign, Lead Score, gclid status
- CSV Export β Click Export CSV to download all Google Ads leads data for reporting
How Google Leads Are Detected
A lead is attributed to Google Ads if any of these conditions match:
- Has a
gclid(Google Click Identifier) β captured automatically from ad click URLs utm_source= "google" ANDutm_medium= "cpc"source= "landing-page-google" (from Google Ads landing pages)
ads_conversion_Sign_up_1 fires when users view the pricing section or submit a form on landing pages.
20c Ads AI β Campaign Automation NEW
The Ads AI module is a full-stack Google Ads automation system. It generates campaigns with AI, pushes them to Google Ads, monitors performance, and optimizes keywords β all from the admin dashboard without logging into Google Ads.
Navigation: Admin Panel β Ads AI (sidebar)
Tab Overview
| Tab | Purpose |
|---|---|
| Pending Review | AI-generated campaign drafts awaiting approval. Review ad copy, keywords, ad groups before pushing to Google. |
| Approved | Approved drafts ready to push to Google Ads. Click "Push to Google Ads" to create the live campaign. |
| Live | Campaigns currently running on Google Ads. Summary cards show total live, paused, budget, and keywords. Pause/enable campaigns, refresh ad copy here. |
| Performance | KPI dashboard with total spend, clicks, impressions, CTR, conversions, cost/conversion. Pulls live data from Google Ads API with date range filter. |
| Tools | AI Keyword Suggestions, Clone Draft, AI Ad Copy Refresh, Batch Campaign Control, Budget Updater. |
| Automation | One-click full pipeline, AI Keyword Optimizer, Keyword Manager, Keyword Performance viewer, Strategy explainer, Pipeline history. |
| Alerts | Automated daily performance alerts. Auto-pause campaigns exceeding cost threshold with no conversions. |
| API Settings | Configure Google Ads API credentials (OAuth, Developer Token, Customer ID, Refresh Token). |
Step 1: Generate a Campaign
Click + Generate New Campaign. Fill in: campaign goal, services, target location, daily budget, and optional notes. AI (Gemini 2.5 Flash) generates a complete campaign structure in 10-15 seconds.
The AI creates:
- 2-4 themed ad groups (e.g., "Brand Awareness", "Service Keywords")
- 8-15 keywords per ad group (mixed match types: exact, phrase, broad)
- Negative keywords to block irrelevant traffic
- 8-15 responsive search ad headlines (max 30 chars each)
- 2-4 descriptions per ad (max 90 chars each)
- Sitelink extensions with descriptions
Step 2: Review & Approve
In the Pending Review tab, expand a draft to see all ad groups, keywords, and ads. Click Approve to mark it ready for push, or Reject to discard. You can also Clone a draft for A/B testing.
Step 3: Push to Google Ads
In the Approved tab, click Push to Google Ads. The system automatically switches to the Live tab and shows a real-time progress tracker:
- Creates campaign budget on Google Ads
- Creates the campaign (in PAUSED state by default)
- Sets location targeting (Coimbatore, Chennai, etc.)
- Creates ad groups with keywords
- Creates responsive search ads
- Adds sitelink extensions
The entire push takes 20-40 seconds. A progress bar tracks each step live.
Step 4: Track Pushed Campaigns
After pushing, campaigns appear in the Live tab. Summary cards show: total live, total paused, total daily budget, and total keywords across all campaigns.
Each live campaign card shows:
- Campaign name, location, budget, ad group/keyword/ad counts
- Google Campaign ID (for reference)
- AI reasoning (why it structured the campaign this way)
- Push log (step-by-step record of what was created)
- Pause/Enable button β toggle campaign status directly
- Refresh Ad Copy button β AI generates fresh headlines/descriptions using latest performance data
Step 5: Monitor Performance
The Performance tab pulls live metrics directly from the Google Ads API. Select a date range and click "Pull Latest".
KPI summary cards show at a glance:
| KPI | What it means |
|---|---|
| Total Spend | Total βΉ spent across all campaigns in the selected period |
| Total Clicks | Number of ad clicks received |
| Impressions | How many times your ads were shown |
| Avg CTR | Click-through rate (clicks Γ· impressions). Above 3% = good, below 1.5% = needs attention |
| Conversions | Lead form submissions from ads |
| Cost/Conv | How much each conversion costs. Lower is better. |
The performance table highlights campaigns spending heavily with no conversions (red background). Click the eye icon to drill into keyword performance for any campaign.
AI Performance Insights: Click "Analyze" to get AI-powered recommendations β keyword additions, removals, budget suggestions based on real data.
Step 6: Automated Optimization
The system optimizes campaigns automatically:
- Daily Monitor (9 AM IST) β Checks all enabled campaigns. Flags high-spend/no-conversion campaigns. Auto-pauses if above your cost threshold.
- AI Keyword Optimizer β Analyzes keyword metrics and suggests: new keywords to add, poor performers to remove, negative keywords to add, match type changes, budget adjustments.
- AI Ad Copy Refresh β When CTR drops, generates fresh headlines and descriptions using real performance data, then replaces old ads on Google directly.
How AI Builds Strategy
The AI strategy engine works in 6 phases:
- Market Analysis: Analyzes business type, location, and competitive landscape
- Campaign Structure: Creates themed ad groups with keyword clusters (exact + phrase + broad mix)
- Ad Copy Generation: Writes headlines optimized for CTR with value propositions and CTAs
- Performance Learning: Uses historical data from past campaigns to inform new ones
- Continuous Optimization: Daily monitoring auto-pauses wasteful campaigns
- Ad Copy Refresh: Regenerates underperforming ads using live metrics
One-Click Full Automation
In the Automation tab, the "One-Click Campaign Automation" runs the entire pipeline: AI generates campaign β auto-approves β pushes to Google β adds sitelinks β records in pipeline history. Just enter business type and budget.
Tools Quick Reference
| Tool | Location | What it does |
|---|---|---|
| AI Keyword Suggestions | Tools tab | Get keyword ideas for any service/location |
| Clone Draft | Tools tab | Duplicate a campaign for A/B variations |
| AI Ad Copy Refresh | Tools tab | Generate fresh ad copy using performance data |
| Batch Campaign Control | Tools tab | Enable/pause multiple campaigns at once |
| Quick Budget Update | Tools tab | Change daily budget for any live campaign |
| AI Keyword Optimizer | Automation tab | Analyze + suggest keyword changes |
| Add Keywords | Automation tab | Add keywords directly to live campaigns |
| Keyword Performance | Automation tab | View live keyword metrics (impressions, clicks, CTR, quality score) |
21 UTM Tracking & Lead Source NEW
UTM parameters are automatically captured from any page URL and attached to every lead submission across the entire website.
How UTM Capture Works
- When a visitor lands on any page with UTM parameters (e.g.,
?utm_source=google&utm_medium=cpc&utm_campaign=summer), the JavaScript captures and stores them insessionStorage - When the visitor submits any form (contact, newsletter, configurator), the UTM data is automatically attached to the submission
- The data flows into Firestore with fields:
utm_source,utm_medium,utm_campaign,utm_term,utm_content
Where UTM Data Appears
| Collection | UTM Fields Included |
|---|---|
inquiries | utm_source, utm_medium, utm_campaign, utm_term, utm_content |
newsletterSubscribers | utm_source, utm_medium, utm_campaign |
configuratorLeads | utm_source, utm_medium, utm_campaign |
blogPosts/{id}/comments | utm_source, utm_medium, utm_campaign |
22 Quantum Automation Pipeline
The Quantum Pipeline automates client project workflows through predefined stages with automatic notifications.
Pipeline Stages
| Stage | Description | Auto-Email |
|---|---|---|
| Discovery | Initial requirements gathering | Welcome + questionnaire |
| Planning | Strategy & scope definition | Scope document shared |
| Design | UI/UX design phase | Design review request |
| Development | Active build phase | Progress update |
| Testing | QA & client review | Testing link shared |
| Launch | Deployment & go-live | Launch notification |
| Support | Post-launch support period | Support plan details |
Creating a Pipeline
Click + New Pipeline. Select the client, project name, and starting stage.
The pipeline is created in Firestore (automationPipelines collection). The onPipelineCreate Cloud Function triggers and sends a welcome email to the client.
Advancing Stages
Click the β Advance button on a pipeline card. The onPipelineAdvance Cloud Function automatically:
- Updates the pipeline stage in Firestore
- Records stage history with timestamps
- Sends a branded email to the client about the new stage
stageHistory sub-collection, providing a complete audit trail.
22b Quantum Pipeline β Kanban View NEW
The Quantum Pipeline supports a visual Kanban board alongside the default list view. Toggle between views using the List / Kanban buttons in the top bar.
Kanban Columns
Pipelines are arranged as draggable cards in stage columns:
| Column | Color | Description |
|---|---|---|
| Intake | Blue | New pipeline created, gathering initial requirements |
| Provisioning | Purple | Setting up accounts, environments, tools |
| Onboarding | Teal | Client training and asset collection |
| QA | Orange | Quality assurance and testing phase |
| Go-Live | Green | Ready for deployment and launch |
| Completed | Gray | Project delivered and closed |
Using Kanban
Drag pipeline cards between columns to advance or revert stages. The onPipelineAdvance Cloud Function fires automatically, sending a stage-change email to the client.
Pipeline Stats Dashboard
Above the Kanban board, five stat cards show real-time metrics:
- Active Pipelines β Total pipelines excluding completed
- Intake β Count in intake stage
- In Provisioning β Count in provisioning
- Go-Live Ready β Count ready for deployment
- Avg. SLA β Average time across all pipeline stages
22c Dynamic SLA Monitor NEW
Track response times, delivery deadlines, and uptime promises for all clients. The SLA Monitor sends auto-alerts before SLA breaches and maintains a compliance dashboard.
Dashboard Stats
| Stat | Icon | Description |
|---|---|---|
| Compliant | β Green | SLAs within target |
| At Risk | β οΈ Yellow | SLAs approaching warning threshold |
| Breached | β Red | SLAs that have exceeded target |
| Total SLAs | Blue | All SLAs in the system |
| Avg Compliance % | Purple | Mean compliance percentage across all SLAs |
Creating an SLA
Go to Automation β SLA Monitor. Click + New SLA.
Complete the form fields:
| Field | Description | Example |
|---|---|---|
| Client Email * | Auto-complete from client list | client@company.com |
| Client Name | Auto-filled from email selection | Acme Corp |
| SLA Type * | Category of the SLA commitment | Response Time |
| Metric / Target * | The specific SLA promise | "24 hours", "99.9%", "5 business days" |
| Contract Reference | Link to related contract/project | SOW-2026-001 |
| Warning Threshold | Percentage at which to alert (default: 80%) | 80% |
| Start / End Date | SLA validity period | 2026-01-01 to 2026-12-31 |
| Notes | Additional context | Weekend excluded |
SLA Types
- Response Time β Maximum time to first response on client requests
- Delivery Deadline β Project/milestone delivery commitments
- Uptime Guarantee β Service availability percentage (e.g., 99.9%)
- Resolution Time β Maximum time to resolve support tickets
- Revision Turnaround β Time to complete revision requests
Monitoring & Alerts
Click Run Check to manually evaluate all SLAs against current data. The system compares actual metrics against targets and updates compliance percentages.
SLA Table Features
- Filters β All SLAs / Compliant / At Risk / Breached
- CSV Export β Export full SLA data for client reports
- Breach Alerts β Recent breach alerts panel shows the most critical SLA violations
23 Auto-Invoicing on Milestone Completion NEW
When a project milestone is marked as "completed" in Firestore, the onMilestoneComplete Cloud Function automatically generates an invoice.
How It Works
- Admin marks a milestone as completed in the Projects section (or via pipeline advancement)
- The
onMilestoneCompletefunction triggers on theprojects/{id}/milestones/{id}subcollection - Function checks if the milestone has an
invoiceAmountset - Creates an invoice record in the
invoicesFirestore collection with a unique invoice number (format:INV-XXXXXX) - Sends a branded invoice email to the client with milestone details, amount, and due date (default: 7 days)
- Updates the milestone document with
invoiceIdandinvoiceNumber
For auto-invoicing to work, the milestone must have an invoiceAmount field set. If this field is missing or zero, the invoice will not be generated. Set the amount when creating or editing milestones.
Invoice Status Flow
| Status | Meaning |
|---|---|
| pending | Invoice sent, awaiting payment |
| paid | Payment received and confirmed |
| overdue | Past due date, needs follow-up |
24 Supply Chain Modules
The Supply Chain section provides a complete inventory and order management system for clients running product-based businesses.
Available Modules
| Module | Purpose |
|---|---|
| SC Dashboard | Overview metrics: total products, active orders, revenue, return rate |
| Products | Product catalog with pricing, stock, categories, images |
| Orders | Order management with status tracking (Pending β Processing β Shipped β Delivered) |
| Reports | Sales reports, revenue charts, top products analysis |
| Payments | Payment tracking, reconciliation, outstanding balances |
| Returns | Return request management and refund processing |
| Templates | Reusable order/invoice templates |
| Scoreboard | Team/client performance rankings |
| Forecasting | Demand prediction and stock planning |
| Gallery | Product image gallery management |
Client Switching
Use the client dropdown at the top of the Supply Chain sidebar section to switch between clients. All SC data is filtered per-client.
25 Portal: Invoices & Payments NEW
The client portal now includes a dedicated Invoices & Payments section under the "Finance" navigation group, allowing clients to view their invoice history.
What Clients See
- Stat Cards β Four summary cards showing Total Invoices, Paid, Pending, and Total Amount
- Filter Dropdown β Filter invoices by status: All, Pending, Paid, Overdue
- Invoice Cards β Each invoice displays:
- Invoice number (e.g., INV-A3B2C1)
- Milestone name
- Amount
- Due date
- Status badge (Pending / Paid / Overdue)
Data Source
Invoices are loaded from the invoices Firestore collection, filtered by the client's email. Additionally, milestone-type payment events from projects/{id}/milestones (where type = "payment") are included.
clientEmail matches their authenticated email. Admin has full read/write access.
26 Portal: Activity Log NEW
The Activity Log provides clients with a unified chronological feed of everything happening across their projects.
What It Shows
The activity feed aggregates events from multiple Firestore collections:
| Source | Event Types |
|---|---|
projects | Project created, status changed |
projects/{id}/milestones | Milestone created, completed, payment made |
notes | Notes added by admin for client |
documents | Documents uploaded or shared |
tasks | Tasks assigned to client's project |
Display
Each activity item shows:
- Color-coded timeline dot (by event category)
- Event title and description
- Relative timestamp (e.g., "2 hours ago", "3 days ago")
27 Audit Log NEW
Track every admin action in a searchable, filterable log. Every create, update, delete, and login event is automatically recorded.
How It Works
The logAuditAction(action, collection, details) function is called throughout the admin panel. Each entry is stored in the adminAuditLog Firestore collection.
Viewing Logs
Go to Resources β Audit Log in the sidebar.
Use the dropdown to filter by action type: All, Creates, Updates, Deletes, Logins. Pagination is available for large log volumes.
Log Entry Fields
| Field | Description |
|---|---|
action | create, update, delete, login |
collection | Which Firestore collection was affected |
details | Additional context (document ID, field changed, etc.) |
adminEmail | Which admin performed the action |
timestamp | Server timestamp of the action |
28 Webhooks & Integrations NEW
Configure webhook endpoints to receive real-time notifications when events occur in your admin panel.
Creating a Webhook
Go to Resources β Webhooks in the sidebar.
Click + Add Webhook. Fill in: Name, URL endpoint, select event triggers, and save. The webhook will receive POST requests with event payload data.
Supported Events
- New client created
- Project status updated
- New inquiry received
- Order status changed
- Invoice generated
event, timestamp, data fields. Endpoints must respond with HTTP 2xx within 10 seconds.
29 Global Search (Ctrl+K) NEW
Instantly search across all sections and navigate anywhere in the admin panel with the keyboard shortcut Ctrl+K (or β+K on Mac).
Press Ctrl+K to open the command palette. Start typing a section name (e.g., "blog", "orders", "webhooks"). Use arrow keys to navigate results and Enter to jump to the section.
30 Support Tickets (Admin) NEW
Manage client support requests from the admin panel. Clients create tickets from the portal; admins view, reply, and resolve them here.
Viewing Tickets
Go to Client Support β Support Tickets in the sidebar. A count badge shows open/in-progress tickets.
Ticket Table
Tickets are displayed in a table with columns:
- Ticket ID β Auto-generated (TK-XXXXX format)
- Client β Name and email
- Subject β Brief description
- Priority β Color-coded dot (Low/Medium/High/Urgent)
- Status β Open, In Progress, Resolved, Closed
- Date β Creation date
Replying to Tickets
Click any ticket row to open the detail modal. View the full description, conversation history, and reply at the bottom. You can also update the ticket status from the dropdown.
supportTickets. Replies are stored as an array within each ticket document.
31 Announcements (Admin) NEW
Post announcements that are visible to all portal clients. Use announcements for product updates, maintenance notices, new features, and alerts.
Creating an Announcement
Go to Client Support β Announcements in the sidebar.
Click + New Announcement. Fill in title, select type (General/Update/Feature/Maintenance/Alert), write the body, and toggle "Publish immediately". Click Publish.
Announcement Types
| Type | Color | Use Case |
|---|---|---|
| General | Purple | General information or updates |
| Update | Blue | Product or system updates |
| Feature | Green | New feature announcements |
| Maintenance | Yellow/Orange | Scheduled maintenance windows |
| Alert | Red | Urgent alerts or issues |
Managing Announcements
Each announcement card shows a Publish/Unpublish toggle and a Delete button. Unpublished announcements are hidden from portal clients.
32 Portal: Order Updates NEW UX
The Order Updates section in the client portal has been completely redesigned with a modern, intuitive interface.
Key Features
- Pill-Based Filters β Filter orders by status: All, Pending, Confirmed, Manufacturing, Packing, Dispatched, Delivered
- Search & Sort β Search by order number or product name; sort by newest, oldest, or amount
- Visual Progress Stepper β 6-stage pipeline with color-coded dots showing current order progress
- Tabbed Detail Panels β Each order card has tabs for Items, Shipping, Settlement, and History
- Color Status Stripe β Top border color indicates current order status at a glance
33 Portal: Support Tickets NEW
Clients can create and track support tickets directly from the portal. Tickets flow to the admin panel for response.
Client Workflow
In the portal sidebar, go to Support β Support Tickets.
Click + New Ticket. Fill in subject, priority (Low/Medium/High/Urgent), category (General/Technical/Billing/Feature/Bug), and description. Click Submit Ticket.
Tickets show status badges (Open/In Progress/Resolved/Closed), priority dots, and category tags. Click a ticket to view the full conversation with admin replies.
Ticket ID Format
Auto-generated: TK- followed by a timestamp-based alphanumeric code (e.g., TK-M1A2B3C).
34 Portal: Announcements NEW
Clients see all published announcements from the admin team. A notification dot appears in the sidebar when there are announcements from the past 7 days.
Display
- Announcements are displayed as cards with a color-coded left border by type
- Each card shows the type badge, date, title, and body text
- Most recent announcements appear first
35 Portal: Report Builder NEW
Clients can generate on-demand reports from their portal data. Four report templates are available:
| Report | Data Source | Key Metrics |
|---|---|---|
| Order Summary | scOrders | Total orders, total value, status breakdown |
| Inventory Snapshot | productGallery | Total products, stock units, low stock items |
| Financial Summary | scOrders + invoices | Order revenue, invoiced amount, paid, outstanding |
| Activity Report | clientActivity | Last 50 activities with timestamps |
36 Portal: Additional Enhancements NEW
Several enhancements have been added to the Quantum Portal to improve UX and functionality:
URL-Based Routing
The portal now supports hash-based URL routing with browser back/forward navigation. Example: /portal#order-updates opens the Order Updates section directly.
Skeleton Loading
While data loads, skeleton placeholder cards with animated shimmer are displayed instead of blank screens or spinners.
File Preview Overlay
Uploaded files and documents can be previewed in a full-screen overlay without downloading. Supports images, PDFs, and text files.
PDF Invoice Export
Clients can export invoices as PDF files directly from the portal's invoice section using jsPDF.
Gantt Timeline
Projects and milestones are displayed on a visual Gantt timeline chart for better progress visibility.
Web Push Notifications
Clients opt-in for browser push notifications. Notifications are sent when project status updates, new documents are shared, or milestones are completed.
Undo Toast
Admin panel actions (delete, update) show an undo toast notification allowing quick reversal of accidental changes within 5 seconds.
Blog Scheduled Publishing
Blog posts can be scheduled for future publication with a date/time picker. The scheduledBlogGeneration function handles auto-publishing.
PDF Challans
Supply chain orders can generate PDF delivery challans with complete order details, addresses, and item lists.
Inventory Movement History
Track all stock movements (additions, deductions, adjustments) in the inventoryHistory collection with timestamps and admin attribution.
Cookie Consent
A cookie consent banner appears for first-time visitors across the main website, complying with privacy regulations.
Live Chat Widget
An AI-powered live chat widget on the main website handles FAQs, pricing questions, and routes complex queries to admin support.
36L Expenses NEW
Track all business expenses β server costs, software subscriptions, marketing spend, contractor payments, and operational costs.
Recording an Expense
Navigate to Finance β Expenses β Click + Add Expense β Fill in description, amount, category, date, payment method β Save.
Expense Categories
| Category | Examples |
|---|---|
| Infrastructure | Firebase, hosting, domain renewals, CDN |
| Software | SaaS subscriptions, API costs, licenses |
| Marketing | Google Ads spend, Meta Ads, email tools |
| Contractors | Freelancer payments, outsourced work |
| Operations | Office, utilities, equipment |
| Other | Miscellaneous business expenses |
Expense Reports
The expense dashboard shows summary stats: Total Expenses, This Month, Average Monthly, and category-wise breakdown with visual charts.
36M Automated Invoice Reminders NEW
Automatically send payment reminder emails to clients with unpaid or overdue invoices. Reduces manual follow-up effort and improves cash flow.
How It Works
- The system checks all invoices with
status: "pending"orstatus: "overdue" - Reminder emails are sent based on a configurable schedule
- Each reminder includes invoice number, amount, due date, and a portal payment link
- Sent reminders are tracked to prevent duplicate notifications
Reminder Schedule
| Trigger | Email Type |
|---|---|
| 3 days before due date | Friendly upcoming payment reminder |
| On due date | Payment due today notification |
| 7 days after due date | Overdue notice with urgency |
| 14 days after due date | Final overdue warning |
36N Revenue Analytics NEW
Comprehensive financial analytics dashboard with real-time revenue, expenses, profitability, and client lifetime value insights.
KPI Cards
| KPI | Description |
|---|---|
| Total Revenue | Sum of all paid invoices and payments |
| Total Expenses | Sum of all recorded expenses |
| Net Profit | Revenue minus expenses |
| Unpaid Invoices | Total outstanding amount |
| Avg Client LTV | Average lifetime value across all clients |
Charts
- Revenue vs Expenses (Line Chart) β Monthly trend over past 12 months
- Revenue by Service Type (Pie Chart) β Breakdown by category
Automated Backups Dashboard
Shows last backup timestamp, status, total count, and retention policy details.
36O Calendar NEW
Schedule events, meetings, calls, demos, and deadlines. Events assigned to clients appear in their portal calendar.
Creating an Event
Click + New Event β Fill in title, date, time, type (Meeting/Call/Demo/Deadline), assign client β Save.
Calendar Views
- Monthly Grid β Visual calendar with event dots
- Events List β Chronological upcoming events
- Navigation β Previous/Next month + "Today" quick-reset
36P Communication Hub NEW
Centralized dashboard for managing all client interactions β emails, notes, messages, and updates in one place.
Features
- Client Thread View β All communications with a client in a unified thread
- Quick Messages β Send notes or updates without leaving admin panel
- Activity Stream β Real-time feed of all client communications
- Search & Filter β Search across threads by client, keyword, or date
36Q Brand Vault NEW
Store and manage client brand assets β logos, color palettes, fonts, guidelines, and design files.
Asset Categories
| Type | Examples |
|---|---|
| Logos | Primary, icon, dark/light variations, favicon |
| Colors | Primary, secondary, accent hex codes |
| Typography | Font families, sizes, weights |
| Guidelines | Brand style guides, usage rules PDF |
| Templates | Email headers, social media, letterheads |
36R Collaboration Board NEW
Shared workspace for admin-client collaboration with task boards, file sharing, and progress tracking.
Features
- Shared Task Board β Tasks visible to both admin and client team
- File Sharing β Upload and share files within the collaboration space
- Comments & Discussion β Thread-based discussions on deliverables
- Progress Tracking β Visual indicators for shared objectives
36A Contracts & Agreements NEW
Manage the full lifecycle of client contracts β from draft to active to expired. This module covers service agreements, SOWs, NDAs, retainers, and SLAs.
Creating a Contract
- Navigate to Clients β Contracts in the sidebar
- Click "New Contract" in the top-right
- Fill in the contract details:
- Title β Descriptive name (e.g. "Website Development SOW")
- Client Email β Must match a registered client email
- Type β Service Agreement, SOW, NDA, Retainer, SLA, or Other
- Start/End Date β Contract validity period
- Value (βΉ) β Total contract value
- Status β Draft, Pending Signature, Active, or Expired
- Document URL β Link to the downloadable contract PDF
- Description β Additional notes or scope details
- Click "Save Contract" to create
Client Portal View
Clients can view their contracts in the Finance β Contracts section of the portal. They see:
- Summary stats: Total, Active, Pending, Expired counts
- Filter by status (All, Active, Pending, Expired)
- Contract details: Type, period, value, description
- Download button (if document URL is provided)
Firestore Collection: contracts
| Field | Type | Description |
|---|---|---|
title | string | Contract title/name |
clientEmail | string | Client email (for access control) |
type | string | SOW, NDA, Retainer, SLA, Service Agreement, Other |
startDate | string | Contract start date (YYYY-MM-DD) |
endDate | string | Contract end date (YYYY-MM-DD) |
value | number | Contract monetary value in βΉ |
status | string | draft, pending, active, expired |
documentUrl | string | URL to downloadable contract PDF |
description | string | Notes/scope description |
36B Payments & Billing NEW
Track all client payments, record transactions, manage billing, and provide transparent financial history to clients.
Recording a Payment
- Navigate to Finance β Payments in the sidebar
- Click "Record Payment"
- Fill in payment details:
- Client Email β The client this payment is for
- Description β What the payment is for (e.g. "Monthly retainer β July")
- Amount (βΉ) β Payment amount
- Date β When the payment was made or is due
- Invoice # β Link to an invoice number (optional)
- Due Date β For pending payments, when payment is expected
- Payment Method β Bank Transfer, UPI, Cash, Cheque, Card, Other
- Status β Paid, Pending, Overdue, Refunded
- Receipt URL β Link to downloadable receipt
Admin Dashboard Stats
The Payments section shows four summary cards:
- Total Revenue β Sum of all paid transactions
- Pending β Sum of pending payments
- Overdue β Sum of overdue payments (auto-detected from due dates)
- This Month β Revenue received in the current month
Client Portal View
Clients see their payment history in Finance β Payments with:
- Summary stats: Total Paid, Pending, Overdue, Total Transactions
- Filterable payment table with date, description, invoice link, amount, status
- Receipt download links where available
- Auto-detection of overdue payments based on due date
Firestore Collection: payments
| Field | Type | Description |
|---|---|---|
clientEmail | string | Client email (for access control + filtering) |
description | string | Payment description |
amount | number | Payment amount in βΉ |
date | string | Payment/transaction date (YYYY-MM-DD) |
dueDate | string | Due date for pending payments |
invoiceNumber | string | Related invoice number |
method | string | bank_transfer, upi, cash, cheque, card, other |
status | string | paid, pending, overdue, refunded |
receiptUrl | string | URL to downloadable receipt |
36C Project Milestones NEW
Track project deliverables, deadlines, and progress across all client projects. Milestones provide a clear timeline of what has been completed and what's next.
Creating a Milestone
- Navigate to Clients β Milestones in the sidebar
- Click "New Milestone"
- Fill in:
- Milestone Title β What this deliverable is (e.g. "Phase 1 Delivery")
- Project Name β Milestones are grouped by project on the client portal
- Client Email β Which client this milestone belongs to
- Description β What's included in this milestone
- Due Date β When the milestone should be completed
- Status β Pending, In Progress, or Completed
- Sort Order β Order within the project (1, 2, 3...)
Status Tracking
- Pending β Not yet started
- In Progress β Currently being worked on
- Completed β Finished (auto-records completion date)
- Overdue β Auto-detected when due date passes without completion
Client Portal View
Clients see milestones in Project β Milestones with:
- Summary cards: Total, Completed, In Progress, Overdue counts
- Milestones grouped by project name
- Progress bar showing percentage complete per project
- Visual timeline with status icons and due/completion dates
- Completed milestones appear with strikethrough text
Firestore Collection: projectMilestones
| Field | Type | Description |
|---|---|---|
title | string | Milestone name |
projectName | string | Project this milestone belongs to |
clientEmail | string | Client email (access control) |
description | string | What's included in this milestone |
dueDate | string | Due date (YYYY-MM-DD) |
status | string | pending, in-progress, completed |
order | number | Sort order within project |
completedDate | string | Auto-set when status β completed |
36D Client Feedback & NPS NEW
Collect and manage client satisfaction feedback with star ratings, NPS scoring, and response workflow.
How It Works
- Clients submit feedback from Support β Feedback in the portal
- They select a star rating (1-5), a category, and write their feedback
- Admin reviews in Client Support β Client Feedback
- Admin can respond to each feedback, which the client sees in their history
Dashboard Stats
- Total Feedback β Number of feedback submissions received
- Average Rating β Mean star rating across all feedback
- NPS Score β Net Promoter Score calculated as: (Promoters% - Detractors%) Γ 100. Ratings 4-5 are promoters, 1-2 are detractors
- This Month β Feedback received in the current month
Feedback Categories
- General Experience
- Service Quality
- Communication
- Delivery & Timeliness
- Support & Helpfulness
- Value for Money
Responding to Feedback
Click the message icon on any feedback row to open the response modal. Your response is saved and displayed to the client in their feedback history with a highlighted "Team Response" box.
Firestore Collection: clientFeedback
| Field | Type | Description |
|---|---|---|
clientEmail | string | Who submitted the feedback |
clientName | string | Display name of the client |
rating | number | Star rating (1-5) |
category | string | Feedback category |
text | string | Client's feedback text |
adminResponse | string | Admin's response (optional) |
respondedAt | timestamp | When the admin responded |
36E Client Team Members NEW
Manage team members across all client organizations. Clients can add their own team members from the portal, and admins can view, activate, disable, or remove them.
How It Works
- Client adds members from Team β Team Members in the portal
- Members are added as "Invited" status with a selected role
- Admin can view all team members across all clients in Client Support β Client Teams
- Admin can activate, disable, or remove any team member
Roles
- Viewer β Can view reports, documents, and project status
- Editor β Can add notes, submit requests, and upload files
- Manager β Full access except billing/payment information
Admin Actions
- Activate/Disable β Toggle team member status (click user icon button)
- Delete β Permanently remove a team member
- Filter β View by status (All, Active, Invited, Disabled)
Firestore Collection: clientTeamMembers
| Field | Type | Description |
|---|---|---|
clientEmail | string | Primary client account email |
name | string | Team member's full name |
email | string | Team member's email |
role | string | viewer, editor, manager |
phone | string | Phone number (optional) |
status | string | invited, active, disabled |
addedAt | timestamp | When the member was added |
addedBy | string | Email of who added the member |
36F Portal: Contracts NEW
Clients view their active contracts under Finance β Contracts. Features include:
- Summary stat cards showing Total, Active, Pending Signature, and Expired contract counts
- Status filter dropdown to quickly find specific contracts
- Each contract shows title, type, validity period, value, status badge, and description
- Download button when a document URL is provided by the admin
- Expired contracts are automatically flagged based on end date
36G Portal: Payments & Billing NEW
Clients track their complete payment history under Finance β Payments. Features include:
- Summary cards: Total Paid (βΉ), Pending (βΉ), Overdue (βΉ), Total Transactions
- Sortable payment table with Date, Description, Invoice #, Amount, Status, Receipt columns
- Status filter for quick access to Paid, Pending, or Overdue payments
- Receipt download links where provided
- Overdue detection β payments past their due date are automatically flagged red
36H Portal: Project Milestones NEW
Clients view project progress under Project β Milestones. Features include:
- Stat cards: Total Milestones, Completed, In Progress, Overdue
- Milestones grouped by project name with completion percentage progress bars
- Visual status icons: β Completed (green), β± In Progress (blue), β Pending (gray), β Overdue (red)
- Completed items shown with strikethrough text and completion date
- Each milestone displays title, description, due date, and current status
36I Portal: Team Members NEW
Clients manage their team from Team β Team Members. Features include:
- Stat cards: Total Members, Active, Invited counts
- "Add Member" button to invite new team members
- Member details: Name, email, role, status badge
- Role selection: Viewer (read-only), Editor (notes + requests), Manager (full except billing)
- Remove members with confirmation dialog
- Admins can activate/disable members from the admin panel
36J Portal: Feedback & Ratings NEW
Clients provide satisfaction feedback from Support β Feedback. Features include:
- Interactive star rating (1-5) with labels: Poor, Fair, Good, Very Good, Excellent
- Category selection: General, Service Quality, Communication, Delivery, Support, Value
- Free-text feedback area for detailed input
- Feedback history showing all past submissions with date, rating, and category
- Admin responses displayed in a highlighted "Team Response" box
- Admin receives feedback in the Client Feedback section for review and response
36K Portal: Calendar NEW
Clients view their scheduled meetings, calls, demos, and deadlines under Scheduling β Calendar. Features include:
- Monthly calendar grid with event dots on event dates
- Navigation: Previous/Next month buttons and "Today" quick-reset
- Stat cards: Upcoming Events, Calls, Demos, Deadlines
- Upcoming events list with type, date, time, and description
- Events are filtered to show only those relevant to the logged-in client
- Events are created by admin in the admin panel Calendar section
37 Settings & Admin Roles
Settings
Configure your profile settings, notification preferences, and general admin panel options.
Admin Roles (Super Admin Only)
Only the Main Admin (super admin) can access Admin Roles. Here you can:
- Add new admins β Whitelist email addresses for panel access
- Set role levels β Define what each admin can access
- Remove admins β Revoke access
38 Environment Variables
Cloud Functions require environment variables set in functions/.env. These are deployed with firebase deploy --only functions.
Required Variables
| Variable | Purpose | Example |
|---|---|---|
SMTP_HOST | Email server host | smtp.zoho.com |
SMTP_PORT | Email server port | 465 |
SMTP_USER | Email sender address | hey@69dynamics.in |
SMTP_PASS | Email sender password | your-app-password |
GEMINI_API_KEY | Google Gemini API key for AI blog generation | AIzaSy... |
Setting Environment Variables
# Create or edit functions/.env file
SMTP_HOST=smtp.zoho.com
SMTP_PORT=465
SMTP_USER=hey@69dynamics.in
SMTP_PASS=your-email-password
GEMINI_API_KEY=your-key-from-aistudio.google.com
.env file should be in .gitignore. It contains secrets. Firebase automatically reads functions/.env during deployment.
39 Deployment Guide
The project is hosted on Firebase (project: dynamics-69).
Deploy Everything
firebase deploy
Deploy Only Hosting (HTML/CSS/JS)
firebase deploy --only hosting
Deploy Only Functions
firebase deploy --only functions
Deployment Checklist
- Ensure
functions/.envhas all required variables - Run
cd functions && node -c index.jsto check syntax - Run
npm installin thefunctions/directory if dependencies changed - Deploy:
firebase deploy - Verify at
https://69dynamics.in
Runtime
| Setting | Value |
|---|---|
| Node.js Runtime | Node 22 (configured in firebase.json) |
| Firebase Project | dynamics-69 |
| Hosting URL | https://69dynamics.in |
| Functions Region | us-central1 (default) + asia-south1 (some triggers) |
40 Cloud Functions Reference
All 19 Cloud Functions and their triggers:
| # | Function | Trigger | Purpose |
|---|---|---|---|
| 1 | newsletterSubscribe | HTTPS (API) | Handles newsletter signups from the website footer |
| 2 | onNewsletterSubscribe | Firestore onCreate | Sends welcome email to subscriber + admin notification |
| 3 | onNewInquiry | Firestore onCreate | Notifies admin when a new contact form inquiry is received |
| 4 | onNewApplication | Firestore onCreate | Notifies admin when a career application is submitted |
| 5 | onClientAccessRequest | Firestore onCreate | Sends welcome email when a client requests portal access |
| 6 | onGameUserCreate | Firestore onCreate | Handles game/interactive user creation events |
| 7 | weeklyLighthouseReport | Scheduled (weekly) | Runs PageSpeed audit and saves scores to Firestore |
| 8 | runLighthouseNow | HTTPS (API) | Manual lighthouse audit trigger from admin panel |
| 9 | onBlogPublish | Firestore onUpdate | Triggers when a blog post status changes to "published" |
| 10 | onPipelineCreate | Firestore onCreate | Sends welcome email when a new pipeline is created |
| 11 | onPipelineAdvance | Firestore onUpdate | Sends stage-change notification email to client |
| 12 | saveConfiguratorLead | HTTPS (API) | Saves service configurator submissions to Firestore |
| 13 | logConversionEvent | HTTPS (API) | Logs conversion events from the frontend |
| 14 | generateBlogPost | HTTPS (API) | Generates AI blog posts using Gemini 2.5-flash |
| 15 | onInquiryScored | Firestore onCreate | Auto-scores inquiries with Lead Scoring AI (Hot/Warm/Cold) |
| 16 | automatedFollowUps | Scheduled (daily) | Sends 48-hour and 7-day follow-up emails to unreplied inquiries |
| 17 | onMilestoneComplete | Firestore onUpdate | Auto-generates invoices when milestones are completed |
| 18 | scheduledBlogGeneration | Scheduled (Wed/Sat) | Auto-generates and publishes AI blog posts on schedule |
| 19 | processEmailBlast | Firestore onUpdate | Processes queued email blasts β sends batched SMTP emails |
asia-south1. All other functions run in us-central1. Runtime: Node.js 22.
41 Firestore Collections
Complete reference of all Firestore collections used by the admin panel and portal:
| Collection | Purpose | Key Fields |
|---|---|---|
clients | Client records | name, email, phone, company, status |
blogPosts | Blog articles | title, slug, content, status, aiGenerated, category, tags |
blogPosts/{id}/comments | Blog post comments | name, message, createdAt, utm_source, utm_medium |
inquiries | Contact form submissions | name, email, message, service, leadScore, leadTier, utm_source |
newsletter | Newsletter subscribers (legacy) | email, subscribedAt, source |
newsletterSubscribers | Newsletter subscribers (blog/UTM) | email, subscribedAt, source, utm_source, utm_medium |
applications | Job applications | name, email, position, resume, status |
clientOnboarding | Onboarding data | clientId, stage, tasks, completedAt |
clientMilestones | Client milestones | clientId, title, status, dueDate |
clientAccessRequests | Portal access requests | email, status (pending/approved), requestedAt |
lighthouseReports | Lighthouse audit results | performance, accessibility, bestPractices, seo, fcp, lcp, cls |
automationPipelines | Quantum pipelines | clientId, projectName, currentStage, stageHistory (sub) |
configuratorLeads | Service configurator submissions | services, budget, contact, utm_source |
conversionEvents | Frontend conversion events | type, label, page, referrer, timestamp |
campaigns | Saved UTM campaign links | name, url, source, medium, campaign, shortUrl, createdAt |
emailBlasts | Email blast records | subject, body, ctaText, ctaUrl, status, totalSent, totalFailed |
invoices | Auto/manual invoices | invoiceNumber, clientEmail, amount, status, dueDate, milestoneId |
projects | Client projects + milestones (sub) | name, clientId, status, deadline |
reviews | Client reviews/feedback | clientId, rating, message, status |
metadata | Aggregate counts & settings | blogSettings.autoPublishEnabled, newsletter.count |
adminAuditLog | Admin action audit trail | action, collection, details, adminEmail, timestamp |
adminWebhooks | Configured webhook endpoints | name, url, events, active, createdAt |
inventoryHistory | Stock movement history | productId, type, quantity, adminEmail, timestamp |
chatMessages | Live chat widget messages | name, email, message, timestamp, status |
supportTickets | Client support tickets | ticketId, clientEmail, clientId, subject, priority, category, status, replies[], createdAt |
announcements | Admin announcements for portal | title, type, body, active, createdBy, createdAt |
contracts | Client contracts & agreements | title, clientEmail, type, startDate, endDate, value, status, documentUrl, description |
projectMilestones | Project milestones & deliverables | title, projectName, clientEmail, dueDate, status, order, completedDate, description |
payments | Client payment records | clientEmail, description, amount, date, dueDate, invoiceNumber, method, status, receiptUrl |
clientTeamMembers | Client team member management | clientEmail, name, email, role, phone, status, addedAt, addedBy |
clientFeedback | Client satisfaction feedback | clientEmail, clientName, rating, category, text, adminResponse, createdAt |
clientActivity | Client activity stream for notifications | clientEmail, message, type, timestamp, read |
firestore.rules for full details.
42 Changelog
Track all major enhancements added to the admin panel and infrastructure.
| Date | Enhancement | Type |
|---|---|---|
| Mar 2026 | Google Ads Integration β Full AW-8723648500 tag activation, conversion tracking (ads_conversion_Sign_up_1), Enhanced Conversions, gclid/gbraid/wbraid capture | New |
| Mar 2026 | Google Ads Dashboard β 4th Campaigns tab with KPI cards, 4 Chart.js charts, leads table with filters, CSV export | New |
| Mar 2026 | Admin Tutorial v7.0 β Added 25+ missing sections: Reviews, Contacts, Quotations, Google Ads, SLA Monitor, Kanban/Gantt views, AI Intelligence Suite, HR & Operations, Procurement, Strategy, Finance modules | Docs |
| Mar 2026 | Quantum Software Specifications Guide β Comprehensive product spec guide covering all 12+ Quantum modules with technical details | New |
| Mar 2026 | Ads & Lead Generation Flowchart β Visual guide: ad platforms β lead capture β AI scoring β follow-up β close | New |
| Jul 2025 | Contracts & Agreements β Full lifecycle contract management (SOW, NDA, Retainer, SLA) with portal client view | New |
| Jul 2025 | Payments & Billing β Payment recording, tracking, revenue dashboards with portal client history | New |
| Jul 2025 | Project Milestones β Milestone tracking with progress bars, grouped by project, portal timeline view | New |
| Jul 2025 | Client Feedback & NPS β Star rating feedback collection, admin response workflow, NPS calculation | New |
| Jul 2025 | Client Team Members β Client-managed team with roles (Viewer/Editor/Manager), admin oversight | New |
| Jul 2025 | Portal Calendar β Client-facing calendar with events, calls, demos, deadlines | New |
| Jul 2025 | Firestore Rules & Indexes β Added rules/indexes for contracts, payments, milestones, feedback, teamMembers, clientActivity, sharedDocuments | Infra |
| Jul 2025 | Tutorial updated to v6.0 with 11 new module documentation sections | Docs |
| Jul 2025 | Support Tickets System β Client-facing ticket creation + Admin management with reply/status workflow | New |
| Jul 2025 | Announcements System β Admin publishes announcements visible to all portal clients (5 types) | New |
| Jul 2025 | Portal Report Builder β On-demand reports: Orders, Inventory, Financial, Activity | New |
| Jul 2025 | Order Updates UX Redesign β Pill filters, search/sort, progress stepper, tabbed detail panels | UI |
| Jul 2025 | Products Section Redesign β Full-width showcase cards with stat panels on homepage | UI |
| Jul 2025 | Quantum LP Updated β 12 modules, support tickets, announcements, report builder featured | UI |
| Jul 2025 | Firestore Rules Fix β Added rules for adminAuditLog, adminWebhooks, inventoryHistory, chatMessages, supportTickets, announcements | Fix |
| Jul 2025 | Composite Indexes β Added 5 new indexes for auditLog, webhooks, inventoryHistory, supportTickets, announcements | Infra |
| Jul 2025 | Audit Log β Admin action tracking with search/filter (adminAuditLog collection) | New |
| Jul 2025 | Webhooks & Integrations β Configurable webhook endpoints for event notifications | New |
| Jul 2025 | Global Search (Ctrl+K) β Keyboard command palette for instant section navigation | New |
| Jul 2025 | Undo Toast β Reversible admin actions with 5-second undo window | New |
| Jul 2025 | Portal Enhancements β URL routing, skeleton loading, file preview, PDF export, Gantt timeline, push notifications | New |
| Jul 2025 | Inventory History β Stock movement tracking with inventoryHistory collection | New |
| Jul 2025 | PDF Challans β Supply chain delivery challans generated as PDF | New |
| Jul 2025 | Blog Scheduled Publishing β Date/time scheduled publishing for blog posts | New |
| Jul 2025 | Mobile Responsiveness β All new sections optimized for mobile (768px, 600px, 480px breakpoints) | UI |
| Jul 2025 | Tutorial updated to v5.0 with 15+ new feature sections | Docs |
| Jun 2025 | Campaigns Section β UTM Link Generator, Lead Source Analytics, Email Blast (3 tabs) | New |
| Jun 2025 | Email Blast System β Bulk HTML email sending to newsletter subscribers with processEmailBlast Cloud Function (19th function) | New |
| Jun 2025 | UTM Tracking β Auto-capture UTM params across all website forms; Lead Source Analytics dashboard | New |
| Jun 2025 | Blog Auto-Scheduler β scheduledBlogGeneration Cloud Function (18th function), Wed/Sat at 10 AM IST, admin toggle | Auto |
| Jun 2025 | Blog Content Structure Upgrade β AI posts now include TOC, Key Takeaways, CTA box, 1200-1800 words | New |
| Jun 2025 | Blog Comments System β Reader comments on each blog post with Firestore subcollection | New |
| Jun 2025 | Blog Newsletter CTA β In-post newsletter subscription with UTM data | New |
| Jun 2025 | Scroll-Triggered CTA Banner β Sticky CTA banner on blog after 40% scroll | UI |
| Jun 2025 | Blog Redesign β Complete CSS/HTML overhaul of public blog page | UI |
| Jun 2025 | Portal: Invoices & Payments β Client-facing invoice history with stat cards and status filters | New |
| Jun 2025 | Portal: Activity Log β Unified chronological feed from projects, milestones, notes, documents, tasks | New |
| Jun 2025 | Tutorial updated to v4.0 with all new features documented | Docs |
| Mar 2025 | Upgraded Node.js runtime from 20 to 22 | Infra |
| Mar 2025 | Switched AI Blog Generator to Gemini (2.5-flash with 2.0-flash fallback) | New |
| Mar 2025 | Lead Scoring AI β onInquiryScored Cloud Function (15th function) | New |
| Mar 2025 | Automated Follow-Up Emails β automatedFollowUps Cloud Function (16th function) | Auto |
| Mar 2025 | Auto-Invoicing on Milestone Completion β onMilestoneComplete Cloud Function (17th function) | Auto |
| Mar 2025 | Blog approval workflow β AI posts require admin approval before publishing | New |
| Mar 2025 | Email notification for AI-generated blog posts pending review | New |
| Mar 2025 | Admin Tutorial Guide v3.0 | New |
| Mar 2025 | Voice Bot (STT + TTS) integrated with chatbot | New |
| Mar 2025 | Terminal Boot Sequence preloader | UI |
| Mar 2025 | Enhanced chatbot β 28+ FAQ entries, pricing, 69shop.in | Fix |
| Mar 2025 | AI Automation Strategy PDF generated | New |
| Feb 2025 | Quantum Automation Pipeline (Cloud Functions + Admin UI) | New |
| Feb 2025 | Lighthouse Reports section + weekly Cloud Function | New |
| Feb 2025 | Conversions tracking section + Cloud Function | New |
| Feb 2025 | Configurator Leads section + Cloud Function | New |
| Feb 2025 | Google Ads conversion tracking + Schema markup | Auto |
| Feb 2025 | Blog Auto-Post Cloud Function | Auto |
| Feb 2025 | Client Onboarding Portal page | New |
| Jan 2025 | Service Configurator wizard | New |
| Jan 2025 | Firebase Auth + Firestore + admin panel initial build | Core |
| Jan 2025 | Supply Chain modules (10 sections) | New |
58 Invoice Builder NEW
Create professional invoices with line items, taxes, discounts, and optional Razorpay online payment. Invoices are stored in the invoices Firestore collection and visible to clients in their portal.
Invoice Dashboard
| Stat Card | Description |
|---|---|
| Total Invoices | All invoices in the system |
| Paid | Invoices marked as paid (green) |
| Unpaid | Invoices awaiting payment (yellow) |
| Overdue | Past due date and still unpaid (red, auto-detected) |
Creating an Invoice
Go to Finance β Invoices in the sidebar. Click + New Invoice.
Fill in the invoice details: Subject, Client (auto-complete from client list), Due Date, and optional Notes.
Add Line Items β each with a description, quantity, and rate. Click + Add Line Item for more rows. The subtotal updates automatically.
Set Discount % and Tax/GST %. The total is calculated: Subtotal β Discount + Tax.
Enable Razorpay Online Payment checkbox to let the client pay this invoice directly from their portal.
Click Save Invoice. The invoice appears in the table and is visible to the client.
Invoice Actions
| Action | Description |
|---|---|
| Edit | Modify invoice details, add/remove line items |
| Preview | Opens a print-ready invoice page with your company branding |
| Send Email | Sends the invoice to the client's email with a portal link |
| Delete | Permanently removes the invoice (requires confirmation) |
59 Lead Scoring & Pipeline NEW
Automatically score incoming leads and manage them through a visual Kanban pipeline with drag-and-drop stage management.
Lead Scoring Algorithm
Every inquiry is scored 0β100 based on these factors:
| Factor | Points | Detail |
|---|---|---|
| Budget Range | 5 β 30 | Higher budget = higher score |
| Timeline | 5 β 20 | Urgent timelines score higher |
| Service Type | 5 β 15 | High-value services (SaaS, Custom Software) score more |
| Company Provided | 0 β 10 | Leads that provide company name score higher |
| Detail Length | 0 β 10 | More detailed requirements = higher engagement |
| Phone Provided | 0 β 5 | Providing phone number shows intent |
| Has Attachment | 0 β 10 | Attached documents indicate serious intent |
Score Labels
| Score Range | Label | Color |
|---|---|---|
| 75 β 100 | π₯ Hot | Red |
| 50 β 74 | π Warm | Orange |
| 25 β 49 | π΅ Cool | Blue |
| 0 β 24 | βοΈ Cold | Gray |
Pipeline Kanban Board
Go to Leads β Lead Pipeline in the sidebar.
The pipeline has 6 stages displayed as Kanban columns:
| Stage | Description |
|---|---|
| New | Freshly received inquiries |
| Qualified | Leads verified as genuine opportunities |
| Proposal | Quotation/proposal sent to the lead |
| Negotiation | Active discussion on terms/pricing |
| Won | Successfully converted to client β |
| Lost | Lead did not convert β |
Drag and drop lead cards between columns to move them through pipeline stages. The stage is saved to Firestore automatically.
60 AI Task Estimator NEW
Use Google Gemini AI to generate detailed project estimations with phases, milestones, tech stack recommendations, and cost breakdowns.
How to Use
Go to Projects section and click the π€ AI Estimator button in the top bar.
Enter a Project Brief describing what the client needs. The more detail, the better the estimation.
Select the Project Type (Web App, Mobile App, E-Commerce, etc.) and Budget Range.
Click Generate Estimation. The AI analyzes your brief and returns:
AI Output Includes
| Section | Description |
|---|---|
| Project Name | AI-suggested project name |
| Executive Summary | 2-3 sentence overview |
| Estimated Duration | Timeline in weeks (e.g., "6-8 weeks") |
| Cost Range | Min and max estimated cost in INR |
| Phases | Breakdown with tasks and deliverables per phase |
| Milestones | Key milestones with week numbers and payment amounts |
| Tech Stack | Recommended technologies and tools |
| Risks | Potential project risks to plan for |
| Assumptions | Assumptions made in the estimation |
Click Apply to Project to auto-fill the project form with the AI-generated milestones and details.
aiTaskEstimate Cloud Function (Gemini 1.5 Flash). If the function is unavailable, a local template-based fallback generates a basic estimation.
61 Blog SEO Scoring NEW
Analyze your blog posts for SEO quality before publishing. The scorer checks title, meta description, keyword usage, content length, and more.
Using the SEO Scorer
Open the Blog section and click + New Post or edit an existing post.
Fill in the Meta Description field (recommended 120β160 characters) and Focus Keywords (comma-separated).
Click π SEO Score button. The scorer analyzes your post and displays a score out of 100.
What Gets Checked
| Check | Good | Issue |
|---|---|---|
| Title Length | 30-60 characters | Too short or too long |
| Meta Description | 120-160 characters | Missing or wrong length |
| Title Has Keyword | Focus keyword in title | Keyword missing from title |
| Content Length | 300+ words | Too short for SEO |
| Keyword Density | 1-3% | Too low or keyword-stuffed |
| Headers | Uses H2/H3 tags | No subheadings found |
| Links | Has internal/external links | No links found |
| Images | Has images with alt text | No images found |
Score Interpretation
| Score | Rating | Color |
|---|---|---|
| 80-100 | Excellent | Green |
| 60-79 | Good | Blue |
| 40-59 | Needs Improvement | Orange |
| 0-39 | Poor | Red |
62 White-Label Report Branding NEW
Customize the branding on client-facing reports and exported PDFs with your company's logo, colors, and tagline.
Configuring Branding
Go to Settings β Report Branding tab.
Fill in the branding fields:
| Field | Description | Recommended |
|---|---|---|
| Company Name | Displayed on report headers | "69 Dynamics" |
| Logo URL | Your company logo (transparent PNG) | 200Γ60px |
| Primary Color | Header, borders, and accent elements | #6c5ce7 |
| Accent Color | Secondary highlights | #3b82f6 |
| Tagline | Appears below the logo | "Digital Solutions Studio" |
| Website | Shown in report footer | https://69dynamics.in |
| Footer Text | Custom confidentiality notice | "Confidential. Prepared exclusively for [client]." |
Click Save Branding to persist settings. Click Preview Report to see a sample branded PDF page that opens in a new tab.
63 Razorpay Payment Gateway NEW
Enable online invoice payments for clients through the Quantum Portal using Razorpay β supports UPI, cards, net banking, and wallets.
Setup
Go to Settings β Razorpay tab.
Enter your Razorpay Key ID (found in Razorpay Dashboard β Settings β API Keys). Enter the Key Secret (stored securely, hidden after save).
Set a Business Display Name that appears on the Razorpay checkout popup. Click Save.
Enabling for Invoices
When creating or editing an invoice, check the "Enable Razorpay Online Payment" checkbox. Only invoices with this enabled will show the Pay Online button in the client portal.
Client Experience
When a client views an unpaid invoice with Razorpay enabled in their portal, they see a Pay Online button. Clicking it opens the Razorpay checkout popup. On successful payment:
- Invoice status is auto-updated to Paid
- A payment record is created in the
paymentscollection - The Razorpay Payment ID is stored for verification
64 Referral Dashboard NEW
Enhanced referral management with visual stats showing referral performance, conversion rates, and payout tracking.
Dashboard Stats
| Stat | Description |
|---|---|
| Total Referrals | All referrals submitted by clients |
| Converted | Referrals that became paying clients |
| Pending Payout | Converted referrals awaiting reward payout |
| Total Paid Out | Sum of all referral rewards paid (βΉ) |
Go to Leads β Referrals in the sidebar. The stats dashboard loads automatically above the referral list.
65 Deliverable Approvals NEW
Send completed deliverables to clients for review and track approval status. Clients can approve, reject, or request revisions directly from their portal.
How It Works
Create a deliverable approval by adding a document to the deliverableApprovals collection with: title, description, files (URLs), and clientUid.
The client sees the deliverable in their Deliverable Approvals portal section with attached files for download.
The client can Approve β , Request Revision π, or Reject β with an optional comment. The full action history is tracked.
Firestore Structure
| Field | Type | Description |
|---|---|---|
| title | string | Deliverable name |
| description | string | What was delivered |
| files | array | [{ name, url }] β downloadable files |
| clientUid | string | Client's Firebase Auth UID |
| status | string | pending / approved / rejected / revision |
| history | array | [{ action, by, date, comment }] |
66 Enhancement Roadmap LIVE
Planned features and improvements coming to the Quantum platform β automatically updated when new enhancements are added.
Loading enhancementsβ¦
67 Service Roadmap NEW
Plan and visualize your service offering roadmap β track planned services, features in development, and future capabilities.
Roadmap Items
- Planned β Services or features in the pipeline
- In Development β Currently being built
- Launched β Recently released and active
Each roadmap item includes: title, description, target quarter, priority level, and assigned team. The roadmap provides strategic visibility for planning client conversations and marketing campaigns.
68 ROI Tracker NEW
Track return on investment across marketing campaigns, projects, and service lines.
What It Tracks
| Metric | Description |
|---|---|
| Campaign ROI | Revenue generated vs ad spend per campaign |
| Client ROI | Revenue per client vs acquisition + service cost |
| Service ROI | Profitability by service category |
| Overall ROI | Total revenue vs total operational cost |
69 Enhancements NEW
Track and manage platform enhancement requests, feature ideas, and improvement initiatives.
Enhancement Workflow
| Status | Description |
|---|---|
| Requested | Enhancement submitted by admin or client |
| Approved | Accepted for development |
| In Progress | Currently being implemented |
| Completed | Shipped and live |
| Deferred | Postponed to a future release |
70 AI Intelligence Suite ADVANCED
The AI Intelligence Suite provides 10 powerful AI-driven tools for client management, risk analysis, and business intelligence. All modules are accessible from the sidebar under AI Intelligence.
Sentiment Tracker
Analyze client sentiment across communications, support tickets, and feedback. Uses natural language processing to detect positive, neutral, and negative sentiment trends.
- Sentiment Score β Per-client sentiment score (0-100)
- Trend Chart β Sentiment changes over time
- Alert Triggers β Notifications when sentiment drops significantly
Churn Risk Alerts
Proactively identify clients at risk of churning based on engagement patterns, communication frequency, payment behavior, and satisfaction scores.
| Risk Level | Score | Action |
|---|---|---|
| π’ Low | 0-30 | Normal engagement β no action needed |
| π‘ Medium | 31-60 | Schedule a check-in call |
| π΄ High | 61-100 | Immediate intervention required |
Client ROI Calculator
Calculate individual client return on investment with automated LTV (Lifetime Value) metrics. Compares revenue received vs cost of servicing each client.
- Revenue Tracking β Total payments received from the client
- Cost Attribution β Hours spent, resources allocated, tool costs
- LTV Projection β Predicted lifetime value based on contract renewal probability
AI Compliance Auditor
Automated compliance checking across your platform β data privacy, security practices, contract terms, and regulatory requirements.
- Privacy Audit β Checks data handling practices against GDPR/CCPA
- Security Audit β Reviews access controls, encryption, and authentication
- Contract Audit β Flags expired or soon-to-expire contracts
Scope Creep Detector
AI-powered analysis of project scope changes, tracking additions and modifications against the original scope document.
- Scope Baseline β Original project requirements and deliverables
- Change Detection β Flags when tasks exceed original scope
- Impact Assessment β Calculates cost and timeline impact of scope changes
- Alerts β Notifications when scope creep exceeds configurable thresholds
Client Health Dashboard
A composite health score for each client combining project progress, payment status, communication frequency, satisfaction rating, and SLA compliance. Displayed as a color-coded dashboard card per client.
AI Proposal Generator
Generate professional client proposals using AI. Input the client's requirements and the generator creates a complete proposal document with scope, timeline, pricing, and terms.
Navigate to AI Intelligence β Proposal Generator β Enter client details and requirements β Click Generate Proposal β Review and customize β Export as PDF or send to client.
Revenue Forecast Engine
AI-powered revenue prediction based on pipeline data, historical patterns, seasonal trends, and contract renewals. Provides monthly and quarterly forecasts with confidence intervals.
- Pipeline Forecast β Expected revenue from current pipeline leads
- Renewal Forecast β Predicted revenue from contract renewals
- Growth Projection β Trendline forecasting based on historical data
White-Label Report Builder
Generate branded PDF reports for clients with customizable sections. Combine project progress, financial summaries, analytics data, and recommendations into professional client-facing reports.
Client Onboarding Workflow
Automated onboarding workflow with step-by-step task checklists, document collection, and welcome sequences. Each onboarding instance tracks progress across configurable stages.
- Welcome Kit β Automated welcome email with brand questionnaire
- Asset Collection β Checklist for collecting logos, content, access credentials
- Tool Setup β Provision accounts, repositories, and environments
- Kickoff β Schedule and track the kickoff meeting
- Progress Bar β Visual progress indicator showing completion percentage
71 HR & Operations NEW
Employees
Manage your team member records β contact details, roles, departments, and employment status.
| Field | Description |
|---|---|
| Name | Full name |
| Work email address | |
| Phone | Contact number |
| Department | Design, Development, Marketing, Sales, Support, Management |
| Role | Job title / designation |
| Status | Active / On Leave / Inactive |
| Join Date | Employment start date |
Leave Management
Track and manage employee leave requests with approval workflow.
Leave Types
- Casual Leave β Short-term personal leave
- Sick Leave β Medical/health-related absence
- Earned Leave β Accumulated leave from service
- Work From Home β Remote work days
- Comp Off β Compensatory off for extra working days
Workflow
- Employee submits leave request with dates, type, and reason
- Request appears in admin panel as "Pending"
- Admin approves or rejects with optional comment
- Leave balance is auto-updated on approval
72 Procurement NEW
Vendors
Manage vendor/supplier records for procurement and outsourced services.
- Vendor Profile β Name, contact, category, payment terms
- Performance Rating β Track vendor reliability and quality
- Contract Linking β Link vendor contracts for quick reference
Purchase Orders
Create and track purchase orders for services, tools, and materials.
| Status | Description |
|---|---|
| Draft | PO being prepared |
| Submitted | Sent to vendor for confirmation |
| Approved | Vendor accepted, order in progress |
| Received | Goods/services delivered |
| Closed | PO completed and payment processed |
Stock Management
Track inventory levels for physical products (used in Supply Chain operations).
- Stock Levels β Current quantity per product
- Low Stock Alerts β Notifications when stock falls below threshold
- Movement History β All additions, deductions, and adjustments tracked in
inventoryHistory - Reorder Points β Configurable minimum stock levels per product