Changelog

What's new in OneHub360. We ship fast.

August 3, 2026

SHIPPED

Send Shopify invoices from the deal, with opens and clicks

Deals with a Shopify draft order now have a Send Invoice button. The invoice email goes out from your own business address with an optional personal note, and because it rides your tracked sending rail, you see when the customer opens it and get notified the moment they click through to pay. Shopify’s own invoice sender tells you none of that. Your Shopify admin workflow keeps working; this gives the same send a paper trail.

SHIPPED

Shopify invoice sends show up on the timeline

Send an invoice on a Shopify draft order and the contact timeline records it within minutes: which draft, the amount, and exactly when it went out. Re-send it and the timeline shows that too. The open deal also carries a last-invoiced date, so you can see at a glance who has an invoice in hand and who is overdue for one. If the invoiced customer was not in your contacts yet, a record is created so the follow-up has somewhere to live.

August 1, 2026

SHIPPED

One-click Room Analysis invites, with an optional auto-suggest

Inviting a lead to your Free Room Analysis is now one click from the contact or the deal, with the invite written in your business voice and sent from your own address. When a lead describes a real project, the timeline can now surface a ready-to-send invite suggestion so the opportunity is in front of you the moment it appears; sending stays your click. A new Settings switch, off by default, lets a business send those project-intent invites automatically. Every invite, clicked or automatic, checks the contact hold and the deal state first, so a paused contact or a closed deal is never emailed without you seeing why and choosing to proceed.

FIXED

Hold dates mean the day you picked

Pausing outreach on a contact until a date could show, and end, one day early. A hold now runs through the end of the day you chose in your own timezone, on every screen and in the automation that honors it.

FIXED

Send and Regenerate always respond

The confirmation step on sending a proposal and on regenerating an edited draft could be silently swallowed by the browser, leaving the button doing nothing. Both now use a clear in-page confirmation that names what is about to happen, including whose edits a regeneration would replace and that a snapshot is kept in version history.

IMPROVED

Customer links go out on your own domain

Once you set up a link domain in Settings, every link your customer sees now carries it: the proposal, the invoice and payment page, the booking confirmation, the e-sign request, the ticket and wallet pass, and the unsubscribe line. Previously only click tracking moved across, so a quote sent from your address could still ask a customer to click a domain they did not recognize. Matching the link to the address you send from also helps the message reach the inbox instead of the spam folder. Businesses that have not set up a domain are unaffected.

FIXED

Link-domain setup says who is waiting on what

The setup screen implied the security certificate completed on its own, so a correctly configured domain could sit on a failed check with no next step for anyone. It now separates the DNS record you add from the certificate we issue and names which one is outstanding. Your email keeps sending on the default domain until yours is live, so nothing is held up.

SHIPPED

Share a room plan with a link

A plan built in the room planner now has a Share button that captures the whole design in the link itself: room size, tier, fabric, color, and every per-wall edit. Whoever opens it sees the exact plan on any device, with nothing to sign up for and nothing stored on a server. The person planning a space is often not the person approving the spend; now the plan travels to them intact.

SHIPPED

Won means paid

Moving a deal to Won now asks for payment on record first: a paid invoice, a linked order, or a payment you log in one click right from the refusal message. Off-the-books payments count once logged, and you can still override with a note when reality calls for it; the override is recorded on the deal timeline. Your pipeline’s won column now agrees with your bank account.

FIXED

Call notes quote the caller, not the agent

Details captured from phone calls, like quantity, budget, and timeline, could pick up a number the voice agent said, such as a delivery fee, and file it as the customer’s answer. Extraction now tracks who said what, so a quoted fee can no longer become a customer budget and a product model number can no longer become an order quantity.

July 29, 2026

IMPROVED

Proposal specifications read per product

The Product Specifications table on a proposal now tracks the products on that quote. When a quote covers more than one product, the core material, mounting method, fire rating, and acoustic rating are each stated against the product they belong to, so a customer comparing a sound barrier with a fabric-wrapped panel sees the right figure next to each instead of one set of numbers for the whole document. The fabric details, UL recognition, cleaning code, and color card now appear only on quotes that include a fabric-faced panel, which keeps an art-only or diffuser quote to the specifications that actually apply to it. A standard fabric panel quote renders exactly as it did before. Every proposal is also checked against its own line items before it goes out, and one whose specifications do not line up with what is on it is held for your review rather than sent.

July 28, 2026

FIXED

A follow-up task closes itself when the customer buys

A customer who called with a question and then simply placed the order left you with a reminder to chase him anyway, and the reminder stayed open and went past due. When an order is paid, the follow-up tasks it plainly answers now close on their own, with the order number and what was bought written onto the task so the history is intact. Closing is deliberately cautious: it only applies to reminders raised by your own call assistant, only when the order came in after the reminder, and only when the products line up. Anything less certain stays open and gets a note pointing at the order, and a task you wrote yourself is never closed for you.

FIXED

Calls that name a product reach your pipeline

A caller who described exactly what he wanted could still be scored as having shown no buying signal, so the call never became a deal and the only trace was a callback reminder. The check that reads the product out of the call transcript was running after the decision it was meant to inform, so it never got a say. It now runs first, and a call that names a size or a product lands in the pipeline the way it always should have. Calls with no buying signal are still left alone.

FIXED

Your own testing no longer shows up as shoppers

Active Carts counted carts created by your own uptime checks and by your team testing the store, so the count and the dollar total were both inflated and a real cart worth watching was buried among them. Carts created by a store monitor are now left out of the view, the totals, and the alerts, and so are carts from a device already signed in to OneHub360, which is how most in-house testing happens. Uptime checks keep running and still tell you the moment checkout breaks. Genuine carts are never hidden, and nothing is hidden on a guess: a cart is only left out when it identifies itself as a monitor or comes from a network you sign in from.

July 27, 2026

FIXED

Tapping an alert opens the exact record, not a list

An alert about a customer complaint used to drop you on your whole inbox, so you still had to go find the message. Complaints now open the actual conversation, ready to reply, whether it arrived by email or by text. Alerts about a quote that needs a look, a reply to a campaign, and a cart worth watching all open the specific record too, instead of a board or a summary page. A few alert links also failed to open the app at all and sent you to a browser login screen first. Those open the app directly now.

FIXED

Call recordings play in the mobile app again

Opening a call in the mobile app showed the details and the full transcript, but the recording refused to load and offered only a Retry that never worked. Recordings captured by your own phone line were being looked for in the wrong place, so the audio was reported as unavailable even though it was saved and complete. Every recorded call plays again, and you can scrub through one to reach the part you want instead of listening from the start.

July 26, 2026

FIXED

Store orders paid outside checkout now reach OneHub360

Your connected store now tells OneHub360 the moment an order is actually paid, including a quote or invoice a customer pays over the phone or through the link you email them. Those sales used to depend on a setting that was never part of the connection, so reconnecting your store could quietly stop them from arriving. Every connected store gets it from now on, and there is a one-step repair for stores connected earlier.

SHIPPED

A quote paid by phone gets credited to the ad that brought them in

When someone arrives from an ad and asks for a quote, that click is now saved on their record and on the quote itself. If they pay by phone or through an emailed invoice weeks later, the sale is still traced back to the ad that started it, instead of counting as if it came from nowhere. A customer with several quotes keeps each one tied to what actually produced it, so one old click no longer takes credit for every order they ever place.

IMPROVED

Your ad reporting says what it can and cannot prove

The list of sales ready to report back to Google now shows where each match came from and flags any where the ad click aged out before the invoice was paid, with the dollar total attached. Those are reported to you rather than sent as matches that would be rejected, so the number you are looking at is one you can act on.

July 24, 2026

SHIPPED

A call fills in the deal for you

When a caller says what they need, those details now land on the record instead of waiting to be retyped. The panel count, size, thickness, color, budget, timeline, room dimensions, and the organization they buy for are read straight from the call and written to the contact and the deal, and the deal card reads like the actual job instead of "phone inquiry". Anything already filled in stays exactly as you set it, including the deal value, so your own numbers are never touched. A friendly call with no order in it changes nothing at all. The captured details also carry into the quote, so a proposal starts from what the caller actually said.

SHIPPED

Turn a website freight request into a ready-to-pay order in one step

When a customer asks for an exact freight price from their cart, that deal now has a freight box. Type the number your carrier gave you, press the button, and the store order is built from the exact cart they configured, with freight as its own line and their delivery address already filled in. A customer email is drafted alongside it with the line items, the total, a working checkout link, and the note that the rate holds for three days. Both stay drafts until you send them, so you read everything first.

FIXED

Links you put in an email draft now look like links

A link inside a draft used to render as ordinary text, so a checkout link that was already there looked missing and got pasted in a second time. Links in drafts, email bodies, and message threads show as links again. The insert-link button now also works when no text is selected, and typing a bare address like example.com creates a working link instead of a broken one.

SHIPPED

Ask for room details and photos in one click

A Request room analysis button now sits on the contact page and on the deal page. It opens your saved invite, already addressed to that person, so you can send it as-is or reword it first. The message is short, points them at your room analysis page as a real link, and invites photos by text or by reply. Sending it logs the invite on the timeline and marks the deal as waiting on photos, so an automated follow-up will not turn around and ask for the same pictures right behind you. The wording lives in your templates, so edit it once and every future invite picks it up.

SHIPPED

Your proposal edits are never overwritten without you saying so

Once you edit a draft proposal it is marked as yours. Regenerating it now asks first and tells you what it is about to replace, and an automatic regeneration, like the one a customer photo reply triggers, will not touch it at all. Your edited draft stays exactly as you left it until you decide otherwise.

SHIPPED

Quote requests that need a second look wait for you

