Changelog
What's new in OneHub360. We ship fast.
April 27, 2026
Voice AI agent answering inbound calls 24/7 (HAL persona, ASP first)
A named AI agent answers a dedicated toll-free 24/7 with two-party-consent recording disclosure, looks up live Shopify pricing, drafts a cart and texts the checkout link, books callbacks inside business hours, transfers to a human with a whisper announce, takes messages, and emails plus SMSes the owner a per-call summary.
Same agent on the chat widget, one voice, one knowledge base
The chat widget uses the same persona, the same 13 tools, and the same KB the phone agent uses. Voice and chat answer with one tone instead of two disconnected bots.
Custom-build routing instead of refusal
When a caller asks for a non-stock size or thickness, the agent gathers the build details and routes to a human for pricing instead of dead-ending the call.
Read-the-intent fast lane for ready buyers
Callers who already know what they want skip the discovery script and get a checkout link. Tagged VIP customers skip the AI entirely and ring the owner.
Auto-merge contact records across phone, email, and Shopify
Identity match on phone, email, or Shopify customer ID consolidates records automatically. A merge-suggestions banner offers one-click resolution for fuzzy matches.
Shopify customer + order history on the contact timeline
Order history syncs into the contact profile. MMS photo attachments render inline. SMS inbox threads link straight to the full contact record.
Gap detector that drafts knowledge base articles
Every unanswered question gets logged. When a topic is asked 3+ times in 30 days, Mac Mini Opus drafts a KB article and emails the owner an approve/reject/edit link. The agent learns from what it could not answer.
Conversation outcome attribution to Shopify orders
Every conversation is tagged won, lost, or pending and matched against Shopify orders. RAG retrieval biases new conversations toward the past conversations that closed sales.
Tracked SMS links tied to the originating call or chat
Every URL the system sends in SMS is wrapped in a tracked redirect bound to the contact and the conversation that produced it. Click attribution lands back on the deal.
Per-business primary outbound number, fully data-driven
TrackingNumber and PhoneLine stay in sync automatically. New tenants get a working outbound number with no code changes per business.
Inbound SMS replies land in the inbox correctly
Twilio signature verification now works behind the proxy. Replies thread to the right contact instead of disappearing.
Live visitor counter accuracy
Killed a SQLite type-drift bug that was producing ghost visitors. The counter now reflects real sessions only.
Lead scoring page no longer 500s on orphan records
Records without an associated contact stopped crashing the page.
Cron jobs for gap digest, conversation outcome attribution, and Shopify customer sync
Scheduled jobs run the learning loop, match conversations to orders, and pull Shopify customers without manual intervention.
TCPA-compliant SMS opt-out on outbound campaigns
STOP/UNSUB/HELP handling is enforced on every outbound campaign. Opt-outs propagate across the contact record.
Tenant isolation enforced at the API layer
Every conversation, contact, and tracked link is scoped to its business. Cross-tenant reads are blocked at the API, not just in the UI.
Native iOS app surface, surfaced on the marketing site (previously shipped)
OneHub360 has a native iOS app, not just a web wrapper. CallKit Call Directory extension shows the matching CRM record on the iPhone lock screen when a contact calls. Lock and Home Screen Widgets put pipeline numbers and next tasks one glance away. Share Extension forwards an email or screenshot from any iOS app straight onto a contact or deal. Contacts sync mirrors OH360 contacts into the iPhone Contacts app. HubSpot does not ship a Call Directory extension. GoHighLevel does not ship a native iOS app.
Per-tenant custom iOS apps on the same backend (Terrace Cantina is live)
Terrace Cantina runs as a standalone branded iOS app against the OneHub360 multi-tenant backend, built 2026-04-26. ASP Room Visualizer is a separate AR iOS app for dropping virtual acoustic panels in a room. Customers on Scale and above can commission a per-tenant iOS app on the same backend.
April 2026
/customers/terrace-cantina case study
Real case study showing the AI phone ordering plus Clover POS integration we built for Terrace Cantina restaurant in Oak Brook Terrace.
/migrate-from-hubspot landing page
Side-by-side feature and price math vs HubSpot. ~$15k/year savings example for a 3-person service business.
Marketing voice rewrite across /about, /security, /help, /offers/free-website
Pain-first, specific-moments, no-jargon voice. Stripped duplicate nav and footer that predated the shared MarketingNav.
/features rewritten around buyer pain instead of feature catalog
5 buyer-pain cards replacing the old "feature grid" pattern.
Homepage hero - vertical-based proof line and service-business positioning promoted
"Trusted by recording studios, print shops, event promoters, and acoustic-panel manufacturers." The "Built for service businesses, not enterprises" card moved to first position.
Cookie banner z-index overlap
Cookie consent now sits as a bottom-left card so it does not cover the chat widget bubble in the bottom-right.
Plan-tier upgrade CTAs at the 403 boundary
When an MCP call hits a tool above the user's plan tier, the response converts the 403 into an in-product upgrade CTA with a deep-link to /settings/billing.
Customer MCP usage dashboard
/settings/usage shows total calls, calls this month, p95 latency, and plan-tier breakdown.
Public MCP usage stats for social proof
/api/public-stats/mcp exposes anonymized aggregate stats (rounded tenant counts, total calls, p95 latency) for use on pricing and marketing pages.
Audit log UI at /settings/audit
KPIs, expandable rows, redact-aware. Customers can see every API and MCP call against their account.
Idempotency forwarding through MCP
Per-tool synthesized Idempotency-Key (${customerKey}:${toolName}:${callIndex}) prevents duplicate sends on agent retries.
New mutation tools - update_deal, delete_deal, delete_task
Destructive actions gated by a confirm:true literal flag.
MCP server v1.0 — Run OneHub360 from Claude or ChatGPT
Hosted Model Context Protocol server at https://onehub360.com/api/mcp. 28 tools (19 read + 9 write incl. destructive) filtered by plan tier. Mint a key in Settings → API Keys, paste a config snippet into your agent, restart. Audit log on every call. Tenant-scoped per key. First SMB CRM platform to ship MCP — same week Salesforce shipped Headless 360.
API audit log + Idempotency-Key support
Every mutation through /api/v1/* or the MCP is recorded with the API key id, tool name, status, durationMs, and timestamp. Idempotency-Key header on mutations caches the response for 24h: same key + same body replays the cached response, different body returns 409. Prevents duplicate sends on agent retries.
New v1 send/log routes
POST /api/v1/proposals/[id]/send, POST /api/v1/invoices/[id]/send, POST /api/v1/calls. All confirm-flag-gated for destructive actions (the agent must explicitly pass confirm:true to fire customer-facing emails).
Connect-to-Claude UX
New panel in Settings → API Keys with the MCP config snippet, copy-snippet button, and plan-tier explainer. One-click setup for any MCP-compatible agent.
Use-case landing pages
New pages at /use-cases/run-crm-from-claude, /use-cases/send-invoices-from-chatgpt, /use-cases/ai-agent-for-small-business, /use-cases/proposals-from-claude, plus /compare/salesforce-headless-360-alternative.
Marketing site unification
All 22+ marketing pages now share a single nav and footer (MarketingNav + MarketingFooter). No more page-by-page chrome inconsistency.
Blog & SEO Content
5 long-form articles published covering CRM, lead management, and competitor comparisons. Accessible at /blog.
Competitor Comparison Pages
Dedicated landing pages vs GoHighLevel, HubSpot, HoneyBook, Salesforce, and Zoho.
Marketing Page Overhaul
New hero copy, honest benefit cards replacing fake testimonials, email capture, integrations section, inline dashboard showcase, and mobile nav menu.
Email Lead Capture
Visitors can submit their email from the landing page. Stored as a contact with source tracking.
Clover Order Customer Names
Web and phone orders now correctly display customer names from order title and expanded customer data — no more "Walk-in" for named orders.
Clover Sync Revenue & Activity
Revenue recalculated correctly on sync. Activity feed entries created for all Clover orders.
Active Carts Widget
Fixed field mismatches (totalPrice, items) and removed a double-division bug that was showing $0.00 cart values.
Clover Sales Widget
Orders link added on all widget states, not just the loading skeleton.
Bot Filter in Activity Feed
Bot emails were slipping through because contact.email was missing from the query select. Also added description-text scanning to catch bots recorded in cart data.
Activity Feed Date Sorting
SQLite stored some timestamps as TEXT and others as INTEGER. TEXT sorts after INTEGER regardless of value — causing 5-day-old activity to appear stale. Normalized 2,400+ records to INTEGER epoch ms.
Watch Live Centering
rrweb Replayer was missing root container reference and scale-to-fit logic. Fixed with ResizeObserver and proper cleanup on modal close.
Heatmap Background
Heatmap page now renders an iframe of the tracked URL as the background instead of a blank canvas.
Contact Revenue Aggregation
Contact revenue now correctly sums across Shopify, Clover, POS, and invoice payment sources.
Contact Deduplication
Clover sync no longer creates duplicate contacts when the same customer email already exists.
March 2026
Proposal Pipeline v2.0
Auto-generate room acoustic proposals from form submissions. Inline editing, photo analysis, Dan Morrell signature, and async Mac Mini generation (3-7 min Opus quality).
Form Automations
Match form submissions to email sequences. Route leads to the right workflow automatically based on form type.
Chrome Extension v4.0.3 (published to Chrome Web Store)
Gmail sidebar shows the matching OH360 contact, deal pipeline, last touch, and recent activity inside the inbox. Quick-add popup adds a contact, deal, or task from any tab with a per-business selector. Universal sidebar is opt-in and toggleable. Three-keystroke contact search from the popup. Extension ID illefghajalfimobdkcmgmmobgoaggjk. HubSpot has a Gmail integration. GoHighLevel does not.
Pipeline Board
Won/Lost columns hidden from active board view. Won column retained for drag-to-close; Lost hidden entirely.
Mobile Responsiveness
Pipeline pages now fully responsive on mobile.
Security Hardening
Docker ports bound to localhost, cron auth added, Gmail ingest secured. Cross-tenant data isolation fixed in appointments and tasks APIs.
Proposal Form Routing
Proposals only generate for Room Analysis forms, not lead magnets or other form types.
February 2026
Affiliate Program
Earn up to 30% recurring commissions by referring businesses to OneHub360.
Email Campaign Compliance
Automatic unsubscribe filtering, CAN-SPAM footer, and List-Unsubscribe header.
Calendar & Scheduling
Improved event creation, appointment booking dialog, and multi-business support.
Task Multi-Tenant Fix
Tasks now correctly scoped to selected business.
Security Patches
Fixed cross-tenant data isolation in appointments and tasks APIs.
January 2026
Smart Chat Agent
Automated responses for your live chat widget with knowledge base grounding.
Gmail Integration
Connect Gmail to sync inbox, send emails as your business, and track opens/clicks.
Clover POS Import
Import customers from Clover POS directly into your CRM.
White Label
Custom branding, colors, and domain support for agencies.