Skip to main content

What's New?

Follow new updates and improvements to Workroom..

October 9, 2026 Update

πŸŽ‰ The Client Portal

Your client portal has an updated look. One that speaks of Luxury, and prestige.

Watch the video walkthrough here:

Just a heads up about performance.

We are aware the new client portal and comms may move a tad bit slower than anticipated. We will be working on improvements to the performance this weekend before you get back to the office on Monday.

What your client sees

  • A landing page that opens with your welcome note, then Waiting on you β€” everything that actually needs them, grouped into Investment, Products, To sign and Events.

  • The Work β€” tiles for the rooms, selection boards and presentations on the project, with previews of what's inside each.

  • Project overview β€” your own overview sections, folded shut by default because it's reference rather than news.

  • A property switcher β€” a client with two houses sees "Everything" first, then can narrow to one.

The sections Overview, Messages, Files, Finances, Budget, Products, Links, Calendar and Activity.

  • Messages β€” the same thread you're in, not a thinner copy. DMs included.

  • Budget β€” the full investment overview: what's committed, invoiced, paid and outstanding, furnishings broken down By room or By category, plus design fee, extra costs and retainers.

  • Products β€” their schedule, with Needs you and En route counts, grouped by room, category or status.

  • Finances β€” their estimates, invoices and change orders.

  • Files β€” the documents you've shared, and nothing else.

  • Calendar β€” what's booked, plus Request a time so they can ask for one.

  • Activity β€” everything that's happened, newest first.

  • Links β€” everything shared across the project's rooms.

What they can do

  • Pay an invoice β€” opens a payment form, not a document.

  • Approve or decline a piece, with a note.

  • Approve an estimate or change order, or Request changes β€” which now opens a box asking what they'd like different, and posts it to your thread as a message from them that you can reply to.

  • Snooze anything until later.

  • Search across their portal.

  • Sign out β€” including from the maintenance screen.

