Setup Required

Open index.html in a text editor, find the two YOUR_SUPABASE_* placeholders near the bottom, and follow these steps:

  1. Go to supabase.com → create a free account → New Project.
  2. SQL Editor → New Query → paste the contents of supabase/schema.sql → click Run.
  3. Project Settings → API → copy the Project URL and the anon / public key.
  4. In index.html, replace YOUR_SUPABASE_PROJECT_URL and YOUR_SUPABASE_ANON_KEY with those values.
  5. Create your admin user: Authentication → Users → Add User.
    Email + password of your choice.
    User Metadata: {"full_name": "Badar Tanvir", "role": "admin"}
  6. Refresh this page - you should see the login screen.

Keep this file on a private host. Do not commit credentials to a public repository.

Badar Trader CRM

Sign in to continue

Badar Trader CRM

Choose a new password to finish resetting your account

Badar Trader

BADAR TRADER

Lead Management CRM

Dashboard
Pending
Operations ▾
CRM Development Progress
Action Items With Badar
Appointments
Automations
System Errors
Approvals ▾
Deposit Approvals
Deposit Activity Log
Exness & XM Lookup
IB Watch
Omnichannel Inbox
Leads & Sales ▾
Course Enrollments
Online Course Access
Premium Signaling Group Access
$500 to $5000 Challenge Group
Physical Course Group
Funnel Results
All Leads
Import Leads
Team Logs ▾
Communication
Team Overview
Performance
Reports Center
Sort My Customers
Log Records
WhatsApp ▾
Connect WhatsApp
Bot Manager
Bot Simulator
Meta Ads ▾
Meta Integration
Meta Analytics
Socials ▾
Overview
Facebook
Instagram
TikTok
Broadcasts ▾
Signal Desk
AI Signals
Manage Subscribers
Broadcast Signal
Finance ▾
My Team
User Manager
User Permissions
Payroll
Settings ▾
Settings
Guide
Notifications
Sites
BT

Admin · Owner

Dashboard

to
Pending
Everything waiting on an admin, in one place. The red number in the sidebar is how many red boxes are below.

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...

Chatbot replies (your own leads)
Stops the scripted bot, the AI, and keyword replies for leads assigned to you specifically. Other agents are unaffected.
…
My Deposit Reviews
0

Welcome Back, Badar Tanveer

Here's what's happening with your pipeline today.

Total Leads
-
All time
New Today
-
Arrived today
Never Contacted
-
Still at first contact
Converted
-
Paying clients, among leads that arrived in the Time Frame
Active Agents
-
On your team
Client Account Balances
-
Approved deposits only
Funnel details: groups, agents and commissions
Physical Course
-
Verified fees
Online Course
-
Verified fee
Premium Signaling
-
Verified broker deposit
$500 to $5000 Challenge
-
Verified broker deposit
WhatChimp Import vs Native CRM
WhatChimp Import
-
-
Native CRM
-
-
Follow-ups
Overdue & next 7 days
Loading…
Pipeline Overview
Lead Growth (30 days) - new leads
Meta Ads Results
Loading campaign metrics…
to
Impressions
--
Reach
--
Frequency
--
CPM
--
Ad Spend
--
Engagement & Leads
Clicks (all)
--
Link Clicks
--
CTR
--
Leads (WhatsApp opens)
--
CRM Leads Created
--
Cost per Lead
--
Messaging Replies
--
Ad Account: act_1024848662493589
Payroll (Commission + Weekly & Monthly Bonus)
Counts commission conversions only. Every funnel earns at its own rate - the full plan is at the bottom of this card. A customer who converts in two funnels counts in each board above but is credited to an agent once, so these figures are lower.
Loading…

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.

Loading…

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 0

The live queue plus every past verification outcome. Deposit Activity Log remains the broader audit trail.

Loading…

Find a Lead's Agent

Searches every lead in the CRM and shows who it is assigned to and which funnel it is in. Another agent's customer's phone and email are partly hidden.

Duplicate customers - final decision

Each case asks one question: is the new contact the same person as a customer we already have? The agent looks first and sends their answer here. Yes merges them (and moves any deposits), and the customer stays with their original agent. No keeps them as two separate records. Only admins and super admins make this final decision.

