Magic Links
Magic links let your clients log in with a single click from a secure link sent to their email or shared with them directly — no passwords, no extra steps.
This is what the new experience is like when a client gets a notification about a new invoice. This client has never received an email notification before and has never set a password. Notice that it just works — they’re immediately taken to the checkout page to pay.
When magic links are enabled, all email notifications to clients have magic links in them. In addition, there are ways to manually share magic links. On the CRM you can send magic links from the CRM table or the client/company details pages. On the Billing App, you can send magic links for open invoices. And on the Contracts App, you can send magic links for open contract requests.

For security reasons, magic links are one-time only and expire after 3 days. If they have already been opened or have expired, the client will see a page that lets them request a new magic link that is sent via email.
We recommend that you enable magic links. Password-less authentication (Google OAuth & magic links) is quickly becoming the new standard that is more convenient for clients and more secure. Note that magic links are not enabled by default for existing workspaces. To enable, you can turn them on in Settings > Client Authentication. Clients that have already set passwords or Google Auth can continue to log in using those methods.
Payment Links
You can now create a payment link connected to a product, and anyone (existing client or not) can pay for that product. Here’s how it works:
If a payment link is opened by someone who isn’t authenticated, we ask for an email. If checkout occurs and the email is new, then that client is taken through a self-serve sign up experience. This means that the client journey can now start with a payment.
One use case we’re especially excited about is powering pricing pages. If you have your pricing on your marketing website — for example with 3 subscription tiers — you can now add buttons to those tiers that point to payment links. We know many use Stripe Payment Links for this use case but we think our offering is more compelling. With our implementation, after payment and sign up, the client is taken directly to your portal where they can be greeted with a welcome message and other customizations.

For a highly custom onboarding experience that starts with a payment you can set up an automation that’s specific to clients that start with a payment link purchase. For example, after payment you can prompt clients to fill out an intake form or schedule a call with your team.

Billing API
With this release, we’re adding several new endpoints and webhooks, along with Zapier and Make support, to help you completely automate your billing and revenue operations.
You can now automate the creation of invoices and subscriptions with our new Create Invoice and Create Subscription endpoints. To provide you with full control, we've also added new resources for invoice templates (allowing you to create invoices from templates), products and prices (enabling reusable products and pricing when creating invoices and subscriptions), and payments (providing visibility into whether payment attempts succeed or fail).
New Community
While our Slack has served us well, we’ve outgrown it. With limited post history, hard-to-find info, and disorganized threads, it was time for a better home. We’ve now officially moved over to Discourse — an open community platform where anything can read and your existing Copilot account lets you post.
The new community is best place to ask questions, share product feedback, and meet others building on the Copilot platform. You can find our new community here.
Improvements
- In the Messages App, you can now filter to view all message channels or only unread message channels.
- In the Messages App, we've added support for drafts. You can now start writing a message, navigate away, and return later to finish and send your message.
- In the CRM, we simplified the status property for clients. Status can now either be active or inactive. If a client was invited, there's a new hidden-by-default property called "Invited By" that captures this information.
- In the CRM, internal users can now reset MFA for clients.
- In the CRM, we've improved the robustness of the client import feature, enhancing handling of different separators.
- In the notification center, you can now right-click to delete notifications.
- Improved settings organization by creating a dedicated section for client experience settings.
- Improved scalability of the Files App, resulting in faster performance overall, especially in workspaces with more than 5,000 clients.
- Improved email deliverability for Microsoft email accounts. Emails will no longer go into quarantine through Microsoft Defender.
Final Reminder: Our website domain is changing
Starting April 11, our marketing website will be accessible exclusively via copilot.app (previously copilot.com), and the dashboard will move to dashboard.copilot.app. Additionally, all our email addresses have been updated to the @copilot.app domain. Please take note of these changes for accessing the site and contacting us. The client experience will remain unaffected.
Internal Notes
You can now add notes to clients and companies. Internal notes are visible only to you and other internal users with access and can be edited after creation. Notes are located on the sidebar of client and company detail pages. Use the slash (/) command to add rich text formatting, including headings and more. Notes also come with full API, Zapier, and Make support.

Tasks App Improvements
A big element of task and project management is discussion — clarifying details, answering questions, and so on. Task comments now support replies. Replies work as expected, with some extra touches like collapsing long discussion threads by default. In comments we also added support for images and attachments so that users can provide all the details needed when discussing a task.

