← Back to Admin Panel

69dynamics Admin Panel Tutorial

Complete step-by-step guide to every feature, configuration, and automation in your admin panel.

πŸ“… Last Updated: March 2026 πŸ“– Version 7.0 ⏱ ~95 min read

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

Step 1

Navigate to https://69dynamics.in/admin in your browser.

Step 2

Enter your registered admin email and password. Click Sign In.

Note

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:

GroupSections
OverviewDashboard
ClientsClients, Projects (List/Kanban/Gantt), Project Requests, Reviews, Onboarding, Tasks, Contacts (CRM), Notes, Documents, Contracts, Milestones
LeadsInquiries, Lead Pipeline (Kanban), Referrals, Newsletter, Applications, Quotations
ContentBlog (AI Generator + Auto-Scheduler + SEO), Testimonials, Email Campaigns
FinanceInvoices, Expenses, Payments, Invoice Reminders, Revenue Analytics
SchedulingCalendar
AnalyticsCampaigns (UTM + Google Ads + Email), Lighthouse, Performance Monitor, Conversions, Configurator Leads
AutomationQuantum Pipeline (List/Kanban), SLA Monitor
Supply ChainSC Dashboard, Products, Orders, Reports, Payments, Returns, Templates, Scoreboard, Forecasting, Gallery
Client SupportCommunication Hub, Support Tickets, Announcements, Client Feedback, Client Teams, Brand Vault, Collaboration
StrategyService Roadmap, ROI Tracker, Enhancements
AI IntelligenceSentiment Tracker, Churn Alerts, Client ROI, Compliance Auditor, Scope Creep, Client Health, Proposal Generator, Revenue Forecast, Report Builder, Client Onboarding
HR & OperationsEmployees, Leave Management
ProcurementVendors, Purchase Orders, Stock Management
ResourcesGuides, Audit Log, Webhooks
AccountSettings, Admin Roles (super admin only)
πŸ’‘ Tip: URL Hash Navigation You can navigate directly to any section using the URL hash. Example: 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 clients collection
  • 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
ℹ️ Auto-Refresh Dashboard data refreshes automatically each time you navigate to it. Counts displayed on sidebar nav badges update in real-time.

3 Clients

Manage all your client records. Each client has contact details, project associations, and status tracking.

Adding a Client

Step 1

Click the + Add Client button in the Clients section.

Step 2

Fill in client details: Name, Email, Phone, Company, Status (Active/Inactive/Lead).

Step 3

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

Steps

Click + New Project β†’ Fill in project name, client (select from dropdown), description, status (Planning / In Progress / Review / Completed), and deadline β†’ Save.

Status Workflow

StatusMeaningBadge Color
PlanningProject scope being definedBlue
In ProgressActive development/workYellow
ReviewAwaiting client reviewOrange
CompletedDelivered and signed offGreen

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

Activate

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

Activate

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
πŸ’‘ Tip Use Gantt view for client presentations and sprint planning. Kanban view works best for daily project management and quick status updates.

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:

CardWhat it shows
Total ReviewsAll review requests in the system
Requests SentManual + automated review request emails sent
PendingReviews awaiting client response
Response RatePercentage of reviews that got a response

Sending Review Requests

Manual Request

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

StatusMeaning
pendingSubmitted by client, awaiting your review
sentReview request email sent, awaiting client response
respondedClient 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

Steps

Click + Add Contact β†’ Fill in name, email, phone, company, designation, source, and notes β†’ Save.

Contact Fields

FieldDescription
NameFull name of the contact
EmailPrimary email address
PhonePhone number
CompanyOrganization they belong to
DesignationJob title or role
SourceHow they were acquired (e.g., referral, event, LinkedIn)
TagsCustom labels for categorization
NotesInternal notes about the contact
πŸ’‘ Use Case Use Contacts to maintain a broader sales database. When a contact becomes a paying client, create a Client record from their data.

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.

Approve Access

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

  1. Visitor fills the contact form on 69dynamics.in
  2. Data is saved to the inquiries Firestore collection (now includes UTM tracking data if available)
  3. The onNewInquiry Cloud Function triggers automatically β€” sends a branded notification email to the admin
  4. The onInquiryScored Cloud Function computes a lead score and tier (Hot / Warm / Cold)
  5. Inquiry appears in the admin panel with all details + lead score badge
πŸ’‘ Quick Response Click the email link in an inquiry row to open your email client with a pre-filled reply.

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

SignalPoints
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

TierScore RangePriorityRecommended Follow-Up
πŸ”₯ Hot60+ pointsHighRespond within 4 hours
🟑 Warm35-59 pointsStandardRespond within 24 hours
πŸ”΅ Cold0-34 pointsLowAdd to nurture sequence
ℹ️ Auto-Written Fields The function writes 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

StageTimingContentFlag
48-Hour Follow-Up2 days after inquiryPersonalized "still interested?" email with project discussion CTAfollowUp48Sent: true
7-Day Nurture7 days after inquiryResource-rich email with blog links, Quantum CRM info, WhatsApp linkfollowUp7dSent: 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
πŸ’‘ Best Practice Mark inquiries as "replied" in the Inquiries table once you've responded manually. This prevents the automation from sending redundant emails.

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

BadgeColorMeaning
RepliedGreenLead has replied β€” follow-up sequence stopped
7d βœ“Blue7-day nurture email was sent (with date tooltip)
48h βœ“Light Green48-hour follow-up was sent (with date tooltip)
DueYellowInquiry is older than 48 hours but follow-up hasn't been sent yet
PendingGrayFollow-up is scheduled (inquiry is less than 48 hours old)
ℹ️ Hover for Details Hover over any follow-up badge to see the exact date/time the email was sent. This data is written by the 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

  1. User enters email in the newsletter form β†’ POSTs to /api/newsletter
  2. newsletterSubscribe Cloud Function saves to Firestore
  3. onNewsletterSubscribe triggers β€” sends welcome email to subscriber + notification to admin
FieldDescription
EmailSubscriber email address
DateSubscription timestamp
SourcePage 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

Steps

Click + New Quotation β†’ Fill in client details, service items with pricing, validity period, and terms β†’ Save.

Quotation Status Flow

StatusMeaningBadge
DraftBeing prepared, not yet sentGray
SentShared with the clientBlue
AcceptedClient has accepted the quoteGreen
ExpiredValidity period has passedRed
RejectedClient declined the quoteRed

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
ℹ️ Rate Card Reference the Service Quotation & Rate Card guide (available in Guides section) for standard pricing across all service packages.

14 Blog Management

Create, edit, and publish blog posts. Posts appear on /blog.