A request that asks you to install the panels, or whose location does not match where it was actually sent from, now pauses instead of generating a quote on its own. The contact, the deal, and everything they sent are still saved, and the alert names the signal that tripped, so you can read it and decide. Nothing gets deleted or marked as junk, and a normal request still quotes automatically.

SHIPPED

Every proposal keeps its earlier versions

A History button on the proposal lists the earlier versions of that document. A copy is saved automatically before anything replaces it: before a regeneration, before your first edit of an AI draft, and before a restore. Any of them goes back with one click, and the version it replaces is saved too, so putting one back is also reversible. A version can no longer be lost.

July 23, 2026

SHIPPED

Session recordings are one click away from the visitor, the contact, and the deal

A visitor's page now lists every recorded browsing session, with when it started, how long it ran, the page they landed on, and roughly how many pages they viewed, each one a click from the full replay. If nothing has recorded yet you are told that plainly instead of seeing an empty page. A hot cart alert over $500 now carries a direct replay link when a recording exists for that visit, so you can watch what they did before you reach out. And the replay link on a deal's visitor card, which used to land on the wrong screen, now opens the recording itself.

IMPROVED

Follow-up automations pause when a real conversation is live

Your automated follow-ups now hold back the moment a lead already has a sent proposal, has replied to you in the last few days, or has a follow-up you sent by hand, so a customer in the middle of a real thread never gets a generic nudge on top of it. The touch is marked handled and the sequence moves on to the next step, and a genuinely cold lead still gets every scheduled follow-up on time.

IMPROVED

Sending a proposal fills in an empty deal value

When you send a proposal on a deal that has no value set yet, the deal value fills in with your recommended option total, so an empty deal reflects what the customer was quoted. A value you set yourself is never changed, and every fill is recorded on the deal.

IMPROVED

Proposal PDFs open right away

Your proposal PDF is now built the moment a draft is ready and cached, so opening or downloading it is near-instant instead of a wait of up to a minute. The room photos inside are sized to the page, so the file is smaller and loads fast for your customer too. Edit the proposal and the next open rebuilds it on its own.

FIXED

The fabric color chart stays whole in the proposal PDF

The fabric color chart no longer splits across pages with the last color group stranded by itself. The whole chart now moves to a fresh page as one block whenever it cannot fit, and the product specifications table stays together too.

SHIPPED

Turn a call into a deal in one click

A Create deal button now sits on every call in the Calls list and on the call page. It builds the pipeline deal for you, creates the contact first if there is not one yet, drops the call and a short summary onto the timeline, and takes you straight to the deal. No more copying a caller's details from one screen to another.

FIXED

Promoting a call to the pipeline always works, even one tagged support

When you choose to promote a call, it now creates the deal every time. An automatic tag like "support" no longer overrides your click. Your decision wins, and the earlier automatic read is kept on the deal for reference so nothing is lost.

FIXED

A quote call is no longer mistaken for a support call

A caller who asks for a real quote, with a panel count, sizes, a thickness, or a clear pricing question, now lands in your pipeline as a new deal even when the call also sounds like an existing customer. A genuine order-status question still stays out. When the two signals conflict, OneHub360 creates the deal so a real buyer is never dropped and you can set it aside if you disagree.

IMPROVED

Call rows open the call, with the contact one tap away

Every row in the Calls list now clicks through to the full call. The phone number is a direct link, a matched caller's name jumps to their contact record, and a chevron makes it clear the row opens.

FIXED

The new-deal form keeps what you type

The Create Deal box no longer clears the title or the contact you picked while you are still filling it in, so a deal you start by hand is captured exactly as you entered it.

SHIPPED

Start a deal from a contact

A New deal button now sits on the contact header and in the contact's Deals tab. It opens the deal form prefilled with that person and their business, titled from their name and company. Every place that shows a person now has a one-click path to a deal.

FIXED

Texted leads follow the same quote rules as email

Inbound texts now go through the same checks as email before a quote is drafted. A scheduling or conversational text no longer starts a quote, a text on a deal that already has a proposal shows you any new photos instead of quietly redoing the quote, and photos you already sent that get texted back are not counted as new. A real request ("send me a quote for a 12x14 room") and genuine room photos texted in still generate a draft, and your own outgoing texts never trigger anything.

FIXED

Photo replies only redo your quote when the photos are actually new

When a customer replies with photos, OneHub360 now checks whether they are genuinely new before touching your draft. Room photos they actually sent generate or update a quote, but images your own earlier email quoted back to you no longer trigger anything, and a signature logo never counts as a photo. If new photos land on a deal that already has a proposal, you get a heads up that they arrived and you decide whether to regenerate, so a finished draft is never overwritten behind your back. And an email you send is never mistaken for a customer message, so your own outgoing mail can never start a draft.

IMPROVED

Auto-drafts stay on the free lane and never surprise-spend

Every proposal drafted for you automatically now runs on the free lane only. If that lane is briefly down, the work waits and finishes on its own when it recovers instead of falling back to a paid one, and you get a single heads up if a draft is still waiting after a couple of hours. You only get a "draft ready" alert for a draft you started or a brand-new lead.

July 22, 2026

IMPROVED

Vendor pitches are caught even when the wording is brand new

Your contact and quote forms now weigh the meaning of a message, not just phrases seen before, so a sales pitch worded in a way you have never received still gets recognized as a solicitation, kept out of your pipeline, and held off your phone. A real buyer who describes their own project still comes through as a lead and still gets your reply. Borderline messages come through tagged so you can glance and decide, and every sender is kept and tagged for review.

SHIPPED

Log a call you made from any phone

A Log Call button now sits on a contact and on the Calls screen, so a call you placed or picked up from any phone, including your personal cell, becomes part of the record. Set the direction, how it went, when it happened, an optional note, and whether it came from your personal line, and it lands on the contact timeline and the Calls list right beside your recorded calls, marked Logged. If the contact has a single open deal, logging the call keeps that deal marked as freshly worked so it stays off your follow-up list for the right window.

FIXED

Live chat keeps selling after it captures a lead

Once the chat assistant has what your team needs for a quote, it no longer signs off and repeats the same wrap-up. It keeps answering the visitor's next questions about designs, fabrics, colors, sizing, and custom artwork, while the team still follows up on the quote in the background. When a visitor asks to see the options, the assistant now shows them instead of wrapping up. And it will never send the same message twice in a row. If it is about to, the chat is handed to a person so the visitor gets a real answer.

SHIPPED

Merge two deals for the same contact into one

When a contact ends up with more than one open deal, a new Merge button on the deal page folds another of their open deals into the one you keep. Its activity, proposals, tasks, files, and history all move over, the merged-away deal is archived, and the deal you keep holds its own value so nothing gets double-counted. Pick the deal to fold in, and it is done in one step.

FIXED

A new call or chat adds to an existing open deal instead of making a duplicate

When a contact who already has an open deal calls in or starts a chat, OneHub360 now attaches that touch to the deal they already have rather than opening a second one for the same job. Your pipeline shows one deal per opportunity, so the numbers stay honest and nothing gets worked twice.

FIXED

A deal you closed stays closed

After you mark a deal won or lost, a later call or chat from that same contact no longer quietly reopens a fresh deal. The inbound is still logged to the contact, and if it shows strong buying intent you get an alert so you can reopen it yourself when it is truly a new project. You decide when a closed deal comes back.

IMPROVED

Creating a deal warns you if the contact already has one open

When you add a deal by hand for a contact who already has an open deal, a banner points to the existing one with a one-tap jump, so you can add to it instead of starting a duplicate. It never blocks you, it just makes the duplicate obvious before you create it.

SHIPPED

Schedule an email to send later

Write an email now and pick the exact day and time it goes out. The Send button becomes Schedule, your pending emails show in the composer so you can edit or cancel any of them before they send, and each one goes out through your connected mailbox at the time you chose. Great for lining up a morning follow-up the night before.

SHIPPED

Drop an email template into any conversation reply

The reply box in your inbox now has a template picker, so you can insert a full saved template into a reply in one click. Merge tags like the recipient first name fill in from that contact the moment you insert, so you see the finished text and can edit it before you send. Nothing goes out with a raw {{first_name}} in it.

FIXED

Merging two duplicate contacts that share an email now works

Combining two records for the same person no longer stops with a database error when they share an email or phone. The merge keeps one clean record, moves every order and message onto it, and preserves the other address so future email from it still finds the right person. If anything does block a merge, you get a plain explanation instead of a raw error.

IMPROVED

A task reminder opens the exact task, with the person and deal attached

A task reminder now takes you straight to the task it is about, with the contact and the deal it belongs to linked right there, instead of dropping you on the full task list to hunt for it. Open the reminder, see who and what it concerns, and act in one step.

SHIPPED

Pause outreach for one contact without losing their place

You can now put a single contact on hold or snooze their outreach for a set time, and every automated email and text pauses for them without burning a follow-up step. When the hold ends, the sequence picks up where it left off. Use it when someone asks for space or you want to handle them yourself.

IMPROVED

Revenue reports count the payments you log by hand

Cash, check, and Zelle payments you record by hand now show up in every revenue total alongside your card and store sales, so a contact's lifetime value and your reports reflect money that never touched an online checkout. Log the payment on the contact and it counts everywhere revenue is shown.

FIXED

Text alerts carry a tappable link straight to the right screen

Text-message alerts now include a full, tappable web link that opens the exact deal, reservation, or task it is about, so you go straight there from your phone instead of copying a fragment into a browser.

IMPROVED

Your contact forms filter out vendor sales pitches automatically

When a supplier or service vendor fills out one of your contact or quote forms to pitch you, OneHub360 now recognizes it as a solicitation, keeps it out of your sales pipeline, and holds the new-lead alert off your phone. A real buyer who describes their own project still comes through as a lead and still gets your reply, so your pipeline stays clean without you sorting a freight, SEO, or web-design pitch out of it by hand. The sender is kept and tagged so you can review it anytime.

