Changelog

What's new in Ninja

All the latest updates, improvements, and fixes.

v0.4.0

Human Takeover, WhatsApp Inbox & Callback Workspace

Pause AI activity when a human takes over a lead, review WhatsApp conversations from the lead profile, route inbound replies more reliably, and work callbacks from a clearer detail experience.

  • AddedPause AI calls, callbacks, auto follow-ups, and WhatsApp blast messages for leads that your team takes over
  • AddedTake over or resume multiple leads at once from the leads table, with lead history showing when AI was paused or resumed
  • AddedView WhatsApp conversations directly inside each lead profile, including Message App, blast, and direct WhatsApp messages
  • AddedInbound Message App replies now sync into Ninja and can be matched back to the right lead even when phone formats differ
  • AddedSmarter inbound WhatsApp routing helps replies land on the correct lead when multiple team members share a contact phone number
  • AddedNew callback detail page with clearer lead context, callback context, loading states, and navigation
  • AddedHigh priority callbacks for follow-ups that need faster attention
  • AddedSoft-delete and restore leads instead of permanently removing them immediately
  • AddedDedicated page for creating WhatsApp templates, with validation that prevents template bodies from ending with a variable
  • AddedPayment method confirmation in the WhatsApp blast flow when account readiness needs attention
  • ImprovedLead pages now include richer activity timelines, call insights, filters, better sorting, email links, and clearer bulk actions
  • ImprovedWhatsApp template and blast pages are cleaner, with better status badges, read metrics, toast confirmations, and less noisy columns
  • ImprovedWhatsApp payment method status is more accurate and explains Meta API detection limits more clearly
  • ImprovedBooking confirmations, meeting status updates, and reschedule handling are more reliable, with cancelled meetings hidden from active calendars
  • ImprovedIntegration, callback, campaign, and lead status badges now use more consistent wording and presentation
  • FixedMessage App and WhatsApp conversations now match leads more reliably across phone-number formatting differences
  • FixedWhatsApp message loading no longer depends on unavailable database fields, preventing avoidable conversation errors
  • FixedPhone-number usage counters now release correctly so calling capacity stays accurate
v0.3.0

WhatsApp Blasts, Lead Timeline & Reliability Hardening

Send WhatsApp messages to hundreds of leads at once, see every interaction with a lead in one timeline, get alerts when your WhatsApp account needs attention, and benefit from a wide range of reliability fixes across AI calling, callbacks, and lead tracking.

  • AddedSend WhatsApp messages to hundreds of leads at once using a simple 4-step wizard — pick a template, personalize it, choose recipients, and send
  • AddedCreate and manage WhatsApp message templates with approval status tracking and a live WhatsApp-style preview before sending
  • AddedPersonalize blast messages with lead details like name or property, and send yourself a test message before going live
  • AddedBlast campaigns send reliably with automatic retries on failure — and you can cancel a blast mid-send if needed
  • AddedTrack delivery for every recipient in a blast — see who received, had it delivered, and who read your message
  • AddedFull lead timeline showing all calls, callbacks, meetings, and status changes in one chronological view
  • AddedEvery lead status change is now logged, giving you a complete audit trail of each lead's history
  • AddedWarning banner on the integrations page if your WhatsApp account has issues — such as a missing payment method or a low quality rating
  • AddedNew WhatsApp diagnostics page to verify your setup and troubleshoot connectivity issues, with an inline test message sender
  • AddedWhen an AI agent books a new appointment, any existing meeting is automatically replaced — no more double-bookings
  • ImprovedCSV lead uploads no longer incorrectly block valid leads due to a phone number that already exists in another team member's list
  • ImprovedCampaign analytics now shows richer appointment details with a cleaner, more focused interface
  • FixedWhatsApp coexistence mode setup now works correctly for all verified phone numbers
  • FixedWhatsApp integration connectivity issues caused by how the business token was handled have been resolved
  • FixedReconnecting your calendar no longer fails — re-authentication now works smoothly every time
  • FixedPriority callbacks (Priority 1 / 2) were sometimes silently skipped after a call — they are now scheduled correctly
  • FixedCompleted calls now consistently show the correct Completed status across all views
  • FixedCampaigns where calls ended with a busy signal or voicemail now correctly transition to Completed instead of getting stuck
  • FixedCallback retry status is now accurately reflected, including a clear indicator when the maximum number of attempts has been reached
  • FixedInvalid or expired phone numbers are automatically deactivated to prevent them from causing repeated campaign failures
  • FixedLead status is now more accurate — including correctly marking a lead as Meeting Booked after the AI schedules an appointment
  • FixedAI more reliably detects when a lead is not interested, and more accurately captures call urgency and quality signals
  • FixedConversation summaries and key facts extracted from calls are now saved more reliably for future context