API
- Added a
notes
resource with endpoints to Create, List, and Edit. - Added
note.created
,note.updated
, andnote.deleted
webhooks.
Improvements
- Added the ability to right-click on notifications or message channels to mark as unread.
- Void invoices are now hidden in the client experience.
- Improved embed robustness, supporting more products and rendering them more cleanly than before.
Reminder: Our website domain is changing
If you haven’t noticed, our marketing site now lives at copilot.app (instead of copilot.app) and the dashboard is on dashboard.copilot.app. Starting early April, the old .com URLs and our team’s .com emails will stop working, so please make sure you’ve updated any references. Client-facing experiences won’t change. You can read more about this change here.
Freeform Automations
Go to Automations in the sidebar and pick Start From Scratch. You can now build custom workflows by selecting from a range of triggers and actions. We added four new actions and two new triggers, for more flexible automations.

Three Example Workflows
- Track onboarding progress
Define a custom field "Onboarding" with tags "Onboarding form submitted", "Contract signed", and "1st invoice paid". Then set up an automation so each client action adds the respective tag to the client. - Unlock capabilities when leads become clients
Define a custom field "Client status" with tags for "Lead" and "Paying". Set up App Visibility so that only paying clients see certain apps (like a Calendly scheduling embed). Then create an automation so that when the first invoice is paid, "Client status" updates to "Paying". - Trigger an onboarding flow based on purchased product
Configure the "Invoice paid" trigger to only fire for a specific product. This lets you launch targeted onboarding flows depending on which product a client buys.

Company and Client Tabs in the CRM
Most Copilot businesses serve other companies with multiple clients/contacts. Our redesigned CRM makes it easier to keep track of it all. We added separate views for companies and clients, so you can focus on whichever is more relevant at the moment.

Company Details Page
Clicking on a company takes you to a details page that shows all messages, files, etc. tied to that company. If there’s no company-specific data, you’ll see relevant data from associated clients (with a dropdown to pick which one).
Tasks App Improvements
Launched in October 2024, the Tasks App has been evolving weekly. We now make better use of screen space and improved the mobile experience. Tasks now support rich text, images, and file attachments.

Task Templates
If you find yourself creating similar tasks repeatedly (like onboarding checklists), you can now create task templates and reuse them as much as you need.
Other Task App Enhancements
- Internal users can reassign tasks to other internal users, clients, or companies.
- The activity feed logs task creation, reassignment, status changes, due dates, title updates, and archiving/unarchiving.
- On client/company detail pages, internal users can create tasks and leave comments.
- Archive tasks to keep them hidden by default for both internal users and clients, reducing clutter in the UI. Use the new "Display" drawer to toggle the visibility of archived tasks as needed.
New Checkout + Apple Pay + Android Pay
The new design brings a more familiar Stripe-inspired look to the checkout experience, and works great on mobile. We also added Apple Pay and Android Pay, which render dynamically when supported.

Embeds with URL parameters
You can already embed apps like Airtable, JotForm, and Typeform. The challenge? Embedded apps couldn’t identify the client viewing them, making it impossible to pre-fill details like name, email, or company. That changes today — now, you can configure URL parameters for embeds, passing native properties and custom fields to personalize each client’s experience.

New and Improved Question Types in the Forms App
We added dedicated "Phone number", "Email", and "Date" types to the Forms App. Use them instead of the generic "Short answer" type for improved data validation. We also added an “Other” option for "Single Select" and "Multi select" questions to let clients fill in their own response.

File Previews
You can now preview PDFs, images, videos, audio, and more without leaving Copilot. Just double click, view, and download if needed.

Mass File Share and Improved Mass Messaging
You can now mass share files with clients or companies — handy for sending monthly reports or documents. We also updated mass messaging to use the same improved UI which supports search.

