Updates
Trusted by consulting, accounting, real estate, law, marketing, and tech firms with 1M+ clients and counting.
Rich Text Formatting Bar

The message composer has been rebuilt with a full formatting toolbar. You can now apply bold, italic, underline, strikethrough, headings, bullet lists, numbered lists, and inline links directly from the composer — no markdown required.
The same formatting experience now extends across the surfaces where you write most: article authoring in the Helpdesk App, service descriptions in the Payments App, scheduled messages in Automations, and internal notes in the CRM. Consistent rich text controls, everywhere you need them.
Improvements
- In the CRM, pressing Enter after typing a title in an internal note now moves focus to the body, so you don't have to click to continue writing.
- In the CRM, internal note creation now responds noticeably faster, reducing the delay that previously occurred when saving a note.
- Added Satoshi to the list of fonts available for portal customization.
Fixes
- In the Payments App, fixed a bug where clicking to edit a subscription from the client details page opened an empty new-subscription form instead of the existing subscription's details.
- In the Forms App, fixed a bug where some clients briefly saw a "No forms have been assigned to you" empty state when loading the Forms App, even when forms were available.
- In the Files App, fixed a bug where the Files App did not appear for some clients.
- In the Notification Center, fixed a bug where some in-product notifications were delayed by multiple hours.
- Fixed a bug where email notifications were not being delivered to clients in some workspaces.
- Fixed a bug where some users who signed up via Google were stuck in an infinite spinner on login and could not access the app.
Improvements
- In the Contracts App, increased the maximum PDF size to 100 pages.
- In the Messages App, the channel loading experience has been improved. Internal users no longer see a full-page spinner when navigating to Messages — channels now load progressively without blocking the page.
Fixes
- In the Payments App, fixed a bug where subscriptions set to cancel still displayed a "next payment" date, even though no upcoming payment was scheduled.
- In the Payments App, fixed a bug where some users could not delete unverified payment methods added during micro-deposit verification.
- In the Files App, fixed a bug where column spacing was off, causing the "Creator" column to be cut off even when there was plenty of available space.
- In the Files App, fixed a bug where the PDF viewer occasionally caused the browser tab to become unresponsive, requiring a hard refresh to recover.
- In the CRM, fixed a bug where a brief "No users found" empty state flashed when switching from the Companies tab to the Contacts tab.
- In the Contracts App, fixed a visual bug where the text editor clipped input fields at the corners.
- In the QuickBooks App, fixed a bug where product descriptions were not consistently syncing between Assembly and QuickBooks Online.
- In the QuickBooks App, fixed a bug where product mappings could change unexpectedly without user action.
Smarter duplicate file handling in the Files App
Previously, uploading or moving a file with the same name as an existing file could silently overwrite it. Now, whenever a duplicate file name is detected, you can either replace the existing file or keep both. Renaming a folder to a name that already exists now also shows the same replace/keep-both prompt instead of a generic error. The duplicate handling also extends to links and nested file structures.
Manual Apps with Custom App Visibility
Manual Apps let you set up embeds and links for clients one by one. Previously, you couldn't combine this with app visibility rules, which let you show or hide an app globally or based on custom field requirements. Now you can use app visibility rules with Manual Apps. This means you can configure embeds and links for each client, keep everything hidden during setup, and then switch it all on in one step. For example, you could create an "Analytics" app and add a unique analytics embed for each client — all while keeping the app hidden. Once every client's embed is in place, just flip the app visibility to 'on' and everyone sees their dashboard at the same time.”
Improvements
- In the CRM, you can now copy text from list views (clients, companies, invoices) without being redirected to the detail page.
- In the CRM, a confirmation warning now appears when removing a client from a company, explaining that the client will lose access to company data.
- In the Tasks App, subtask names now show more text before truncating.
- In the Tasks App, avatars now render consistently — fixed casing, sizing, and initials display.
- In the Tasks App, spacing between the status and client dropdowns on mobile has been fixed.
- In the Tasks App, the "Create from template" dropdown is now wider for better readability.
- In the Payments App, your business name now consistently appears in bank statements during micro deposit verification, making it easier for clients to identify the transaction.
- In the Payments App, pending and failed payment notifications now display improved in-product messaging so you can take action faster.
- In the Messages App, the mass message flow now displays all companies instead of only recent ones, so you can reach any company channel.
- In the Files App, pressing Escape while renaming a folder now saves the name instead of discarding it.
- In the Files App, file channel loading speed on client detail pages has been improved.
- In the Contracts App, text field inputs now support up to 4,000 characters and display full content while editing.
- In the QuickBooks App, the error message when a re-sync fails now correctly reflects the actual failure reason.
- In the QuickBooks App, a product's class reference is now carried through on line items, preserving accounting classifications set in QBO.
- Clients can no longer update their own company information. This gives you and your team full control over company data integrity.
- Improved title truncation across channel-based apps so long names are no longer cut off too aggressively.
Platform & API
- Updated the branding from Copilot to Assembly for our open source projects.
- Added pagination support to the List Form Responses endpoint.
Fixes
- In the CRM, fixed a bug where the "View details" action opened to the wrong tab.
- In the CRM, fixed a bug where removing a client from a company did not update in real time.
- In the CRM, fixed a bug where the Company Detail page had no scrollbar, preventing access to content below the fold.
- In the CRM, fixed a bug where some users could not remove a company from the sidebar for activated clients.
- In the CRM, fixed a bug where client import occasionally returned a "Something went wrong" error.
- In the CRM, fixed a bug where the scroll position in the company switcher reset to the top after switching companies.
- In the CRM, fixed inconsistent client ordering in the channel selection drop-down on company detail pages.
- In the Payments App, fixed a bug where some payment links did not work for unauthenticated users.
- In the Payments App, fixed a bug where the search and create buttons were missing from the Payment Links header in some workspaces.
- In the Payments App, fixed a bug where copying a payment link returned a standard URL instead of a magic link.
- In the Payments App, fixed a bug where the last invoice in a fixed-cycle subscription was incorrectly prorated.
- In the Payments App, fixed a bug where ACH payment methods could not be added from the client or company details page, and newly added payment methods did not appear without a page refresh.
- In the Payments App, fixed a bug that prevented invoices from displaying on client and company detail pages for some users.
- In the Payments App, fixed a bug where invoice-ready email notifications were not received by some clients.
- In the Messages App, fixed a bug where the chat list occasionally showed only one client until the user logged out and back in.
- In the Files App, fixed a bug where searching with special characters like
(caused an error page. - In the Files App, fixed a bug where some users received email notifications for files they had uploaded themselves.
- In the Files App, fixed a bug where file actions triggered from the command bar returned a 404 error.
- In the Files App, fixed a bug where some users were unable to delete folders.
- In the Files App, fixed a bug where uploading folders with many files or nested structures could time out or fail.
- In the Files App, fixed a bug where downloading folders as zip files failed in some cases.
- In the Files App, fixed a bug where file previews did not include client-submitted input fields, and highlighting in previews occasionally obscured text.
- In the Files App, fixed a bug where TXT files appeared unformatted in the file preview.
- In the Files App, fixed a bug where some file downloads from the preview pane returned errors.
- In the Files App, fixed a display issue where breadcrumb paths were prematurely truncated, cutting off folder names.
- In the Contracts App, fixed a bug where signed contract input fields had an opaque white background, obscuring the document beneath them.
- In the Contracts App, fixed a bug where the secondary button text overflowed on contract request pages.
- In the Contracts App, fixed a bug where the scrollbar was missing on the contracts page.
- In the Tasks App, fixed a bug where the search and display icons were misaligned on mobile.
- In the Tasks App, fixed a bug where the wrong notification count was showing on the sidebar item.
- In the Tasks App, fixed a bug where client users did not receive email notifications for tasks assigned to them when created via an automation.
- In the Tasks App, fixed a bug where the app was periodically unable to connect to its database, causing intermittent errors.
- In the Automations, fixed a bug where the edit workflow page did not display Save and Cancel buttons in the header.
- In Automations, fixed a race condition that caused some batch runs to not update their status after completing execution.
- In Automations, fixed a bug where the autoresponder stopped working for some workspaces.
- In Automations, fixed a bug where autoresponses failed when a client's address custom field contained certain formatting.
- In Automations, fixed a bug where the autoresponder occasionally failed due to an internal ID being incorrectly processed as a client ID.
- In the Forms App, fixed a bug where some form responses did not load in the UI or via the customer API.
- In the Forms App, fixed a bug where clients needed to refresh the page to see a newly shared form after switching companies.
- In the QuickBooks App, fixed a bug where some payments were not syncing to QuickBooks Online.
- In the QuickBooks App, fixed a bug where invoices were syncing with incorrect price data to QuickBooks Online.
- In the QuickBooks App, fixed a bug where some invoices were not syncing to QuickBooks Online.
- In the Client Home App, fixed a bug where a video embed could not be resized.
- In Notes, fixed a rendering issue where text occasionally appeared in an incorrect font.
- Fixed a bug where Windows users couldn't copy text with Ctrl+C — the shortcut was incorrectly opening the Create menu.
- Fixed a bug where the Store page sometimes loaded with a blank sidebar or blank listings for unauthenticated users in some cases.
- Fixed a bug where editing a product could overwrite customized store descriptions.
- Fixed a bug where invite links older than one year could not be used, even after resending the invite.
- Fixed a bug where sidebar notification badges rendered "0" instead of being hidden when there were no unread items.
- Fixed a bug where the "Dashboard" sidebar item appeared selected regardless of the current page.
- Fixed a bug where some users encountered an authentication error on logout.
- Fixed a bug where special characters in email sender display names caused delivery failures.
Staff user role permissions change
We’ve updated the internal team permissions for Staff vs. Admin users.
- Staff users can’t access the Billing App, invoices, products, or the Billing tabs on client CRM profiles
- QuickBooks and Xero integrations are hidden from Staff users
- Billing-related notifications are turned off for Staff users
- Admin users retain full access to everything. Contracts and all other features currently remain unchanged—Staff users can still access them. We’re working toward fully customizable roles in the future; this is a first step.
You can review the full internal user permissions in our Guide.
Changing contact emails from CRM
You and your team can now edit the email addresses of clients who log in via email and password in the CRM via "Edit info" option (triple dot menu).
- Note: you cannot change contact emails if they log in via OAuth/SSO methods such as Google (only the client can change their email via Account Settings).
- If you want to change the email on behalf of a client who is logged in via SSO, you can ask the client to disconnect their OAuth and set up email/password first or contact support@assembly.com.
2025 Year in Review
Companies will say every year is the “big year.” But 2025 was really, actually a big year for Assembly, and for customers like you who trust us to elevate your clients' experience.
Here’s a snapshot of how you all are using Assembly in 2025—and what mattered most to you.








Thank you for your faith and trust in us as we've worked to grow and change the platform. We know there are still plenty of areas where we can make things even more flexible, customizable, and useful for you and your clients, but I hope your interactions with me and our team prove that we're as committed as you are to a great customer experience.
See you next year!
— Assembly Team
Happy Holidays! Today we've rolled out our Winter 2025 Edition releases, including:
US Xero Integration

Earlier this year, we released a new and improved QuickBooks integration that let you map products from Assembly into QuickBooks. We’re excited to bring the same functionality to US customers the small business accounting software, Xero.
How it works:
- Map Assembly products directly to existing Xero items. If you don’t have a matching Xero item, we’ll automatically create one for you.*
- Sync invoice statuses (paid, voided, deleted) and invoice numbers directly with Xero,
- Sync tax information with Xero
- Download a CSV audit log of the sync history.
- Sync absorbed fees to an automatically created Assembly Processing Fees expense account in Xero.

*Note: like the QuickBooks integration, this is a one-way sync from Assembly to Xero. New items created only in Xero will not automatically appear in Assembly. You can always create corresponding products in Assembly after and map them with this sync. The Xero integration also current only supports business billing in the US for now, but we plan to roll it out to international billing features in 2026.
Task Automations
You can now automatically create tasks for clients and team members based on your task templates and schedule automations once your clients complete a task. We know many people have been looking for this built-in functionality around the Tasks App, and we’re pleased to finally be able to deliver this.
New Action: Create Task

You can now automatically create tasks from task templates and assign them to clients or your teammates (internal users) based on certain triggers.
Client Visibility: When the assignee is one of your internal users, you can optionally choose to add the relevant client or company as a follower of the task via the “Client Visibility” field.
New Trigger: When a task is completed

You can now trigger automations to send your clients messages, forms, contracts, and other follow ups after they complete a task.
Coming in 2026: Recurring tasks based on a schedule
Next year, we’re going to release a time-based automation trigger that will enable you to schedule recurring actions (like tasks) on a regular time interval, such as daily, weekly, monthly, etc.
Subtasks in Task Templates

You can now add your subtasks to your task templates and use them in automations or create tasks from these templates.
After creating a task from a template, you can assign the subtasks to clients or team members (with client visibility optional). Automations based on task templates will create the subtasks, but for now, you will need to set subtask assignees after.
3 new interactions with company custom fields
We’ve rolled out more ways to use custom fields on companies to create a customized and automated experience for you and your clients. Starting today, you can:
Set app visibility rules based on company custom field tags

Previously, you could decide which apps and embeds were visible to individual clients depending on custom field tags. You can now set app visibility rules on a company level, using company custom fields.
For example:
- You have a company custom field (type = Tag) called “Plan” with options for Gold, Silver, Bronze. Your companies subscribe to a certain tier of service.
- Your Gold tier companies receive access to on-demand communication with your team via the Messages App.
- You set the Messages App’s visibility show only to companies where their Plan tag is “Gold.”
- (Bonus points: you sell your Gold plan packaged services using Assembly’s recurring products or Store so that clients can self-serve purchase your offering!)
Automate actions with company custom field tags
New Action: Update company

You can now automatically change tags for a company based on certain automation triggers.
Examples:
- When a customer pays for a Gold tier membership (via invoice, Store purchase, or payment link) → Update company custom field property “Plan” to “Gold.”
- When your client signs an “Enterprise Agreement” Contract → Update company custom field property “Company Stage” to “Enterprise.”
New Trigger: When a company is updated

Whenever a company’s custom field tag is added, modified, or removed, you can trigger an automation to streamline your operations.
Examples:
- When a company is updated to Enterprise, upload files into an “Enterprise” folder in their Files App.
- When a company is updated to Gold, send a custom message in the Messages App saying: “Welcome to your Gold Tier membership…” and outlining new benefits.
Use company custom fields in URL parameters

Before today, your embedded apps could pass a client’s custom fields as URL parameters. This is useful for passing information from these fields to external tools to save your clients time. We’ve now expanded this functionality to support company custom fields in URL parameters.
An example of how to use URL parameters to save clients time:
You can pre-populate any known company information into an embedded or externally linked form (like a Jotform) to save your customers time when filling it out details such as:
- primary address
- point-of-contact email
- phone number
- and any other custom fields you create.
Your feedback on these new features is appreciated! You can share your thoughts in our community forum.
Fall 2025 Edition
We’ve focused this month on making many smaller key improvements to our product to both enhance your clients’ experience and make your life easier. Read all the improvements we made on our blog.
Folder locking in the Files App
Previously, you could globally configure the Files App to control whether clients can add files, delete files, or update folder structures. But what if you don’t want to set this globally? Now, you can lock a specific folder — only the contents within that folder are locked for clients. You can also selectively unlock subfolders within locked folders when you want clients to be able to add files to those folders.

Company custom fields
Earlier this month we announced company custom fields, which work the same way as client custom fields. You can add the following types of custom fields to companies: phone number, email, URL, text, number, address, and tags. With this update, we’re also adding API, Zapier, and Make support for company custom fields, with full in-built automation support coming by the end of the year.

Client visibility in the Tasks App
Previously, you could assign tasks to an internal user, client, or company. The assignee determined who was responsible for the task. But what if a task needs to be completed by your teammate, but you want to give your clients visibility into progress? You can now do exactly that. When you create a task and assign it to an internal user, you can optionally add a client or company as a viewer to follow along with progress.

And 47 more quality improvements
Small fixes compound over time. The result is a faster, more reliable product for everyone. Read all the improvements we made on our blog.
General improvements
- Improved email deliverability for all workspaces.
- Significantly improved the performance of loading the left sidebar in the Assembly Dashboard when there are large numbers of clients.
- Workspace owners now have more control over client email notifications. On the Settings > Client Notifications page, we added a toggle for client email notifications. When turned off, clients will not receive any emails — useful if you’re setting up a new workspace or using our API for custom email notifications.
- If an internal user or client loses internet connectivity, we now show a “Browser offline” dialog explaining why certain workflows may be failing.
- Across the app, we ensured that the correct sidebar item remains selected, even after deep navigation into an app (e.g. showing the Files App as selected when previewing a file).
- When custom domains have issues, we now automatically fall back to a
myassembly.comdomain so the client experience remains uninterrupted. - Improved portal sign-up and login pages — both now include a title that makes it clear which one you’re on.
- Improved image loading speeds across the platform.
- Improved the Recently Visited section on the home page, which is now more accurate.
- Improved deep-linking for email notifications — certain notifications that previously linked to the root Assembly Dashboard or portal now point directly to their destination.
- Improved the experience for clients navigating to restricted URLs (for example, an app where app visibility rules prevent access). Instead of a blank page, we now show an informative error page.
- Improved mobile UI in Automations, the Contracts App, and the Billing App.
- Improved various error states to make them clearer, including in authentication, invoicing, and subscriptions.
- Improved our cancellation flow — canceling your Assembly plan now also cancels any recurring subscription you have set up.
- Updated our color palette for various success and error pages.
- Improved fallback logic for workspace icons. If we can’t automatically find an icon and none is uploaded, we now show a stylized letter as the company icon.
- Cleaned up the UI of various settings pages.
CRM
- You can now add clients directly from the company details page.
- The client/company details pages now show a dynamic number of app tabs. Depending on space, we show as many as possible, with the rest in a dropdown.
- The right sidebar on client and company details pages is now resizable. When resized, your width preference is saved moving forward.
- Improved the performance of the address finder.
- Updated the color and styling of tags.
- You can now cancel requests while the AI Assistant is processing (“thinking”).
- Improved the performance of updating custom field values.
- Added ellipses for long values that were previously cut off.
- Fixed a bug where the client details page showed a company section even if companies were disabled.
Notification Center
- Redesigned the sidebar to better make use of space.
- You can now complete and comment on tasks from the Notifications center instead of clicking into Task App.
Authentication & Admin
- Internal users and clients who have connected Google accounts can now disconnect Google and set a password on their own.
- Images on login and signup pages now load dramatically faster.
- Fixed a bug that sometimes prevented new internal user account configuration when MFA was enforced across all accounts.
- Fixed a bug that prevented staff internal users from updating the profile pictures of other staff users.
- Fixed a bug that allowed creation of companies with contacts who had a name but no email, leading to bad data.
- Fixed a bug that caused an infinite load on the client direct sign-up page when direct sign-up was disabled. We now redirect users to the login page in this case.
Billing App
- Invoice memos now support line breaks.
- Clients who connected a bank using the ACH Debit option previously received an email mentioning Assembly. This email is now white-labeled and only mentions your business name.
- Voided invoices and canceled subscriptions are now hidden in the client experience.
- Fixed a bug where the recipient was hidden when opening a draft invoice.
- Fixed a bug that sometimes prevented updating the number of cycles for a time-bound subscription.
- Removed unnecessary scrollbars from invoices, subscriptions, and payment link pages.
- Improved the UI for adding new one-off line items and reusable prices/products.
Files App
- Added an upload progress indicator that now works for more file types.
- Fixed a bug related to uploading empty folders.
Contracts App
- Improved the performance of loading the Contracts App when there are many requests or submissions.
- Fixed a bug that prevented one-off eSignature requests for some PDFs that used address custom fields.
Messages App
- Fixed a rare bug that prevented message channels from being created for new clients.
- Fixed a very rare bug (five workspaces impacted) that resulted in multiple individual message channels being created for the same client.
Helpdesk App
- Internal users can now upload ZIP files inside articles.
Copilot is now Assembly

Today we rebranded from Copilot to Assembly. You can read about the reason for the name change on our launch blogpost. You will start seeing our branding change across various surfaces. Our name has changed, but our mission hasn’t: helping you deliver customer experiences that stand out for your brand.
Things that have changed
The dashboard for you and your internal team is now on dashboard.assembly.com instead of dashboard.copilot.app. If you go to the old URL, you will be redirected, and you may have to log in again.
Things that have not changed
Your client’s experience remains the same. If you have a custom domain for your portal, it works just like before. If you don’t, and your portal is on a <name>.copilot.app URL, that remains the same as well. In all scenarios, the client experience remains unchanged and your clients don’t have to log in again.
New features on Assembly

Internal Chat
On client/company details pages, you can now communicate and collaborate with your internal team. As part of this update, you’ll notice that the client/company details pages have been completely redesigned.
Assembly Assistant
We’re rolling out an early beta of our AI Assistant, and it’s available for free on all plans. You can tag the assistant on the ‘Internal Chat’ tab on client and company details pages. Learn more about Assembly Assistant here.
Company custom fields
You can now create custom fields for companies in the same way that you previously could for clients.
Your clients deserve better.
Try for free for 14 days, no credit card required.