Creating a Manual Post

Step 1

Click + New Post in the Blog section.

Step 2

Fill in: Title (slug auto-generates), Category, Author, Cover Image (upload or URL), Excerpt, and Content (HTML editor with toolbar).

Step 3

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

StatusVisibilityBadge Color
DraftAdmin only β€” not visible on websiteYellow
Pending ApprovalAI-generated β€” awaiting admin reviewPurple
PublishedLive on /blogGreen
ℹ️ Social Posting When a post is published, the 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

Step 1

Go to the Blog section. Click the purple ✦ Generate AI Post button.

Step 2

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
Step 3

Optionally select a Blog Category (or leave as "Auto-detect").

Step 4

Click Generate Post. Wait 15-30 seconds for Gemini AI to write the post.

Result

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.

⚠️ Requirement The 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

  1. Generate β€” Admin clicks "Generate AI Post" β†’ Gemini AI writes the post β†’ Saved as pending_approval
  2. Email Notification β€” Admin receives an email with the post title, topic, excerpt, and a "Review & Approve" link
  3. Review β€” In the Blog table, pending posts show a purple "Pending Approval" badge and a green βœ“ Approve button
  4. Preview β€” Click the eye icon to preview the full post content before approving
  5. Edit (Optional) β€” Click the pencil icon to edit the AI-generated content before approving
  6. Approve β€” Click the green βœ“ Approve button β†’ Confirm β†’ Post status changes to "Published" and goes live on /blog
πŸ’‘ Best Practice Always preview and optionally edit AI-generated posts before approving. While Gemini AI produces high-quality content, a quick human review ensures accuracy and brand voice consistency.

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

SettingValue
DaysWednesday & Saturday
Time10:00 AM IST (04:30 UTC)
FunctionscheduledBlogGeneration (Cloud Scheduler / Pub/Sub)
AI ModelGemini 2.5-flash (with 2.0-flash-001 fallback)

How It Works

  1. Cloud Scheduler triggers the scheduledBlogGeneration function on Wed/Sat at 10 AM IST
  2. Function checks metadata/blogSettings β†’ if autoPublishEnabled is false, it skips
  3. Gemini AI generates a blog post with a random topic from the configured categories
  4. Post is saved directly as Published to the blogPosts collection
  5. Admin receives an email notification with the post title, excerpt, and link

Enable / Disable the Scheduler

Step 1

Go to the Blog section in the admin panel.

Step 2

Scroll down to the Blog Auto-Scheduler panel (below the blog posts table).

Step 3

Toggle the Auto-Publish switch ON or OFF. The setting is saved to metadata/blogSettings in Firestore.

πŸ’‘ Schedule Info When enabled, the system publishes ~2 new AI-generated blog posts per week. Each post includes a Table of Contents, Key Takeaways, and CTA box. Posts go live immediately β€” no approval step for scheduled posts.
⚠️ Review Regularly Since auto-scheduled posts are published immediately, check the blog page regularly to ensure content quality. You can always unpublish or edit posts from the Blog table.

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}/comments Firestore 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
πŸ’‘ Best Practice Keep 6-8 testimonials active on the website. Rotate them monthly to keep content fresh and showcase diverse clients.

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

TypeUse Case
One-TimeSingle send to a segment (promotions, announcements)
Drip SequenceMulti-email automated series (onboarding, nurture)
RecurringWeekly/monthly newsletters, digests

Creating a Campaign

Steps

Navigate to Content β†’ Email Campaigns β†’ Click + New Campaign β†’ Fill in campaign name, subject, recipient type, email body β†’ choose send option β†’ Save Campaign.

Sending Options

OptionBehavior
Save as DraftSaves campaign without sending. Can be sent later.
Send ImmediatelyCheck "Send immediately" β†’ campaign fires right away via Cloud Function.
Schedule for LaterCheck "Send immediately" β†’ Check "Schedule for later" β†’ Pick date/time. The processCampaignSchedule Cloud Function runs hourly and sends all due campaigns automatically.

Recipient Segments

SegmentSource
All ContactsCombined: Newsletter + Inquiries + Clients
Leads Onlyinquiries collection
Customers OnlyclientProfiles collection
Newsletter SubscribersnewsletterSubscribers collection
VIP ContactsTagged 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

Configure

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

ScheduleWhen
WeeklyEvery Monday at 9 AM IST (default)
Bi-weeklyEvery other Monday
Monthly1st of each month
Manual onlyOnly when you click "Run Now"

Manual Run

Run Now

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 RangeColorMeaning
90-100🟒 GreenExcellent β€” no action needed
50-89🟑 OrangeNeeds improvement
0-49πŸ”΄ RedPoor β€” requires attention
πŸ’‘ Pro Tip Monitor LCP (Largest Contentful Paint) closely β€” Google uses it as a Core Web Vital for search ranking. Target under 2.5 seconds.

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 TypeTrigger
form_submitContact form, newsletter, inquiry submission
cta_clickMajor CTA button clicks (Get Started, etc.)
page_viewKey page visits (pricing, portal, etc.)
whatsapp_clickWhatsApp chat button clicks
phone_callPhone 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.

ℹ️ Google Ads Integration Conversion events are also sent to Google Ads via 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

MetricDescriptionTarget
Page Load TimeFull page load duration< 3 seconds
Time to InteractiveWhen the page becomes usable< 5 seconds
API Response TimeCloud Function execution time< 2 seconds
Error RatePercentage of failed requests< 1%
UptimeService availability percentage> 99.9%
πŸ’‘ Use With Lighthouse Combine Performance Monitor data with Lighthouse Reports for a complete picture of your site's health.

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

  1. Visitor opens the Service Configurator on the main site
  2. They select services (Website, SEO, Ads, CRM, etc.) and see a live price estimate
  3. On submission, the saveConfiguratorLead Cloud Function saves the configuration to Firestore
  4. Lead appears here with: selected services, estimated budget, contact info
πŸ’‘ High-Intent Leads Configurator leads are high-intent β€” they've already priced out services. Prioritize follow-ups within 24 hours.

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.