IMPROVED

A deal closes itself the moment the order is paid

When a customer pays for their order, OneHub360 now moves the matching deal to Won on its own, whether the paid order arrives instantly or on the next store sync, so your pipeline reflects the sale without a manual drag. Follow-up sequences see the deal is closed and stop nudging someone who has already paid.

July 20, 2026

FIXED

Live cart values show correctly in the iOS dashboard

The Active Carts view in the OneHub360 iOS app now shows each live shopper's real cart total instead of $0. It reads the same value the web dashboard and browser extension already displayed, so what a visitor has in their cart right now reads the same everywhere you look.

FIXED

Your sidebar shows only the tools for your industry

Entertainment-specific features such as Stage Plots no longer appear in the navigation for law firms, restaurants, retail, and other business types. Every industry profile now declares exactly which specialized tools it shows, and a build check keeps future features from leaking across industries.

FIXED

Follow-up emails never re-ask for something a customer already sent

A sequence step now checks its own premise before sending. If a lead already sent photos of their space, the "did you have a chance to gather pictures" follow-up completes silently and the sequence moves on to the next step that still applies. Same when a proposal has already been generated or sent for the deal. Photos count no matter how they arrived: attached to the original form, texted, emailed, or captured in the app. Leads who genuinely have not responded still get the full follow-up sequence.

SHIPPED

Sequence steps can carry their own exit conditions

Each automation step can now declare exactly what makes it obsolete, such as photos received or proposal sent. The moment that condition is met, the step completes on its own and the rest of the sequence keeps running, so your later follow-ups still go out at the right time to the right people.

July 19, 2026

FIXED

Autoresponders no longer buzz your phone as replies

When a campaign or proposal email gets an automated response, a billing notice, an out-of-office, a "do not reply" system message, or a bounce, OneHub360 now recognizes it as machine mail and holds the reply alert. The email still lands in your inbox as before, and a real person replying always reaches your phone, so every buzz is worth picking up for.

IMPROVED

Your AI runs on the newest Claude Sonnet

Proposal drafting, PDF layout reading, and the chat assistant's backup path now run on Claude Sonnet 5, the newest generation, so you get sharper drafts and answers at the same price. If you bring your own API key, the model picker in Settings now offers Claude Sonnet 5 as the balanced default.

IMPROVED

Bring-your-own-key AI picker offers today's OpenAI and Google models

If you bring your own API key under Settings, AI, the model picker now offers GPT-5.5, GPT-5 mini, and Gemini 2.5 Pro in place of the retired GPT-4o and Gemini 1.5 models, so a model you pick there is a current one.

FIXED

A reservation alert opens the reservation, ready to approve

Tapping a new-reservation alert now takes you straight to the reservation approvals screen with that request highlighted, so you can accept or decline it in one tap. Before, the tap opened the guest's contact page, which has no approve control, and you had to find the pending request yourself. The daily still-pending reminder lands on the same spot.

FIXED

A proposal PDF shows a current cover date

A proposal's cover page now shows the date it was actually sent, or today's date while it's still a draft, instead of the day it was first generated. Reopening or re-downloading an older draft no longer makes your quote look expired before your customer has even seen it.

SHIPPED

The website room planner now fits the room the customer actually has

A visitor planning their room on your site can now tap any wall to skip it (windows, brick, a doorway) and choose whether the ceiling gets treated, and the plan redistributes to the surfaces they left open. A new layout view shows each wall with the panels placed on it, and they can nudge the count per wall within what the wall can hold. If their choices drop the plan below what the room needs, the planner says so and points them to a specialist instead of quietly selling a weaker result. They can also tag the problem they hear, echo, muddy speech, too loud, or recording quality, and the suggested treatment level adjusts.

IMPROVED

The planner never builds a cart that checkout will reject

When a plan is below a fabric line’s minimum order quantity, the planner explains the minimum and offers the fixes, more panels, a no-minimum fabric, or sending the plan, instead of showing a cart button that would fail at checkout.

July 18, 2026

SHIPPED

Restaurant calls, orders, and reservations alert your phone in the app

Operator alerts for a restaurant business now reach the OneHub360 app on your phone: a summary after every answered call, a missed call or voicemail in progress, a caller asking you to call back, an order outcome, and a new reservation waiting for accept or decline, with a daily nudge while it stays pending. Each alert opens the right screen in one tap. Your existing text alerts keep arriving exactly as before, so you can rely on the app alerts at your own pace. Install the OneHub360 iOS app, sign in, and allow notifications to get them.

SHIPPED

Set your own quiet hours for phone alerts

You can now choose a nightly window when OneHub360 holds push notifications to your phone, under Settings, Notifications. It is off by default, so you get alerts around the clock unless you turn it on. Pick a start time, an end time, and your timezone, and a window like 11:00 PM to 5:10 AM that runs past midnight works too. Messages still arrive in the app during your quiet hours, only the phone buzz is paused, and the setting is yours alone so each team member sets their own.

SHIPPED

Block vendors and senders from creating leads

A new Sender Denylist under Settings lets you list the vendors and email senders that should never become a lead. When one of them emails you it still lands in your inbox, but it no longer spawns a deal in your pipeline, so your sales list stays clean. Add or remove domains and addresses anytime, per business.

IMPROVED

The chat assistant brings in a person for a ready buyer

When the assistant would otherwise repeat itself to a visitor who is ready to buy, it now hands off to a live person instead of looping. You approve the handoff in one tap, the visitor gets a short note that help is on the way, and no one is connected to a dead line or left waiting.

IMPROVED

Suspicious order forms get flagged, not auto-answered

When an inbound form looks like an order-fraud attempt, OneHub360 now captures the lead, flags it for your review with a note, and holds back the automatic reply and proposal. A scammer never gets an auto-response, a real lead is never lost, and you decide before anything goes out.

SHIPPED

Ask for a review after every visit, order, or booking

OneHub360 can now ask each customer for a quick star rating right after they finish, whether it was a closed order, a seated reservation, or a completed booking. Happy customers get pointed straight to your Google review page. A lower rating opens a private note that reaches your team instead of the public, so you hear about a problem before it becomes a public one-star. Turn it on per business under Settings, Review Requests, choose email or text, set how long to wait, and preview the exact message first. It stays off until you switch it on.

July 17, 2026

SHIPPED

Send email tracking on your own domain

Your email click and open tracking can now run on a subdomain you own, for example track.yourdomain.com, instead of onehub360.com. When the tracking host matches the address your email comes from, mailbox providers trust your mail more and more of it reaches the inbox. Add one DNS record, click Verify, and every new email for that business uses your domain. Links already sent keep working. Set it up under Settings, Tracking.

July 16, 2026

SHIPPED

Mark a lead "not a fit" and stop the sales machine for them

A new Disqualify control on any contact or deal lets you flag a lead who is not a fit, and OneHub360 stops sending them quotes, room-analysis follow-ups, auto-drafted proposals, and campaigns, without deleting the record. The deal is archived rather than lost, so nothing disappears. Requalify puts them back in the pipeline anytime.

IMPROVED

The chat assistant qualifies before it funnels

When a visitor names a target price below where your volume pricing starts, the assistant states where pricing genuinely begins and invites them back if that range works, instead of pushing them into a quote form. It offers your intake form at most once per conversation and wraps up politely when someone says thanks, so no one gets pitched the same link three times in a row.

SHIPPED

See what a chat visitor is typing, so you can answer faster

Once a live chat is underway, your inbox can show a visitor’s message as they type it, before they send, so your team starts the reply sooner. It turns on only after the visitor sends their first message, the chat widget shows visitors a short notice about it before they start, and the typed preview is only ever shown to your team. It is never used to train AI and never crosses between businesses.

FIXED

A price you lock on a proposal stays locked through every regenerate

A line-item price you set now holds through the first regenerate and every one after it, not just the next one. Regenerating a proposal several times no longer quietly reverts your locked prices back to the calculated number.

FIXED

Freight proposals quote the real flat rate and liftgate cost

A proposal that ships freight now states the actual flat freight rate and a $95 liftgate add-on, delivered dock to dock, instead of a vague lift-gate range. When the delivery ZIP is known, the freight is quoted right on the proposal rather than left to be figured out later.

IMPROVED

Proposals never volunteer a discount you did not approve

The proposal generator no longer offers a discount on its own, even when a customer asks for one. If a customer asks and you have not approved a discount, the proposal points them to volume pricing on request. You can authorize a specific discount in the deal notes and it is applied exactly.

IMPROVED

Better and best options recommend a real upgrade, not just more panels

The higher tiers on an auto-drafted proposal now have to add something acoustically meaningful for the room, such as ceiling clouds, corner bass traps, art panels, or thicker or larger panels, with the reason stated. A tier that is only a bigger quantity of the same panel is held for your review instead of going out as an upsell.

FIXED

A proposal reads the same shipping in the email and every option

A proposal whose cover email and option boxes disagree on shipping, one saying freight while the other says free, is now caught and held for review before it can reach a customer.

FIXED

A proposal is sent once, even on a double-click

Sending a proposal twice in quick succession, or retrying a send that already went through, no longer emails the customer a duplicate. A proposal that has already been sent is left as is.

FIXED

3D room scans show their real surfaces

A captured 3D room scan now renders with its full photo texture on the deal page and on the customer share link, instead of appearing as a blank white shell. The surfaces you scanned are the surfaces you see.

July 15, 2026

IMPROVED

Only real inquiries become deals in your pipeline

An inbound email now has to read like an actual customer inquiry before it opens a deal. Auto-replies, out-of-office notices, bounce messages, newsletters, vendor invoices, and administrative notices are recognized and kept out of your pipeline, so your board stays leads only. A real question about your products, a quote request, a form, a chat, or a call still opens a deal exactly as before.

IMPROVED

