Changelog

Follow up on the latest improvements and updates.

RSS

You can now trigger workflows for multiple
Company or Custom Object records at once
, directly from the list view.
What's New?
* Select multiple Company or Custom Object records and trigger an automation in bulk
* Choose the workflow you want to run without updating records individually
* Track progress and review record-level results from
Bulk Actions
Why This Matters
Sometimes you need an automation to run for records that already exist, without waiting for a new workflow trigger.
With this update, you can quickly process a selected group of records for use cases such as:
* Running onboarding or follow-up workflows for Companies
* Triggering renewal automation for Policies or Subscriptions
* Processing imported Custom Object records
* Running one-time operational workflows on selected records
How to Use
  1. Open
    Companies
    or a
    Custom Object
  2. Select the records you want to process
  3. Click
    Trigger Automation
  4. Select the workflow
  5. Confirm the action
You can monitor the results from
Bulk Actions
.
We’ve enhanced Marketplace App Access controls to give agencies more flexibility over which apps their sub-accounts can access, while also addressing gaps in the existing approval system.
Agencies can now choose to show only approved apps to sub-accounts and manage approvals for all Marketplace apps from a single view.
As part of this update, we’ve replaced the previous auto-approve new apps setting with a simpler control: agencies can either allow all Marketplace apps or restrict their sub-accounts to approved apps only.
How it works
A new “Show only approved apps to sub-accounts” toggle is available under Manage App Access.
  • When disabled (default), all Marketplace apps are available to sub-accounts.
  • When enabled, only apps explicitly approved by the agency are available to sub-accounts.
  • Agencies can review all apps and their current approval status from a single view.
  • Apps can be approved or disapproved directly from the app list.
  • Search and filters make it easier to find and manage specific apps.
The page has also been revamped using Highrise components for a more consistent Marketplace experience.
How to use it
  • Go to App Marketplace → Settings → Manage App Access.
  • Enable Show only approved apps to sub-accounts if you want to restrict app access.
  • Review the Marketplace app list and its current approval statuses.
  • Use Approve or Disapprove to control which apps your sub-accounts can access.
  • Use search and filters to quickly find specific apps.
Why we built it
Previously, app access management relied on auto-approval behavior that could result in new apps being approved automatically and created confusion around which apps were accessible to sub-accounts.
Additional Notes
We recommend reviewing and cleaning up your approved apps list, especially if you plan to enable the new setting, as existing approval-related issues have now been fixed.
Preview
Screenshot 2026-08-26 at 5
We’ve enhanced guest management for
calendars
, giving businesses more flexibility over the information they collect from guests while improving guest contact data.
---
📱 Capture Guest Phone Numbers
Previously, guest details were limited to
Name & Email
. Businesses can now choose which information they want to collect for each guest:
  • Name & Email
  • Name & Phone
  • Name, Email & Phone
  • Guest Count Only
    — collect only the number of guests without creating guest contacts
When guest details are collected, a contact is automatically created or matched for each guest using their email and/or phone number.
For existing calendars:
Calendars already collecting guest details will continue with
Name & Email
, so there is no change to the existing booking experience.
For new calendars:
Guest details will default to
Name, Email & Phone
, helping businesses capture richer guest information from the start.
---
🌎 More Accurate Guest Timezones
Guest contacts created during a booking will now inherit the
primary contact’s timezone
instead of automatically using the business timezone.
If the guest already exists as a contact in the CRM, their existing timezone will remain unchanged.
---
💡 Why This Matters
These enhancements allow businesses to:
  • Capture the guest contact information most relevant to them
  • Create richer guest contact records with phone numbers
  • Keep timezone information consistent across attendees
