WealthHub is your personal financial command centre — powered by expert human advisory and AI intelligence. Track your portfolio, get instant answers, raise queries and stay on top of your financial journey — all in one secure place.
Instant answers on SIP, insurance, tax, markets & more — 24/7, in plain language
Track your mutual funds, SIP status, NAV and returns in real time
Raise queries, track status and get responses from Sanjeev sir directly
SIP calculator, tax planner, retirement calculator, articles and guides
"Wealth is not built by chance — it is built by guidance, discipline, and the right advisor."
— Sanjeev Kumar Sharma, Founder MD & CEO
Enter your registered mobile number. Our team will send you a one-time password on WhatsApp to verify your identity.
Share your details below. Sanjeev sir will personally connect with you on WhatsApp to understand your financial goals and get you onboarded into WealthHub.
d.innerHTML=html.split('\n').join('
')+'
'; body.appendChild(d);══════════════════════════════════════════════════ // INTEGRATO WEALTHHUB — COMPLETE CLIENT CRM v3 // Upload to: /public_html/client-crm/index.php // ══════════════════════════════════════════════════════════════ date_default_timezone_set('Asia/Kolkata'); session_start(); header('Cache-Control: no-store, no-cache, must-revalidate'); error_reporting(0); require_once dirname(__DIR__) . '/crm/config.php'; define('AI_KEY', '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'); // ── DB helpers ──────────────────────────────────────────────── function crmdb() { static $pdo; if ($pdo) return $pdo; $pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8mb4', DB_USER, DB_PASS, array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE=>PDO::FETCH_ASSOC)); return $pdo; } function q($sql, $p=array()){$s=crmdb()->prepare($sql);$s->execute($p);return $s;} function qone($sql,$p=array()){return q($sql,$p)->fetch();} function qall($sql,$p=array()){return q($sql,$p)->fetchAll();} function qval($sql,$p=array()){return q($sql,$p)->fetchColumn();} // ── Auto-create enquiries table ─────────────────────────────── try { crmdb()->exec("CREATE TABLE IF NOT EXISTS crm_enquiries ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(120) NOT NULL, mobile VARCHAR(15) NOT NULL, email VARCHAR(120), interest VARCHAR(80), message TEXT, city VARCHAR(80), source VARCHAR(50) DEFAULT 'wealthhub', status ENUM('new','contacted','converted','not_interested') DEFAULT 'new', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, INDEX(mobile), INDEX(status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4"); } catch(Exception $e){} // ── Telegram ────────────────────────────────────────────────── function tg($msg) { if (!defined('TELEGRAM_BOT_TOKEN') || !TELEGRAM_BOT_TOKEN) return; @file_get_contents('https://api.telegram.org/bot'.TELEGRAM_BOT_TOKEN.'/sendMessage?chat_id='.TELEGRAM_CHAT_ID.'&text='.urlencode($msg).'&parse_mode=Markdown'); } // ── Claude AI ───────────────────────────────────────────────── function askAI($msg, $history=array(), $ctx=array()) { $ctxStr = !empty($ctx['name']) ? "\n\nCLIENT: ".$ctx['name']." | Risk: ".($ctx['risk_profile']??'moderate')." | KYC: ".($ctx['kyc_status']??'pending') : ''; $parts = array( "You are Artha, AI Financial Relationship Manager for Integrato Financial Services, Greater Noida West. Warm, expert, practical. Like a trusted senior financial advisor.", "FORMATTING: Never use ## headings. Use **bold** for key terms. Bullet points for lists. Short paragraphs 2-3 sentences. End with a practical tip or next step.", "ABOUT INTEGRATO: Founded 2017 by Sanjeev Kumar Sharma. AMFI Registered MFD (ARN Holder), IRDAI Licensed Insurance Advisor, 6 NISM Certifications, SIF Certified. 1500+ families. Sessions from Rs.2999 (60 min) for insurance advisory (IRDAI-licensed), financial education & document preparation — not for MF distribution advice. MF commissions are AMFI-regulated trail commissions paid by AMCs. Phone: +91-9599181681. Email: hello@integrato.in. Platform: Fundzabazar.", "MUTUAL FUNDS: SIP = monthly auto-debit, Rs.10000/month at 12% CAGR = Rs.1 crore in 20 years. ELSS = tax saving + equity, 3yr lock-in, best 80C option. Direct plans: 0.5-1% higher returns than regular. NAV = price per unit. Fund types: Large cap (stable 10-12%), Mid cap (growth 12-15%), Small cap (high risk/reward 7yr+), Flexi cap (diversified), Debt (low risk, better than FD post-tax for 3yr+), Index funds (low cost 0.1% expense ratio). SWP = withdrawal plan for retirement income. STP = stagger lumpsum into equity.", "INSURANCE: Term = pure life cover 10-15x annual income. Rs.1Cr term costs Rs.8000-15000/year for 30yr old. Health insurance = Rs.5-10L individual, Rs.10-25L family floater, check cashless, no co-pay, restoration benefit. ULIP = high charges first 5 years, not recommended for pure investment. Check claim settlement ratio (HDFC Life, ICICI Pru, Max Life all 95%+ CSR).", "TAX: 80C limit Rs.1.5L — ELSS (best), PPF, NPS, NSC, 5yr FD. 80D — health insurance Rs.25K self, Rs.50K senior parents. 80CCD(1B) — NPS extra Rs.50K. LTCG equity >Rs.1L taxed at 10% (held >1yr). STCG 15%. New tax regime default FY25-26 — better if deductions under Rs.3.75L.", "RETIREMENT: Corpus = monthly expense x 12 x 25. Rs.50K expenses = Rs.1.5Cr needed. NPS: 60% lumpsum (40% tax-free), 40% annuity. PPF: 7.1% tax-free, 15yr lock-in. Rule of 72: at 12% = 6 years to double money.", "MARKETS: Sensex started at 100 in 1979, now 75000+. PE >25 = expensive, <20 = good value. SIP in bear market = buy more units at lower NAV. Never stop SIP in crash — that is when you accumulate most. India GDP 6-7% growth = strong long-term equity case.", "GOAL FRAMEWORK: Emergency fund first (3-6 months in liquid fund). Then adequate insurance. Then invest. Short-term <3yr = debt/FD. Medium 3-7yr = hybrid. Long-term >7yr = equity. 100 minus age = equity %. Step-up SIP 10% per year dramatically boosts corpus.", "COMMON OBJECTIONS: Market high = SIP averages cost, time IN market beats timing. Already have LIC = endowment gives low coverage, need separate term plan. FD safer = FD 6-7% post-tax 4-5%, inflation 5-6% = negative real return for 3yr+ goals. Lost in stocks = direct stocks vs MF very different, MF diversified and professionally managed. Cant afford much = start Rs.500/month SIP, habit > amount.", "ESCALATE for: specific fund picks, policy surrender, portfolio review, KYC issues, complaints, anything needing Sanjeev sir personally. Say: 'Let me raise a support ticket for Sanjeev sir.'".$ctxStr ); $system = implode("\n\n", $parts); $msgs = array(); foreach($history as $h) $msgs[] = array('role'=>($h['sender']==='client'?'user':'assistant'),'content'=>$h['message']); $msgs[] = array('role'=>'user','content'=>$msg); $ch = curl_init('https://api.anthropic.com/v1/messages'); curl_setopt_array($ch, array(CURLOPT_POST=>true,CURLOPT_RETURNTRANSFER=>true,CURLOPT_TIMEOUT=>30, CURLOPT_HTTPHEADER=>array('Content-Type: application/json','x-api-key: '.AI_KEY,'anthropic-version: 2023-06-01'), CURLOPT_POSTFIELDS=>json_encode(array('model'=>'claude-haiku-4-5','max_tokens'=>600,'system'=>$system,'messages'=>$msgs)))); $r=curl_exec($ch);curl_close($ch); $d=json_decode($r,true); return isset($d['content'][0]['text'])?$d['content'][0]['text']:'I apologize, I could not process that. Please contact us at +91-9599181681.'; } function genTicket(){return 'INT-'.strtoupper(substr(md5(uniqid()),0,6));} // ── Session timeout ─────────────────────────────────────────── if (!empty($_SESSION['crm_client_id'])) { if ((time()-($_SESSION['crm_last_activity']??time()))>1800){session_unset();session_destroy();header('Location: ?');exit;} $_SESSION['crm_last_activity']=time(); } if(isset($_GET['logout'])){session_unset();session_destroy();header('Location: ?');exit;} $clientId=(int)($_SESSION['crm_client_id']??0); $clientData=array(); if($clientId){ $clientData=qone("SELECT * FROM crm_clients WHERE id=?",array($clientId)); if(!$clientData){session_unset();session_destroy();$clientId=0;$clientData=array();} } $isLoggedIn=$clientId>0; // ── Admin ───────────────────────────────────────────────────── if(!empty($_POST['admin_login'])){ $pass=defined('ADMIN_PANEL_PASS')?ADMIN_PANEL_PASS:'Integrato@2024'; if(($_POST['admin_pass']??'')===$pass){$_SESSION['crm_admin']=true;header('Location: ?admin=1');exit;} } $isAdmin=!empty($_SESSION['crm_admin']); $showAdmin=isset($_GET['admin'])&&$isAdmin; // ── Profile update ──────────────────────────────────────────── $profileSaved=false; if($isLoggedIn&&$_SERVER['REQUEST_METHOD']==='POST'&&isset($_POST['update_profile'])){ try{crmdb()->exec("ALTER TABLE crm_clients ADD COLUMN IF NOT EXISTS extra_profile LONGTEXT DEFAULT NULL");}catch(Exception $e){} $name=trim($_POST['name']??'');$email=trim($_POST['email']??'');$city=trim($_POST['city']??''); $occ=trim($_POST['occupation']??'');$dob=$_POST['dob']??'';$pan=strtoupper(trim($_POST['pan']??''));$risk=$_POST['risk_profile']??'moderate'; $extra=array_filter(array('address'=>trim($_POST['address']??''),'pincode'=>trim($_POST['pincode']??''),'state'=>$_POST['state']??'','gender'=>$_POST['gender']??'','marital_status'=>$_POST['marital_status']??'','annual_income'=>$_POST['annual_income']??'','income_source'=>$_POST['income_source']??'','employer'=>trim($_POST['employer']??''),'existing_mf'=>trim($_POST['existing_mf']??''),'existing_insurance'=>trim($_POST['existing_insurance']??''),'existing_sip'=>trim($_POST['existing_sip']??''),'investment_goal'=>$_POST['investment_goal']??'','goal_amount'=>trim($_POST['goal_amount']??''),'goal_years'=>$_POST['goal_years']??'','retirement_age'=>$_POST['retirement_age']??'','dependents'=>trim($_POST['dependents']??''),'home_loan'=>$_POST['home_loan']??'','tax_regime'=>$_POST['tax_regime']??'','nominee_name'=>trim($_POST['nominee_name']??''),'nominee_relation'=>$_POST['nominee_relation']??'','demat_account'=>trim($_POST['demat_account']??''),'fundzabazar_id'=>trim($_POST['fundzabazar_id']??''),'preferred_contact'=>$_POST['preferred_contact']??'','preferred_time'=>$_POST['preferred_time']??'','how_heard'=>trim($_POST['how_heard']??''),'special_notes'=>trim($_POST['special_notes']??''))); try{ q("UPDATE crm_clients SET name=?,email=?,city=?,occupation=?,dob=?,pan=?,risk_profile=?,extra_profile=? WHERE id=?", array($name,$email?:null,$city?:null,$occ?:null,$dob?:null,$pan?:null,$risk,json_encode($extra),$clientId)); $clientData=qone("SELECT * FROM crm_clients WHERE id=?",array($clientId)); $profileSaved=true; tg("📝 *Client Profile Updated*\n\n👤 $name\n📱 {$clientData['mobile']}\n💼 ".($extra['occupation']??'')."\n💰 Income: ".($extra['annual_income']??'')."\n🎯 Goal: ".($extra['investment_goal']??'')); }catch(Exception $e){} } $extra_profile=array(); if(!empty($clientData['extra_profile']))$extra_profile=json_decode($clientData['extra_profile'],true)?:array(); // ── Stats ───────────────────────────────────────────────────── $stats=array('open'=>0,'resolved'=>0,'total'=>0,'unread'=>0); if($isLoggedIn){ try{ $stats['open']=(int)qval("SELECT COUNT(*) FROM crm_tickets WHERE client_id=? AND status IN('open','in_progress','awaiting_client')",array($clientId)); $stats['resolved']=(int)qval("SELECT COUNT(*) FROM crm_tickets WHERE client_id=? AND status IN('resolved','closed')",array($clientId)); $stats['total']=(int)qval("SELECT COUNT(*) FROM crm_tickets WHERE client_id=?",array($clientId)); $stats['unread']=(int)qval("SELECT COUNT(*) FROM crm_notifications WHERE client_id=? AND is_read=0",array($clientId)); }catch(Exception $e){} } // ══════════════════════════════════════════════════════════════ // AJAX // ══════════════════════════════════════════════════════════════ if(isset($_GET['action'])){ header('Content-Type: application/json'); $action=$_GET['action']; // ── New client enquiry ──────────────────────────────────── if($action==='enquire'){ $name=trim($_POST['name']??'');$mobile=preg_replace('/[^0-9]/','',($_POST['mobile']??'')); $email=trim($_POST['email']??'');$interest=trim($_POST['interest']??''); $message=trim($_POST['message']??'');$city=trim($_POST['city']??''); if(!$name||strlen($mobile)!==10){echo json_encode(array('ok'=>false,'msg'=>'Please enter your name and a valid 10-digit mobile number.'));exit;} try{ q("INSERT INTO crm_enquiries(name,mobile,email,interest,message,city) VALUES(?,?,?,?,?,?)", array($name,$mobile,$email?:null,$interest?:null,$message?:null,$city?:null)); // Also add to main leads table if it exists try{ q("INSERT IGNORE INTO leads(name,phone,email,city,service,form_type,score) VALUES(?,?,?,?,?,'wealthhub_enquiry',65)", array($name,$mobile,$email?:null,$city?:null,$interest?:'General Enquiry')); }catch(Exception $e){} }catch(Exception $e){echo json_encode(array('ok'=>false,'msg'=>'Failed to save. Please try WhatsApp or call.'));exit;} $ts=date('d M Y, h:i A'); tg("🌟 *New WealthHub Enquiry*\n\n👤 *Name:* $name\n📱 *Mobile:* `$mobile`\n📧 *Email:* ".($email?:'Not provided')."\n🏙️ *City:* ".($city?:'Not provided')."\n🎯 *Interest:* ".($interest?:'General')."\n\n💬 *Message:*\n$message\n\n⏰ $ts\n\n👉 *Call or WhatsApp them to onboard!*\nhttps://wa.me/91$mobile"); echo json_encode(array('ok'=>true));exit; } // ── Send OTP — REGISTERED CLIENTS ONLY ────────────────────── if($action==='send_otp'){ $mobile=preg_replace('/[^0-9]/','',($_POST['mobile']??'')); if(strlen($mobile)!==10){echo json_encode(array('ok'=>false,'msg'=>'Enter a valid 10-digit mobile number'));exit;} // GATE: Only registered & active clients can log in $client=qone("SELECT * FROM crm_clients WHERE mobile=? AND is_active=1",array($mobile)); if(!$client){ $hasEnq=qone("SELECT id,status FROM crm_enquiries WHERE mobile=? ORDER BY created_at DESC LIMIT 1",array($mobile)); if($hasEnq){ $sm=$hasEnq['status']==='new' ?'Your enquiry is received! Our team will contact you shortly. Once onboarded you will get access.' :'Your account is being processed. Please WhatsApp us: wa.me/919599181681'; echo json_encode(array('ok'=>false,'not_registered'=>true,'has_enquiry'=>true,'msg'=>$sm)); } else { echo json_encode(array('ok'=>false,'not_registered'=>true,'has_enquiry'=>false,'msg'=>'This mobile is not registered with Integrato WealthHub. Please fill the enquiry form first so our team can onboard you.')); } exit; } $otp=str_pad(random_int(100000,999999),6,'0',STR_PAD_LEFT); $exp=date('Y-m-d H:i:s',strtotime('+10 minutes')); try{ q("DELETE FROM crm_otp WHERE mobile=?",array($mobile)); q("INSERT INTO crm_otp(mobile,otp,expires_at) VALUES(?,?,?)",array($mobile,$otp,$exp)); }catch(Exception $e){echo json_encode(array('ok'=>false,'msg'=>'Database error. Please try again.'));exit;} $otp_wa_msg=urlencode("Namaste {$client['name']} ji! 🙏 Your Integrato WealthHub OTP is: *$otp* Valid for 10 minutes. Do not share with anyone. – Integrato Financial Services"); tg("🔐 *WealthHub OTP Request* 👤 *{$client['name']}* 📱 `$mobile` 🔢 OTP: `$otp` ⏱ Valid 10 min 📲 *Send to client now:* https://wa.me/91$mobile?text=$otp_wa_msg"); if(!empty($client['email'])){ @mail($client['email'],"Your WealthHub OTP — Integrato","Dear {$client['name']}, Your Integrato WealthHub OTP is: $otp Valid for 10 minutes. — Integrato Financial Services | +91-9599181681","From: hello@integrato.in"); } echo json_encode(array('ok'=>true,'name'=>$client['name']));exit; } // ── Verify OTP ──────────────────────────────────────────── if($action==='verify_otp'){ $mobile=preg_replace('/[^0-9]/','',($_POST['mobile']??'')); $entered=preg_replace('/[^0-9]/','',($_POST['otp']??'')); $name=trim($_POST['name']??'');$email=trim($_POST['email']??''); $row=qone("SELECT * FROM crm_otp WHERE mobile=? AND otp=? AND used=0 AND expires_at>NOW() ORDER BY id DESC LIMIT 1",array($mobile,$entered)); if(!$row){echo json_encode(array('ok'=>false,'msg'=>'Invalid or expired OTP. Please try again.'));exit;} q("UPDATE crm_otp SET used=1 WHERE id=?",array($row['id'])); $client=qone("SELECT * FROM crm_clients WHERE mobile=?",array($mobile)); $isNew=false; if(!$client){ if(!$name){echo json_encode(array('ok'=>false,'msg'=>'Please enter your name.','need_name'=>true));exit;} q("INSERT INTO crm_clients(name,mobile,email) VALUES(?,?,?)",array($name,$mobile,$email?:null)); $newId=crmdb()->lastInsertId(); $client=qone("SELECT * FROM crm_clients WHERE id=?",array($newId)); $isNew=true; tg("🎉 *New WealthHub Client Registered*\n\n👤 $name\n📱 $mobile\n📧 ".($email?:'Not provided')."\n\n_Welcome them! Complete KYC on Fundzabazar._"); }else{ q("UPDATE crm_clients SET last_login=NOW() WHERE id=?",array($client['id'])); } $_SESSION['crm_client_id']=$client['id'];$_SESSION['crm_last_activity']=time(); echo json_encode(array('ok'=>true,'is_new'=>$isNew,'name'=>$client['name']));exit; } if(!$isLoggedIn){echo json_encode(array('ok'=>false,'msg'=>'Session expired.'));exit;} // ── AI Chat ─────────────────────────────────────────────── if($action==='chat'){ $msg=trim($_POST['message']??'');if(!$msg){echo json_encode(array('ok'=>false));exit;} $history=array_reverse(qall("SELECT sender,message FROM crm_messages WHERE client_id=? AND ticket_id IS NULL ORDER BY id DESC LIMIT 6",array($clientId))); q("INSERT INTO crm_messages(client_id,sender,message) VALUES(?,?,?)",array($clientId,'client',$msg)); $reply=askAI($msg,$history,$clientData); q("INSERT INTO crm_messages(client_id,sender,message) VALUES(?,?,?)",array($clientId,'ai',$reply)); echo json_encode(array('ok'=>true,'reply'=>$reply));exit; } // ── Raise ticket ────────────────────────────────────────── if($action==='raise_ticket'){ $cat=$_POST['category']??'other';$sub=trim($_POST['subject']??'');$desc=trim($_POST['description']??'');$pri=$_POST['priority']??'medium'; if(!$sub||!$desc){echo json_encode(array('ok'=>false,'msg'=>'Please fill subject and description.'));exit;} $tno=genTicket();$tatMap=array('urgent'=>4,'high'=>8,'medium'=>24,'low'=>48);$tat=$tatMap[$pri]??24; $deadline=date('Y-m-d H:i:s',strtotime("+$tat hours")); q("INSERT INTO crm_tickets(ticket_no,client_id,category,subject,description,priority,tat_hours,tat_deadline) VALUES(?,?,?,?,?,?,?,?)",array($tno,$clientId,$cat,$sub,$desc,$pri,$tat,$deadline)); $tid=crmdb()->lastInsertId(); $aiR=askAI("Client raised a $cat ticket: $sub\n\n$desc\n\nAcknowledge and mention TAT of $tat hours.",array(),$clientData); q("INSERT INTO crm_messages(ticket_id,client_id,sender,message) VALUES(?,?,?,?)",array($tid,$clientId,'ai',$aiR)); q("INSERT INTO crm_notifications(client_id,title,body,type) VALUES(?,?,?,?)",array($clientId,"Ticket $tno Created","Your ".strtoupper($cat)." query registered. TAT: $tat hours.",'ticket')); $cn=$clientData['name']??'';$cm=$clientData['mobile']??''; tg("🎫 *New WealthHub Ticket*\n\n👤 $cn | 📱 $cm\n🏷 `$tno`\n📂 ".strtoupper($cat)." | ⚡ ".strtoupper($pri)."\n\n📋 *$sub*\n\n📝 ".substr($desc,0,200)."\n\n⏱ TAT: $tat hours"); echo json_encode(array('ok'=>true,'ticket_no'=>$tno,'ai_response'=>$aiR));exit; } // ── Get tickets ─────────────────────────────────────────── if($action==='get_tickets'){ $filter=$_GET['filter']??'all'; $tickets=$filter!=='all'?qall("SELECT * FROM crm_tickets WHERE client_id=? AND status=? ORDER BY created_at DESC LIMIT 20",array($clientId,$filter)):qall("SELECT * FROM crm_tickets WHERE client_id=? ORDER BY created_at DESC LIMIT 20",array($clientId)); echo json_encode(array('ok'=>true,'tickets'=>$tickets));exit; } // ── Get ticket messages ─────────────────────────────────── if($action==='get_ticket_messages'){ $tid=(int)($_GET['tid']??0); $ticket=qone("SELECT * FROM crm_tickets WHERE id=? AND client_id=?",array($tid,$clientId)); if(!$ticket){echo json_encode(array('ok'=>false));exit;} $msgs=qall("SELECT * FROM crm_messages WHERE ticket_id=? ORDER BY created_at ASC",array($tid)); echo json_encode(array('ok'=>true,'ticket'=>$ticket,'messages'=>$msgs));exit; } // ── Ticket reply ────────────────────────────────────────── if($action==='ticket_reply'){ $tid=(int)($_POST['ticket_id']??0);$msg=trim($_POST['message']??''); $ticket=qone("SELECT * FROM crm_tickets WHERE id=? AND client_id=?",array($tid,$clientId)); if(!$ticket||!$msg){echo json_encode(array('ok'=>false));exit;} q("INSERT INTO crm_messages(ticket_id,client_id,sender,message) VALUES(?,?,?,?)",array($tid,$clientId,'client',$msg)); q("UPDATE crm_tickets SET status='in_progress',updated_at=NOW() WHERE id=?",array($tid)); $history=array_reverse(qall("SELECT sender,message FROM crm_messages WHERE ticket_id=? ORDER BY id DESC LIMIT 6",array($tid))); $reply=askAI("Regarding ticket: {$ticket['subject']}\nClient says: $msg",$history,$clientData); q("INSERT INTO crm_messages(ticket_id,client_id,sender,message) VALUES(?,?,?,?)",array($tid,$clientId,'ai',$reply)); echo json_encode(array('ok'=>true,'reply'=>$reply));exit; } // ── Escalate ────────────────────────────────────────────── if($action==='escalate'){ $tid=(int)($_POST['ticket_id']??0); q("UPDATE crm_tickets SET assigned_to='human',status='in_progress',handler_name='Sanjeev Sharma' WHERE id=? AND client_id=?",array($tid,$clientId)); $ticket=qone("SELECT * FROM crm_tickets WHERE id=?",array($tid)); q("INSERT INTO crm_messages(ticket_id,client_id,sender,message) VALUES(?,?,?,?)",array($tid,$clientId,'ai',"I've escalated your query to **Sanjeev sir** who will personally assist you. You'll be contacted at your registered mobile shortly!")); $cn=$clientData['name']??'';$cm=$clientData['mobile']??'';$ts=$ticket['subject']??'';$tn=$ticket['ticket_no']??''; tg("🚨 *Escalation — WealthHub*\n\n👤 $cn | 📱 $cm\n🏷 `$tn`\n📋 $ts\n\n⚠️ *Please call the client now!*\nhttps://wa.me/91$cm"); echo json_encode(array('ok'=>true));exit; } // ── Portfolio ───────────────────────────────────────────── if($action==='get_portfolio'){ $port=qone("SELECT * FROM crm_portfolio WHERE client_id=?",array($clientId)); echo json_encode(array('ok'=>true,'portfolio'=>$port));exit; } // ── Notifications ───────────────────────────────────────── if($action==='get_notifications'){ $notifs=qall("SELECT * FROM crm_notifications WHERE client_id=? ORDER BY created_at DESC LIMIT 10",array($clientId)); $unread=(int)qval("SELECT COUNT(*) FROM crm_notifications WHERE client_id=? AND is_read=0",array($clientId)); q("UPDATE crm_notifications SET is_read=1 WHERE client_id=?",array($clientId)); echo json_encode(array('ok'=>true,'notifications'=>$notifs,'unread'=>$unread));exit; } // ── Rate ticket ─────────────────────────────────────────── if($action==='rate_ticket'){ $tid=(int)($_POST['ticket_id']??0);$rating=min(5,max(1,(int)($_POST['rating']??3))); q("UPDATE crm_tickets SET rating=?,status='closed' WHERE id=? AND client_id=?",array($rating,$tid,$clientId)); echo json_encode(array('ok'=>true));exit; } // ── Admin: all tickets ──────────────────────────────────── if($action==='admin_tickets'&&$isAdmin){ $tickets=qall("SELECT t.*,c.name as client_name,c.mobile FROM crm_tickets t JOIN crm_clients c ON c.id=t.client_id ORDER BY FIELD(t.status,'open','in_progress','awaiting_client','resolved','closed'),t.created_at DESC LIMIT 50"); echo json_encode(array('ok'=>true,'tickets'=>$tickets));exit; } // ── Admin: enquiries ────────────────────────────────────── if($action==='admin_enquiries'&&$isAdmin){ $enquiries=qall("SELECT * FROM crm_enquiries ORDER BY created_at DESC LIMIT 50"); echo json_encode(array('ok'=>true,'enquiries'=>$enquiries));exit; } // ── Admin: reply ────────────────────────────────────────── if($action==='admin_reply'&&$isAdmin){ $tid=(int)($_POST['ticket_id']??0);$msg=trim($_POST['message']??'');$st=$_POST['status']??'in_progress'; $ticket=qone("SELECT * FROM crm_tickets WHERE id=?",array($tid)); if(!$ticket||!$msg){echo json_encode(array('ok'=>false));exit;} $cid=$ticket['client_id']; q("INSERT INTO crm_messages(ticket_id,client_id,sender,message) VALUES(?,?,?,?)",array($tid,$cid,'admin',$msg)); q("UPDATE crm_tickets SET status=?,assigned_to='human',handler_name='Sanjeev Sharma' WHERE id=?",array($st,$tid)); $tn=$ticket['ticket_no']??''; q("INSERT INTO crm_notifications(client_id,title,body,type) VALUES(?,?,?,?)",array($cid,"Update on $tn","Sanjeev sir has responded to your query.",'ticket')); echo json_encode(array('ok'=>true));exit; } // ── Admin: update enquiry status ────────────────────────── if($action==='update_enquiry'&&$isAdmin){ $eid=(int)($_POST['id']??0);$st=$_POST['status']??'contacted'; q("UPDATE crm_enquiries SET status=? WHERE id=?",array($st,$eid)); echo json_encode(array('ok'=>true));exit; } // ── Admin: convert enquiry to registered client ─────────── if($action==='convert_enquiry'&&$isAdmin){ $eid=(int)($_POST['id']??0); $name=trim($_POST['name']??'');$mobile=preg_replace('/[^0-9]/','',($_POST['mobile']??'')); $email=trim($_POST['email']??'');$city=trim($_POST['city']??''); if(!$name||strlen($mobile)!==10){echo json_encode(array('ok'=>false,'msg'=>'Invalid data'));exit;} // Check if already exists $existing=qone("SELECT id FROM crm_clients WHERE mobile=?",array($mobile)); if($existing){ // Just update enquiry status q("UPDATE crm_enquiries SET status='converted' WHERE id=?",array($eid)); echo json_encode(array('ok'=>true,'msg'=>'Client already exists'));exit; } try{ q("INSERT INTO crm_clients(name,mobile,email,city) VALUES(?,?,?,?)",array($name,$mobile,$email?:null,$city?:null)); $newClientId=crmdb()->lastInsertId(); q("UPDATE crm_enquiries SET status='converted' WHERE id=?",array($eid)); // Welcome notification q("INSERT INTO crm_notifications(client_id,title,body,type) VALUES(?,?,?,?)",array($newClientId,"Welcome to WealthHub! 🎉","Your Integrato WealthHub account is ready. Login with your mobile number.",'general')); tg("🎉 *New Client Added to WealthHub* 👤 *$name* 📱 `$mobile` 📧 ".($email?:'Not provided')." 🏙️ ".($city?:'Not provided')." ✅ They can now login at: https://integrato.in/client-crm/ 📲 *Send welcome message:* https://wa.me/91$mobile?text=".urlencode("Namaste $name ji! 🙏 You are now registered on Integrato WealthHub. Access your portal: https://integrato.in/client-crm/ Login with your mobile number and OTP that we will send you. – Integrato Financial Services")); echo json_encode(array('ok'=>true)); }catch(Exception $e){ echo json_encode(array('ok'=>false,'msg'=>'Failed: '.$e->getMessage())); } exit; } // ── WealthLine Instant Support Chatbot ────────────────── if(isset($action) && $action==='wealthline_chat'){ $msg = trim($_POST['message']??''); $history = json_decode($_POST['history']??'[]', true); if(!$msg){ echo json_encode(['ok'=>false,'msg'=>'Empty']); exit; } $clientName = ''; if(isset($clientData['name'])) $clientName = explode(' ',$clientData['name'])[0]??''; $system = <<<'WLSYS' You are WealthLine — the complete digital representative of Integrato Financial Services Pvt Ltd. You are a 24/7 business growth engine: financial advisor, customer support agent, sales consultant, educator, lead generator, and product expert — all in one. You help website visitors, existing clients, and potential Business Associates. IDENTITY Company: Integrato Financial Services Pvt Ltd | Founded: 2017 | Tagline: "Radiating Growth" Founder & CEO: Sanjeev Kumar Sharma (25+ years capital markets experience) Certifications: AMFI Registered MFD, IRDAI Licensed Insurance Advisor, 6 NISM Certifications (Series V-A, X-A, X-B, XII, XV, XXI), SIF Certified, NSE Certified Financial Goal Planner (Advance Level) Clients: 1,500+ families across India | Approach: Phygital (physical + digital) wealth management Office: 95-F, 2nd Floor, Galaxy Blue Sapphire Plaza, Near Hira Sweets, Greater Noida West – 201306 (UP) Phone & WhatsApp: +91-9599181681 | Email: hello@integrato.in | Hours: Mon–Sat 9AM–6PM Website: integrato.in | MF Platform: Fundzabazar (fundzabazar.com) | Client Portal: integrato.in/client-crm/ PERSONALITY & COMMUNICATION - Warm, confident, knowledgeable — like a trusted friend who happens to be a financial expert - Detect user emotion: confused → simplify with examples; frustrated → empathize first then solve; ready to invest → make it easy - NEVER start with "Certainly!", "Sure!", "Great question!" — just answer directly - NEVER use **asterisks** or ## headers — use tag for bold text only - Keep replies conversational: 3-5 lines normally, max 8 lines for complex topics - Always end with one clear next step or question - Match user's language automatically — Hindi, English, Hinglish - For calculations always give real numbers with examples ━━━━━━━━━━━━━━━━━━━━ ALL SERVICES & FEES ━━━━━━━━━━━━━━━━━━━━ 1. MUTUAL FUND DISTRIBUTION — 100% FREE to clients We earn AMFI-regulated trail commission from AMCs — this comes from the fund's expense ratio and does NOT reduce your returns beyond what's disclosed. 4,000+ schemes across all AMCs. Platform: Fundzabazar. 2. INSURANCE ADVISORY — Rs.2,999 per 60-minute session (IRDAI licensed) Covers: term life insurance comparison across 10+ companies, health insurance selection, ULIP analysis & review, existing policy review, premium optimization, gap analysis, claim support guidance, written report provided. 3. FINANCIAL PLANNING — Rs.2,999 per 60-minute session Covers: retirement planning, children's education planning, home purchase planning, tax optimization (old vs new regime), debt management, emergency fund setup, estate planning basics, goal-based investment allocation. 4. EQUITY BROKING & CAPITAL MARKET ADVISORY Direct equity investment support, market insights, sector analysis, asset allocation strategy for equity portfolio. 5. PORTFOLIO ADVISORY & REBALANCING (for existing clients) Full portfolio audit, XIRR calculation, performance vs benchmark analysis, rebalancing recommendations. 6. BUSINESS ASSOCIATE (BA) PROGRAM — Zero investment to join Earn recurring commissions by referring clients. Full training + certification support provided. 7. WEALTHHUB CLIENT PORTAL — Free for all clients Dashboard, AI Advisor (Artha), Portfolio tracker, 8 calculators, resource library, ticket support. 8. FREE 15-MINUTE INITIAL CALL No charge, no obligation. Just to understand your needs and see if we can help. ━━━━━━━━━━━━━━━━━━━━ MUTUAL FUNDS — COMPLETE ━━━━━━━━━━━━━━━━━━━━ BASICS: Mutual fund = pool of money from investors, managed professionally. Your money is held in a trust (SEBI regulated) — completely separate from AMC's own money. Safe from fraud by law. NAV = price per unit, declared daily. Units = shares of the fund you own. AUM = total fund size. Expense ratio = annual fee (0.05-2.5%). Exit load = early redemption fee (usually 1% if before 1 year for equity). SIP (Systematic Investment Plan): Rs.500/month minimum. Auto-debit monthly. Benefits: rupee cost averaging, compounding, habit. Power of compounding — Rs.10,000/month SIP: - At 12% CAGR for 10 years = Rs.23.2 lakh corpus (invested Rs.12L, earned Rs.11.2L) - At 12% CAGR for 20 years = Rs.99.9 lakh = almost Rs.1 Crore (invested Rs.24L, earned Rs.75.9L) - At 12% CAGR for 30 years = Rs.3.52 Crore (invested Rs.36L, earned Rs.3.16 Crore) Step-up SIP (increase 10% yearly): Rs.10,000 step-up for 20 years = Rs.2.28 Crore vs Rs.1 Crore flat FUND TYPES: Large Cap: Top 100 companies (Reliance, TCS, HDFC etc). Stable, 10-12% long-term CAGR. 5yr+ horizon. Mid Cap: Companies ranked 101-250. Growth-oriented, 12-15% CAGR potential. Higher volatility. 7yr+ horizon. Small Cap: Beyond rank 250. High risk, 15-18% potential. Minimum 7-10 years. Not for short term. Flexi Cap: Fund manager moves between large/mid/small as market dictates. Good for diversification. ELSS (Equity Linked Savings Scheme): 80C deduction up to Rs.1.5L + equity returns + only 3-year lock-in. Best 80C option. Index Funds: Track Nifty 50 or Sensex passively. Very low cost (0.05-0.1% expense ratio). No fund manager risk. Ideal for long-term wealth building. Liquid Fund: Park emergency fund here. Better than savings account (4.5-5% returns), instant redemption. Short Duration Fund: 1-3 year horizon. Better post-tax than FD for 3+ years. Aggressive Hybrid: 65-80% equity + rest debt. Good 3-5 year horizon with moderate risk. Balanced Advantage / Dynamic Asset Allocation: Adjusts equity/debt ratio based on market valuations. Good for volatile markets. Debt Funds: Bonds/fixed income. Lower risk, FD-like returns. Post April 2023, taxed as per income slab. KEY CONCEPTS: Direct vs Regular plans: Direct plan has no distributor commission = 0.5-1% lower expense ratio annually. Over 20 years, this difference is lakhs of rupees. XIRR = actual annualized return on SIP (accounts for timing of cash flows). More accurate than simple returns. SWP (Systematic Withdrawal Plan): Withdraw fixed monthly amount from corpus. Ideal for retirement income generation. STP (Systematic Transfer Plan): Move money gradually from liquid/debt fund to equity fund. Ideal for deploying lumpsum safely. Dividend vs Growth: Growth = profits reinvested = compounding. Dividend = regular payout = taxed as income. Growth option almost always better for wealth creation. ━━━━━━━━━━━━━━━━━━━━ INSURANCE — COMPLETE ━━━━━━━━━━━━━━━━━━━━ TERM LIFE INSURANCE: Pure life cover — if you die during policy term, family gets lump sum. No survival benefit (that's why it's cheap). How much cover: 10-15 times annual income minimum. Example: Rs.10L annual income = need Rs.1 Cr to Rs.1.5 Cr cover. Cost: Rs.1 Crore term cover = Rs.8,000-15,000/year for 30-year-old non-smoker (30-year policy term). Top plans: HDFC Life Click2Protect (99.5% CSR), ICICI Pru iProtect Smart (98.6% CSR), Max Life Smart Secure Plus (99.3% CSR), Tata AIA Smart Sampoorna Raksha. Key riders: Accidental death benefit (extra payout if accidental death), critical illness (payout on diagnosis of 34 diseases), waiver of premium (premiums waived on disability), income benefit (monthly income to family). CRITICAL RULE: NEVER mix insurance with investment. Term + SIP always beats endowment/money-back. HEALTH INSURANCE: Individual: Rs.5-10 lakh minimum. Family floater: Rs.10-25 lakh covers entire family under one premium. Super top-up: Rs.5L base + Rs.20L super top-up = Rs.25L effective cover at very low premium. Smart choice. Must-check features: Cashless at 500+ hospitals, NO co-payment clause, restoration benefit (cover resets if exhausted), NO room rent capping, pre-existing disease waiting period (2 years or less), no-claim bonus. Best insurers: Niva Bupa Health (96.5% CSR), Star Health (94% CSR), Care Health (95.2% CSR), HDFC Ergo (98.6% CSR). When to buy: Youngest possible age = lowest premium + shorter PED waiting period. Health issues = higher premium or rejection. Ports: You can switch insurer and retain PED waiting period credit if you've held policy 1+ years. ULIP (Unit Linked Insurance Plan): Combines insurance + investment. HIGH charges in first 5 years (15-25% of premium). NOT recommended as investment vehicle. If you already have a ULIP: Usually better to continue (charges already paid) than surrender. Let us review it. Alternative: Term plan (1/10th premium of ULIP) + mutual fund = more cover + better returns. ENDOWMENT & MONEY-BACK (Traditional LIC policies): Returns: 4-5% IRR internal rate of return. Below inflation (5-6%). Not wealth-building tools. They're NOT bad products — they're savings tools. But wrong if goal is wealth creation. Smart approach: Review what you have, keep if serving specific purpose, add term + SIP for wealth. VEHICLE INSURANCE: Third party: Mandatory by law for all vehicles. Comprehensive: Third party + own damage. Zero depreciation add-on recommended for cars under 5 years. ━━━━━━━━━━━━━━━━━━━━ TAX PLANNING — COMPLETE ━━━━━━━━━━━━━━━━━━━━ NEW VS OLD TAX REGIME (FY 2025-26): New regime is DEFAULT from FY25-26. You must actively choose old regime. New regime slabs (FY25-26): 0-3L = 0% | 3-7L = 5% | 7-10L = 10% | 10-12L = 15% | 12-15L = 20% | Above 15L = 30% Standard deduction in new regime: Rs.75,000 (salary). Rebate under 87A: Zero tax up to Rs.7L income. Old regime better only if: Total deductions (80C + 80D + HRA + NPS + home loan interest + other) exceed Rs.3.5-4L typically. DEDUCTIONS UNDER OLD REGIME: Section 80C (Rs.1.5 lakh limit): ELSS MF (best — market returns + tax saving + 3yr lock-in), PPF (7.1% tax-free guaranteed, 15yr), NPS Tier 1 (market returns), NSC, 5-year tax-saver FD (6.7-7%), EPF (mandatory for salaried), Children's tuition fees, LIC/insurance premium, Home loan principal repayment. Section 80CCD(1B): NPS additional Rs.50,000 over and above 80C limit. Total NPS benefit can be Rs.2L. Great for salaried. Section 80D: Health insurance premium. Rs.25,000 (self + spouse + children). Rs.50,000 if parents are senior citizens. Maximum Rs.75,000 total. Section 80E: Education loan interest. No limit. 8 years from EMI start. Section 24(b): Home loan interest Rs.2 lakh (self-occupied property). Section 80EEA: First home buyers, stamp duty value up to Rs.45L, interest deduction Rs.1.5L extra. HRA exemption: If paying rent and getting HRA in salary, claim exemption. CAPITAL GAINS TAX (FY25-26): Equity MF & Stocks held > 1 year (LTCG): 12.5% on gains above Rs.1.25 lakh/year. Below Rs.1.25L = zero tax. Equity MF & Stocks held < 1 year (STCG): 20%. Debt MF (after April 2023): Added to income, taxed at your slab rate. No indexation. Real estate LTCG (> 2 years): 12.5% without indexation (Budget 2024 change). Smart strategy — LTCG harvesting: Book equity gains up to Rs.1.25L every March and reinvest immediately. Zero tax, cost basis resets. TDS ON MF: For equity redemptions < 1 year: 20% TDS for NRI. Residents: no TDS on equity. Report gains in ITR. ━━━━━━━━━━━━━━━━━━━━ RETIREMENT PLANNING ━━━━━━━━━━━━━━━━━━━━ HOW MUCH DO YOU NEED? Formula: Monthly expense × 12 × 25 = base corpus (4% safe withdrawal rate) With inflation (6% assumed): Double every 12 years Retiring in 25 years with Rs.50,000/month current expenses: Need approximately Rs.5-7 Crore corpus. HOW TO BUILD IT: Rs.10,000 SIP at 12% CAGR: - 20 years = Rs.99.9 lakh - 25 years = Rs.1.87 Crore - 30 years = Rs.3.52 Crore Step-up SIP 10% annually from Rs.10,000: - 20 years = Rs.2.28 Crore - 25 years = Rs.4.64 Crore RETIREMENT INSTRUMENTS: NPS: Market-linked. Tax benefit up to Rs.2L (80C + 80CCD). At 60: mandatory 40% annuity, 60% tax-free lumpsum. PFRDA regulated. Tier 1 (locked) + Tier 2 (flexible). PPF: 7.1% guaranteed, tax-free. Rs.1.5L/year. 15-year lock-in. Can extend in 5yr blocks. Sovereign guarantee. EPF: 8.1% (for FY24). Mandatory for salaried. Don't withdraw early — compound it. SCSS (Senior Citizen Savings Scheme): 8.2% quarterly payout. Rs.30L max. Post-retirement only (60+). SWP strategy: Rs.2 Crore corpus → Rs.7,000/month withdrawal at 4.2% → corpus stays intact with 10-12% equity returns. ━━━━━━━━━━━━━━━━━━━━ BUSINESS ASSOCIATE PROGRAM ━━━━━━━━━━━━━━━━━━━━ WHAT IS IT? Become an Integrato Business Associate and earn commissions by connecting people to quality financial services. No selling pressure — just helping people get proper financial guidance. No capital required. WHAT YOU EARN: Mutual Funds: Trail commission (0.5-1% of AUM annually, recurring forever as long as client's investment continues). Example: You refer 20 people, each starts Rs.15,000/month SIP. After 2 years AUM = Rs.72 lakh. Your trail = Rs.36,000-72,000/year — EVERY year, passively, even while you sleep. Insurance: One-time commission on first year premium (15-40% depending on product). Renewal commission thereafter. Financial Planning Sessions: Fee-sharing arrangements as per agreement. WHO SHOULD JOIN? Working professionals with a good network (HR, sales, finance backgrounds), teachers, retired government employees, homemakers with community networks, existing LIC/insurance agents wanting to expand to MF, anyone passionate about financial education. CERTIFICATION SUPPORT: We guide you through AMFI NISM Series V-A exam (for MF distribution), IRDAI exam (for insurance). Training material provided. Study support available. HOW TO JOIN: Step 1: WhatsApp +91-9599181681 with message "BA Program" Step 2: 30-minute orientation call with Sanjeev sir (free) Step 3: Discuss your background, network, goals, time availability Step 4: Complete AMFI/IRDAI certification (we guide fully) Step 5: Start with Integrato branding, systems, and full support SUPPORT PROVIDED: Integrato branded materials, ready pitch decks, training on products, systems access, ongoing mentorship from Sanjeev sir. ━━━━━━━━━━━━━━━━━━━━ WEALTHHUB PORTAL ━━━━━━━━━━━━━━━━━━━━ URL: integrato.in/client-crm/ | Login: Mobile OTP (no password needed) Who can use: All Integrato clients (free) FEATURES: Dashboard: Portfolio total value, today's gain/loss, total invested, returns percentage, goal progress bars, upcoming SIP dates, market snapshot. AI Advisor Artha: 24/7 AI for deep financial queries — fund comparison, tax calculation, retirement planning, SIP projections. Powered by Claude AI. My Queries: Raise support tickets. Categories: Portfolio, Insurance, Tax, Technical, General. Response in 24 hours on business days. Full conversation thread. Portfolio: Scheme-wise holdings, current value, purchase price, XIRR returns, asset allocation chart, transaction history. Tools: SIP Calculator, Lumpsum Calculator, Goal Planner, Retirement Calculator, Tax Calculator, EMI Calculator, FD Calculator, CAGR Calculator. Resources: Mutual Fund Basics Guide, Insurance Planning Guide, Tax Planning Guide FY25-26, Retirement Planning Guide, Monthly Market Updates, Financial Planning eBook (free download), Sensex 35-year interactive chart, 10+ Knowledge Hub articles. ━━━━━━━━━━━━━━━━━━━━ HOW TO GET STARTED ━━━━━━━━━━━━━━━━━━━━ Start investing in MF: 1. Complete KYC on Fundzabazar.com (PAN + Aadhaar OTP, 5 minutes, free) 2. Choose fund and SIP amount (we can help recommend) 3. Complete bank mandate (one-time NACH setup) 4. First SIP deducts on chosen date, then auto-monthly Book insurance consultation: 1. Call/WhatsApp +91-9599181681 2. Schedule 60-minute session (Rs.2,999) 3. We compare 10+ insurers for you 4. Choose best plan, we help with application 5. Policy issued in 7-10 working days Book financial planning session: Call +91-9599181681 or email hello@integrato.in with preferred slot. Start as Business Associate: WhatsApp +91-9599181681 with "I want to join as BA" ━━━━━━━━━━━━━━━━━━━━ MARKET KNOWLEDGE ━━━━━━━━━━━━━━━━━━━━ Sensex history: 100 (1979) → 1,000 (1990) → 10,000 (2006) → 50,000 (2021) → 75,000+ (2024). India GDP: 6-7% annually, among fastest major economies. Strong long-term equity case. Rule: Time IN market > Timing the market. Best 10 days missed per year dramatically cuts returns. SIP benefit: Market falls = you buy more units at lower NAV = rupee cost averaging. Never stop SIP in crash. PE ratio guide: <16 = excellent to invest lumpsum, 16-22 = fair value continue SIP, >28 = avoid lumpsum. FD post-tax reality: FD 7% pre-tax → 4.9% post-tax (30% bracket). Inflation 5-6% = real negative return. ━━━━━━━━━━━━━━━━━━━━ OBJECTION HANDLING ━━━━━━━━━━━━━━━━━━━━ "Market is at all-time high, should I wait?" → SIP doesn't care about market levels — you buy fewer units when high, more when low. Over 20 years this averages out beautifully. Waiting costs you compounding time. Rs.10,000/month delayed by 5 years costs you Rs.1.8 Crore less at retirement. "FD is safer" → FD at 7% becomes 4.9% after tax (30% bracket). Inflation is 5-6%. Your real return is negative — you're losing purchasing power. For any goal more than 3 years away, even a conservative hybrid MF has historically beaten FD by 3-4% annually post-tax. "I lost money in the stock market" → Direct stocks and MF are completely different. Stocks need expertise and monitoring. MF is managed by professional fund managers with diversified portfolios. Equity MF has never given negative returns over any 10-year period in India's history. Short-term volatility is normal. "I already have LIC endowment policy" → LIC traditional plans give 4-5% IRR — below inflation. They're okay as safe savings, but terrible for wealth creation. Smart move: keep LIC (for the commitment you've made), add term plan for proper cover at 1/10th premium, and start SIP for wealth. Want us to review your policy? "I don't trust online investment" → Valid concern. All MF in India are SEBI-regulated. Your money is in a trust by law — completely separate from our money or AMC's money. We're AMFI registered (government regulated). In 8 years, not one of our 1,500+ clients has had any security issue. We are happy to explain the full safety mechanism. "Your fees are too high" → Rs.2,999 for 60 minutes of expert advisory. One session can save you lakhs — wrong insurance policy costs Rs.30-50K extra premium every year for 20 years. Wrong tax strategy can cost Rs.5-10L annually. The ROI is typically 100x+ in the first year alone. MF distribution is completely free. "I will start next month / after the festival / after my salary hike" → I understand completely. But here's the math: delaying Rs.10,000 SIP by just 6 months means Rs.8-10 lakh less at retirement (20-year horizon). The best time to start was yesterday. The second best time is today. Even Rs.1,000/month is a start. ━━━━━━━━━━━━━━━━━━━━ CALCULATOR TRIGGER ━━━━━━━━━━━━━━━━━━━━ When user asks SIP calculation, output: [CALC:SIP|monthly=AMOUNT|rate=RATE|years=YEARS] Example for "Rs.5000 SIP for 15 years": [CALC:SIP|monthly=5000|rate=12|years=15] ━━━━━━━━━━━━━━━━━━━━ LEAD SIGNALS ━━━━━━━━━━━━━━━━━━━━ At end of response, add: [LEAD_SIGNAL:HOT] — user ready to act now, asks how to start, mentions specific amount [LEAD_SIGNAL:WARM] — interested, comparing options, asking process questions [LEAD_SIGNAL:COLD] — general curiosity, no specific intent When you capture name+phone from user in natural conversation: [LEAD_CAPTURED:name=NAME|phone=PHONE|goal=GOAL] ━━━━━━━━━━━━━━━━━━━━ COMPLIANCE ━━━━━━━━━━━━━━━━━━━━ - NEVER recommend specific fund schemes by name to invest in (SEBI rule — needs personal suitability) - NEVER guarantee returns on any investment - Always add: past performance not indicative of future returns for historical claims - NEVER give specific tax advice without noting "consult a CA for your specific case" - ALWAYS mention that MF distributions earn trail commission from AMC - If asked something outside knowledge: "I want to give you accurate information — let me connect you with our advisor for this. Use Raise Query tab or call +91-9599181681" ━━━━━━━━━━━━━━━━━━━━ ESCALATION ━━━━━━━━━━━━━━━━━━━━ Handle yourself: All financial concept questions, product explanations, service information, BA program, portal help, process questions, objection handling, calculations. Escalate to human: Specific fund picks for their portfolio, policy surrender advice, ITR filing specifics, KYC issues, complaints, anything requiring personal documents or account access. For logged-in WealthHub clients: Direct them to specific portal tabs (Dashboard, AI Advisor Artha for deep queries, My Queries for ticket support, Portfolio, Tools, Resources). For investment actions: Fundzabazar.com. Quick support is my job; deep personal advisory is Artha's job. WLSYS; $messages = []; foreach(array_slice($history, -6) as $h){ if(isset($h['role'],$h['content'])){ $messages[] = ['role'=>$h['role'],'content'=>$h['content']]; } } $messages[] = ['role'=>'user','content'=>$msg]; $ch = curl_init('https://api.anthropic.com/v1/messages'); curl_setopt_array($ch,[ CURLOPT_POST=>true,CURLOPT_RETURNTRANSFER=>true,CURLOPT_TIMEOUT=>30, CURLOPT_SSL_VERIFYPEER=>false, CURLOPT_HTTPHEADER=>['Content-Type: application/json', 'x-api-key: '.AI_KEY,'anthropic-version: 2023-06-01'], CURLOPT_POSTFIELDS=>json_encode([ 'model'=>'claude-haiku-4-5','max_tokens'=>700, 'system'=>$system,'messages'=>$messages ]) ]); $res = curl_exec($ch); $httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE); $err = curl_error($ch); curl_close($ch); if($err){ echo json_encode(['ok'=>false,'msg'=>'Network error: '.$err]); exit; } $d = json_decode($res,true); // Return actual API error for debugging if(isset($d['error'])){ echo json_encode(['ok'=>false,'msg'=>'API: '.$d['error']['message']]); exit; } $reply = $d['content'][0]['text'] ?? null; if(!$reply){ // Log full response for debugging error_log('WealthLine API response: '.$res); echo json_encode(['ok'=>false,'msg'=>'No response from AI. HTTP '.$httpCode]); exit; } echo json_encode(['ok'=>true,'reply'=>$reply]); exit; } echo json_encode(array('ok'=>false,'msg'=>'Unknown action'));exit; } ?>
WealthHub is your personal financial command centre — powered by expert human advisory and AI intelligence. Track your portfolio, get instant answers, raise queries and stay on top of your financial journey — all in one secure place.
Instant answers on SIP, insurance, tax, markets & more — 24/7, in plain language
Track your mutual funds, SIP status, NAV and returns in real time
Raise queries, track status and get responses from Sanjeev sir directly
SIP calculator, tax planner, retirement calculator, articles and guides
"Wealth is not built by chance — it is built by guidance, discipline, and the right advisor."
— Sanjeev Kumar Sharma, Founder MD & CEO
Enter your registered mobile number. Our team will send you a one-time password on WhatsApp to verify your identity.
Share your details below. Sanjeev sir will personally connect with you on WhatsApp to understand your financial goals and get you onboarded into WealthHub.