You control what they see

  • Turn off any section per project β€” Messages, Files, Finances, Budget, Products, Links, Calendar, Activity. A section that's off isn't drawn and can't be reached by its address either. It applies to every client on that project, not just the primary contact.

  • Choose which product fields reach a client, and how the schedule is organised.

  • Choose which of your product statuses clients see, and what each one is called to them β€” editable right from the Client view panel, and it applies across every client and project.

  • Set a banner (eight supplied images, your own upload, or the project's cover photo), your logo, your typefaces and your colours β€” per client, across every project they own.

  • Control who's in which room from Clients & access.

Maintenance mode β€” close your client portals with one switch, with an option to let one client through for demos. Available per studio, and platform-wide.


πŸ’¬ Comms β€” rebuilt

The whole module has been rebuilt on the design system.

The shape of it

  • A rail showing your projects with each one's own code and colour, archived projects in their own section.

  • Needs you and Unread are a queue of things to act on, not an inbox.

  • Every project is born with two chats β€” your team's and your client's.

  • Presentation rooms replace design boards: Canva, Google Slides, Figma, a mood board or a PDF, with the conversation beside it.

  • Selection rooms for product approvals β€” and you can now remove a piece from a board, not just add one. Decisions already made are kept.

Records in the thread

  • Type # to attach an estimate, invoice, purchase order, bill, change order, product, mood board or product schedule β€” it renders as a card, never a blank bubble.

  • Cards say what the record is, what state it's in and what it's worth, and carry the actions that make sense: Approve, Request changes, Pay, Schedule, Record payment, Nudge, Add tracking.

  • Opening a record opens it beside the thread, not in a new tab.

  • Cards show your client their version β€” vendor names and model numbers never reach them.

The conversation

  • Message bubbles, with your own messages in your accent colour.

  • Reply quotes the message you're answering and links back to it.

  • @ tags a person and notifies them.

  • Edit a message in place; deleting one no longer makes you type "Delete".

  • Messages are grouped by who actually said them (they were all appearing under one author).

  • Files shared in a chat are filed to the project's Documents automatically β€” and shared with the client when the room is one they're in.

  • Add tracking to a piece from the thread.

Per-room tabs β€” Files, Finances, Budget, Products, Links and Overview, each scoped to that project. The jobsite schedule stays internal.

Client view panel β€” one place to set everything a client sees, with a live preview.


πŸ“ Documents β€” new module

  • A landing page, a storage meter measured against your plan, and Documents inside every project.

  • Everything uploaded anywhere in Workroom is filed to its record automatically β€” products, tasks, invoices, estimates, POs, chat attachments.

  • Folders, bulk actions, row menus, and a Trash with Undo on everything destructive.

  • Share rooms for trades, with an optional password gate and a replaceable password.

  • Margin Guard review queue β€” anything that might show your margin is held for review before it can be shared.

  • Search reads inside your files, with Walter over the results.

  • Import from Google Drive, scoped to what you pick.

  • Version history with notes, and Upload new version.

  • Comments with real names and working @-mentions.

  • Originals are never touched β€” previews are separate, smaller copies.

  • File-type icons for 71 formats, and rooms taken from the project's Budget.


🎨 Mood Boards

  • A presented board gets the whole window, and the page switcher is visible.

  • A text edit is kept however you close the editor.

  • Instanced template elements get their own identity instead of sharing one.

  • The recap opt-out is editable where it's shown.


πŸ›‹οΈ Library, Products & Rooms

  • Room placeholders β€” a full workflow: offered in the create modal, seeded into rooms, carrying quantity, categories and product flags; the clipper can replace one; "Unit cost" reads Budgeted; and a placeholder never reaches a client.

  • Super search in the Library, including colour (silently excluded before), with collapsed groups that stay collapsed.

  • Expand a row's sub-items without reloading the page.

  • Product images save and display properly.

  • The rooms picker stops offering another project's custom rooms.

  • A saved room remembers what it was called.


πŸ’° Finances

  • Invoices, estimates and POs list by their own date, not by when they were created.

  • Invoice editing has no unlock step, and the figures hold.

  • A paid invoice can still be corrected.

  • Purchase orders: a data-point column that fills in whichever order the PO is built, and sub-items that show the image, the cost, the vendor and the sidemark β€” with a mark when a sub-item ships from a different vendor than its core item.

  • Invoices and estimates fold hidden sub-items into the parent line's total.

  • From Library opens scoped to the project.

  • Retainers: delete or archive the retainer rather than its invoice, and reverse a disbursement from the ledger that shows it.

  • Ready to Invoice refreshes when you save a time entry, and a draft keeps the project's number.

  • WorkPay unlocks when it can actually process payments, and team members can reach their company to fill the boarding form.


βœ‚οΈ Clipper

  • The project pickers load when a project is already chosen.

  • Square-foot unit codes are recognised again.

  • Large images no longer fail the import.

  • A clipped product can replace a room placeholder.


βš™οΈ Settings, Automations & Elsewhere

  • A profile save actually saves, and says so when it doesn't.

  • One location-codes document, read the same way by every page.

  • The weekly client update email is fixed β€” per-project toggles were all reading the same setting, and the email itself was nearly empty.

  • Automations: merge fields resolve, greetings aren't titles, and an archived project fires nothing.

  • Vendor import tells you why rows were skipped, and no longer finishes silently.

  • Imports catch a percentage column that's been given an amount.

  • Dates: a calendar date is no longer treated as an instant β€” the cause of records showing a day early.

  • Forms: the popup trigger's text and font are editable, and the popup's accent reaches the form inside it.

  • Workroom recovers from a deploy that lands while your page is open instead of breaking.

  • Documents and PDFs: one image resolver everywhere, and nothing stores a URL that expires.

πŸš€ Surprise Feature Drop! πŸŽ‰

Room Placeholders are re-developed, and available! Plus, an update to the clipper!

Watch the video here: https://app.usebubbles.com/2Ui6SWYnaqVtHd3vTmxgot/recording-oct-06-2026

We've just released Room Placeholders, a new way to plan and budget a project before you've chosen a single product. Set up the pieces each room usually needs, and every new project starts with a ready-made, budgeted list that you can fill in as you source.

Set up your placeholders once

Go to Settings β†’ Library and Statuses β†’ Room Placeholders. You'll see a list of rooms pulled from your location codes. Location codes are the source for Room Placeholders, so to add a new room here, add it as a location code first.

Open any room, such as Family Room, and choose one of two options:

  • Load the usual pieces adds the typical furniture for that room, with quantities and categories already filled in.

  • Add placeholder adds any individual item you want.

For each placeholder, set a budgeted amount and a markup, then save. This is mostly a one-time setup. We recommend checking back now and then to adjust budgets for price changes and inflation.

Placeholders in new projects

When you create a project and select its rooms, each room shows how many placeholder pieces it contains. Expand a room to see the quantities, and remove any pieces that don't fit this particular project.

A new view in your Library

The Library now has a Placeholders Shown / Hidden toggle. With placeholders shown, every placeholder appears next to its budgeted amount. Expand an item to see the budget, markup, and resulting unit cost.

Replace placeholders right from the Clipper

The Clipper now has a Replace a placeholder option. When you clip a product, choose the placeholder it fills. Placeholders are listed by furniture type and room. Then add as much or as little detail as you like and click Replace placeholder.

The real product takes the placeholder's spot in your Library, and it stays visible even when placeholders are hidden. From there you can update its status and details as usual.

The Clipper updates automatically, so there's nothing to install. If a project you just created doesn't appear in the Clipper, sign out and back in.

Questions?

Our support team is happy to help. Thanks for being the best part of Workroom!

September 25, 2026 Update

A large release. The headline is a Calendar that now syncs both ways with Google and Outlook. Underneath those, a great deal of repair work β€” including several faults that were quietly costing studios money.

IMPORTANT ABOUT GOOGLE INTEGRATION:

We are in the process of acquiring our CASA A1 Certification from Google. While getting this, when you connect to Google, you will get a β€œThis site is not safe” warning. This is normal when an app is not fully verified by google. You should still be able to connect so long as you press continue to Workroom at the bottom of that screen. We should be clear for our certification in roughly 2 weeks, but will keep you posted. This does NOT impact Outlook users.


πŸ“… Calendar β€” now two-way with Google and Outlook (Beta)
View the video here: Click Here

Connect Google Calendar. Your Gmail connection now carries calendar access too. One connection, one consent screen β€” connect Gmail and your calendar comes with it. (Already connected? Reconnect once to add calendar access; your mail is unaffected.)

Connect Outlook and Microsoft 365. Email and two-way calendar sync, on the same connection.

Two-way sync, every minute. Meetings you create in Workroom appear on your calendar. Events on your calendar appear in Workroom. Sync runs every minute, so it's near-live rather than something you wait on.

Your calendar stays yours. Workroom never deletes anything in your Google or Outlook calendar that it didn't create, and never edits an event it pulled in. Pulled events are read-only here, because your calendar owns them.

Choose which calendars to show. Pick the calendar Workroom writes to, and tick which of your calendars appear on the Workroom calendar.

Connected calendars in the left rail. Each one gets its own tick box and event count, sitting under your Workroom layers. Untick to hide its events β€” it's a filter, and the connection is untouched.

Rename your calendars. They default to your full email address, which tells you nothing in a list. Rename them to whatever you actually call them. Display-only; nothing changes in Google or Outlook.

Send earlier meetings. Meetings you booked in Workroom before connecting a calendar had never been sent. There's now a button for it β€” it sends two years either side of today, skips anything already there, and is safe to run twice.

Real guests on your invitations. Contacts you invite are added as guests on the Google/Outlook event and get a proper invitation. Type an email address into Attendees and that person is invited too. Type a name that isn't an address and it stays a note β€” we won't guess an email address and send a meeting invitation to the guess.

Frequent meeting locations. Save the handful of places your meetings actually happen β€” your video room, the office, a site mobile β€” each with a name you choose and an icon for what it is. They appear as one-press pills under the Location field when you create an event. No more pasting a Zoom link in from wherever you keep it.

Clickable join links. A location that's a URL is now a link on the event panel. One click into the call, for everyone invited.

Real faces in the guest list. If we know the person, you see their profile photo instead of initials.

Disconnecting actually disconnects. Turn off calendar sync and every event we imported is removed from the Workroom calendar, instead of leaving a frozen copy of your diary behind.

Calendar fixes (Funny, because it’s a new module…)

  • Duplicate events. Three separate causes, all fixed β€” Workroom meetings being re-imported as second copies, the same event arriving twice in one pass when it sat on two calendars, and rows collapsing incorrectly. A housekeeping pass now retires any duplicates it finds every ten minutes.

  • A one-field save was tearing down the whole connection. Renaming a calendar in the rail could switch sync off, clear your chosen calendar and empty your shown-calendars list. A save now changes only what it mentions.

  • Unticking a calendar removed it from the connection instead of just hiding its events. It's a filter now, as it should always have been.

  • A blank calendar page caused by a startup ordering bug. Fixed.

  • Outlook events landed hours off, because Microsoft answers in UTC and we were reading the clock off it. Fixed.

  • Estimated dates read as missing dates, so a planned delivery drew nothing.

  • "Studio time" was being read from two different fields, so the day's start hour disagreed with itself.

  • Imported Google events reported themselves as WIP tasks β€” the panel named them wrong, and the drag rules let you move an event Google owned, which the next sync silently undid.

  • Timezone. Google and Outlook pushes were assuming different default timezones when a studio hadn't set one, so the same meeting could be written at one hour to Google and another to Outlook, and reminded about at a third. One default now, everywhere.

  • Sending earlier meetings could stall. On a studio with a lot of history, every run sent the same first batch and never reached the meetings that had never been sent. Unsent meetings are taken first now, so every run makes progress.

  • Performance. The calendar was doing the same work a hundred times per load. Split up and cached.


πŸ“š Library, Products & Importing

Product import wizard. A four-step wizard for importing products, running in the background so you can keep working. Opens straight from the Library.

Add a vendor from the Library. If the vendor doesn't exist yet, create it from the vendor column without leaving the page.

Open a product's own page from its row.

Library fixes

  • Items weren't saving. Two separate causes, both fixed: a duplicate guard that was matching on name and refusing legitimate new rows, and rows never learning their own id after being created. If you added items and they vanished, this was why.

  • Sub-items stopped nesting everywhere, because of a one-character error in a database query.

  • A deleted image came back.

  • Mood showed products the Library didn't β€” sub-items and orphans of deleted products.

  • The Mood Products tab hid half the library.

  • Off-screen rows were being re-laid-out on every change, making large libraries sluggish.

  • The section header came unstuck when scrolling, and the list query cost has been cut significantly.

  • The vendor-page link is now a chain icon, not a second open-in-new-tab arrow.

  • The Products (Catalog) page has been removed β€” the Library is the one place.


🚚 Shipment tracking (announced September 24!)

  • Carrier detection fills the field in instead of asking every time.

  • Tracking writes the procurement dates, so the calendar moves on its own.

  • An "Out For Delivery" status, shipment-to-status mapping, and a real lock on default status names.

  • Tracking activity now shows in the expanded row too, and refreshes itself.

  • Tracking errors speak as Workroom, not as the shipping provider.

  • Automation trigger: product status changed.

  • Fixed: shipment status never moved because the target status hadn't been seeded.


πŸ’° Budget & Design Fee

Fee lines, back as they were. The fee line structure is restored, with the KPI tiles kept as they are.

"Add fee line" is always available again. It had been hidden unless a project already had hand-built lines, which meant you could only add one where you already had one.

Editable Estimated column, across all phases and services.

Budget by category. Set what each category is allowed to spend, and see spend, margin and estimate against it on a new Categories home view.

Budget fixes

  • "That fee line no longer exists" when editing an estimate β€” on most projects, because the line came from your declared fee setup and we were looking in the wrong place.

  • "Fee line not found on this budget" when deleting the hourly fee line β€” the same blind spot, in the delete. Removing a declared line now removes that method from the fee setup, and tells you what that means before it happens.

  • Typing an estimate tore the whole page down and rebuilt it.

  • A confusing error about hour plans now explains itself in plain language, and the page prevents the situation rather than refusing after you've typed.

  • The room rate field refused input, while the line underneath told you to use it.

  • Budget rooms returned a 404.

  • The Hours tile, the Timelog report and Ready to Invoice disagreed about how many hours were uninvoiced. They agree now. Ready to Invoice's "Projects ready" tile is now total uninvoiced hours.

  • Ready to Invoice's attach / write-off / snooze / restore actions were silently doing nothing on some workspaces.

  • Four money calculations that failed silently now report when they fail.


🧾 Invoices, Estimates & Money

  • Payment history was showing payments from other invoices. A newly created invoice could display a payment history that had nothing to do with it. Fixed β€” and then fixed properly, because the first fix didn't land.

  • The client portal's Payment History was a hard-coded placeholder. It shows real payments now.

  • A scheduled invoice could only be paid in full from the client view.

  • QuickBooks now names the item that can't be purchased, instead of handing you a list to audit.

  • Invoice and estimate reads by id now check who's asking.


πŸ‘₯ Client portal, stakeholders & project access

  • A project has several clients, not one client and some stakeholders. Reflected throughout.

  • A stakeholder now sees what the client sees, including the project dashboard with its estimates and invoices β€” and they open.

  • "Unresolved contact" for a contact that plainly existed.

  • One login can have several contact records, and is handled correctly.

  • Preview the weekly client update before it goes.

  • Client-facing document fields are the editor's fields now β€” what you set is what they see.


πŸ“ Forms

  • The full Google Fonts library, shown in the font itself β€” no API key, no proxy.

  • Button text, button weight, and separate heading and body typefaces.

  • A button font option β€” and it now actually saves, and the font actually loads.

  • A Description paragraph component, for ordinary instructional text. Previously a form could speak in exactly two sizes, both of them headings, so instructions came out shouting in 18px semibold.

  • The form builder autosaves.

  • Nobody could submit a public form β€” the anti-spam fields were being stripped. Fixed.

  • An embedded form could be un-submittable, silently.

  • A live crash in the Approval field.


πŸ“„ Contracts

  • Sub-lists under numbered items β€” a) b) c) under item 1, so three parts of one clause don't read as three more obligations.

  • Long item text no longer runs off the page.

  • Page numbers on the client-facing view, bottom right.

  • Contracts settings are reachable again, and appear only when the app is on.