v0.2.1

Integration Guards & Message App Rebranding

Campaign creation now requires Calendar and Message App to be connected, preventing incomplete setups. User-facing rebranding from GoHighLevel to Message App.

  • AddedIntegrationPreflightService validates Calendar and Message App connection before campaign creation
  • AddedServer-side guard at POST /api/batch-calls blocks creation with 422 if prerequisites not met
  • AddedGET /api/campaigns/preflight endpoint for checking integration readiness
  • AddedDeep calendar validation via Nylas API ping to catch revoked tokens
  • ImprovedIntegration error banner redesigned for compact display — single-line alert with inline badge buttons
  • ImprovedAll user-facing 'GoHighLevel' and 'GHL' replaced with 'Message App' for clearer branding
  • ImprovedFocus-visible ring styles and visual consistency across navbar, buttons, and UI components
  • ImprovedSmooth animations using framer-motion for navbar and mobile menu transitions
  • ImprovedTheme toggle button usability and visual feedback
  • FixedCampaign creation proceeding without required Calendar and Message App integrations
  • FixedCalendar connection showing as valid when user revoked access in Google settings
  • ImprovedRemoved /app/member/voice-agents page for streamlined navigation and user experience
v0.2.0

Webhook Defaults, Callback Separation & WhatsApp Coexistence

Default webhook URL system for GHL integration, Follow-up and Callback separation by source type, and WhatsApp Business App coexistence mode.

  • AddedDefault webhook URL that auto-applies to all GHL workflows with purple badge indicators
  • AddedSeparate Follow-up and Callbacks pages by origin — system-initiated (AI Follow-up, No Answer Retry, Call Failure Retry) vs user-initiated (Requested, Manual)
  • AddedWhatsApp Business App coexistence mode — use the same number on mobile app and Cloud API simultaneously
  • AddedAutomatic contact and message history sync for WhatsApp coexistence users
  • AddedCallbackType enum and color-coded type badges for callback tracking
  • ImprovedFollow-up API rewritten to query ScheduledCallback directly, eliminating N+1 queries and pagination mismatches
  • ImprovedStat cards now use server-computed global counts instead of page-local data
  • ImprovedGHL integrations page with embedded WhatsApp QR scanner and simplified location ID display (Yes/No)
  • ImprovedWebhook handlers for WhatsApp data sync events (contacts, history, message echoes)
  • FixedWrong sync endpoint and missing messaging_product field in WhatsApp data sync
  • FixedWorkflows API now applies default URL fallback for workflows without specific overrides
v0.1.1

Pagination & Data Consistency

Server-side pagination across all list pages with URL persistence, duplicate lead fixes, and streamlined UI.

  • AddedServer-side pagination with 50 items per page, Previous/Next navigation, and page indicators across all list pages
  • AddedURL-persistent page numbers and filters for shareable links
  • AddedComplete callback history per lead instead of showing only the most recent
  • ImprovedData consistency — Due tab shows SCHEDULED callbacks only, Executed tab shows COMPLETED/IN_PROGRESS
  • ImprovedCallbacks sorted by newest first with simplified UI and direct Execute button
  • ImprovedCombined Lead Name and Company into single column on Follow-up page
  • FixedDuplicate leads appearing across Due and Executed tabs with exclusive filtering logic
  • FixedReact key warnings and URL state initialization race conditions
v0.1.0

Initial Release

The foundational release of Ninja — AI-powered voice automation platform for real estate professionals, now live at silentninja.tech.

  • AddedAI voice agents powered by ElevenLabs with contextual awareness, objection handling, qualification, and autonomous appointment scheduling
  • AddedLead orchestration with bulk imports, integration-driven sync, smart assignment logic, and complete interaction audit trails
  • AddedConversation analytics — automated interest scoring, pain point identification, objection categorization, and qualification validation
  • AddedAdaptive follow-up engine that orchestrates touchpoints based on conversation outcomes and behavioral signals
  • AddedWhatsApp Business connectivity, calendar synchronization, and GoHighLevel integration with bidirectional data flow
  • AddedTeam collaboration with role-based access, resource allocation, and performance monitoring
  • AddedQueue-based processing architecture with rate limiting and circuit breakers for system stability
  • AddedComprehensive observability with logging, error tracking, and webhook-driven integration patterns