How to Generate a UTM Link
  1. Go to the Campaigns section β†’ UTM Link Generator tab
  2. Enter the Base URL (e.g., https://69dynamics.in)
  3. 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
  4. Click Generate Link β€” the full URL with UTM parameters appears below
  5. Click Copy to copy the URL to clipboard
  6. Click Shorten to create a short URL via TinyURL (optional)
  7. Click Save Campaign to save the link to Firestore for later reference
ℹ️ Saved Campaigns All saved campaigns are listed below the generator form. Each entry shows the campaign name, source, medium, short URL, and creation date.

Tab 2: Lead Source Analytics

Visualize where your leads are coming from across all UTM-tagged traffic.

How It Works

The analytics engine aggregates UTM data from three collections:

  • inquiries β€” Contact form submissions
  • newsletterSubscribers β€” Blog/footer newsletter signups
  • configuratorLeads β€” 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
πŸ’‘ Use This Data Compare source performance to see which ad platforms or campaigns drive the most leads. This helps optimize your marketing spend.

Tab 3: Email Blast

Send bulk HTML emails to your newsletter subscribers directly from the admin panel.

Sending an Email Blast
  1. Go to the Campaigns section β†’ Email Blast tab
  2. Enter the Subject line
  3. Write the Email Body in the HTML editor
  4. Optionally add a CTA Button β€” enter the button text and URL
  5. The Audience Count at the top shows how many subscribers will receive this email
  6. Click Preview to see how the email will look with the branded 69dynamics template
  7. Click Send Blast β†’ Confirm β†’ The blast is queued in Firestore
  8. The processEmailBlast Cloud Function picks up the queued blast and sends emails in batches of 5 (with 1-second pauses between batches to avoid rate limits)
  9. 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.

⚠️ Anti-Spam Use email blasts responsibly. All recipients must have opted-in via the newsletter form. Include an unsubscribe option in your email content. The system sends from info@69dynamics.in via SMTP.

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

TabPurpose
Pending ReviewAI-generated campaign drafts awaiting approval. Review ad copy, keywords, ad groups before pushing to Google.
ApprovedApproved drafts ready to push to Google Ads. Click "Push to Google Ads" to create the live campaign.
LiveCampaigns currently running on Google Ads. Summary cards show total live, paused, budget, and keywords. Pause/enable campaigns, refresh ad copy here.
PerformanceKPI dashboard with total spend, clicks, impressions, CTR, conversions, cost/conversion. Pulls live data from Google Ads API with date range filter.
ToolsAI Keyword Suggestions, Clone Draft, AI Ad Copy Refresh, Batch Campaign Control, Budget Updater.
AutomationOne-click full pipeline, AI Keyword Optimizer, Keyword Manager, Keyword Performance viewer, Strategy explainer, Pipeline history.
AlertsAutomated daily performance alerts. Auto-pause campaigns exceeding cost threshold with no conversions.
API SettingsConfigure Google Ads API credentials (OAuth, Developer Token, Customer ID, Refresh Token).

Step 1: Generate a Campaign

Generate

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

Review

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

Push

In the Approved tab, click Push to Google Ads. The system automatically switches to the Live tab and shows a real-time progress tracker:

  1. Creates campaign budget on Google Ads
  2. Creates the campaign (in PAUSED state by default)
  3. Sets location targeting (Coimbatore, Chennai, etc.)
  4. Creates ad groups with keywords
  5. Creates responsive search ads
  6. Adds sitelink extensions

The entire push takes 20-40 seconds. A progress bar tracks each step live.

Step 4: Track Pushed Campaigns

Where to track

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

No Google Ads login needed

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:

KPIWhat it means
Total SpendTotal β‚Ή spent across all campaigns in the selected period
Total ClicksNumber of ad clicks received
ImpressionsHow many times your ads were shown
Avg CTRClick-through rate (clicks Γ· impressions). Above 3% = good, below 1.5% = needs attention
ConversionsLead form submissions from ads
Cost/ConvHow 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:

  1. Market Analysis: Analyzes business type, location, and competitive landscape
  2. Campaign Structure: Creates themed ad groups with keyword clusters (exact + phrase + broad mix)
  3. Ad Copy Generation: Writes headlines optimized for CTR with value propositions and CTAs
  4. Performance Learning: Uses historical data from past campaigns to inform new ones
  5. Continuous Optimization: Daily monitoring auto-pauses wasteful campaigns
  6. Ad Copy Refresh: Regenerates underperforming ads using live metrics

One-Click Full Automation

Automate

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

ToolLocationWhat it does
AI Keyword SuggestionsTools tabGet keyword ideas for any service/location
Clone DraftTools tabDuplicate a campaign for A/B variations
AI Ad Copy RefreshTools tabGenerate fresh ad copy using performance data
Batch Campaign ControlTools tabEnable/pause multiple campaigns at once
Quick Budget UpdateTools tabChange daily budget for any live campaign
AI Keyword OptimizerAutomation tabAnalyze + suggest keyword changes
Add KeywordsAutomation tabAdd keywords directly to live campaigns
Keyword PerformanceAutomation tabView live keyword metrics (impressions, clicks, CTR, quality score)
πŸ’‘ Zero Google Ads Visits Needed Every action β€” generating campaigns, pushing to Google, monitoring performance, optimizing keywords, refreshing ads, pausing/enabling campaigns β€” is done from this admin dashboard. The Google Ads API handles everything behind the scenes.

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

  1. 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 in sessionStorage
  2. When the visitor submits any form (contact, newsletter, configurator), the UTM data is automatically attached to the submission
  3. The data flows into Firestore with fields: utm_source, utm_medium, utm_campaign, utm_term, utm_content

Where UTM Data Appears

CollectionUTM Fields Included
inquiriesutm_source, utm_medium, utm_campaign, utm_term, utm_content
newsletterSubscribersutm_source, utm_medium, utm_campaign
configuratorLeadsutm_source, utm_medium, utm_campaign
blogPosts/{id}/commentsutm_source, utm_medium, utm_campaign
πŸ’‘ Combine with Google Ads Use UTM links generated from the Campaigns section in your Google Ads and Meta Ads. The lead source analytics will show you exactly which ad campaign drove each inquiry.

22 Quantum Automation Pipeline

The Quantum Pipeline automates client project workflows through predefined stages with automatic notifications.

Pipeline Stages

StageDescriptionAuto-Email
DiscoveryInitial requirements gatheringWelcome + questionnaire
PlanningStrategy & scope definitionScope document shared
DesignUI/UX design phaseDesign review request
DevelopmentActive build phaseProgress update
TestingQA & client reviewTesting link shared
LaunchDeployment & go-liveLaunch notification
SupportPost-launch support periodSupport plan details

Creating a Pipeline

Step 1

Click + New Pipeline. Select the client, project name, and starting stage.

Step 2

The pipeline is created in Firestore (automationPipelines collection). The onPipelineCreate Cloud Function triggers and sends a welcome email to the client.

Advancing Stages

Advance

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
ℹ️ Stage History Every stage transition is recorded in the 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:

ColumnColorDescription
IntakeBlueNew pipeline created, gathering initial requirements
ProvisioningPurpleSetting up accounts, environments, tools
OnboardingTealClient training and asset collection
QAOrangeQuality assurance and testing phase
Go-LiveGreenReady for deployment and launch
CompletedGrayProject delivered and closed

Using Kanban

Drag & Drop

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
ℹ️ Pipeline Detail Panel Click any pipeline card to open the detail panel showing client info, stage history timeline, notes, and action buttons.

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

StatIconDescription
Compliantβœ“ GreenSLAs within target
At Risk⚠️ YellowSLAs approaching warning threshold
Breachedβ›” RedSLAs that have exceeded target
Total SLAsBlueAll SLAs in the system
Avg Compliance %PurpleMean compliance percentage across all SLAs

Creating an SLA

Navigate

Go to Automation β†’ SLA Monitor. Click + New SLA.

Fill in SLA Details

Complete the form fields:

FieldDescriptionExample
Client Email *Auto-complete from client listclient@company.com
Client NameAuto-filled from email selectionAcme Corp
SLA Type *Category of the SLA commitmentResponse Time
Metric / Target *The specific SLA promise"24 hours", "99.9%", "5 business days"
Contract ReferenceLink to related contract/projectSOW-2026-001
Warning ThresholdPercentage at which to alert (default: 80%)80%
Start / End DateSLA validity period2026-01-01 to 2026-12-31
NotesAdditional contextWeekend 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

Run Check

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
⚠️ Proactive Monitoring Set the warning threshold to 80% to get alerts before breaches occur. This gives your team time to respond and maintain client trust.

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

  1. Admin marks a milestone as completed in the Projects section (or via pipeline advancement)
  2. The onMilestoneComplete function triggers on the projects/{id}/milestones/{id} subcollection
  3. Function checks if the milestone has an invoiceAmount set
  4. Creates an invoice record in the invoices Firestore collection with a unique invoice number (format: INV-XXXXXX)
  5. Sends a branded invoice email to the client with milestone details, amount, and due date (default: 7 days)
  6. Updates the milestone document with invoiceId and invoiceNumber
Important

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

StatusMeaning
pendingInvoice sent, awaiting payment
paidPayment received and confirmed
overduePast due date, needs follow-up
ℹ️ Client Portal Integration Clients can view their invoices in the Invoices & Payments section of the Quantum Portal. See Portal: Invoices.

24 Supply Chain Modules

The Supply Chain section provides a complete inventory and order management system for clients running product-based businesses.

Available Modules

ModulePurpose
SC DashboardOverview metrics: total products, active orders, revenue, return rate
ProductsProduct catalog with pricing, stock, categories, images
OrdersOrder management with status tracking (Pending β†’ Processing β†’ Shipped β†’ Delivered)
ReportsSales reports, revenue charts, top products analysis
PaymentsPayment tracking, reconciliation, outstanding balances
ReturnsReturn request management and refund processing
TemplatesReusable order/invoice templates
ScoreboardTeam/client performance rankings
ForecastingDemand prediction and stock planning
GalleryProduct 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.

ℹ️ Firestore Security Clients can only read invoices where 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:

SourceEvent Types
projectsProject created, status changed
projects/{id}/milestonesMilestone created, completed, payment made
notesNotes added by admin for client
documentsDocuments uploaded or shared
tasksTasks 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")
πŸ’‘ Client Transparency The Activity Log helps clients stay informed without needing to email or call for updates. It builds trust by showing real-time project activity.

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

Navigate

Go to Resources β†’ Audit Log in the sidebar.

Filter

Use the dropdown to filter by action type: All, Creates, Updates, Deletes, Logins. Pagination is available for large log volumes.

Log Entry Fields

FieldDescription
actioncreate, update, delete, login
collectionWhich Firestore collection was affected
detailsAdditional context (document ID, field changed, etc.)
adminEmailWhich admin performed the action
timestampServer 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

Navigate

Go to Resources β†’ Webhooks in the sidebar.

Add Webhook

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
ℹ️ Webhook Payload Each webhook receives a JSON payload with event, timestamp, data fields. Endpoints must respond with HTTP 2xx within 10 seconds.

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

Navigate

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

Reply

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.

ℹ️ Firestore Collection Tickets are stored in 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

Navigate

Go to Client Support β†’ Announcements in the sidebar.

Create

Click + New Announcement. Fill in title, select type (General/Update/Feature/Maintenance/Alert), write the body, and toggle "Publish immediately". Click Publish.

Announcement Types

TypeColorUse Case
GeneralPurpleGeneral information or updates
UpdateBlueProduct or system updates
FeatureGreenNew feature announcements
MaintenanceYellow/OrangeScheduled maintenance windows
AlertRedUrgent 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
πŸ’‘ Mobile Optimized The order cards, progress stepper, and tab panels are fully responsive. On mobile, the stepper labels shrink and tabs stack gracefully.

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

Navigate

In the portal sidebar, go to Support β†’ Support Tickets.

Create Ticket

Click + New Ticket. Fill in subject, priority (Low/Medium/High/Urgent), category (General/Technical/Billing/Feature/Bug), and description. Click Submit Ticket.

Track

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:

ReportData SourceKey Metrics
Order SummaryscOrdersTotal orders, total value, status breakdown
Inventory SnapshotproductGalleryTotal products, stock units, low stock items
Financial SummaryscOrders + invoicesOrder revenue, invoiced amount, paid, outstanding
Activity ReportclientActivityLast 50 activities with timestamps
πŸ’‘ Self-Service Report Builder reduces client requests for data β€” they can pull their own reports anytime from the portal.

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

Steps

Navigate to Finance β†’ Expenses β†’ Click + Add Expense β†’ Fill in description, amount, category, date, payment method β†’ Save.

Expense Categories

CategoryExamples
InfrastructureFirebase, hosting, domain renewals, CDN
SoftwareSaaS subscriptions, API costs, licenses
MarketingGoogle Ads spend, Meta Ads, email tools
ContractorsFreelancer payments, outsourced work
OperationsOffice, utilities, equipment
OtherMiscellaneous 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

  1. The system checks all invoices with status: "pending" or status: "overdue"
  2. Reminder emails are sent based on a configurable schedule
  3. Each reminder includes invoice number, amount, due date, and a portal payment link
  4. Sent reminders are tracked to prevent duplicate notifications

Reminder Schedule

TriggerEmail Type
3 days before due dateFriendly upcoming payment reminder
On due datePayment due today notification
7 days after due dateOverdue notice with urgency
14 days after due dateFinal overdue warning

36N Revenue Analytics NEW

Comprehensive financial analytics dashboard with real-time revenue, expenses, profitability, and client lifetime value insights.

KPI Cards

KPIDescription
Total RevenueSum of all paid invoices and payments
Total ExpensesSum of all recorded expenses
Net ProfitRevenue minus expenses
Unpaid InvoicesTotal outstanding amount
Avg Client LTVAverage 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

Steps

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

TypeExamples
LogosPrimary, icon, dark/light variations, favicon
ColorsPrimary, secondary, accent hex codes
TypographyFont families, sizes, weights
GuidelinesBrand style guides, usage rules PDF
TemplatesEmail 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

  1. Navigate to Clients β†’ Contracts in the sidebar
  2. Click "New Contract" in the top-right
  3. 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
  4. 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

FieldTypeDescription
titlestringContract title/name
clientEmailstringClient email (for access control)
typestringSOW, NDA, Retainer, SLA, Service Agreement, Other
startDatestringContract start date (YYYY-MM-DD)
endDatestringContract end date (YYYY-MM-DD)
valuenumberContract monetary value in β‚Ή
statusstringdraft, pending, active, expired
documentUrlstringURL to downloadable contract PDF
descriptionstringNotes/scope description

36B Payments & Billing NEW

Track all client payments, record transactions, manage billing, and provide transparent financial history to clients.

Recording a Payment

  1. Navigate to Finance β†’ Payments in the sidebar
  2. Click "Record Payment"
  3. 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

FieldTypeDescription
clientEmailstringClient email (for access control + filtering)
descriptionstringPayment description
amountnumberPayment amount in β‚Ή
datestringPayment/transaction date (YYYY-MM-DD)
dueDatestringDue date for pending payments
invoiceNumberstringRelated invoice number
methodstringbank_transfer, upi, cash, cheque, card, other
statusstringpaid, pending, overdue, refunded
receiptUrlstringURL 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

  1. Navigate to Clients β†’ Milestones in the sidebar
  2. Click "New Milestone"
  3. 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

FieldTypeDescription
titlestringMilestone name
projectNamestringProject this milestone belongs to
clientEmailstringClient email (access control)
descriptionstringWhat's included in this milestone
dueDatestringDue date (YYYY-MM-DD)
statusstringpending, in-progress, completed
ordernumberSort order within project
completedDatestringAuto-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

  1. Clients submit feedback from Support β†’ Feedback in the portal
  2. They select a star rating (1-5), a category, and write their feedback
  3. Admin reviews in Client Support β†’ Client Feedback
  4. 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

FieldTypeDescription
clientEmailstringWho submitted the feedback
clientNamestringDisplay name of the client
ratingnumberStar rating (1-5)
categorystringFeedback category
textstringClient's feedback text
adminResponsestringAdmin's response (optional)
respondedAttimestampWhen 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

  1. Client adds members from Team β†’ Team Members in the portal
  2. Members are added as "Invited" status with a selected role
  3. Admin can view all team members across all clients in Client Support β†’ Client Teams
  4. 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

FieldTypeDescription
clientEmailstringPrimary client account email
namestringTeam member's full name
emailstringTeam member's email
rolestringviewer, editor, manager
phonestringPhone number (optional)
statusstringinvited, active, disabled
addedAttimestampWhen the member was added
addedBystringEmail 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
πŸ”’ Security Admin Roles is restricted to the super admin email. Other admins cannot see or access this section. The sidebar link is hidden via CSS for non-super-admin users.

38 Environment Variables

Cloud Functions require environment variables set in functions/.env. These are deployed with firebase deploy --only functions.

Required Variables

VariablePurposeExample
SMTP_HOSTEmail server hostsmtp.zoho.com
SMTP_PORTEmail server port465
SMTP_USEREmail sender addresshey@69dynamics.in
SMTP_PASSEmail sender passwordyour-app-password
GEMINI_API_KEYGoogle Gemini API key for AI blog generationAIzaSy...

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
⚠️ Never Commit .env Files The .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

  1. Ensure functions/.env has all required variables
  2. Run cd functions && node -c index.js to check syntax
  3. Run npm install in the functions/ directory if dependencies changed
  4. Deploy: firebase deploy
  5. Verify at https://69dynamics.in

Runtime

SettingValue
Node.js RuntimeNode 22 (configured in firebase.json)
Firebase Projectdynamics-69
Hosting URLhttps://69dynamics.in
Functions Regionus-central1 (default) + asia-south1 (some triggers)

40 Cloud Functions Reference

All 19 Cloud Functions and their triggers:

#FunctionTriggerPurpose
1newsletterSubscribeHTTPS (API)Handles newsletter signups from the website footer
2onNewsletterSubscribeFirestore onCreateSends welcome email to subscriber + admin notification
3onNewInquiryFirestore onCreateNotifies admin when a new contact form inquiry is received
4onNewApplicationFirestore onCreateNotifies admin when a career application is submitted
5onClientAccessRequestFirestore onCreateSends welcome email when a client requests portal access
6onGameUserCreateFirestore onCreateHandles game/interactive user creation events
7weeklyLighthouseReportScheduled (weekly)Runs PageSpeed audit and saves scores to Firestore
8runLighthouseNowHTTPS (API)Manual lighthouse audit trigger from admin panel
9onBlogPublishFirestore onUpdateTriggers when a blog post status changes to "published"
10onPipelineCreateFirestore onCreateSends welcome email when a new pipeline is created
11onPipelineAdvanceFirestore onUpdateSends stage-change notification email to client
12saveConfiguratorLeadHTTPS (API)Saves service configurator submissions to Firestore
13logConversionEventHTTPS (API)Logs conversion events from the frontend
14generateBlogPostHTTPS (API)Generates AI blog posts using Gemini 2.5-flash
15onInquiryScoredFirestore onCreateAuto-scores inquiries with Lead Scoring AI (Hot/Warm/Cold)
16automatedFollowUpsScheduled (daily)Sends 48-hour and 7-day follow-up emails to unreplied inquiries
17onMilestoneCompleteFirestore onUpdateAuto-generates invoices when milestones are completed
18scheduledBlogGenerationScheduled (Wed/Sat)Auto-generates and publishes AI blog posts on schedule
19processEmailBlastFirestore onUpdateProcesses queued email blasts β€” sends batched SMTP emails
ℹ️ Regions Functions 1-6, 15 run in 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:

CollectionPurposeKey Fields
clientsClient recordsname, email, phone, company, status
blogPostsBlog articlestitle, slug, content, status, aiGenerated, category, tags
blogPosts/{id}/commentsBlog post commentsname, message, createdAt, utm_source, utm_medium
inquiriesContact form submissionsname, email, message, service, leadScore, leadTier, utm_source
newsletterNewsletter subscribers (legacy)email, subscribedAt, source
newsletterSubscribersNewsletter subscribers (blog/UTM)email, subscribedAt, source, utm_source, utm_medium
applicationsJob applicationsname, email, position, resume, status
clientOnboardingOnboarding dataclientId, stage, tasks, completedAt
clientMilestonesClient milestonesclientId, title, status, dueDate
clientAccessRequestsPortal access requestsemail, status (pending/approved), requestedAt
lighthouseReportsLighthouse audit resultsperformance, accessibility, bestPractices, seo, fcp, lcp, cls
automationPipelinesQuantum pipelinesclientId, projectName, currentStage, stageHistory (sub)
configuratorLeadsService configurator submissionsservices, budget, contact, utm_source
conversionEventsFrontend conversion eventstype, label, page, referrer, timestamp
campaignsSaved UTM campaign linksname, url, source, medium, campaign, shortUrl, createdAt
emailBlastsEmail blast recordssubject, body, ctaText, ctaUrl, status, totalSent, totalFailed
invoicesAuto/manual invoicesinvoiceNumber, clientEmail, amount, status, dueDate, milestoneId
projectsClient projects + milestones (sub)name, clientId, status, deadline
reviewsClient reviews/feedbackclientId, rating, message, status
metadataAggregate counts & settingsblogSettings.autoPublishEnabled, newsletter.count
adminAuditLogAdmin action audit trailaction, collection, details, adminEmail, timestamp
adminWebhooksConfigured webhook endpointsname, url, events, active, createdAt
inventoryHistoryStock movement historyproductId, type, quantity, adminEmail, timestamp
chatMessagesLive chat widget messagesname, email, message, timestamp, status
supportTicketsClient support ticketsticketId, clientEmail, clientId, subject, priority, category, status, replies[], createdAt
announcementsAdmin announcements for portaltitle, type, body, active, createdBy, createdAt
contractsClient contracts & agreementstitle, clientEmail, type, startDate, endDate, value, status, documentUrl, description
projectMilestonesProject milestones & deliverablestitle, projectName, clientEmail, dueDate, status, order, completedDate, description
paymentsClient payment recordsclientEmail, description, amount, date, dueDate, invoiceNumber, method, status, receiptUrl
clientTeamMembersClient team member managementclientEmail, name, email, role, phone, status, addedAt, addedBy
clientFeedbackClient satisfaction feedbackclientEmail, clientName, rating, category, text, adminResponse, createdAt
clientActivityClient activity stream for notificationsclientEmail, message, type, timestamp, read
ℹ️ Firestore Security Rules Admin accounts have full read/write access to all collections. Clients can only read their own data (filtered by email). Public collections (comments, newsletter) allow unauthenticated creates but not reads. See firestore.rules for full details.

42 Changelog

Track all major enhancements added to the admin panel and infrastructure.

DateEnhancementType
Mar 2026Google Ads Integration β€” Full AW-8723648500 tag activation, conversion tracking (ads_conversion_Sign_up_1), Enhanced Conversions, gclid/gbraid/wbraid captureNew
Mar 2026Google Ads Dashboard β€” 4th Campaigns tab with KPI cards, 4 Chart.js charts, leads table with filters, CSV exportNew
Mar 2026Admin 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 modulesDocs
Mar 2026Quantum Software Specifications Guide β€” Comprehensive product spec guide covering all 12+ Quantum modules with technical detailsNew
Mar 2026Ads & Lead Generation Flowchart β€” Visual guide: ad platforms β†’ lead capture β†’ AI scoring β†’ follow-up β†’ closeNew
Jul 2025Contracts & Agreements β€” Full lifecycle contract management (SOW, NDA, Retainer, SLA) with portal client viewNew
Jul 2025Payments & Billing β€” Payment recording, tracking, revenue dashboards with portal client historyNew
Jul 2025Project Milestones β€” Milestone tracking with progress bars, grouped by project, portal timeline viewNew
Jul 2025Client Feedback & NPS β€” Star rating feedback collection, admin response workflow, NPS calculationNew
Jul 2025Client Team Members β€” Client-managed team with roles (Viewer/Editor/Manager), admin oversightNew
Jul 2025Portal Calendar β€” Client-facing calendar with events, calls, demos, deadlinesNew
Jul 2025Firestore Rules & Indexes β€” Added rules/indexes for contracts, payments, milestones, feedback, teamMembers, clientActivity, sharedDocumentsInfra
Jul 2025Tutorial updated to v6.0 with 11 new module documentation sectionsDocs
Jul 2025Support Tickets System β€” Client-facing ticket creation + Admin management with reply/status workflowNew
Jul 2025Announcements System β€” Admin publishes announcements visible to all portal clients (5 types)New
Jul 2025Portal Report Builder β€” On-demand reports: Orders, Inventory, Financial, ActivityNew
Jul 2025Order Updates UX Redesign β€” Pill filters, search/sort, progress stepper, tabbed detail panelsUI
Jul 2025Products Section Redesign β€” Full-width showcase cards with stat panels on homepageUI
Jul 2025Quantum LP Updated β€” 12 modules, support tickets, announcements, report builder featuredUI
Jul 2025Firestore Rules Fix β€” Added rules for adminAuditLog, adminWebhooks, inventoryHistory, chatMessages, supportTickets, announcementsFix
Jul 2025Composite Indexes β€” Added 5 new indexes for auditLog, webhooks, inventoryHistory, supportTickets, announcementsInfra
Jul 2025Audit Log β€” Admin action tracking with search/filter (adminAuditLog collection)New
Jul 2025Webhooks & Integrations β€” Configurable webhook endpoints for event notificationsNew
Jul 2025Global Search (Ctrl+K) β€” Keyboard command palette for instant section navigationNew
Jul 2025Undo Toast β€” Reversible admin actions with 5-second undo windowNew
Jul 2025Portal Enhancements β€” URL routing, skeleton loading, file preview, PDF export, Gantt timeline, push notificationsNew
Jul 2025Inventory History β€” Stock movement tracking with inventoryHistory collectionNew
Jul 2025PDF Challans β€” Supply chain delivery challans generated as PDFNew
Jul 2025Blog Scheduled Publishing β€” Date/time scheduled publishing for blog postsNew
Jul 2025Mobile Responsiveness β€” All new sections optimized for mobile (768px, 600px, 480px breakpoints)UI
Jul 2025Tutorial updated to v5.0 with 15+ new feature sectionsDocs
Jun 2025Campaigns Section β€” UTM Link Generator, Lead Source Analytics, Email Blast (3 tabs)New
Jun 2025Email Blast System β€” Bulk HTML email sending to newsletter subscribers with processEmailBlast Cloud Function (19th function)New
Jun 2025UTM Tracking β€” Auto-capture UTM params across all website forms; Lead Source Analytics dashboardNew
Jun 2025Blog Auto-Scheduler β€” scheduledBlogGeneration Cloud Function (18th function), Wed/Sat at 10 AM IST, admin toggleAuto
Jun 2025Blog Content Structure Upgrade β€” AI posts now include TOC, Key Takeaways, CTA box, 1200-1800 wordsNew
Jun 2025Blog Comments System β€” Reader comments on each blog post with Firestore subcollectionNew
Jun 2025Blog Newsletter CTA β€” In-post newsletter subscription with UTM dataNew
Jun 2025Scroll-Triggered CTA Banner β€” Sticky CTA banner on blog after 40% scrollUI
Jun 2025Blog Redesign β€” Complete CSS/HTML overhaul of public blog pageUI
Jun 2025Portal: Invoices & Payments β€” Client-facing invoice history with stat cards and status filtersNew
Jun 2025Portal: Activity Log β€” Unified chronological feed from projects, milestones, notes, documents, tasksNew
Jun 2025Tutorial updated to v4.0 with all new features documentedDocs
Mar 2025Upgraded Node.js runtime from 20 to 22Infra
Mar 2025Switched AI Blog Generator to Gemini (2.5-flash with 2.0-flash fallback)New
Mar 2025Lead Scoring AI β€” onInquiryScored Cloud Function (15th function)New
Mar 2025Automated Follow-Up Emails β€” automatedFollowUps Cloud Function (16th function)Auto
Mar 2025Auto-Invoicing on Milestone Completion β€” onMilestoneComplete Cloud Function (17th function)Auto
Mar 2025Blog approval workflow β€” AI posts require admin approval before publishingNew
Mar 2025Email notification for AI-generated blog posts pending reviewNew
Mar 2025Admin Tutorial Guide v3.0New
Mar 2025Voice Bot (STT + TTS) integrated with chatbotNew
Mar 2025Terminal Boot Sequence preloaderUI
Mar 2025Enhanced chatbot β€” 28+ FAQ entries, pricing, 69shop.inFix
Mar 2025AI Automation Strategy PDF generatedNew
Feb 2025Quantum Automation Pipeline (Cloud Functions + Admin UI)New
Feb 2025Lighthouse Reports section + weekly Cloud FunctionNew
Feb 2025Conversions tracking section + Cloud FunctionNew
Feb 2025Configurator Leads section + Cloud FunctionNew
Feb 2025Google Ads conversion tracking + Schema markupAuto
Feb 2025Blog Auto-Post Cloud FunctionAuto
Feb 2025Client Onboarding Portal pageNew
Jan 2025Service Configurator wizardNew
Jan 2025Firebase Auth + Firestore + admin panel initial buildCore
Jan 2025Supply Chain modules (10 sections)New
ℹ️ Future Updates New features and enhancements will be added to this changelog. Bookmark this page for reference.

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 CardDescription
Total InvoicesAll invoices in the system
PaidInvoices marked as paid (green)
UnpaidInvoices awaiting payment (yellow)
OverduePast due date and still unpaid (red, auto-detected)

Creating an Invoice

Navigate

Go to Finance β†’ Invoices in the sidebar. Click + New Invoice.

Step 1

Fill in the invoice details: Subject, Client (auto-complete from client list), Due Date, and optional Notes.

Step 2

Add Line Items β€” each with a description, quantity, and rate. Click + Add Line Item for more rows. The subtotal updates automatically.

Step 3

Set Discount % and Tax/GST %. The total is calculated: Subtotal βˆ’ Discount + Tax.

Optional

Enable Razorpay Online Payment checkbox to let the client pay this invoice directly from their portal.

Step 4

Click Save Invoice. The invoice appears in the table and is visible to the client.

Invoice Actions

ActionDescription
EditModify invoice details, add/remove line items
PreviewOpens a print-ready invoice page with your company branding
Send EmailSends the invoice to the client's email with a portal link
DeletePermanently removes the invoice (requires confirmation)
βœ… Auto-Overdue Detection Invoices past their due date are automatically marked as "Overdue" with a red badge. No manual action needed.

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:

FactorPointsDetail
Budget Range5 – 30Higher budget = higher score
Timeline5 – 20Urgent timelines score higher
Service Type5 – 15High-value services (SaaS, Custom Software) score more
Company Provided0 – 10Leads that provide company name score higher
Detail Length0 – 10More detailed requirements = higher engagement
Phone Provided0 – 5Providing phone number shows intent
Has Attachment0 – 10Attached documents indicate serious intent

Score Labels

Score RangeLabelColor
75 – 100πŸ”₯ HotRed
50 – 74🟠 WarmOrange
25 – 49πŸ”΅ CoolBlue
0 – 24❄️ ColdGray

Pipeline Kanban Board

Navigate

Go to Leads β†’ Lead Pipeline in the sidebar.

The pipeline has 6 stages displayed as Kanban columns:

StageDescription
NewFreshly received inquiries
QualifiedLeads verified as genuine opportunities
ProposalQuotation/proposal sent to the lead
NegotiationActive discussion on terms/pricing
WonSuccessfully converted to client βœ…
LostLead did not convert ❌
Action

Drag and drop lead cards between columns to move them through pipeline stages. The stage is saved to Firestore automatically.

ℹ️ Pipeline Stats The top stats bar shows Total Leads, New, Qualified, Proposal, and Won counts β€” updated in real-time.

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

Navigate

Go to Projects section and click the πŸ€– AI Estimator button in the top bar.

Step 1

Enter a Project Brief describing what the client needs. The more detail, the better the estimation.

Step 2

Select the Project Type (Web App, Mobile App, E-Commerce, etc.) and Budget Range.

Step 3

Click Generate Estimation. The AI analyzes your brief and returns:

AI Output Includes

SectionDescription
Project NameAI-suggested project name
Executive Summary2-3 sentence overview
Estimated DurationTimeline in weeks (e.g., "6-8 weeks")
Cost RangeMin and max estimated cost in INR
PhasesBreakdown with tasks and deliverables per phase
MilestonesKey milestones with week numbers and payment amounts
Tech StackRecommended technologies and tools
RisksPotential project risks to plan for
AssumptionsAssumptions made in the estimation
Apply

Click Apply to Project to auto-fill the project form with the AI-generated milestones and details.

⚠️ Cloud Function Required The AI estimator calls the 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

Navigate

Open the Blog section and click + New Post or edit an existing post.

Step 1

Fill in the Meta Description field (recommended 120–160 characters) and Focus Keywords (comma-separated).

Step 2

Click πŸ” SEO Score button. The scorer analyzes your post and displays a score out of 100.

What Gets Checked

CheckGoodIssue
Title Length30-60 charactersToo short or too long
Meta Description120-160 charactersMissing or wrong length
Title Has KeywordFocus keyword in titleKeyword missing from title
Content Length300+ wordsToo short for SEO
Keyword Density1-3%Too low or keyword-stuffed
HeadersUses H2/H3 tagsNo subheadings found
LinksHas internal/external linksNo links found
ImagesHas images with alt textNo images found

Score Interpretation

ScoreRatingColor
80-100ExcellentGreen
60-79GoodBlue
40-59Needs ImprovementOrange
0-39PoorRed
βœ… Tip Aim for a score of 70+ before publishing. The meta description and focus keywords are saved with the blog post for future reference.

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

Navigate

Go to Settings β†’ Report Branding tab.

Configure

Fill in the branding fields:

FieldDescriptionRecommended
Company NameDisplayed on report headers"69 Dynamics"
Logo URLYour company logo (transparent PNG)200Γ—60px
Primary ColorHeader, borders, and accent elements#6c5ce7
Accent ColorSecondary highlights#3b82f6
TaglineAppears below the logo"Digital Solutions Studio"
WebsiteShown in report footerhttps://69dynamics.in
Footer TextCustom confidentiality notice"Confidential. Prepared exclusively for [client]."
Save & Preview

Click Save Branding to persist settings. Click Preview Report to see a sample branded PDF page that opens in a new tab.

ℹ️ Where Branding Appears Branding is used in: Invoice previews, exported reports, white-label PDFs sent to clients, and proposal documents.

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

Step 1

Go to Settings β†’ Razorpay tab.

Step 2

Enter your Razorpay Key ID (found in Razorpay Dashboard β†’ Settings β†’ API Keys). Enter the Key Secret (stored securely, hidden after save).

Step 3

Set a Business Display Name that appears on the Razorpay checkout popup. Click Save.

Enabling for Invoices

Per-Invoice

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 payments collection
  • The Razorpay Payment ID is stored for verification
⚠️ Important You need a Razorpay Business Account (not test mode) for live payments. Test mode keys work for development but won't process real transactions.

64 Referral Dashboard NEW

Enhanced referral management with visual stats showing referral performance, conversion rates, and payout tracking.

Dashboard Stats

StatDescription
Total ReferralsAll referrals submitted by clients
ConvertedReferrals that became paying clients
Pending PayoutConverted referrals awaiting reward payout
Total Paid OutSum of all referral rewards paid (β‚Ή)
Navigate

Go to Leads β†’ Referrals in the sidebar. The stats dashboard loads automatically above the referral list.

βœ… Tip Use the referral stats to identify your best referrers and create targeted incentive programs.

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

Step 1

Create a deliverable approval by adding a document to the deliverableApprovals collection with: title, description, files (URLs), and clientUid.

Step 2

The client sees the deliverable in their Deliverable Approvals portal section with attached files for download.

Result

The client can Approve βœ…, Request Revision πŸ”„, or Reject ❌ with an optional comment. The full action history is tracked.

Firestore Structure

FieldTypeDescription
titlestringDeliverable name
descriptionstringWhat was delivered
filesarray[{ name, url }] β€” downloadable files
clientUidstringClient's Firebase Auth UID
statusstringpending / approved / rejected / revision
historyarray[{ action, by, date, comment }]
ℹ️ Permissions Clients can only read and update their own deliverables (status + history fields). Admin has full CRUD access.

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

MetricDescription
Campaign ROIRevenue generated vs ad spend per campaign
Client ROIRevenue per client vs acquisition + service cost
Service ROIProfitability by service category
Overall ROITotal revenue vs total operational cost

69 Enhancements NEW

Track and manage platform enhancement requests, feature ideas, and improvement initiatives.

Enhancement Workflow

StatusDescription
RequestedEnhancement submitted by admin or client
ApprovedAccepted for development
In ProgressCurrently being implemented
CompletedShipped and live
DeferredPostponed to a future release

69.1 Premium Access Management NEW

Manage client tier subscriptions from the dedicated Premium Access section in the admin sidebar. Control which clients have access to premium portal features.

Overview Dashboard

The Premium Access dashboard shows four key stats at a glance:

MetricDescription
Total ClientsAll approved clients on the platform
PremiumClients currently on the Premium tier
On TrialClients using the 21-day free premium trial
Pending RequestsClients who have requested a premium upgrade

Tier System

The Quantum Portal has two tiers:

  • Basic (Free) β€” Dashboard, Analytics, Reviews, Notes, Enhancements, Referral Rewards, Settings, Help, and Guides
  • Premium β€” All Basic features plus Documents, Tasks, Milestones, Invoices, Quotations, Contracts, Payments, Supply Chain, AI Insights, Report Builder, Brand Vault, ROI Tracker, Calendar, Team Members, Support Tickets, and more

Managing Client Tiers

Navigate

Go to Premium Access in the sidebar. You will see the stats overview, pending upgrade requests, and a searchable table of all clients with their current tier.

  • Upgrade a client: Click the Upgrade button next to any Basic client to instantly grant Premium access
  • Downgrade a client: Click Downgrade next to any Premium client to revert to Basic
  • Approve requests: When a client requests an upgrade, it appears in the Pending Requests panel β€” approve or reject with one click
  • Filter & Search: Use the tier dropdown and search bar to quickly find specific clients

Client-Side Experience

When a client on the Basic tier navigates to a locked section, they see a lock overlay with a description and an option to request Premium access or start a 21-day trial.

Tip: You can also set a client's tier during the initial approval process from Client Onboarding, or later from the Edit Category modal.

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 LevelScoreAction
🟒 Low0-30Normal engagement β€” no action needed
🟑 Medium31-60Schedule a check-in call
πŸ”΄ High61-100Immediate 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.

How to Use

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.

FieldDescription
NameFull name
EmailWork email address
PhoneContact number
DepartmentDesign, Development, Marketing, Sales, Support, Management
RoleJob title / designation
StatusActive / On Leave / Inactive
Join DateEmployment 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

  1. Employee submits leave request with dates, type, and reason
  2. Request appears in admin panel as "Pending"
  3. Admin approves or rejects with optional comment
  4. 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.

StatusDescription
DraftPO being prepared
SubmittedSent to vendor for confirmation
ApprovedVendor accepted, order in progress
ReceivedGoods/services delivered
ClosedPO 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