A customer complaint reaches a person, not a new deal

When an existing customer replies about a problem with their order, OneHub360 now flags it for a reply from your team instead of opening a fresh deal for it. A reply on a thread you started counts as part of that conversation, so past customers stop generating duplicate leads every time they write back.

FIXED

Proposal drafts never carry an internal not-a-lead note

If the proposal generator decides an inbound is not a sales inquiry, it now stops cleanly and flags the deal for review instead of saving a draft whose cover email held that internal note. A draft like that can no longer reach a customer.

IMPROVED

Your first proposal option matches what the customer asked for

The first option on an auto-drafted proposal now reproduces the customer’s own request as closely as your catalog allows: the item, the quantity, the size, the thickness, the mounting, and the fabric they named. The better and best options only add upgrades on top, so nothing the customer specifically asked for gets swapped out or quietly dropped.

IMPROVED

Custom panel sizes price from a rate you set, not a guess

A proposal for an off-catalog panel size now prices from a per-square-foot rate you control under Settings, Sales Pipeline, so the number is consistent and traceable instead of invented. Set a rate per thickness once and every custom-size quote follows it. Until you set one, it is worked out from your smallest standard panel’s live price, so it always tracks your real store pricing.

IMPROVED

A price you type on a proposal sticks

When you edit a line-item price in the proposal editor, that price is now locked and copied exactly when you regenerate, and the cell marks it as operator-set. Your pricing decisions hold instead of being recomputed out from under you.

FIXED

Regenerate a proposal now applies your changes

Clicking regenerate now produces a fresh draft that reflects your latest edits and context, instead of returning the same result from an earlier run. Each regenerate is its own pass, and the built-in quality second look runs again too.

IMPROVED

More proposal drafts are held for review when something is off

A drafted proposal that skips a lead time the customer asked about, defers a freight cost when the delivery ZIP is already known, or leans on a competitor fabric name the wrong way is now held for your review instead of landing looking finished.

July 13, 2026

SHIPPED

Let customers plan their room right on your website

Put a room planner on your site and a visitor can pick their space, enter a few room details, and see a recommended acoustic panel plan with pricing in about a minute, no app to download. When they send it, it reaches you as a new lead with the room details attached, ready to turn into a proposal. So a browsing visitor becomes a qualified lead with the plan already started, instead of just a name in a contact form.

SHIPPED

Choose what a campaign pings your phone about

A big send no longer buzzes your phone for every open. A new Settings, Campaign Alerts page lets each business decide what a campaign notifies you about: opens stay off by default, clicks stay on, and a reply always reaches you. Bounces and unsubscribes roll into a recap instead of arriving one at a time. A single summary lands one hour and one day after a campaign finishes with delivered, opens, clicks, and replies. Every open and click is still tracked and counted no matter what you pick, so your stats stay complete.

FIXED

Email leads read as clean text on the deal

When a customer emails from Outlook or Word, the first message on their deal now shows the words they actually wrote, not the raw formatting code and the quoted thread underneath it. The proposal draft reads that clean version too, so it works from what the customer said.

FIXED

Email signature logos stop posing as customer photos

A logo repeated in an email signature on every reply used to pile up as dozens of customer attachments on a deal and could even slip into a proposal as a room photo. Those logos are now grouped aside, shown once, and kept out of the room analysis and the proposal, so the photos on a deal are the ones the customer actually sent.

FIXED

Each deal shows what kind of message started it

A deal opened from a customer email, a text, a chat, or a phone call no longer reads as "Form Submission" on the card. Each one is now labeled by where it actually came from, and the details below use the wording that fits that channel, so you can tell how a lead first reached you without opening it.

July 12, 2026

SHIPPED

A stalled store cart can become a quote in your pipeline

When a shopper fills a cart with oversized, freight-only items and stops at the shipping step, they can now ask for an exact freight quote in one step instead of walking away. That request opens a deal in your pipeline with their cart and total, drafts a proposal from the items they picked, and alerts you to send the quote quickly. Their cart stays intact, no checkout is needed, and no draft reaches the customer until you review it.

IMPROVED

Room scans now download as GLB too, not only USDZ

A 3D room scan a customer captures now downloads as a GLB file alongside the USDZ, so you can open it directly in Blender, web-based 3D viewers, and other standard 3D tools, not just Quick Look on an Apple device.

IMPROVED

A freight quote request now arrives ready to price

The quote request on a freight cart now asks where the order is going and whether a truck can dock there, so the request comes back with everything needed to quote in one glance. Each one carries the delivery address, whether it is residential or commercial, the loading-dock answer, every line broken out by quantity, exact size, fabric, and color, and an estimated pallet count and shipment weight worked from the cart. A likely liftgate is flagged for you. The details land in the alert and on the deal, and the address fills onto the contact when it is blank.

SHIPPED

Edit your proposal follow-ups in Settings

The follow-up emails and text a customer gets after opening a proposal are now yours to edit under Settings, Proposal Follow-ups. Reword each subject and message, set how many days after the view each one sends, switch any touch on or off, and control the whole sequence and the text channel from one page. Placeholders fill in the customer name, your callback number, and the pricing-hold date for you, and wording changes take effect on the next send with no wait.

FIXED

Finished proposal drafts stay in the Proposal column

When a draft proposal finishes, it now stays put instead of getting bumped back to Contacted by a background sync. Your ready drafts stay where you can see them and act on them.

IMPROVED

A quality check now runs on every auto-drafted proposal

Every proposal drafted automatically from a web, phone, text, or email lead now passes the same quality check as the ones you regenerate by hand. A draft with a wrong total or a broken count is held for your review instead of landing in your queue looking finished.

IMPROVED

A texted lead now enters your pipeline

When someone texts your number with a real inquiry, OneHub360 creates a deal for them, files any photos they text onto the deal, and drafts a proposal when there is enough to work from. A text lead no longer sits as just a message.

IMPROVED

A cold customer email now starts a deal and a draft

When a new customer emails asking about your product, OneHub360 creates a deal and drafts a proposal, the same way it already does for your web form and phone leads. First-time email inquiries no longer wait for you to notice them.

IMPROVED

Photos from chat and text now show on the deal

Photos a customer shares in website chat or texts to you now appear in the deal photo gallery, so you can review them and the proposal draft can use them.

FIXED

Campaign click counts now show the clicks that happened

Email campaign click tracking now reports accurately on the campaign page and in analytics. Clicks were being recorded but not added to the click tile, so a campaign could show zero clicks even when recipients clicked through. Your click count, click rate, and top-clicked links now reflect real activity.

FIXED

Automated emails greet by name, or greet cleanly when there is none

When a contact has no first name on file, your automated emails now open with a clean "Hi there," instead of a bare "Hi,". Names stored in all capitals read normally too, so an aged list greets "Hi Gary," not "Hi GARY,". This applies across proposal follow-ups, cart recovery, booking and invoice emails, and campaigns.

IMPROVED

Acoustic Sound Panels proposals offer your real fabric colors

The fabric color a customer picks on an Acoustic Sound Panels proposal now comes from your full catalog, every color grouped by fabric family, instead of a short placeholder list that named colors you do not carry. Customers choose the exact color they want, presented the way your store presents it.

FIXED

Opening a proposal yourself no longer counts as the customer viewing it

When you open a proposal you sent, it no longer marks it as viewed, starts the follow-up sequence, or fires a hot-buyer alert. Only the customer’s genuine first open does that. So your view timestamps, follow-ups, and alerts track the customer, not your own review.

July 11, 2026

FIXED

A text to cancel a reservation now actually cancels it

When a guest texts your reservation line to cancel, the reservation is canceled and the guest gets a confirmation right back. If the guest has more than one upcoming booking, the date in their message now picks the right one to cancel. And if it still is not clear which one they mean, you get an alert to confirm, so a cancel request never slips through unnoticed.

SHIPPED

Cancel a reservation in one click

Every pending or accepted reservation on your dashboard now has a Cancel button. Confirm once and the reservation is canceled, the guest gets a cancellation text, and you are notified the table is freed.

FIXED

Won deals now record what the customer actually paid

When a payment closes a deal automatically, the deal value is now set to the real order total instead of keeping the earlier estimate. The original estimate stays on the deal for reference. Your won-revenue numbers now match actual sales, so the pipeline reporting you make decisions on is accurate.

IMPROVED

Change who an invoice goes to, and resend it, even after it is sent

When a customer changes their email after you have already sent an invoice, you can now point that one invoice at the new address and resend it, without touching their contact record. Open the invoice, set the address under Recipient, and send. Reminders follow the new address too. One checkbox also updates the contact if you want the change to stick for future invoices. Every recipient change is logged on the invoice so you can see who it went to and when.

SHIPPED

Show a customer their own room with the treatment in place

After a proposal drafts, OneHub360 can composite the recommended acoustic panels onto your customer’s own wall photos and add a “Your room, treated” page to the proposal. You review the renders in the editor, keep the ones that look right, drop any that miss, and turn the set on or off per proposal. Every render is labeled as a concept for visualization, not an exact layout. It runs only for wall photos and never delays the draft.

IMPROVED

Emails you send keep your deals current

Sending a manual email from the inbox now updates the last-contacted time on that customer’s open deals, so your hot and stale lists reflect the real last touch instead of going quiet right after you followed up.

July 10, 2026

FIXED

Every attachment now opens, whatever its filename

Photos and files with unusual characters in their names, like the invisible spacing character iPhone puts in screenshot names, failed to load from the contact timeline, inbox, and documents. They now open and download reliably, keeping their real name.

IMPROVED

You hear the moment a customer opens their proposal

When a prospect opens the proposal you sent, you get a notification right away with their name and the quote value, and for proposals over $1,000 a text lands on your phone too. So you can follow up while they are still looking at it, instead of finding out days later.

IMPROVED

A reply to your proposal now reaches you, not just an open