Improved payout reconciliation
On Settings > Payouts, you’ll see a link to the Stripe Express dashboard. There, each payment description now includes the client’s name and invoice number, making it easier to match incoming payments with bank payouts.
MFA Authentication Enforcement
On Settings > General, internal admin users can now enforce multi-factor authentication for all clients and/or all internal users. When enabled, users have to provide a verification code upon log in.
API
- Added a new webhook event — invoice.paid — that triggers whenever an invoice is paid. Use it to kick off any payment-related workflow.
- Added a File Delete endpoint to delete files and folders.
Improvements
- On client/company detail pages, if there are too many apps to fit, a “More” dropdown appears. This replaces the slow-loading “More” page by letting you select individual apps and embeds.
- A new address custom field makes it easier to record clean data for addresses and uses the Google Maps API for autocomplete.
- In the Billing App, internal users can now create new products and prices during invoice/subscription creation by using the “Add as product” checkbox.
- In the Billing App, internal users can now set up subscriptions with a new "Every 2 years" interval option.
- In the Files App, internal users can now select a file or folder and move it to another channel.
Improvements & Updates
- In the Tasks App, we now support attachments. Simply drag & drop a file or type “/” and select the Upload option.
- In the Tasks App, email notifications to clients now link directly to specific tasks instead of the Task App homepage.
- On the homepage analytics dashboard, we improved the accuracy of the Subscriptions metric, which previously included subscriptions canceled before they started.
- On the homepage analytics dashboard, we now show percentage changes comparing metrics to the previously selected period.
- On the homepage analytics dashboard, we now display a tenth decimal for greater precision.
- In the automation builder, contracts with variable fields now show as disabled with a tooltip. Variable fields must be specified by an internal user at the time of assignment, making them unsuitable for automated contexts.
- In the automation builder, the “Upload Files & Folders” template now supports empty folders. Previously, folders required at least one file.
- In the Contracts App, we now render large PDF files much faster than before.
- In the Forms App, we improved loading performance. Users with dozens of forms and hundreds of responses previously experienced crashes.
- Removed email-open tracking pixels from email notifications to enhance email deliverability.
- Fixed a bug in the Tasks App where in-product notifications were shown to clients when internal users left comments on tasks. Since we currently cannot link clients to specific tasks, we now only send email notifications for new comments.
- Fixed a bug that caused the Files tab on the client details page to fail to load for some users.
- Fixed a bug that prevented navigating into nested folders.
- Fixed a bug that prevented some notifications involving large PDFs from loading in the notification center.
- Fixed a bug that caused user avatars to not appear in the comments section of the Tasks App.
Today we're rolling out the 2024 Winter Release. Check out the full blog post for everything that's new!
Tasks App
With the new Tasks App you can create tasks and assign them to internal users, clients, and companies. Check out an interactive demo here and install it here.

Internal Automations
With Copilot Automations, we designed an automation builder from scratch that lets you quickly and seamlessly set up the most popular workflow automations. At launch time, we are starting with the templates below, and in the upcoming months we’re following up with more templates and a builder that lets you set up automations from scratch.
- Upload files and folders when a client/company is created
- Assign a contract when a client logs in for the first time
- Assign a form when a client logs in for the first time
You can set up automations here.

New homepage
The new homepage features an analytics section at the top that displays your total clients, active clients, and active subscriptions (if the Billing App is enabled). Below the analytics, you'll find sections showing unread notifications and recently visited pages for easier navigation. You can view the new home page and analytics on the Copilot Dashboard.

International currency subscriptions
We now support non-USD subscriptions. You can create subscriptions in all currencies that were already available for invoicing.
Reusable products and prices for subscriptions
The Billing App now supports recurring products and prices alongside existing one-time options. You can use these recurring items when creating subscriptions and subscription templates, streamlining subscription management by eliminating repetitive data entry and ensuring consistency across your billing operations.
Improvements & Updates
- Added support for WebP and other image formats on login/signup pages, improving loading speed.
- Added ability to edit product descriptions after creation in the Billing App.
- Added safeguards to prevent duplicate invoice payments by clients.
- Enhanced mass messaging performance in the Messages App when selecting hundreds of clients.
- Increased the maximum dollar value limit for line items in invoices and subscriptions.
- Improved the bank connection user experience.
- Enhanced PDF handling for corrupted files in the Contracts App.
- Updated billing period terminology in the Billing App.
- Improved QuickBooks synchronization for paid invoice status updates.
- Prevented duplicate invoice emails from being sent on failed auto-charge payments.
- Resolved issues where internal users received client signup emails even when those notifications are disabled.
- Fixed table flickering on initial load for the CRM, Forms App, and Files App.
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.