Invoice receipts
After an invoice is paid, you can now download an invoice receipt PDF that shows the payment date, payment method, and total amount paid. Invoice receipts are also automatically included in invoice paid email notification that are sent to you and clients.
Improvements & Updates
- Improved the experience and speed of uploading large PDFs in the Contracts App.
- When adding a new app, the app now immediately shows on the sidebar.
- Improved the loading experience when navigating to apps. Previously clicking on a notification in the notification center sometimes resulted in a full page refresh.
- Improved the products and subscription pages by adding helpful tooltips and asking for confirmation when exiting a page with unsaved changes.
- Improved the loading experience for clients that click on email notification links. Previously we briefly showed the login page before taking you to the final destination.
- Removed extra scroll bars on the notification page for the Files App.
- Fixed a bug where opening a link to the Message App previously took you to the middle of the conversation when using the Safari browser.
- Fixed a bug where Files App email notifications to client users about new link additions were not being set.
- Fixed a bug that caused tags to sometimes be hidden when configuring custom visibility for apps.
- Fixed multiple UI bugs related to adding line items on invoices and subscriptions.
- Fixed various UI bugs that caused tables in the product to flicker on initial load.
API & Automation enhancements
- Added webhooks for
internalUser.created
andinternalUser.deleted
- For Custom Apps that create email notifications, you can now customize the button link name and link destination.
Reusable products and prices for invoicing
In the Billing App, you can now create products and prices, and then easily use them in invoices and invoice templates. This streamlines your invoicing process by eliminating repetitive data entry, ensuring consistency, and saving you time. You can create and manage products by clicking on Products on your sidebar under Billing. Note that products/prices can currently only be used in one-off invoices and support for subscriptions is coming soon.
Invoice details & payment retries
If you click on an invoice you’re now taken to the new invoice details page. Here you can see invoice information directly without having to download a PDF. The right sidebar also shows a history of events including payments attempts. For any open invoice you can now manually make charge attempts with the payment method of your choice. No longer do you need to contact your client to retry payments. Note that manually retrying payments also works for invoices created by a subscription.
Business addresses for invoices
You can now search for and add your business address on the Settings > General page. Once you add an address, it will automatically populate on any future invoices under your business name.
A better sidebar for your team
On your sidebar if you have more than 8 apps, you’ll now see an expandable “More” section that shows all additional apps. This new paradigm makes for a lighter clutter-free experience.
API & Automation enhancements
See our API documentation, Zapier profile, and Make profile to explore the new capabilities.
- Added a
List Invoices
andGet invoice
endpoint. Also added aninvoice.paid
webhook. - Added an
App Installs
resource. This endpoint can be used to understand what apps have been installed in a workspace. This is especially useful if you’re building a Custom App or Marketplace App and you benefit from knowing what other apps have been installed. - Added an
App Connections
resource withGet
andPost
endpoints. An App Connection is used in Manual Apps for connecting embeds/links to client/s or companies. For example, if you add a “Project Status” Manual App you can now use thePost App Connection
endpoint to add Airtable embeds (or any other embeds) for clients automatically as they are created. - Added
fallbackColor
andavatarImageUrl
properties to theinternalUser
resource. These can be used to render internal user avatars. - Added a
portalUrl
property to theWorkspaces
endpoint. This will return the URL of the client portal. It will return the custom domain if one is set up.
Improvements & Updates
- Added the ability to separately control if you want to absorb payment processing fees for ACH and credit cards payments. Previously you could only set this globally for all payment methods.
- Improved payment errors. The new errors provide specific decline reasons like “Insufficient funds” or “CVC code incorrect”.
- Improved invoice email previews which now show a more accurate preview of the email clients will get.
- Improved typography and spacing for messages in the Messages App.
- Improved how email notifications are sent for Custom Apps. If a custom email domain is connected to a workspace it is now used to send Custom App email notifications.
- Improved CSV exports for several table views.
- Improved the search experience in the Files App. Searching for files/folders/links now uses a fuzzy search algorithm that makes it more likely that you’ll find the item you are looking for.
- Polished the audit trail page that is automatically generated for signed contracts in the Contracts App.
- Fixed a bug where reordered apps would revert to their previous state.
- Fixed a bug where apps weren’t rendering when the client did not have a custom field.
- Fixed a bug that prevented the Messages app from loading for new clients in existing portals.
- Fixed a bug where a contract sender’s profile picture was not appearing.
- Fixed a bug that caused formatting issues in invoice page exports.
- Fixed a bug that sometimes resulted in an incorrect number of browser notifications to show before refresh.
- Fixed a bug that caused tag custom fields to not sort correctly on the CRM page.
- Fixed a bug in the Contracts App that caused the app to crash after contract submission if there were a very large number of fields.
- Fixed a bug where custom visibility app settings got deleted after an app is disabled.
- Fixed a bug that caused article reordering in the Helpdesk App to not work if any filters are applied.
Custom Visibility for Apps
With custom visibility for apps, you can dynamically control which clients have access to an app. This lets you provide differentiated levels of service to clients. For example, you might only allow clients with custom field plan
= premium
access to schedule time with you (e.g. access to the Calendly App) and message you (e.g. access to our Messages App). You can also create dynamic onboarding experiences. For example, a new lead may need to sign a contract before they can access other parts of your portal. You can configure custom visibility for an app when setting up a new app or by navigating to the App Setup page and clicking Edit on a particular app. Check out the full blog post on how to make the best use of this new feature.
Improvements & Updates
- Improved navigation in the Copilot Dashboard and portal experiences. It's now easier to navigate back to the previous page on both desktop on mobile.
- In the Messages App we added an action to mark message channels unread and an action to bulk mark all messages channels as read.
- In the Messages App we increased the word limit to 5,000 characters for new messages.
- In the Messages App, if your welcome message uses rich text we now preview that correctly.
- Updated the recommended resources and links that are surfaced on the home page.
- Redesigned the notification counter on the sidebar.
We're excited to announce the Copilot App Store (including 4 new apps), a new developer platform, and an Experts Marketplace where you find agencies to build your own custom features. For everything that's new, we recommend reading our full blog post here.
Client Home
With Client Home you can design a dynamic home page that clients see in your portal. You can use it to share announcements, introduce your firm, set expectations about what it’s like to work with you, and more. You can use properties and custom fields from the Copilot CRM to greet clients by name, surface client-specific information, and more. If you enable the tasks widget, the client home will also surface unread client notifications with links to the relevant pages.
Profile manager
With Profile Manager, you can selectively show custom fields to clients and make them client-viewable or client-editable. That means clients can self-serve update their address, phone number, and any other custom fields you set as client-editable. Internal users also see a feed of client-initiated updates, so you know exactly when custom field updates happen and by whom. We hope that this app lets you reimagine how you think about client data collection. For example, instead of sending the same long form to clients every year, you can instead prompt clients to self-serve update only the information that has actually changed.
Autoresponder
You want to be highly responsive to your clients, but you can’t be available at all hours. Autoresponder lets you set up auto-responses to clients outside of business hours or when you’re on vacation.
Exporter
It should be easy to get data into Copilot, but we also want it to be as easy as possible to get data out for backup, legal reasons, and even if you decide to migrate away from us. Exporter lets you export full message histories in CSV or PDF format. In follow-up improvements, we’ll incrementally add other data to export.
Resources for developers
We have a new developer home. In it you can find guides to build Custom Apps (for private use), submit Marketplace Apps (which are listed in our App Store), updated API reference docs, a developer changelog, and a developer-centric forum.
Copilot Experts to help you build Custom Apps
Almost every business on Copilot that grows beyond a certain point eventually wants to build custom experiences — this could be an internal analytics tool, a bespoke Salesforce integration, a multi-step automation, or a fully-fledged app.
Now you can work with qualified Copilot Experts to turn your custom software ideas into reality. To get started, just head on over to the Experts Directory and either contact an agency that fits your requirements directly or select the “Get matched” option.
Notifications API
We added a Notifications
resource and a notification.created
webhook to our API. See our API docs for details about how the notification resource works. The new resource has the following endpoints: List Notifications, Create Notification, Delete Notification, Mark Notification Read/Unread
Note that the notification.created
webhook and the List Notifications
endpoint can be used in any workspace. At this time the other endpoints can only be used by Custom Apps.
Previous Attributes
Some webhooks will now include a previousAttributes
map that allows you to see what has changed about a resource. With this release, the client.updated
webhook now includes previousAttributes
.
Improvements & Updates
- [API] Fixed several webhook naming inconsistencies.
One-off eSignature requests
The Contracts App we released two months ago came with support for reusable contract templates, but not one-off eSignature requests. You can now create one-off requests that don't clutter up the templates you have by switching off the template toggle when creating a contract.
Improvements & Updates
- Embeds and Custom Apps now refresh when you click on them in the sidebar. This makes it easier to navigate back to the root URL.
- If you have companies enabled and you create a client, we improved how we match companies based on email domain.
- In the Contracts App, you can now add longer multi-line variable inputs.
- Improved the loading behavior on invoices and subscriptions pages.
- Improved the default sorting order for the Contracts App submissions and requests page.
- Various UI improvements on the Settings > API page.
- Fixed a bug that prevented Helpdesk articles from updating in some rare scenarios.
- Fixed a bug where for one-off eSignature requests PDFs were not being included in email notifications.
- Fixed a client import bug where blank custom fields weren't handled correctly.
- [API] Improved our API rate limiting infrastructure to protect against bad actors.
- [API] Fixed a bug that prevented the creation of individual file channels.
- [API] You can now send an uninvited client an email invite with the
Update client
endpoint.
File search
Two weeks ago we announced search for messages and now we're following up with search in the Files App. File search is available for both you and your clients.
Improvements & Updates
- Clients can now search messages. Previously message search was only available for internal users.
- On the Settings > General page, you can now configure if uninvited clients should receive email notifications. You will want to turn this on if you want the client journey to start with a new invoice, contract request, or other email notification that is not "Accept your invite".
- Dropdowns with clients and/or companies are now sorted by creation date.
- Dropdowns can now be navigated with up/down arrows.
- Fixed a bug that previously let you create unanswerable forms with just title sections.
- Fixed a bug in the Messages App where entering "/" cleared the input.
- Fixed a UI bug that blocked navigation to the client details page if you previously opened and closed a tags custom field.
- [API] For
Files
,Forms
, andFormResponses
we previously nested some properties inside of afields
object. These properties are now present at the root level of the resource. Thefields
object is still present for backwards compatibility but will be deprecated in the future. - [API] Fixed a bug where previously
Update Client
didn't let you unset custom fields. - [API] Fixed a bug with phone number custom fields where incorrect phone number formats were saved. Now you'll receive a descriptive error if the input is malformed.
API enhancements
See our API docs for details about the new endpoints and updates.
- Added
file.updated
andfile.deleted
webhooks. - Added a
contract.requested
webhook. - Added a
creationMethod
property to the client resource. This property is especially useful if you want to set up different workflows depending on how a client was created.creationMethod
method can beinternalUser
,client
, &directSignUp
:internalUser
indicates that the client was created individually in Copilot by an internal user, created via import by an internal user, or created via API, Zapier, or Make connected with an internal user's API key.client
indicated that the client was invited by another client. This is only possible if the ability for clients to invite other clients is enabled in Settings > General.directSignUp
indicates that the client signed up directly via the direct sign-up link. This is only available if client direct sign-up is enabled in Settings > General.
- Query params in API calls are now case-insensitive. This improvement was made for all List endpoints.
- Implemented e164 validation for phone number custom fields. This makes phone number inputs much more flexible than before.
- We previously used a
createdBy
property on many resources. We've replaced it withcreatorId
which represents the unique identifier of the creator of the resource. - Removed
portalName
for the /me endpoint.
Improvements & Updates
- In the Contracts App settings, you can now disable PDF attachments in email notifications. By default attachments are enabled (they are a nice convenience for clients), but in some industries it is a best practice to disable attachments for improved security.
- After a form is shared with a client, you can now share that same form with the client again if the client has submitted a response to the first form request.
- When previewing a pending contract as an internal user, you can now see all the blocks that have been added. Previously we showed the original pdf file.
- File upload notifications in the notification center also now show a timeline of when files were uploaded.
- You can now click Escape to exit search experiences.
- Partner Apps are now called Embeds. On the sidebar, "Partner and Custom Apps" was renamed to 'More' which now holds all embeds and Custom Apps. In the future the 'More' section will be more flexible and you can move any app into or out of this section.
- The settings pages now saves changes more seamlessly without needing full refreshes.
- Improved column spacing on various pages so that the most useful information is visible by default.
- Added a more useful error when trying to initiate a contract request with a PDF that is too long or too large.
- Fixed a bug where pdf documents of a specific format could not be signed by clients.
- Fixed a bug that caused issues when scrolling down in the Messages App and Files App on mobile.
- Fixed a bug where in the Files App the page occasionally refreshed when files were added or updated.
- Fixed a bug that caused internal user avatars to not be shown on some surfaces like the Files App.
Message search
You can now search for messages in message channels. To do so click on Search in the top-right or press Command (Mac) or Ctrl (Windows) + F. You can click Escape to exit search.
Improvements & Updates
- Client invite links are now active for 12 months instead of 3 months.
- Minor copy improvements to the Copilot Dashboard and email notifications.