πŸ”’ Security & sign-in

  • This is all classified, but… just know we enhanced our security quite a bit!


βš™οΈ Settings, permissions & plans

  • Apps: Quotes, Calendar and Ready to Invoice are opt-in. Turn on what you use.

  • Name the accounts you pay from. Settings β†’ Money β†’ Accounts you pay from now lets you label each one.

  • A "full" permission set granted nothing for ten modules. Fixed.

  • Team & billing: a service is one line rather than two cards, "Copy to…" sits under the services and is right-aligned, and the copy features are findable without scrolling.

  • Approvals: auto-convert is back, and whose time needs sign-off is settable.

  • Timelog blocks: Previous and Next were dead buttons.

  • WIP Kanban: collapse a column to a spine.

  • WorkPay on the Integrations page never reached the application; it now says apply, and says why when it can't.

  • Trial gifts: a gifted trial charged $149 on the spot; changing the email on the signup form voided the gift; a gift that can't apply now stops the signup rather than failing quietly.

  • The vendor signup link was never being sent.

  • A CSV that imported as XLSX but not as CSV.

  • Room placeholders are hidden while that area is reworked.

  • The profile menu drops the identity block.


A note on Beta

Calendar carries a Beta label in the nav, matching Quotes. Two-way sync is new and the thing on the other end of it is your real calendar. We're confident in it β€” the ownership rules are strict and Workroom will not touch what it didn't create β€” but we'd rather say so than not.


Two things worth doing this week if you use the Calendar:

  1. Set your studio timezone (Settings β†’ Company) if you haven't.

  2. After connecting, run Send earlier meetings once, so your history comes with you.

Earlier updates