Dashboard
Waiting on you now
All clear
Dashboard
Everything at a glance. It shows all time until you choose a period from the menu on the right.
Loading...
Loading...
Welcome Back, Badar Tanveer
Here's what's happening with your pipeline today.
Funnel details: groups, agents and commissions
IB Watch
Every converted customer's Exness or XM account, re-checked every day. Members who left Badar's IB, whose account disappeared, or whose balance fell below the threshold wait here for a decision.
Exness & XM Lookup
Check whether a customer's broker account is under Badar's IB, and see every recent submission.
Exness Lookup
Check any customer at Exness: whether they are under Badar's IB, and their balance, deposits, volume, rewards and progress. Read-only - nothing is approved or changed.
XM Lookup
Check an XM account: whether it is under Badar's XM partner account, its account type and dates, and its trading in the last 93 days. XM does not report deposits or balance, so the deposit amount still comes from the screenshot. Read-only.
Recent submissions
Deposit submissions that name an Exness or XM account. Rows without a customer name or phone are left out. Check runs the lookup above.
Loading…
Deposit Approvals
The live queue plus every past verification outcome. Deposit Activity Log remains the broader audit trail.
System Errors
Last 7 days, unacknowledged, newest first. Reported by the CRM in the agent's own browser.
CRM Development Progress
What has been built, what is in progress and what is still open. Read-only.
🗺️ How We Got Here
✅ Recently Completed
🔄 In Progress
📋 Upcoming / Awaiting Decision
Action Items With Badar
A shared to-do list between Muhammad and Badar.
Add an Action Item
To-Dos for Tomorrow
All Open Items
Performance - Last 14 Days
All Leads
Every customer, one row each. Search, filter and open any lead.
| Name | Phone | Source / Campaign | Status | Assigned To | Added | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Import Leads
Add leads one by one or import a list.
Upload a CSV with columns: name, phone, email, source, instrument (headers in row 1). A platform export (WhatChimp, etc.) usually has no Source column of its own - pick what these rows should be labelled below.
Stages and more filters
Team
Everyone, their lead switch, and how the week is going. One row each.
Loading...
Referral codes
A new contact whose first WhatsApp message to 3903 carries an agent's code goes straight to that agent. Existing customers are never moved by a code. Referral leads do not count against the agent's rotation share.
Loading...
All accounts and every action (table)
{} (defaults to Agent). They appear here once they sign in.
| Name | Role | Joined | Status | Actions | ||
|---|---|---|---|---|---|---|
| Loading… | ||||||
Round-Robin Assignment
User Manager
| Name | Role | Joined | Status | Actions | ||
|---|---|---|---|---|---|---|
| Loading... | ||||||
User Permission
Admin
Full access: every lead and conversation regardless of assigned agent, KYC approval, transactions/payroll, Meta and WhatsApp integration settings, automation rules, and the ability to promote or suspend other users.
Agent
Sees only leads assigned to their own account and the related conversations, activity, KYC records, transactions, and communication logs. Can update and reply only within those assigned leads. Cannot approve KYC, change integration settings, promote or suspend users, or access another agent's leads.
Bot Simulator
Talk to the 3903 bot as a new lead would, then tell it what to change. Nothing here reaches a real customer.
This uses a copy of the bot with no real phone number. It never reads, changes or answers a real conversation.
Loading...
Bot Manager
Everything that shapes what the chatbot says.
Bots / Accounts
KEYWORD_REPLIES_ENABLED is currently false, so testing or saving a rule here cannot message a customer. Changing that gate requires a reviewed function edit and redeploy, and every active rule would become eligible together. Review the complete list before requesting that change. This is the simplest real version on purpose; a visual drag-and-drop flow builder is a much larger, later phase.
Test a message
Type what a customer might send and see which rule matches. This only checks your rules, it does not message anyone.
| Keyword | Match | Reply | Active | |
|---|---|---|---|---|
| Loading… | ||||
Create Keyword Reply
| Name | Category | Lang | Status | Body | |
|---|---|---|---|---|---|
| Loading… | |||||
Create Template
FOLLOW_UPS_ENABLED is also false. Real sending therefore requires two separately reviewed changes: install and activate the intended schedule, then change and redeploy the function gate. Review every active sequence and its audience before requesting either change.
Test a lead
Pick a status and how long a lead has been sitting in it, to see which follow-ups would fire. This only checks your rules, it does not message anyone.
| Name | When | Message | Active | |
|---|---|---|---|---|
| Loading… | ||||
Create Follow-up
Bulk Send Campaign
Sends an approved template to every matching lead who hasn't messaged in recently and hasn't already gotten this in the last 7 days. Sends from 3903, the number real customers already know.
Quick Actions
BuiltTeam replies every agent sees at the top of their Inbox quick replies (the lightning button, or typing / in the message box), marked Team. Picking one only puts the text in the message box; the agent still reads it and presses send. Agents can use these but only admins can change them.
| Name | Message | |
|---|---|---|
| Loading... | ||
Where replies go
One dial for the whole system. It can only ever be more cautious than the bot's own switches - if those are off, Auto-reply is held at Suggest and nobody is messaged.
Waiting for review
Loading…
AI Configuration
Enable agents and set the provider for the selected bot.
AI_REPLIES_ENABLED, read live from the settings table by the deployed whatsapp-webhook function on every message - a genuine toggle, not a hardcoded constant, since 2026-08-23. Flipping a gate off from the table below takes effect on the very next inbound message, no redeploy needed; flipping one on asks for confirmation first. The live status below is read from what this CRM knows, not guessed.
| Gate | What it controls | State |
|---|
AI Provider
The key the webhook will use for tryAIReply() once AI_REPLIES_ENABLED is flipped on. Saved to this CRM's own settings table only - never sent anywhere else from this screen.
AI Agents
Create agents with their own system prompt and knowledge. Enable and route them from AI Configuration.
| Agent | Knowledge | Status | |
|---|---|---|---|
| Loading… | |||
Create Agent
AI_REPLIES_ENABLED is a live toggle read from settings on every message (not a hardcoded constant), currently on - the deployed webhook genuinely answers real customers with it, confirmed live since 2026-08-19. Turn it off from the "Live reply gates" table in AI Configuration if it ever needs to stop fast; that takes effect on the next inbound message, no redeploy needed. Preview below shows exactly what the AI is being told right now.
Preview what the bot would be told
Assembles a campaign into the exact instructions an AI would receive. This builds the text only, it makes no AI call and sends nothing.
| Campaign | Bot Number | Prompt | Active | |
|---|---|---|---|---|
| Loading… | ||||
Create Training Campaign
Chat Entry
BuiltA floating "chat on WhatsApp" button for badartrader.com (or any other page) - a visitor clicks it and WhatsApp opens with a message already typed in, ready to send. No webhook, no API call, nothing routed through this CRM's backend - the same mechanism as any plain WhatsApp share link, just presented as a real widget instead of a bare URL.
Share this anywhere a plain link works - an Instagram bio, an ad, an email signature.
Paste this once, anywhere in the page's HTML - it mounts a floating button automatically, on any page it's on.
Tracked links
BuiltMake one link for each place you post it - Instagram bio, YouTube, a flyer QR code. Each link's message ends with its own code, so every lead is counted against the place it came from. A lead is counted by their first WhatsApp message only.
| Posted on | Code | Leads | Converted | Last lead | Link |
|---|---|---|---|---|---|
| Loading... | |||||
Appointments
| When | Title | Contact | Owner | Status | |
|---|---|---|---|---|---|
| Loading… | |||||
Book Appointment
Settings
Business defaults are managed here. Sensitive Meta and WhatsApp credentials remain in Meta Integration, and access changes remain in User Manager.
Loading...
Workspace
Applied when an Admin records a new deposit or withdrawal. Existing records keep their original currency.
Lead operations and security
Connected administration
Webhook, phone-number ID and WhatsApp API configuration.
Choose operational alerts and review notification status.
Manage salary setup, commission rules and payroll runs.
Discord alerts
Posts new leads, deposits and conversions into Discord. In Discord: Server Settings > Integrations > Webhooks > New Webhook, pick the channel, then Copy Webhook URL and paste it below. Fill in All alerts for one channel, or the other three for separate channels. Phone numbers and account numbers are never sent.
Loading...
Connect WhatsApp
Manage numbers, sync info, and connection health - real data, checked live against Meta.
Saves a new number for reference. Making it actually send or receive real messages is a separate step (real Meta credentials + a code change) that still needs Muhammad's own laptop, the same way the live +92 371 5773903 line and the +971 52 558 6541 test line were each really connected.
Business Accounts
Meta Integration
Meta Lead Ads and WhatsApp webhook processing run via a Supabase Edge Function.
Settings are saved to the
settings table for reference.
WhatsApp Connection Health
Moved to its own Connect WhatsApp section in the sidebar - it now shows both real numbers - the live +92 371 5773903 production line and the +971 52 558 6541 bot-testing line - not just one.
Meta Lead Ads
WhatsApp Webhook
1. Copy the Webhook URL below and paste it into
Meta Developer App → WhatsApp → Configuration → Webhook URL
2. Set a Verify Token (any secret string), save it here, then paste the same value into Meta.
3. After saving, deploy the Edge Function:
supabase functions deploy whatsapp-webhook --no-verify-jwt4. Set
WHATSAPP_VERIFY_TOKEN + SUPABASE_SERVICE_ROLE_KEY as secrets inSupabase Dashboard → Settings → Edge Functions → Manage secrets
Funnel Results
The funnels side by side, from the same numbers as the Dashboard and the reports.
Loading...
Reports Center
Pick the period once. Every report below uses it, and downloads exactly what it describes.
Automation
Sending via WhatsApp, Twilio (SMS) or SendGrid (email) requires API credentials - rules are stored and fired to console until those are configured. Use {{name}}, {{phone}}, {{status}} as template variables.
| Rule Name | Trigger | Action | Active | |
|---|---|---|---|---|
| No rules yet. Create one below. | ||||
Create Rule
Log Records
Agent Performance
| Agent | Leads Assigned | Converted | Conversion % | Recorded Deposits |
|---|---|---|---|---|
| Loading… | ||||
Live Campaign Funnel
Only the live click-to-WhatsApp campaign - excludes the WhatChimp historical import, which hasn't been contacted yet and would otherwise drown out real activity.
Lead Source Breakdown
WhatChimp Import vs Native CRM
The 5,140 leads bulk-imported from WhatChimp on 24 Aug are kept separate here from leads that came in through the CRM's own live campaign, so the two never get averaged into one misleading number.
WhatChimp Leads by Agent
| Agent | Total | Converted | Lost | Never Dealt | In Progress |
|---|---|---|---|---|---|
| Loading… | |||||
Monthly Trend - New Leads (Last 6 Months)
Financial Summary
Landing Pages
Badar Trader Hub
https://preview--profit-path-crm.lovable.app/
💡 This is your lead capture landing page. Share this link in your Meta ads.
Add New Landing Page
Connect additional landing pages or funnels here.
Guide
What each section of this dashboard is for, and why it matters from where you sit as the owner/admin - running the whole business, not one desk of it. Agents get their own version of this Guide, written for their own day-to-day, not this one copied over.
Dashboard
The whole business at a glance: total/new/converted leads, active agents, recorded client account balances, and pipeline-stage gauges (Conversion Rate, New Lead Share, Qualified Rate, Needs Human Rate) you can slice by time frame (Today / 7 / 30 / 90 days / All Time) to spot trends, not just today's snapshot.
CRM Development Progress
A running build log of the CRM itself - what's shipped, what's underway, what's still open - and the real project history as a set of phases from day one. This exists so you can see what's actually been built without asking; the "Send Update to Badar" button pushes the same content to your WhatsApp on demand.
Action Items With Badar
A shared daily to-do list between you and Muhammad, with a "To-Dos for Tomorrow" view and a performance chart tracking both of you - a missed item only counts against you if it's past due AND has no reason on file, so a genuine explanation is never scored as a failure.
All Leads
Every lead in the system, across every agent - filter by status, agent, or source to check coverage and follow-up discipline across your whole team, not just one desk.
My Team
Every agent, their role, and account status - promote, suspend, or set who's actually in the new-lead rotation. This is a staffing/access control, not a to-do list.
Meta Ads
Live campaign metrics from Meta Ads Manager: impressions, clicks, cost per lead, spend - the marketing spend that's producing every lead everyone else in this CRM is working.
Import Leads
Manually create a single lead, or bulk-import many at once via CSV - the entry point for leads that didn't come in through the connected channels below.
Omnichannel Inbox
Every real WhatsApp, Facebook and Instagram conversation across every agent, ordered by real urgency (a deposit screenshot outranks a "thanks"). As admin this is your oversight view of what's actually happening customer-side right now, not just your own queue.
Bot Manager
Where the bot's system prompt and knowledge notes are managed, and where the live reply gates (AI/Bot/Keyword replies) can be turned on or off for real, immediately, without a redeploy. This is the actual stop button if the bot needs to go quiet fast.
An agent's own number never gets a bot reply
If an agent texts the business number from their own phone (the same one saved as their contact in My Team), the webhook recognizes it as an agent, not a customer, and routes it to a separate path meant only for acknowledging lead-assignment notifications - a plain message like "Hi" is silently ignored there: no lead, no reply, no communications row. If an agent reports "the bot didn't reply to my test," check whether they used their own registered contact number first - it's by design, not a fault.
Manage Subscribers
The list of people who receive trading signals - a real table now, separate from your lead pipeline, since a subscriber isn't necessarily a lead being worked.
Meta Integration
WhatsApp Business API credentials, access tokens, and webhook settings, plus the live connection-health check. This is the backend wiring that everything customer-facing depends on - admin only for exactly that reason.
Socials (Facebook / Instagram / TikTok)
Each connected channel's own real status. Facebook and Instagram are staged the same way as the second WhatsApp number - real messages become real leads, no automated reply goes out yet. TikTok is marked honestly as not built, not hidden or hinted at as ready.
Comm Log
A running log of every communication - WhatsApp, call, email, note - across every lead and every agent. Where Omnichannel Inbox is a live conversation view, this is the audit trail: "did anyone follow up with this person," across the whole team, without opening each lead one by one.
Reports
Aggregated numbers: conversion rate, agent performance, lead source performance, financial summary - the business-level view, not any one lead's story.
Automation
Where automated rule triggers live. Currently a stub, no real sending wired up yet.
Payroll
Agent payroll and commission tracking tied to converted leads - a financial function, admin only by nature.
Broadcast Signal
Where a trading signal gets composed and sent out to subscribers - parked, sending disabled, until a real delivery mechanism is decided.
AI Signals
Automated signal generation. Currently a placeholder, pending a decision on whether to use real technical indicators or human-picked signals.
Notifications
Settings for what alerts fire and to whom - who actually gets pinged when a lead needs attention, across your whole team.
Sites
Public-facing landing pages and domains connected to this CRM.
User Manager
Every admin and agent with access to this CRM - promote, suspend, or check when someone joined. Who can get in at all, not what any one person is doing.
User Permission
A reference for what Admin vs Agent can currently do. Roles themselves are changed from User Manager, not here - there is no separate per-feature toggle yet.
A note on agent access
Agents see only leads assigned to them and the records attached to those leads. CRM Development Progress, Action Items With Badar, Reports, Automation, Payroll, and Settings stay admin-only - the sections that describe running the business, not working an individual lead.
Course Enrollments
Everyone enrolled in a course, physical or online. Use the course filter to see one at a time.
Separate from deposits. Nothing here affects a client's balance, AUM, Reports, payroll or conversion status.
| Customer | Phone | CNIC | City / Country | Experience | Assigned Agent | Link Created By | Submitted | Status | |
|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||
Communication Log
Every conversation note and message, by contact.
Deposit Activity Log
Every step of a deposit verification, end to end - submitted, sent to admin, returned, resent, approved.
Team Overview
Every agent's dashboard side by side. The same figures the agents see on their own, read-only, so there is nothing to log in to.
Loading...
New leads, converted counts and money follow the period you pick. The lines under "Right now" are the position at this moment and do not change with it. Money is shown per currency and never added together. Converted counts every funnel, the same as the funnel boards.
Performance
What each agent actually achieved in the period: how fast they answer new customers, the work they did, and who is still waiting for a reply.
Team Activity
Each agent's day, midnight to midnight Pakistan time: first and last message, customers handled, new leads answered, forms, deposits and conversions. Bot and campaign messages are not counted. Click an agent's name to see the customers they messaged.
Sort My Customers
Converted customers with no program yet, because they paid before the deposit form recorded one. Picking a program here does exactly what "Mark ... Interest" on a customer's record does - it never changes a balance, a deposit or a commission, and nothing is sent to the customer.
Online Course Access
Online Course Batches
| Batch | Status | Start Date | Destination | Converted Customers | Verified | Joined | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Online Course Access Queue
| Customer | Phone | Agent | Batch | Converted At | Access Status | Issued | Verified | Joined | |
|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||
$500 to $5000 Challenge Group
$500 to $5000 Challenge Batches
| Batch | Status | Start Date | Destination | Converted Customers | Verified | Joined | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
$500 to $5000 Challenge Access Queue - customers waiting for Challenge group access
| Customer | Phone | Agent | Batch | Converted At | Access Status | Issued | Verified | Joined | |
|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||
Physical Course Group
Physical Course Batches
| Batch | Status | Start Date | Destination | Converted Customers | Verified | Joined | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Physical Course Access Queue - approved students waiting for Physical Course group access
| Customer | Phone | Agent | Batch | Converted At | Access Status | Issued | Verified | Joined | |
|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||
Payroll (Commission + Weekly & Monthly Bonus)
Salary Setup
| Agent | Base Salary (PKR/month) | Commission Plan (USD) | Incentive Start Date | Incentive End Date |
|---|---|---|---|---|
| Loading agents… | ||||
Current Performance
| Agent | Today conversions | This Week full conversions | Pay Period full conversions |
Commission (USD) per conversion | Weekly Bonus (USD) 20+ full conversions in a week | Monthly Bonus (USD) 70+ full conversions in the month | Base Salary (PKR) | Combined Total (PKR) |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Monthly Conversions by Funnel
| Agent | Physical Course | Online Course | Premium Signalling | $500 to $5000 Challenge | Total |
|---|---|---|---|---|---|
| Loading… | |||||
Weekly Breakdown
Milestone Progress
Payroll History
| Period | Agent | Base (PKR) | Qualifying | Commission (USD) | Total Pay (PKR) | Finalized |
|---|---|---|---|---|---|---|
| No finalized payroll yet. | ||||||
Meta Analytics
Campaign Performance
| Campaign | Impressions | Reach | Clicks | CTR | Spend | Leads | CPL |
|---|---|---|---|---|---|---|---|
| Click "Fetch Data" to load your campaign metrics. | |||||||
Pixel Events
| Event | Total Fires | Unique Users |
|---|---|---|
| Add your Pixel ID in Meta Integration settings to see pixel event data. | ||
Notifications
Choose how your team members are notified when a new lead is assigned to them.
Signal Desk
Record each signal and its result in one place. Whoever posts signals sees only this page and never a subscriber, group or number. Posts cannot be edited or deleted; a correction is a new entry. This step records and prepares the text to post in the Channel; delivery to members is a later phase.
Broadcast Signal
| Time | Signal | Instrument | Entry | TP | SL | Recipients | Outcome |
|---|---|---|---|---|---|---|---|
| No signals sent yet | |||||||
Manage Subscribers
Members of the signalling communities.
Manage Subscribers
| # | Name | Phone | Community | Source | Added | Status | |
|---|---|---|---|---|---|---|---|
| Loading subscribers… | |||||||
Select a subscriber
Click a row to view and edit their details
AI Signal Generator
| Date | Instrument | Type | Entry | TP | SL | R:R | Outcome | Pips |
|---|---|---|---|---|---|---|---|---|
| No signal history yet. Start broadcasting to track accuracy. | ||||||||