When a customer emails back about a proposal you sent, you get a notification for it, the same way you already hear about opens and clicks. A real reply is the strongest buying signal, so it no longer sits unnoticed in your inbox.

IMPROVED

You know the instant an auto-draft is ready to review

When a lead comes in and a proposal draft is generated for them, you get a heads-up that it is waiting on the deal. As more drafts are created for you automatically, none of them sit unreviewed.

IMPROVED

Deal wins and stage changes now notify your team

When a deal is marked won or moves stages, your team gets a notification, and the on/off setting for it finally works. A change you make yourself in the app stays quiet, so you only hear about the ones you did not make.

FIXED

Tapping a form-submission alert opens the right person

A new form-submission notification on your phone now opens straight to that contact, instead of a general list.

IMPROVED

Fewer junk form submissions reach your pipeline

Website form submissions that trip a hidden bot trap, or that are filled out in under three seconds alongside other bot signals, are now filtered before they become a lead. Your pipeline stays clean and your follow-ups reach real people.

FIXED

No more asking for photos a customer already sent

When someone already shared room photos through the app, the follow-up that asks for pictures is skipped and the rest of their sequence still continues. A customer who did their part never gets a "still need your photos" email.

SHIPPED

Proposals now draft themselves the moment a lead shares their room or cart

When a prospect submits their room details, uploads photos, or builds a cart on your site, a full proposal draft is generated and waiting on the deal for you to review. This now happens for deals you are already working, not only brand-new ones, so a returning lead who finally shares specifics gets a draft instead of nothing. Each deal gets one auto-draft, and a burst of submissions is worked one at a time so nothing is lost or duplicated. You review and send every draft, nothing goes to the customer on its own.

IMPROVED

Live chat now recognizes returning customers

When a visitor you already know starts a chat, the assistant sees their open quotes, recent orders, latest proposal status, and what they told you on past calls and chats, so the conversation picks up where it left off instead of starting over. It uses this to sound like it remembers them, and never reads it back word for word.

IMPROVED

Your phone assistant can speak to a caller’s open quote

When a known customer calls, your voice assistant now has the detail behind their history: their open deal and its value, a one-line summary of their room, their latest proposal status, and how the last call went. So it can reference their open quote naturally if they ask, instead of treating them as a first-time caller.

IMPROVED

A lead who reaches out over chat now gets the same follow-up as a form lead

When someone shows real buying interest in a live chat and leaves their email, they now enter the same follow-up sequence a website form lead gets, so a promising chat conversation keeps its momentum instead of going cold. Each person only ever enters once.

July 9, 2026

IMPROVED

Room details your customers submit now flow straight into their AI proposal

When someone fills out a room analysis form, the space type, room size, problem, placement, budget, timeline, and color they entered now reach the AI proposal every time, even when they already had a deal open. Before, that detail could sit unused in the background and the quote was written without it. The deal page also marks when the room brief is included, alongside photos, layouts, and replies, so you can see the proposal is built on what the customer actually told you.

IMPROVED

The deal page shows what a customer submitted, cleanly and in plain language

A lead’s form answers now read as labeled fields with the newest submission first, instead of a raw data dump. Cart value shows as one dollar line rather than a raw cents number, behind-the-scenes tracking keys tuck into a collapsed section, and any files the customer sent are clickable. Those tracking values can no longer be edited by hand, so the numbers that drive your cart alerts and deal totals stay accurate.

FIXED

One contact per person, no matter how they reach you

When the same person calls, chats, books, and fills out a form, they now land on a single contact record instead of scattering into duplicates. Every intake path checks for an existing person by email and by phone first, matching a number in any format, and fills in the blanks on the record you already have rather than starting a new one. Your pipeline, call history, and follow-ups all point at the same person, so nothing about a customer is split across ghost records.

SHIPPED

Room scans a customer sends in now open right on the deal

When a customer captures a 3D room scan on your mobile app and submits it with their request, the deal now shows a Room scan and 3D files card. Download the scan and open it in 3D and AR with Quick Look on iPhone or iPad, or in Preview on a Mac, and browse every room-measurement snapshot the app captured, newest first. Before, these files arrived but had nowhere to appear, so you could not see what the customer sent.

IMPROVED

Your AI proposals now draw on the whole picture of each customer

Every proposal now pulls in what the customer actually configured in their cart, the notes from your calls with them, past orders, and the details on their record, all in one assembled brief the AI writes from. A quote reflects the exact items and room they built and the conversations you have had, so it lands specific to that customer instead of generic. Nothing is sent automatically; proposals are drafted for your review.

FIXED

Checkout links from a voice quote now reliably text to the caller

When your voice agent builds a quote and tells the caller their checkout link is on the way, that text now sends every time, even when the carrier does not pass the caller number through cleanly. The number is recovered from the live call and the link is delivered, and every send is recorded on the contact so you can see it went out. If a link ever cannot be delivered, you are alerted right away with the details to send it yourself, so a ready-to-pay customer is never left waiting.

IMPROVED

Calls that need a human look now reach you the moment they are flagged

When the system flags a call for review because the agent did not finish its own wrap-up, you now get an immediate, clearly marked alert plus a task, instead of the flag sitting quietly on the call record. A hot lead that needs your follow-up no longer waits to be noticed.

FIXED

Inbound voice calls now capture the caller’s number, even when the carrier hides it

When someone calls your voice agent, their phone number is now saved to the call and to their contact so you can call them back, even when the phone network does not pass it through cleanly. The number is matched from your own call log right after the call, and a nightly pass fills in any that slipped through and links them to the right contact. If a real conversation ever ends with no reachable number, you are alerted with the call details so the lead is never lost.

July 8, 2026

SHIPPED

A lead who asks you to reach out now alerts you right away

When a prospect explicitly requests that your team follow up, that request stands out from routine background activity: the deal moves forward on your pipeline, you get a heads-up the moment it lands even if the order they configured is small, and a follow-up task is created so no hand-raiser slips through. Reach out while it is fresh.

FIXED

Form auto-replies now reach people who are already in your pipeline

When someone who already has an open deal submits a form, they now get the same instant auto-reply as a brand-new lead, instead of silence. A prospect you are already working never wonders whether their request went through. Genuine later submissions from the same person are still not double-answered.

July 8, 2026

FIXED

Chat alert email links open the conversation, even after it auto-closes

The link in a live-chat alert email now opens the exact conversation it points to, including chats that have since auto-closed and moved to Archived. The page switches to the Archived tab, opens the chat, and scrolls to it, so a link you click hours later still lands on the conversation you came to read. If the chat belongs to a different business than the one selected in your sidebar, the page names that business so you know where to switch. Before, most of these links showed a "conversation not found" notice.

July 8, 2026

IMPROVED

Your automated emails send from your brand, and replies reach you

Sequence nurtures, cart-recovery notes, chat transcripts, and order confirmations now go out from your own business address when your sending domain is set up, and every one carries a reply-to your inbox. A customer who hits reply reaches a real person on your team instead of a no-reply address that goes nowhere. And when someone replies from a second address at the same company, we keep the whole thread on one contact instead of starting a new one.

SHIPPED

Desktop notifications the moment something happens, not just on your phone

While OneHub360 is open, a notification now pops up the instant a contact opens an email you sent, texts you, misses a call, submits a form, or starts a chat. Each one shows who did what and links straight to that person, so you can act while it is still warm. Your phone already got these; now your computer does too. A new Send test notification button under Settings, Notifications confirms your browser is set to show them.

SHIPPED

Send an SMS campaign to your contacts from the Campaigns page

Build a text campaign, pick your audience, and Send now actually delivers it through your business number. Anyone who replied STOP is skipped automatically, every message carries an opt-out line, and each send is tracked per recipient so you know exactly who received it. Available on plans that include mass SMS.

IMPROVED

Your SMS campaigns show on the Campaigns dashboard with real numbers

Text campaigns now sit alongside your email campaigns in one list, each showing accurate recipients, sent, failed, and opt-out counts pulled straight from the delivery records. Past blasts are included, so your campaign history is complete in one place.

IMPROVED

A contact's timeline now shows what they did on your website

Open a contact and the Timeline tab pulls their website activity into one place: the pages they viewed, their live cart and its value, and their recorded sessions, alongside emails, calls, and messages. Each web entry links straight to the visitor page or the session replay, so the intel you already had on the analytics side now lives on the person too.

SHIPPED

Get alerted when a known customer builds a big cart on your site

When a visitor you have already identified fills a cart worth $500 or more, that cart becomes a deal on your pipeline and you get a heads-up with their name, cart total, item count, and how many times they have visited. Reach out while it is fresh. Repeat pings are held back so one hot shopper does not flood you.

FIXED

Session replays fill the player instead of sitting in a small box

When you watch a recorded visitor session, the replay now scales to fill the viewer area instead of showing a small frame with empty space around it. You see what the visitor saw at a readable size, on any screen.

IMPROVED

Email opens and clicks now reflect real activity, not scanners or your own reads

Opening an email you sent, or Gmail pre-loading its images the moment you hit send, no longer counts as your contact opening it or fires a false alert. Security scanners that walk every link in a message at delivery, including all the footer policy links, no longer show up as your contact clicking them. And since Gmail routes every image through its own servers, an open's location now reads via Gmail instead of naming a city your contact was never in. Your open rates, click rates, activity feed, and notifications track genuine engagement.

July 7, 2026

IMPROVED

Session replays now show what visitors type and pick

Watch a recorded session and you see the real values a visitor entered and chose, cart quantities, panel sizes, product options, and form fields, so you can see exactly what someone configured before they left. Passwords and payment card numbers stay hidden. A business that prefers the old hide-everything behavior can switch it back on, one setting at a time.

July 7, 2026

FIXED

Each call shows once, with its direction and the customer number