Loading…

Reported by agents

An agent thinks this customer already exists under another record. Their report changes nothing on its own.

Loading…

System Errors 0

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.

What's been built, what's in progress, and what's still open - read-only, changes nothing

🗺️ How We Got Here

✅ Recently Completed

🔄 In Progress

📋 Upcoming / Awaiting Decision

Action Items With Badar

A shared to-do list between Muhammad and Badar.

A shared to-do list between Muhammad and Badar - a reasonable explanation always counts, a silent miss doesn't.

Add an Action Item

To-Dos for Tomorrow

All Open Items

Performance - Last 14 Days

Completion rate per day: done, or explained with a reason, both count as on-track. Only a past-due item with neither counts against the rate.

All Leads

Every customer, one row each. Search, filter and open any lead.

Journey:

Add Lead

NamePhoneSource / Campaign StatusAssigned ToAdded
Loading…

Import Leads

Add leads one by one or import a list.

📄 Import from CSV

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
Needs action
💬
Select a conversation
Click on a lead to view their messages

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)
To add a new agent: Supabase Dashboard, Authentication, Users, Add User. Enter the agent's email and a temporary password, leave User Metadata as {} (defaults to Agent). They appear here once they sign in.
NameEmailWhatsAppRoleJoinedStatusActions
Loading…

Round-Robin Assignment

Loading…

User Manager

Every admin and agent with access to this CRM. Same data as My Team, shown here as its own section to match how the rest of your tools are organised.
NameEmailWhatsAppRoleJoinedStatusActions
Loading...

User Permission

What each role can currently do in this CRM. Roles are set from User Manager (the "Make Admin / Make Agent" button on each row) - there is no separate per-feature toggle yet, that is a planned next step, not built today.

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.

Test it like a customer
Type a message below, or pick one above.

This uses a copy of the bot with no real phone number. It never reads, changes or answers a real conversation.

Tell it what to change
Change history

Loading...

Bot Manager

Everything that shapes what the chatbot says.

Everything that shapes what the bot says now lives here, grouped the way WhatChimp groups it: pick a bot on the left, then work through Automation, Data Collection, AI, Engagement, Commerce and Integrations. Sections backed by a real feature in this CRM are marked Built and save to the database. Existing CRM destinations are marked Available in CRM. Genuine gaps are marked Not built yet, while features that do not fit Badar Trader are marked Not planned instead of being left as confusing empty screens.

Bots / Accounts

💬
No bot selected
-
Active
Keyword replies: pick a trigger word and the reply to send. Saving here is real and persists to the database. The deployed WhatsApp webhook reads these rules, but live keyword replies are paused. 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.

KeywordMatchReplyActive
Loading…

Create Keyword Reply

WhatsApp only allows free-form replies within 24 hours of a customer's last message. After that, only a template Meta has approved can be sent. This is the CRM's record of your template copy and where each one sits in Meta's review. Nothing here is submitted to Meta automatically - templates are created and approved in WhatsApp Manager, and the status below is set by hand until that API is wired up. Both Follow-ups and Broadcast Signal need an approved template before they can reach anyone outside the 24 hour window.
NameCategoryLangStatusBody
Loading…

Create Template

The header must match what Meta approved for this template - it cannot be added or changed at send time. Meta re-fetches the URL as it sends, so on a campaign of several thousand it is worth uploading the media to Meta once and pasting its media id here instead; that is used in preference to the URL. Media ids are tied to the sending number and expire, so keep the URL filled in as the fallback.
A follow-up says: when a lead has sat in a given status for this many hours without moving, send them this message. Saving here is real and persists to the database. Nothing is sent today. The sender function exists and the repository contains a prepared scheduler definition, but the production database currently has no cron job, and 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.

NameWhenMessageActive
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

Built

Team 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.

NameMessage
Loading...
Every suggestion below is a real reply a real agent actually sent, in a conversation that actually converted. Nothing here is written by the AI, so it cannot invent a promise about money or a fact nobody at Badar Trader has ever said. It can only repeat what already worked. Approve what is good, reject what is not - only approved lines are ever used.

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 Agent
Turn on AI agents to start answering with your training data.
This toggle records intent - the real switch is the table below. Whether a real customer gets an AI reply is decided by 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.
Live reply gates (deployed webhook)
GateWhat it controlsState

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.