---
image
The Create WhatsApp Template builder now validates your variable placeholders inline as you type, so you catch mistakes at authoring time instead of finding out after WhatsApp rejects the submission.
image
> No more saving a template, waiting, and getting a WhatsApp rejection you have to decode. Bad variables are flagged immediately, right in the builder.
What's new
✅ Inline variable validation
  • Start and end variable check:
    WhatsApp rejects a message body that begins or ends with a variable. The builder now flags it and blocks save until there is text around the variable, instead of letting you save something that will be rejected later.
  • Invalid variable detection in header and body:
    Only numbered placeholders (
    {{1}}
    ,
    {{2}}
    , and so on) are valid. Broken tokens like
    {{1$}}
    and unbalanced or extra braces (
    {{1
    ,
    {{1}}}
    ) are now caught immediately, with guidance to the correct format.
  • Reputation review-request preset fixed:
    The default reputation template used to end in a trailing variable, which trips the rule above. It has been cleaned up so new reputation templates pass validation with no manual edits.
image
How to use
Nothing to enable. Validation is built into the
Create WhatsApp Template
builder (
Settings > WhatsApp > Templates
). Just build your template, and any invalid variables are flagged inline before you can save.
image
Why this matters for your business
Create Template is one of the most-used WhatsApp surfaces, and a template rejected by WhatsApp after you save is pure wasted effort: you have to guess what WhatsApp did not like and retry. Catching variable mistakes inline turns a delayed, opaque rejection into a clear, immediate fix, so templates go live faster and generate less support confusion on a core messaging surface.
  • Get templates right on the first try, with no post-save rejection round-trips
  • Faster template setup on a surface agencies use constantly
  • Fewer support tickets from confusing WhatsApp rejections
Build your next WhatsApp template and let the builder catch issues before you save.
When a customer who uses a WhatsApp username messages you, WhatsApp shares only their username, not their phone number. You can now add a "Share contact info" button to a WhatsApp template, or send it from a workflow, so the customer shares their phone number in one tap and a username-only lead becomes a fully contactable one.
Screenshot 2026-08-25 at 6
> This is how you recover phone numbers from username adopters, so they no longer sit as contacts you cannot call, export, or run phone-based automations on.
What's new
📇 Request contact info
  • Share contact info button on templates:
    Add a "Share contact info" button to utility and marketing WhatsApp templates. When the customer taps it, their phone number is shared and captured on their contact, turning a private, username-only lead into one you can actually reach.
  • Request contact info from workflows:
    Send the same request as an interactive WhatsApp message from a workflow action, so you can ask for the number automatically at the right step instead of chasing it manually.
  • Duplicate-safe capture:
    The shared phone number is added to the contact only when no existing contact already has that number, so recovering numbers at scale does not pollute your database with duplicates.
Screenshot 2026-08-25 at 6
📞 WhatsApp calling
  • Username support on WhatsApp calling:
    WhatsApp calling now works for contacts who use usernames, so a customer adopting a username no longer drops out of your calling flows.
Screenshot 2026-08-25 at 6
How to activate
  1. Go to
    Settings > WhatsApp > Templates
    .
  2. Create or edit a template, and under
    Button (Optional)
    choose
    Share contact info
    .
  3. To automate it, go to
    Workflow > Action > WhatsApp interactive messages
    , set
    Interactive message type
    to
    Request Contact Info
    , and add your message body.
Screenshot 2026-08-25 at 6
Why this matters for your business
Usernames give customers phone-number privacy, which is good for them but leaves you with contacts you cannot call, export, or run phone-based automations on. Requesting contact info closes that gap: one tap converts a username-only lead into a fully usable contact, with the number captured cleanly and no duplicates. It keeps LatAm and other high-adoption WhatsApp markets fully monetizable instead of filling up with unreachable contacts.
  • Recover phone numbers from username adopters so they become contactable and exportable
  • Automate the ask inside workflows, with no manual follow-up
  • Protect data quality with same-number duplicate prevention
  • Unlock WhatsApp calling for username contacts
Add a Share contact info button to your next template and start recovering numbers.
Resources
Chat Widget now integrates with
Brand Boards
, making it easier to keep every widget consistent with your brand. Your location’s brand colors and fonts are now available directly within the
Styles
panel.
Brand Colors in the color picker:
Color pickers now show
Brand Colors
from your location’s Brand Board alongside a shared
Default
palette.
Existing colors automatically carried over:
Colors already used across your custom-themed Chat Widgets automatically populate the Default palette the first time you open the builder.
Shared color palette:
Any new color you use is automatically added to the Default palette and becomes available across all Chat Widgets in that location.
Brand Fonts:
Fonts configured in your Brand Board now appear separately from the standard font library for easier access.
Consistent HighLevel experience:
The Styles panel now uses HighLevel’s
Highrise color picker
, providing a consistent color selection experience across the platform.
Cleaner palettes:
Colors are normalized and deduplicated automatically to prevent repeated colors from cluttering the palette.
How It Works
  1. Set up your location’s
    Brand Board
    with your preferred colors and fonts.
  2. Navigate to
    Chat Widget → Styles
    .
  3. Open any supported color field.
  4. Choose from your
    Brand Colors
    or the location’s shared
    Default
    palette.
  5. Select a Brand Font directly from the font picker or continue using the standard font options.
Your existing custom colors are automatically added to the Default palette, so there’s nothing you need to recreate.
If your location doesn't have a Brand Board yet, you'll see an option to set one up directly from the builder.
Why It Matters
Maintaining consistent branding across multiple Chat Widgets no longer requires repeatedly finding and entering the same colors and fonts.
With Brand Board integration:
Keep Chat Widgets aligned with the rest of your HighLevel brand experience.
Access approved brand colors and fonts directly while designing.
Reuse colors across every widget within a location.
Preserve existing widget colors automatically.
Spend less time manually configuring styles across multiple widgets.
Notes
Availability:
Live in production for all custom-theme color pickers in Chat Widget.
Brand Colors are
read-only
in Chat Widget and are managed through Brand Boards.
The
Default palette
can be updated and is shared at the location level.
A configured Brand Board is required for Brand Colors to appear.
Existing Chat Widgets require
no migration or reconfiguration
.
Existing website embed snippets require
no changes
.
image (29)
image (30)
image (31)
Chat Widget compliance settings are now more flexible, giving businesses greater control over how legal notices and visitor consent are handled.
What’s New?
The previous all-in-one HIPAA compliance setting has been upgraded to a new
Compliance notice & consent
section.
You can now:
Show a legal notice
below the contact form without requiring any visitor action.
Add a consent checkbox
with custom wording for explicit opt-ins such as SMS or email marketing consent.
Make consent required or optional
depending on your business needs.
Pre-check the consent checkbox
when the form loads.
Show clear validation
when required consent is missing, with a “Please tick this box to continue.” message.
Track consent in Activity details
, including whether consent was given, whether it was required, and the exact consent text shown to the visitor.
How to Use It
Navigate to:
Chat Widget → Chat window → Additional options → Compliance notice & consent
From here, you can configure your legal notice, consent checkbox, required/optional behavior, and pre-checked state. The live preview updates as you configure the experience.
Why It Matters
Legal disclosures and explicit marketing consent don't always serve the same purpose. Previously, they were handled through a single setting.
With this update, businesses can independently configure disclosures and consent, making it easier to create the right experience for different compliance requirements while maintaining a clear record of what each lead agreed to.
Availability & Migration
Available to everyone.
Existing widgets remain unchanged until they are opened and saved in the builder.
Existing legal text is automatically carried over to the appropriate field.
Widgets created through
A2P registration
retain their existing compliance configuration.
New widgets default to:
Legal notice:
On
Consent checkbox:
On
Required consent:
Off
No changes to existing website embed code are required.
image (28)
🚀 What’s New?
You can now offer
multiple meeting durations within a single calendar
, giving bookers the flexibility to choose the meeting length that works best for them.
Instead of creating separate calendars for 15-minute, 30-minute, or 60-minute meetings, you can configure
up to 3 duration options
on the same calendar.
⚙️ How Does It Work?
From your calendar settings, you can:
  • Add up to
    3 duration options
  • Choose which duration should be selected by default
  • Add or remove duration options at any time
When multiple durations are configured, bookers will see them as easy-to-select options on the booking page. Selecting a different duration automatically refreshes availability to show slots that can accommodate the selected meeting length.
If only one duration is configured, the booking experience remains unchanged.
📅 Available Across Booking Experiences
Multiple durations are supported across:
  • Web and mobile booking pages
  • Neo and Classic booking widgets
  • In-app appointment booking on web
  • Mobile app
The selected duration is also supported when
rescheduling an appointment
, allowing the meeting length to be changed along with the date or time.
🔄 What Happens to Existing Appointments?
Changes to your calendar's duration options
never modify or cancel existing appointments
.
For example, if you remove a 30-minute duration while future 30-minute appointments are already booked, those appointments remain unchanged. Their calendar events, reminders, and notifications continue to use the originally booked duration.
New appointments can only use the duration options currently configured on the calendar.
When rescheduling, bookers will see the calendar's currently available durations. If their original duration is no longer offered, they'll be asked to select a new duration before completing the reschedule.
📌 Supported Calendars
Available for:
  • Personal Calendars
  • Round Robin Calendars
  • Collective Calendars
  • Event Calendars
This update makes it easier to offer flexible meeting lengths while keeping availability, bookings, and calendar management within a
single calendar
.
image
image
image
image
💳
Skip the Credit Card on $0 Orders
Selling through Forms and Surveys is great—but asking someone for their credit card when the order comes to nothing isn't. We've introduced a new Require Credit Card setting on the Sell Products element, so free orders can be completed without any card entry at all.
What's New
A new
Require card for $0 orders
toggle is now available on the Sell Products element in:
  • Forms
  • Surveys
When turned OFF, a product order that
totals $0
with nothing recurring due will
hide the payment fields entirely
and complete as a free checkout.
0-dollar-card
⭐️
Key Highlights
  • 💳  New
    Require card for $0 orders
    toggle on the Sell Products element
image (12)
  • 🎉 
    Payment fields are hidden automatically when a product order totals $0
  • 🏷️ Works for coupon-driven zero too - a 100% discount hides the card as soon as the total reaches $0
  • 🔀  For Forms and Surveys embedded in a Funnel, the Funnel-level Require Credit Card setting takes precedence over the element setting
  • 🔒 Subscriptions, free trials, and any order with a recurring amount still require a card
  • 🛡️ Fails safe - if a total can't be confirmed as $0, the card is always shown and payment is collected as normal
  • 🧾  Free orders are still created and recorded, so submissions and order history stay complete
  • ☑️ Existing Forms and Surveys continue to work exactly as before
  • 💻 📱 Fully supported across desktop and mobile experiences
⚙️
How It Works
  1. Add or open a Sell Products element in your Form or Survey.
  2. Turn
    Require card for $0 orders
    .
  3. When a customer's product selection
    totals $0
    with nothing recurring due, the
    payment fields are hidden
    and the order completes without card entry.
  4. For Forms and Surveys embedded in a Funnel, the
    Funnel's Require Credit Card setting
    is used instead of the element setting.
  5. If the toggle is left ON, card collection behaves exactly as it does today.
📋
Notes
  • The setting defaults to ON, so nothing changes for existing Forms and Surveys unless you choose to turn it off.
  • Donation and custom-amount payment types are out of scope—their behavior is unchanged.
  • Subscriptions and free trials always require a card, even when nothing is due today, because a card is needed for the future charge.
  • Card collection is never skipped on a total that can't be confirmed as $0—this includes a pricing summary that fails to load, or a customer submitting while their totals are still updating after a product, variant, coupon, or order bump change.
  • Also improved in this release: the payment element no longer briefly appears and disappears on $0 orders, card details entered on paid orders are preserved when changing quantity or applying a coupon, and Surveys embedded in Funnels now receive Funnel context correctly.
Free and paid offers can now live in the same Form or Survey without asking customers for card details they shouldn't need to give. 🎉
👀
What's New?
  • Numeric and monetary custom fields on
    Contacts
    and
    Opportunities
    can now be used as metrics — not just filters or groupings.
  • Aggregate them with
    Sum, Min, Max, or Average
    .
  • Available everywhere metrics live:
    Dashboard widgets, Custom Reports, and the Custom Metric module.
  • Any new custom field you create shows up in the metric picker automatically — no setup required.
👷
How It Works:
  1. Open a dashboard widget, custom report, or the Custom Metric module and go to add a metric.
  2. In the
    Field
    dropdown, select any numeric or monetary custom field (e.g., "Property Value") — it now appears alongside your standard fields.
  3. In the
    Aggregation
    dropdown, choose Sum, Min, Max, or Average.
  4. Your widget or report now reflects that custom field's aggregated value, live.
🌟
Why It Matters:
  1. Report on what actually matters to your business
    — if you've been tracking deal size, treatment cost, property value, or any other custom number, you can now build real dashboards around it instead of exporting to a spreadsheet.
  2. No more manual math
    — Sum, Min, Max, and Average are calculated for you, live, instead of being tallied by hand.
  3. Zero setup
    — new custom fields are metric-ready the moment you create them.
📝
Note:
  • Applies to
    numeric and monetary
    custom field types in Contacts and Opportunities.
Screenshot 2026-08-23 at 10
Load More