Outbound calls used to appear twice in your call list and show your own business number instead of the person you called. Every call now appears one time, carries an Inbound or Outbound badge, and shows the customer number. Existing duplicates were cleaned up.

SHIPPED

Call a customer back in one click

Open any call and tap Call back. Your phone rings first, then we connect you to the customer with your business number as the caller ID. Save the number to reach you once and every future callback is a single tap.

July 7, 2026

SHIPPED

Stage Plots: build a pro stage diagram and input list, then share it

A new Stage Plots tool under Orders and Scheduling. Lay out the stage on a 2D grid by dragging drums, amps, monitors, DIs, mics, and horns from a palette, color-code each musician by position, and number the channels right on the diagram. Fill in a proper input list (channel, mic, stand, 48V, notes) and a monitor output list beside it. Send the venue a read-only share link that opens with no login, or download a clean PDF with the diagram on page one and the input and output lists on page two.

SHIPPED

Send photos in SMS conversations

Reply to a text with a picture, not just words. Open any SMS conversation, attach a photo (JPEG, PNG, GIF, or an iPhone HEIC that converts automatically), preview it, and send it with or without a message. The photo you send appears right in the thread next to the customer's messages. If a number cannot send picture messages, the attach button tells you before you try.

IMPROVED

The SMS inbox stays still while you read

The text conversation view no longer repaints every few seconds while it checks for new messages, so photos stop reflashing, the thread stops jumping, and your place and half-typed reply stay put. A new message still appears within a few seconds.

July 7, 2026

FIXED

Proposal PDF downloads are real PDF files again

The Download PDF button on a proposal could return a print-this-page view instead of a file. It now always delivers an actual PDF, and the copy your customer receives by email attaches that same file. Invoice and signed-agreement PDFs got the same fix.

IMPROVED

Your proposal looks the same everywhere

The proposal your customer reads in email, views online, and downloads as a PDF now renders from a single template. The online view picks up the full card layout with per-item pricing, and prices, shipping, and totals always match across all three. Every option shows its real total, even when a draft is missing a number.

July 7, 2026

FIXED

Inbox conversations show the customer's name

An inbound text or MMS could show up in your inbox under your own name, with a system note as the preview instead of the message. Conversations now always show the customer (their name, or their number when you have not saved them) and the actual text they sent, so a glance tells you who is waiting and what they said.

FIXED

No more duplicate copies of your sent emails

A reply you sent from the inbox could appear twice in the thread: once as your sent message, then again a minute later when the same email synced back in from Gmail. Sent replies now show once.

IMPROVED

The inbox no longer gets stuck on a connection error

A brief hiccup during a routine update used to leave a red "retrying" banner pinned over your fully loaded inbox until you reloaded. The banner now appears only if a problem actually persists, and clears itself the moment the connection is back, with no button to press.

July 6, 2026

SHIPPED

Chat handoff that never strands a visitor or contacts you off-hours

Live chat handoff is now warm-approve: the assistant never connects a visitor to a person on its own. When a ready-to-buy visitor asks for help, you get a one-tap ping to approve a live connect, inside the hours you set. If you do not approve in time, or it is after hours, the visitor is told the team will follow up and it lands in your queue. The assistant keeps answering and taking the message the whole time, so no one is left waiting on a silent bot.

SHIPPED

Per-business chat availability and escalation settings

A new Live Handoff and Escalation section under Settings, Chat lets each business set who gets connected live (serious buyers only, or anyone who asks), the hours you can be pinged, a hard no-contact cutoff, the approval timeout, how and who to ping, and the follow-up message a visitor sees.

FIXED

Voice calls now capture the caller number even when the phone platform drops it

On some inbound calls the AI voice platform never passes along the caller's number, so the call landed as an unknown caller. Calls now recover the number from the phone provider and match it to a contact, so your call log and follow-ups have who called. When a number still cannot be recovered, you can add or correct it right on the call page.

IMPROVED

Cart entries in your activity feed link straight to the visitor

A live cart in your activity feed is now clickable and opens the visitor behind it, so you can see the full session and reach out while the cart is still warm.

July 6, 2026

FIXED

Opening a contact's chat now finds archived conversations

Jumping to Live Chat from a contact used to show nothing when their chats had been archived. The scoped view now checks archived conversations automatically and opens the newest one.

July 6, 2026

IMPROVED

Your own opens and clicks no longer count as contact engagement

Reading your own sent email or checking its links used to show up as the contact opening and clicking, which could mark a lead hot when it was just you. Tracking now recognizes the operator, so open and click signals mean the contact did it.

FIXED

Empty cart syncs no longer clutter the activity feed

Add-to-cart events with zero items and a zero total came from routine cart syncs and crawler traffic, not shoppers. They no longer create feed entries, so a cart event in your feed means something real went into a cart.

July 5, 2026

SHIPPED

Four new guides on running your business from an AI assistant

The blog has four new reads for operators. What a CRM with a built-in MCP server changes about your day, how to pick a GoHighLevel alternative that fits a service business, what an AI agent actually handles across a normal week, and a CRM setup for contractors and trades so no lead goes cold on a job site. Each one ends with where to go next.

IMPROVED

Every blog post now points you to what to read next

A Keep reading section at the end of each post links straight to the product comparison, the MCP server, and pricing, so finding the next answer takes one click instead of a search.

July 4, 2026

SHIPPED

Clients fill out their own song requests

Every booking now has a client link you can text or email. Your client opens it on their phone, fills in must-plays, do-not-plays, and special moments on a clean branded page, and you see the submission on the booking. The form matches the event type, so a private party or corporate gig gets the right questions instead of wedding ones.

SHIPPED

Share a stage plot with any venue, no login needed

Stage plots now have a share link that opens for anyone, so the venue sound engineer sees the plot and input list without an account. Copy it from the booking and text it.

IMPROVED

Smarter email filing across your businesses

When a sender is connected to more than one of your businesses, their emails now file to your chosen home inbox instead of landing on whichever business matched first. Client email keeps filing exactly as before.

July 3, 2026

FIXED

Creating and editing contacts from the mobile app works again

Saving a new contact from the iOS app sent first and last name in a form the server rejected, so the contact was never created, and edits used a request type the server did not accept. The server now builds the contact name from first and last name (or the email if that is all you entered) and accepts the app's edit requests, so contact saves from your phone land every time.

SHIPPED

Premium suites are now live to buy

The Legal, Political, and Hospitality suites announced this week are now one click to add on Scale and higher plans. Open Settings, then Billing, and add or remove a suite anytime. Your base plan and its price stay exactly as they are.

SHIPPED

Choose protein, extras, and options when you fire a kitchen order

Building an order from the menu now prompts for the choices an item needs. Tap a burrito and you pick the meat, add a side, or add a paid extra like a second protein, with the price shown as you go. The order total and the kitchen ticket both reflect exactly what was chosen, matching what the phone ordering line already offered. Items with no options still add in one tap.

SHIPPED

See if a customer opened your invoice, and how many times you sent it

The invoice page now shows a Delivery section: how many times the invoice was sent and when, whether the customer has opened it, and whether they clicked the payment link, with a timeline of the activity.

SHIPPED

Your team sees who is texting or calling, with their reservation

Inbound text alerts now carry the sender's name and any upcoming reservation, like "Has reservation tonight 6:00 PM, party of 12". The phone assistant recognizes returning guests the same way, and transferred calls and callback tasks carry the context with them.

IMPROVED

Call-back tells you what happened

When you call a customer back and their line is busy or unanswered, you now hear the reason instead of the call simply ending.

FIXED

Google Ads and Search Console open signed-in from the mobile app

Opening a web-based screen from the iOS app no longer asks you to sign in again. Your app session carries over automatically, so integration screens load ready to use.

FIXED

Overdue tasks now show up in the dashboard attention feed

The attention feed on the mobile dashboard listed overdue task counts but never the tasks themselves, so that section stayed empty. Overdue tasks now appear as tappable items, including callback requests captured by your phone ordering line.

IMPROVED

Reservation requests tidy themselves up

A pending reservation whose date has already passed can no longer be decided, so it now closes itself instead of sitting in your pending list. Your pending view only ever shows requests you can still act on.

FIXED

Team invites can now be resent

If an invite email never arrived, a Resend invite action now appears next to any pending teammate, and a failed send shows a clear warning instead of a quiet success. Invited teammates also land in the right business automatically when they accept.

FIXED

Billing safeguards for upgrades

Upgrading from inside the app now recognizes an existing subscription and points you to the billing portal for plan changes, so an account can never be billed twice for its base plan.

FIXED

Opens and clicks on Gmail-sent emails now track reliably

Emails sent from Gmail with the OneHub360 extension were leaving before open and click tracking could be attached, so those sends never showed engagement. The extension now finishes tracking setup before the email goes out, and your open alerts, click history, and contact timeline all pick it up. Update to extension v5.7.0 to get the fix.

FIXED

Every view of an email now agrees on whether it was opened

An open could land on the contact timeline while the email itself still showed as unopened in other parts of the app. Opens and clicks now update the email record directly, so lists, reports, and the timeline stay in sync.

IMPROVED

No more duplicate logged emails

Registering the same email twice within a couple of minutes, for example on a retried send, now returns the original record instead of creating a duplicate, and manual sidebar logs are labeled separately from real sends.

July 2, 2026

SHIPPED

Premium vertical suites for law firms, campaigns, and restaurants

Add the depth your industry runs on to any Scale plan: the Legal Suite ($999/mo) brings matters, trust accounting, and conflict checks; the Political Suite ($799/mo) brings donors, events, and FEC itemized export; the Hospitality Suite ($499/mo) brings reservations, guest SMS, and AI voice ordering. Enterprise includes all three. Pay only for the depth you use.

SHIPPED

Add a suite to your workspace in a few clicks (beta)