An agent is one named personality: its own system prompt, its own knowledge, its own on/off state. WhatChimp allows only one agent on the current AI setup, and this mirrors that. Agents save to the database, and like everything else in this section they do not answer a real customer until the webhook gate is flipped and deployed.

AI Agents

Create agents with their own system prompt and knowledge. Enable and route them from AI Configuration.

AgentKnowledgeStatus
Loading…

Create Agent

This stores AI training material: a system prompt plus knowledge notes, per bot number. Saving here is real and persists to the database. 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.

CampaignBot NumberPromptActive
Loading…

Create Training Campaign

Chat Entry

Built

A 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.

Direct link

Share this anywhere a plain link works - an Instagram bio, an ad, an email signature.

Embed on badartrader.com

Paste this once, anywhere in the page's HTML - it mounts a floating button automatically, on any page it's on.

Tracked links

Built

Make 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 onCodeLeadsConvertedLast leadLink
Loading...

Appointments

0
Today
0
Upcoming
0
Overdue
0
Completed
WhenTitleContactOwnerStatus
Loading…

Book Appointment

Settings

Central CRM administration.
Business defaults are managed here. Sensitive Meta and WhatsApp credentials remain in Meta Integration, and access changes remain in User Manager.
Switches at a glance

Loading...

Workspace

Applied when an Admin records a new deposit or withdrawal. Existing records keep their original currency.

Lead operations and security

Agent lead visibility
Assigned leads only
Enforced by database access policies for leads and their related records.
Enforced
New-lead status
New
Every newly captured lead begins in the New stage.
WhatsApp reply window
24-hour customer-service window
Free-form replies are blocked outside Meta's window; approved templates are required.
Protected

Connected administration

Messaging & Meta

Webhook, phone-number ID and WhatsApp API configuration.

Notifications

Choose operational alerts and review notification status.

Payroll & commissions

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.

Business Accounts
1
Trade Campus
Phone Numbers
-
Across all connected accounts
Expiring Soon
0
Not tracked yet - System User tokens don't expire the same way
Disconnected
-
Based on the last check below
Connect Another WhatsApp Business Account

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.

Add Phone Number (reference only)

Business Accounts

Loading…

Meta Integration

⚠️ These fields are placeholders.
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

Setup instructions:
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-jwt
4. Set WHATSAPP_VERIFY_TOKEN + SUPABASE_SERVICE_ROLE_KEY as secrets in
   Supabase 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.

Social Channels

Instagram, Facebook and TikTok messages arrive in the same Inbox as WhatsApp and follow the same rules.

Last 7 days, by channel

Loading...

How it works
  • Agents see social leads in their own Inbox with a channel tag and reply as on WhatsApp.
  • Admins see connection health, message counts and who is waiting, per channel.
  • Super admin connects a channel with one Allow click on the platform's own page, then rotates keys.
  • Same rules everywhere: fair rotation, the agent on/off switch, the duplicate check and funnel reports.

Facebook Integration

Checking status…
Messenger connection check

Asks Meta, read-only, whether the Facebook Page is wired to the CRM, and says which step is missing. It changes nothing.

Overview

Messages Received
–
All time
Leads Created
–
From this channel
Configuration
–
Webhook status

Connection Settings

Real Facebook Messenger and Instagram DM ingest - staged, the same way the live +92 371 5773903 WhatsApp line is connected: real messages become real leads, visible in the Omnichannel Inbox, but no automated reply goes out on either channel yet. Turning on automated replies is a separate, later, deliberate decision. One webhook serves both channels, so this is the one place to configure it - Instagram's own tab shows its status read-only.

Instagram Business Login (bypasses the broken tester dialog)

Meta's own "Add an Instagram account" tester dialog is a confirmed platform bug - other developers report the identical "Form can't be saved" error going back to February, never fixed. This button starts Instagram's own Business Login instead: you log into Instagram directly and authorize the app, which both connects the account and subscribes it to send its DMs here - no tester invite needed at all.