On a Scale plan, the Billing page now shows the three premium suites with an Add button that takes you straight through secure checkout, so a suite goes live on your workspace the moment you finish. Rolling out now; if a suite is not yet available to buy on your account, reach out and we will switch it on for you.

SHIPPED

A paid order closes the deal on its own

When a customer pays their Shopify order, the matching open deal moves to Won automatically with the payment logged on the deal timeline. Swatch and sample purchases never close a real deal.

SHIPPED

See where every contact and deal came from

A traffic-source chip on the contact profile and deal page shows the origin, like "Google Ads", a named campaign, or "Organic Search", so you can tell which marketing actually brings in business. It appears only when the source was captured.

SHIPPED

Google Ads clicks now follow through to the sale

When someone arrives from a Google ad, the click and campaign are captured the moment they identify by chat, form, or call, and stay with them. If a Shopify draft order is created from their deal and gets paid, the sale is reported back to Google Ads. Paid search becomes measurable and repeatable, deduplicated so it never over-reports.

FIXED

Draft-order invoices no longer trigger cart-reminder emails

Customers who opened an invoice you sent them were being treated as abandoned carts and got reminder emails with a broken cart link. Invoice checkouts now stay out of cart recovery entirely.

SHIPPED

Pick real store products when creating an order from a deal

The Create Order & Invoice dialog now searches your Shopify catalog so line items carry the real product, variant, and price, and the ship-to address is editable before the draft is created.

FIXED

Gmail email-open alerts are back

A bot filter added Monday was mistakenly treating Gmail's image proxy as a scanner, so opens from Gmail recipients went uncounted for two days. Real Gmail opens now count and notify again.

July 1, 2026

FIXED

Call back always dials the customer

Calling back from certain call-log entries could dial your own business line and drop the call. The server now refuses to bridge a call to a number you own, and the app picks the right side of the call every time.

SHIPPED

Email button on the contact page

Next to Call and SMS, an Email button opens the composer with the contact's address and business already filled in.

FIXED

Send email from the iOS app without extra setup

Composing email in the app no longer asks you to connect Gmail on the device. It sends through the same Gmail account your OneHub360 is already connected to.

SHIPPED

Know the moment your email gets opened

Turn on Email Opens in notification settings and get a ping the first time a contact opens an email you sent, with their name and the subject. Bot and scanner opens are filtered out, and repeat opens stay quiet.

SHIPPED

Change a deal stage right from the deal page

The stage badge on a deal is now a dropdown. Move a deal to Won, Lost, or any stage without leaving the page, and the change lands in the stage history like a board move.

SHIPPED

See what an active shopper has in their cart

Live visitors browsing your store now show their cart value in the visitor view, on the web and in the app, so you know who is worth engaging right now.

FIXED

Customers who bought no longer get cart reminder emails

When a checkout completed at the same moment the cart was recorded, the recovery emails could still go out. Purchases now cancel their reminders every time.

IMPROVED

Chat answers product questions with more of your knowledge

The website chat now draws on up to 60 knowledge articles and keeps voice-agent scripting out of its context, so product details like fabric colors come back with specifics.

June 29, 2026

SHIPPED

Send orders straight to the kitchen

Restaurant admins can build an order from the menu and fire it to the kitchen from OneHub360, as a paid order or a comp. Comps are logged with who sent them and why.

SHIPPED

Share a call

Send a teammate the recording and transcript of any call with one tap. They open a secure link that expires on its own, no login needed. On the web and in the app.

FIXED

Text replies from the app actually send

Replying by text from the app now delivers to the customer instead of only saving to the thread. The web inbox sends texts the same way, and every sent text shows up on your dashboard and in the conversation.

IMPROVED

Email notifications that only ping you for real customers

New-email notifications are off by default, and when you turn them on they ping you only for genuine customer replies, not marketing blasts or no-reply mail. Control them under notification settings, alongside texts, calls, chats, and form submissions.

SHIPPED

High-value abandoned carts land in your pipeline

When a cart worth $500 or more finishes its recovery emails without a sale, it becomes a deal in your pipeline so a person can follow up.

FIXED

Cart recovery emails show the right totals

A cart with several of the same item now reads as one line with its full line total, instead of repeating the item at its unit price.

FIXED

Your notification choices now save

Turning an alert type on or off now sticks the first time, so you get exactly the pings you asked for and nothing you turned off.

FIXED

Drag and drop documents from anywhere on the page

Drop files anywhere on the Documents page to upload them, with a clear drop overlay. Missing the upload box by a hair no longer makes your browser open the file instead.

IMPROVED

See tomorrow’s reservations, or any day

The reservations view now has a day picker: step to the next day, jump to any date, or hop back to today in one tap, so finding a specific night no longer means scrolling the whole list.

June 28, 2026

SHIPPED

Duplicate an invoice

Copy any invoice into a fresh draft in one tap, then tweak and send. The copy carries the contact, line items, tax, and notes, with a new number and a fresh due date. Works on the web and in the app.

IMPROVED

Add a new customer right on the invoice

Invoicing someone new no longer means stopping to add them in Contacts first. Add them on the invoice in one tap and they are selected for you. Works on the web and in the app.

FIXED

Create an invoice from a price alone

A line item with a price creates the invoice even when you skip the description, instead of the Create button quietly doing nothing. A blank description fills in as a simple line so the invoice still reads clean.

FIXED

Open a contact’s calls, and every tab that went nowhere

On a contact, the Calls and Insights tabs open to their content instead of bouncing back to the overview. Booking contract links land on the right tab, and the settings and inbox links go where they say. The app already worked here; the web now matches.

FIXED

Ask AI works in the app

The in-app assistant answers again instead of returning an error, so you can ask about your business from your phone.

SHIPPED

Your live chat captures the lead and starts the quote

When a website visitor gives your chat what it needs (who they are and what they want), it now creates the deal automatically, saves their answers to it, and wraps up instead of looping. Generate a quote from that deal and it pulls the whole conversation in for you, so you are not copying and pasting the chat to get a proposal.

IMPROVED

Your invoices wear your brand

Invoices and the customer pay page now show your logo, use your brand colors, and carry your phone, email, website, and address from settings, so what your customer receives looks like you. Set your business address under Settings, Businesses, Contract and Brand.

SHIPPED

A real Sales page

One screen with a Today, Yesterday, 7 day, and 30 day switch, then the breakdowns that matter: sales by server, top items, sales by hour, and this period against the last. Tap a server to see their numbers and their orders, tap an order to see its line items.

SHIPPED

Edit an invoice after you send it

Change line items, the due date, tax, or notes on an existing invoice instead of starting over. Available on the web and in the app.

IMPROVED

Your dashboard stays the way you left it

Arrange and hide tiles once and they stay put across updates and devices. Restaurants lead with sales and skip the tiles meant for online stores, so you open to what runs your floor.

IMPROVED

Know which booking inquiry to chase first

The inquiry list shows how many are open, the dollars at stake, and how long the oldest one has waited. Open a booking and create the invoice from it in one tap.

FIXED

Drink and modifier prices now count toward your sales

When an item carries its price on a modifier, like a house margarita priced by the pour, that money now shows up everywhere: today's sales, sales by server, top sellers, and the order detail. Your dashboard totals match your POS report instead of reading low, and every order detail now shows the real line price and tax so the order adds up.

IMPROVED

Your sales day runs on your hours, not the clock

Restaurant dashboards now use a 10am to 3am business day, so a late night counts as one night and a 1am check lands on the night you are actually working, not a near-empty new day. A Yesterday view shows your last complete night at a glance.

June 27, 2026

FIXED

Your dashboard numbers now match your POS to the day

Sales, top sellers, open tabs, and calls now use your local service day correctly, so what you see matches what your register shows. Sales by Server also reports gross (matching your POS report) alongside total collected, labeled by tab owner so it is never confused with a per-item split. Open tabs are tappable into the order, and call counts reflect the real day.

FIXED

Complete and delete tasks from the app

Finishing or removing a task from the mobile app works now. A number of detail screens that quietly failed to load on mobile are fixed too.

IMPROVED

Switch Sales by Server and Top Sellers between today, 7 days, and 30 days

Each of those tiles now has a Today / 7d / 30d switch, so you can see tonight at a glance or step back to the week or month. The drill-down into the orders behind a row follows whichever window you pick.

SHIPPED

Tap any number to see the orders behind it

Every dashboard tile drills in. Tap a server to see their orders, a top seller to see who ordered it, this week to see the week, or open tabs to see what is live. Each order opens to its full line items, server, and total. The category tile is now Top Sellers, ranked by revenue, so you see what is actually moving.

SHIPPED

See who is selling, what is selling, and which way the week is headed

Restaurant dashboards now show sales by server, sales by category, and this week against last week. See who to coach, what to push, and whether the week is up, all at a glance. Customize which of these lead your dashboard.

IMPROVED

Orders and revenue now count every closed tab

Paid tabs from Clover sync the moment they settle, so your sales totals, open-tab count, and revenue reflect the real state of the floor instead of leaving settled tabs stuck open. Your numbers and your "open right now" count finally agree.

SHIPPED

Play call recordings right in the app

Open any call and play its recording in the app with no extra sign-in. The recording streams securely through your account.

SHIPPED

A live restaurant dashboard built for your floor

Restaurant dashboards now lead with what you need during service: today's sales with order count and average check, a sales-by-hour chart that marks your busiest hour, today's confirmed reservations with party size and VIP guests, and open tabs grouped by area so you can see where the room stands at a glance. The open-tabs view reads live from Clover, so it reflects the tabs your team has open right now.

IMPROVED

Your dashboard layout saves to your account

Arrange and hide dashboard widgets the way you want, and your layout follows you to every device and survives clearing your browser. Rearrange on the web and it carries over on mobile.

June 26, 2026

FIXED

Background actions now always complete