Needs two things set up first (in Meta's app dashboard, not here): INSTAGRAM_APP_SECRET as a Supabase secret, and this exact URL registered as an OAuth redirect URI under the Instagram product's Business Login settings: https://vfskqzgphrunjxquqpks.supabase.co/functions/v1/instagram-oauth-callback

Connect Instagram Account

What's Actually Built

  • Ingest - real Messenger messages become real leads (identified by their platform id, not a phone number), round-robin assigned like any other lead.
  • Inbox visibility - these conversations show in Omnichannel Inbox with a small channel badge.
  • Automated replies - not built. No scripted flow, no keyword rules, no AI exist for this channel at all yet - that's a separate, later decision.
  • Bot Manager / Subscriber Manager / Broadcasting / Comment Automation - not started, each is its own project.

Instagram Integration

Checking status…

Inbound Messages

Checking… New Instagram DMs becoming leads

Reading the live setting…

Overview

Messages Received
–
All time
Leads Created
–
From this channel
Configuration
–
Webhook status

Connect Instagram

Meta's own "Add an Instagram account" tester dialog is a confirmed platform bug - other developers report the identical "Form can't be saved" error going back to February, never fixed. This button starts Instagram's own Business Login instead: you log into Instagram directly and authorize the app, which both connects the account and subscribes it to send its DMs here - no tester invite needed at all.

Connect Instagram Account
Instagram shares one webhook connection with Facebook Messenger under the hood, so the Page ID and Instagram Business Account ID are configured on the Facebook tab - but the Connect button itself is right here too, and does the same thing either way.

What's Actually Built

  • Ingest - real Instagram DMs become real leads (identified by their platform id, not a phone number), round-robin assigned like any other lead.
  • Inbox visibility - these conversations show in Omnichannel Inbox with a small channel badge.
  • Automated replies - not built. No scripted flow, no keyword rules, no AI exist for this channel at all yet - that's a separate, later decision.
  • Subscriber Manager / Comment Automation - not started, each is its own project.

TikTok Integration

Checking status…

Overview

Ad Leads
–
From TikTok ads
DMs Received
–
All time
DM Leads
–
From TikTok DMs
DM Connection
–
 

TikTok Ad Link

Use this as the destination link of every TikTok ad. It opens WhatsApp on +92 371 5773903 with a message that names TikTok, and the CRM tags that new lead as TikTok automatically.

A customer who deletes the prefilled text before sending is tagged Meta Ads, the default, because nothing else in a WhatsApp message says where they came from.

TikTok DM Connection

Put this Redirect URL into the TikTok developer app, then paste the app's authorisation link below and click Connect TikTok. Badar logs in to TikTok and clicks Authorize himself. The message webhook registers itself when he does.

Automation

⚡ Automation rules trigger actions when events occur.
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.
Active Rules
Rule NameTriggerActionActive
No rules yet. Create one below.

Create Rule

This agent will be auto-assigned when the trigger fires.

Log Records

Converted Leads Sheet
Approved conversions sync automatically
Loading…
Total Leads
-
All time
Conversion Rate
-
Leads → Clients
Active Clients
-
Converted leads
Recorded Deposits
-
From transaction records

Agent Performance

AgentLeads AssignedConvertedConversion %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 Import - Total
-
Imported 24 Aug
WhatChimp Import - Conversion Rate
-
-
Native CRM - Total
-
Live campaign leads
Native CRM - Conversion Rate
-
-

WhatChimp Leads by Agent

AgentTotalConvertedLostNever DealtIn Progress
Loading…

Monthly Trend - New Leads (Last 6 Months)

Financial Summary

Loading…

Landing Pages

Badar Trader Hub

https://preview--profit-path-crm.lovable.app/

Open Page ↗
🌐

Live preview not available

Publish your project in Lovable to get a public URL, then update this link to show the live preview.

Open Page ↗

💡 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.

Course Enrollments

Separate from deposits. Nothing here affects a client's balance, AUM, Reports, payroll or conversion status.

CustomerPhoneEmailCNICCity / Country ExperienceAssigned AgentLink Created BySubmittedStatus
Loading…

Communication Log

Every conversation note and message, by contact.

Contact
Channel
Lead status

Add Interaction Note

Loading…

Deposit Activity Log

Every step of a deposit verification, end to end - submitted, sent to admin, returned, resent, approved.

Loading…

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.

Loading…

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.

Loading…

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.

Loading…

Online Course Access

Online Course Batches

BatchStatusStart DateDestination Converted CustomersVerifiedJoined
Loading…

Online Course Access Queue

Show:
CustomerPhoneAgentBatch Converted AtAccess StatusIssuedVerifiedJoined
Loading…

Premium Signaling Group Access

Premium Signaling Group Batches

BatchStatusStart DateDestination Converted CustomersVerifiedJoined
Loading…

Premium Signaling Group Access Queue - customers waiting for Premium Signaling Group access

Show:
CustomerPhoneAgentBatch Converted AtAccess StatusIssuedVerifiedJoined
Loading…

$500 to $5000 Challenge Group

$500 to $5000 Challenge Batches

BatchStatusStart DateDestination Converted CustomersVerifiedJoined
Loading…

$500 to $5000 Challenge Access Queue - customers waiting for Challenge group access

Show:
CustomerPhoneAgentBatch Converted AtAccess StatusIssuedVerifiedJoined
Loading…

Physical Course Group

Physical Course Batches

BatchStatusStart DateDestination Converted CustomersVerifiedJoined
Loading…

Physical Course Access Queue - approved students waiting for Physical Course group access

Show:
CustomerPhoneAgentBatch Converted AtAccess StatusIssuedVerifiedJoined
Loading…

Payroll (Commission + Weekly & Monthly Bonus)

Commission & Incentive Plan
Loading…

Salary Setup

AgentBase Salary (PKR/month)Commission Plan (USD)Incentive Start DateIncentive End Date
Loading agents…
Used only to convert each agent's USD commission into PKR for the combined total - base salary and commission are shown separately either way.
- Asia/Karachi

Current Performance

AgentToday
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

AgentPhysical CourseOnline CoursePremium Signalling$500 to $5000 ChallengeTotal
Loading…

Weekly Breakdown

-
Agent:
Loading…

Milestone Progress

Loading…

Payroll History

PeriodAgentBase (PKR)Qualifying Commission (USD)Total Pay (PKR)Finalized
No finalized payroll yet.

Meta Analytics

Checking credentials…
Open Ads Manager ↗
Total Spend
-
Impressions
-
Clicks
-
Leads
-
Avg CTR
-
Cost per Lead
-
Cost per Click
-

Campaign Performance

Campaign ImpressionsReachClicks CTRSpendLeadsCPL
Click "Fetch Data" to load your campaign metrics.

Pixel Events

EventTotal FiresUnique Users
Add your Pixel ID in Meta Integration settings to see pixel event data.

Notifications

Notification Settings

Choose how your team members are notified when a new lead is assigned to them.

Notification Channel
⚠️ Pending decision: Awaiting confirmation on notification method before this is activated. Configure your WhatsApp number in first.

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.

Loading...

Broadcast Signal

Connected to real subscribers, but sending is switched off. Target group, recipient counts and signal history below are all real. Pressing Send calls a real server-side function that messages each active subscriber's personal WhatsApp number individually (Cloud API cannot post into WhatsApp Communities at all, so this is the only way a "broadcast" can work), but that function ships with sending disabled until an admin deliberately turns it on - most subscribers are outside Meta's 24 hour customer-service window, so an approved message template is very likely needed first (see the Message Templates tab).
Signal Desk - verified signals & IB Revenue Radar DEMO PREVIEW (click to collapse)
0
Total Subscribers
0
Active (sendable)
0
Communities
0
Broadcasts Sent
Signal History & Accuracy
TimeSignalInstrumentEntryTPSLRecipientsOutcome
No signals sent yet

Manage Subscribers

Members of the signalling communities.

Subscribers are members of the signalling communities - primarily the Premium Signalling Group - not every WhatsApp contact. Anyone who has simply messaged the WhatsApp number is a Lead instead (see All Leads, filterable by Source = WhatsApp / WhatChimp Import); this list is only people actually in a signal community. Everything here saves to the database for real: adds, edits, removals and CSV imports all persist. A subscriber starts as Pending when they come from the signup form, and becomes Active once you confirm they are actually in the community. Note WhatsApp's Cloud API cannot post into Communities, so this list is a record of membership, not a send list.

Manage Subscribers

0
Total Subscribers
0
Active
0
Pending Confirmation
0
Communities

Add Subscriber

#NamePhoneCommunity SourceAddedStatus
Loading subscribers…
👤
Select a subscriber
Click a row to view and edit their details

AI Signal Generator

Real technical analysis, not demo data. Pattern, trend and confidence are computed from real historical price data (SMA crossover, RSI, 20-period breakout/breakdown) - not picked from a fixed list. BTCUSD and XAUUSD use real Binance candles (XAUUSD via PAXG, a gold-backed token, since no free intraday gold feed with browser access exists). EURUSD/GBPUSD/USDJPY use real ECB daily rates - daily closes only, no free intraday FX feed is available either. It is normal for "Generate Signal" to sometimes return no clear signal - that is a real result, not a bug, when price is range-bound. Win rate and signal history stay empty until signals are actually broadcast and their outcomes tracked, which is not built yet.
-
Overall TP Hit Rate
0
Signals Broadcast
0
Pending Outcome
AI Parameters
Generated Signal
Confidence: -
Pattern
-
R:R Ratio
-
Trend
-
Session
-
⚠️ Disclaimer: Signals are generated from real historical price data using standard technical indicators (SMA crossover, RSI, breakout detection), not a licensed analyst. Always conduct your own analysis before broadcasting to subscribers. Badar Trader is not liable for trading decisions made based on these suggestions.
Signal Accuracy Tracker
DateInstrumentTypeEntryTPSLR:ROutcomePips
No signal history yet. Start broadcasting to track accuracy.
Badar Trader

BADAR TRADER

Lead Management CRM

MAIN
Dashboard
Pending
My Leads
Courses
Deposit Verification
Broker Check
IB Watch
Quick Review
TOOLS
Omnichannel Inbox
Comm Log
Deposit Activity Log
My Performance
My Reports
Sort My Customers
Log Activity
Signal Desk
Guide
A

Agent

Dashboard

Pending
Everything flagged for you. The red number in the sidebar is how many red boxes are below.

Waiting on you now

All clear

My Dashboard

What is happening with your leads. It shows all time until you choose a period from the menu on the right.

Loading...

My referral link

Send this link to anyone you refer. When they open it and send the message, they come straight to you, not through the rotation. It only works for people who are not in the CRM yet.

Loading...

Chatbot replies (your leads)
Stops the scripted bot, the AI, and keyword replies on leads assigned to you. Other agents are unaffected.
…

Welcome Back, Agent

Here's what's happening with your leads today.

My Leads
-
All time
New Today
-
Arrived today
Never Contacted
-
Still at first contact
Converted
-
Paying clients
Verified Course Fees
-
Online and Physical Course
Approved Deposits
-
From your converted clients
My funnel details
Physical Course
-
Your verified fees
Online Course
-
Verified fee
Premium Signaling
-
Verified broker deposit
$500 to $5000 Challenge
-
Verified broker deposit
🏆
My Payroll (Commission + Weekly & Monthly Bonus)
Counts commission conversions only. Every funnel earns at its own rate - the full plan is at the bottom of this card. A customer who converts in two funnels counts in each board above but is credited to you once, so these figures are lower.
Loading…
Your WhatChimp Leads vs Your Native CRM Leads
From WhatChimp
-
-
From Badar Trader CRM
-
-
My Leads
View your pipeline
Open Inbox
Your conversations
Log Activity
Record a call or note
Guide
How this CRM works
Follow-ups
Overdue & next 7 days
Loading…
-
My Conversion Rate
-
Still In Pipeline
My Performance
Leads AssignedConvertedConversion %Approved Deposits
Loading…
My Pipeline
My Lead Growth (30 days)
-

Quick Review

Find whose lead a customer is, and answer possible duplicate customers.

Find a Lead's Agent

Searches every lead in the CRM and shows who it is assigned to and which funnel it is in. Another agent's customer's phone and email are partly hidden.

Quick Review

Possible duplicates involving your customers. Compare the two records, check with Exness if you need to, then answer Same person or Different people. Your answer goes to admin for the final decision - nothing is merged or moved from here.

Loading…

IB Watch

Your converted customers whose Exness or XM account needs attention: left Badar's IB, account not found, or balance below the threshold. An admin decides whether they stay in the community; talk to the customer first.

Loading…

Broker Check

Check whether a customer's Exness or XM account is under Badar's IB before you trust a screenshot.

Exness Lookup

Check whether an account is under Badar's IB before you trust a deposit screenshot. For your own customers you also see their status, KYC and first-deposit progress at Exness; balance, equity and deposits are admin-only. Read-only: nothing is approved or changed.

XM Lookup

Check whether an XM account is under Badar's XM partner account. XM reports no deposit or balance, so the amount still comes from the screenshot. Read-only.

Recent submissions

Deposit submissions that name an Exness or XM account (your own customers only). Rows without a customer name or phone are left out. Check runs the lookup above.

Loading…

If it says a different partner account

That account was opened under somebody else's IB. It earns nothing and must not unlock a group, and it looks identical to a good one on the screenshot. Do not approve it yourself: send it to an admin.

Deposit Verification 0

Your own deposit submissions: what needs you now, what is with admin, and everything already decided.

Loading…

My Leads

Your customers, one row each. Search, filter and open any lead.

Source:
Status:
Journey:

Add Lead

This lead will be assigned to you, and will start as a new lead with no balance.

NamePhoneSource StatusCampaignAdded
Loading…
Chatbot replies (your leads) …
Stages and more filters
Needs action
💬
Select a conversation
Click on a lead to view their messages

Course Enrollments

Your customers enrolled in a course, physical or online.

Course Enrollments

Separate from deposits. Nothing here affects a client's balance, AUM, Reports, payroll or conversion status.

CustomerPhoneEmailCNICCity / Country ExperienceAssigned AgentLink Created BySubmittedStatus
Loading…

Communication Log

Your conversation notes and messages, by contact.

Contact
Channel
Lead status

Add Interaction Note

Loading…

My Performance

What you achieved in the period: how fast you answer new customers, the work you did, and who is still waiting for a reply from you.

Loading…

My Reports

Download your own numbers for any period.

Sort My Customers

Your converted customers with no program yet, because they paid before the deposit form recorded one. Picking a program does exactly what "Mark ... Interest" on their record does - it never changes a balance, a deposit or a commission, and nothing is sent to them.

Loading…

Deposit Activity Log

Every step of a deposit verification, end to end - submitted, sent to admin, returned, resent, approved.

Loading…

Log Activity

Record calls, notes and follow-ups for your customers.

Record each signal and its result. You see only your own signals. Posts cannot be edited or deleted; a correction is a new entry.

Loading...

Guide

What each section of your dashboard is for, and why it matters for your own day-to-day - working your assigned leads, not running the business. Admins see a fuller version of this Guide, written for their own view of things.

Dashboard

Your home screen: quick stats on your own leads and recent activity - a check-in on your own workload, not the whole team's.

My Leads

Only the leads assigned to you. Open one here to see its full record and history - this is your actual worklist, the thing to check first each day.

Omnichannel Inbox

The real WhatsApp (and, where connected, Facebook/Instagram) chat interface for your own assigned conversations, ordered so the ones that need you most - a deposit screenshot, an explicit request for a human - surface first, not just whoever messaged most recently.

Comm Log

A running log of communications for your own assigned leads only - a quick way to check "did I already follow up with this person" without opening each lead one by one.

Log Activity

Record a call, WhatsApp message, email, or note against one of your own leads, with an optional follow-up date - this is how your own manual work (not the bot's) gets tracked at all.

Don't test the bot from your own phone

If your personal WhatsApp number is saved as your contact number in My Team, the bot will never reply to it - texting it anything, including a plain "Hi", gets silently ignored. This is deliberate: that number is reserved for you to receive and acknowledge lead-assignment notifications, not to be treated as a customer. To see what a real customer experiences, text the business number from a phone that isn't registered to any agent's profile.

Not shown here

CRM Development Progress, Action Items With Badar, Reports, Automation, Payroll, and Settings stay admin-only - those describe running the business as a whole, not working your own leads.