Automatic follow-ups, owner alerts, customer webhooks, and proposal generation run in the background after a page loads. A permissions race introduced in the June database update could silently drop some of them on the first attempt. That is closed, so these now complete reliably the first time.

June 25, 2026

SHIPPED

Premium vertical suites for legal, hospitality, and political teams

Depth features built for how you actually run: trust accounting and IOLTA for law firms, AI voice ordering for restaurants, and FEC export for campaigns. Available on the Scale tier, and any team already using these keeps them.

SHIPPED

Turn on modules from any other workflow

Each business shows its own industry modules by default, and you can switch on tools from any other vertical when you need them. A law firm can turn on Reservations the same day. Find it under Settings, pick a business, then Add Modules from Other Workflows.

SHIPPED

QR self-enrollment that builds your contact list

Put a QR code in front of customers. A scan opts them in, creates the contact, and stores consent, then auto-enrolls them into review-request and birthday-club sequences. A daily birthday send goes out on its own. TCPA and CAN-SPAM consent is captured on every signup.

SHIPPED

Printable host-stand day-sheet for reservations

Print the full day of reservations for the host stand, or a single reservation on its own. Flexible time slots cover lunch and dinner from 11am to 10pm, and every request carries a clear note that it is a request, not a confirmed booking.

IMPROVED

Arrange your sidebar your way, saved to your account

Drag any menu item into the order you want and hide the ones you do not use, all in one list. Your layout saves to your account, so it follows you on every device and survives clearing your browser.

IMPROVED

The AI phone agent now works for any restaurant

The phone agent shows as Voice Agent across the app, so it fits any restaurant you run instead of a single hardcoded name.

IMPROVED

Customer reply photos attach to the deal on their own

When a customer emails photos back, the images land on the matching deal automatically. No saving and re-uploading to find them later.

FIXED

A silent auto-reply failure now alerts you and retries

If an automatic reply email fails to send, you get an alert and the system retries on its own, so a customer message no longer goes unanswered without anyone knowing.

FIXED

Dashboard pipeline now matches your pipeline page

The dashboard Pipeline tile counts only your active deals, the same way the pipeline page does. Archived deals no longer get added into the total, so both pages show the same number.

FIXED

New-lead auto-replies now send on the first try

The instant reply to a new lead no longer intermittently fails on a permissions race and wait for a retry. It reaches the lead right away.

June 22, 2026

SHIPPED

Branded email sending from any address you connect

Send as your real business identity across every brand you run. Replies thread correctly, sends land in your Sent box, and opens are tracked. One inbox, the right name on every message.

SHIPPED

Gmail tracked send from the browser extension

Send a tracked email straight from Gmail and it logs against the contact automatically, with an open pixel and click tracking. The follow-up you were doing in a separate tool now lives next to the deal.

SHIPPED

Self-serve annual billing

Switch between monthly and annual right in the app and pay annually for the discount. No sales call to change how you are billed.

FIXED

Calls, proposals, and email status now show in every inbox view

A Twilio call, a real proposal email, and its open/viewed status all appear in the conversation thread. You can see what the customer actually received and whether they opened it, in one place.

FIXED

Accurate reporting across six dashboard surfaces

Revenue and conversion numbers stopped double-counting and stopped reading from a single channel. The figures on your dashboard now match what actually happened.

IMPROVED

Faster pipeline on mobile

The deal board no longer pulls thousands of store orders into the phone app. Pipeline loads quickly on the iOS app instead of stalling.

IMPROVED

Click attribution on every SMS link

Links sent through sequences, workflows, and manual messages are tracked, so a click lands back on the right contact and deal. You can see which text actually moved someone.

COMING

Continue with Google login

Sign in with your Google account, no separate password to manage. Built and in final review before it opens to everyone.

COMING

Stripe Connect payments for client invoices

Route a payment straight to a client business through its own connected Stripe account. The flow is built and is in legal review before it goes live, so customer money only moves once it is cleared.

June 2026

FIXED

Invoice and pay links locked behind a one-time email code

A customer now verifies with an emailed code before viewing an invoice or pay link. The portal and payment pages are no longer reachable without that check.

FIXED

Closed several server-side request risks across import and tracking

Hardened the brand-kit import, tracking proxy, and webhook test paths so a crafted URL can no longer reach internal services. Routine security work, surfaced here because it protects your data.

FIXED

No more double payouts on a single execute

Tightened the payout path so a retried action cannot pay twice. Money out is now an atomic, idempotent operation.

SHIPPED

Order revenue writes a clean ledger row per paid order

Every paid order from a connected store posts one canonical revenue entry, so totals reconcile instead of drifting.

IMPROVED

Truthful, sharper marketing and feature pages

Reviewed the public pages for claims that ran ahead of the product and corrected them. What the site promises now matches what the app does.

April 27, 2026

SHIPPED

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.

SHIPPED

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.

SHIPPED

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.

SHIPPED

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.

SHIPPED

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.

SHIPPED

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.

SHIPPED

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.

SHIPPED

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.

SHIPPED

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.

SHIPPED

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.

FIXED

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.

FIXED

Live visitor counter accuracy

Killed a SQLite type-drift bug that was producing ghost visitors. The counter now reflects real sessions only.

FIXED

Lead scoring page no longer 500s on orphan records

Records without an associated contact stopped crashing the page.

IMPROVED

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.

IMPROVED

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.

IMPROVED

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.

SHIPPED

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.

SHIPPED

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

SHIPPED

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

SHIPPED

/migrate-from-hubspot landing page

Side-by-side feature and price math vs HubSpot. ~$15k/year savings example for a 3-person service business.

IMPROVED

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.

IMPROVED

/features rewritten around buyer pain instead of feature catalog

5 buyer-pain cards replacing the old "feature grid" pattern.

IMPROVED

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.

FIXED

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.

SHIPPED

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.

SHIPPED

Customer MCP usage dashboard

/settings/usage shows total calls, calls this month, p95 latency, and plan-tier breakdown.

SHIPPED

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.

SHIPPED

Audit log UI at /settings/audit

KPIs, expandable rows, redact-aware. Customers can see every API and MCP call against their account.

SHIPPED

Idempotency forwarding through MCP

Per-tool synthesized Idempotency-Key (${customerKey}:${toolName}:${callIndex}) prevents duplicate sends on agent retries.

SHIPPED

New mutation tools - update_deal, delete_deal, delete_task

Destructive actions gated by a confirm:true literal flag.

SHIPPED

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.

SHIPPED

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.

SHIPPED

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

SHIPPED

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.

SHIPPED

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.

IMPROVED

Marketing site unification

All 22+ marketing pages now share a single nav and footer (MarketingNav + MarketingFooter). No more page-by-page chrome inconsistency.

SHIPPED

Blog & SEO Content

5 long-form articles published covering CRM, lead management, and competitor comparisons. Accessible at /blog.

SHIPPED

Competitor Comparison Pages

Dedicated landing pages vs GoHighLevel, HubSpot, HoneyBook, Salesforce, and Zoho.

SHIPPED

Marketing Page Overhaul

New hero copy, honest benefit cards replacing fake testimonials, email capture, integrations section, inline dashboard showcase, and mobile nav menu.

SHIPPED

Email Lead Capture

Visitors can submit their email from the landing page. Stored as a contact with source tracking.

IMPROVED

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.

IMPROVED

Clover Sync Revenue & Activity

Revenue recalculated correctly on sync. Activity feed entries created for all Clover orders.

IMPROVED

Active Carts Widget

Fixed field mismatches (totalPrice, items) and removed a double-division bug that was showing $0.00 cart values.

IMPROVED

Clover Sales Widget

Orders link added on all widget states, not just the loading skeleton.

FIXED

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.

FIXED

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.

FIXED

Watch Live Centering

rrweb Replayer was missing root container reference and scale-to-fit logic. Fixed with ResizeObserver and proper cleanup on modal close.

FIXED

Heatmap Background

Heatmap page now renders an iframe of the tracked URL as the background instead of a blank canvas.

FIXED

Contact Revenue Aggregation

Contact revenue now correctly sums across Shopify, Clover, POS, and invoice payment sources.

FIXED

Contact Deduplication

Clover sync no longer creates duplicate contacts when the same customer email already exists.

March 2026

SHIPPED

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

SHIPPED

Form Automations

Match form submissions to email sequences. Route leads to the right workflow automatically based on form type.

SHIPPED

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.

IMPROVED

Pipeline Board

Won/Lost columns hidden from active board view. Won column retained for drag-to-close; Lost hidden entirely.

IMPROVED

Mobile Responsiveness

Pipeline pages now fully responsive on mobile.

FIXED

Security Hardening

Docker ports bound to localhost, cron auth added, Gmail ingest secured. Cross-tenant data isolation fixed in appointments and tasks APIs.

FIXED

Proposal Form Routing

Proposals only generate for Room Analysis forms, not lead magnets or other form types.

February 2026

SHIPPED

Affiliate Program

Earn up to 30% recurring commissions by referring businesses to OneHub360.

SHIPPED

Email Campaign Compliance

Automatic unsubscribe filtering, CAN-SPAM footer, and List-Unsubscribe header.

IMPROVED

Calendar & Scheduling

Improved event creation, appointment booking dialog, and multi-business support.

FIXED

Task Multi-Tenant Fix

Tasks now correctly scoped to selected business.

IMPROVED

Security Patches

Fixed cross-tenant data isolation in appointments and tasks APIs.

January 2026

SHIPPED

Smart Chat Agent

Automated responses for your live chat widget with knowledge base grounding.

SHIPPED

Gmail Integration

Connect Gmail to sync inbox, send emails as your business, and track opens/clicks.

SHIPPED

Clover POS Import

Import customers from Clover POS directly into your CRM.

IMPROVED

White Label

Custom branding, colors, and domain support for agencies.