Changelog
Follow up on the latest improvements andย updates.
RSS
Chat Widget Color Picker Now Adapts to Browser Support
What's New
The Chat Widget color picker now automatically adapts based on the browser being used, ensuring that only supported color-selection options are shown.
Safari and Firefox:
The eyedropper option is now hidden because these browsers do not currently support the native API required for this functionality.Chrome:
No change. The eyedropper remains available and continues to work as before.The
color spectrum, hue controls, and hex input
remain available across supported browsers, so users can still configure any custom color.How It Works
This improvement is powered by **Highrise (
@platform-ui/highrise
4.8.4)**, the shared design system used by the Chat Widget color picker.Browser capabilities are detected automatically:
If the browser supports the native eyedropper API, the eyedropper option is shown.
If the API is unsupported, the eyedropper option is hidden.
No Chat Widget configuration or code changes are required from users.
Why It Matters
Previously, Safari and Firefox could display an eyedropper option that appeared usable but did not work when clicked. This could make the color picker appear broken even though the rest of the color-selection functionality was working correctly.
The issue was proactively identified through
Sentry error monitoring
, allowing us to detect and address the unsupported browser behavior before it became a broader customer-reported problem.The color picker now reflects the actual capabilities of the user's browser while keeping all standard color-selection options available.
Availability
This update is
live for everyone
.Existing Chat Widget configurations and previously saved colors are unaffected.
Chat Widget now includes built-in spam protection to help prevent bot and high-volume suspicious submissions from impacting your messaging costs and sender reputation.
Spam protection works automatically in the background without adding CAPTCHA, extra form fields, or additional steps for genuine visitors.
Instead of deleting suspicious submissions, HighLevel keeps the contact, tags it for review, and can pause SMS, email, or both based on your selected setting. This ensures potentially legitimate leads are not lost while preventing unnecessary outbound messages to suspicious contacts.
What's New
Automatic spam protection without visitor friction
Spam and suspicious submissions are detected automatically without changing the visitor experience.
There is:
* No CAPTCHA
* No additional form fields
* No extra loading or verification step
* No change to the experience for genuine visitors
Suspicious leads are kept for review
Flagged contacts are not deleted.
They are created normally and tagged with:
chat_widget_high_volume_flag
Depending on your configuration, SMS, email, or both can be paused for that contact. This allows your team to review suspicious leads and restore messaging when the submission is legitimate.
Protect your sender reputation
Sending messages to invalid phone numbers and email addresses can generate unnecessary costs, bounces, and delivery issues.
Spam Protection prevents outbound messaging on the selected channels for flagged contacts, helping reduce unnecessary messaging spend and protect SMS and email sender reputation.
Configure protection independently for each widget
Spam Protection is configured at the individual Chat Widget level.
You can choose from four actions:
* Tag Only
* Pause SMS
* Pause Email
* Pause Both
Only the selected channel is affected. Other communication channels and existing DND preferences remain unchanged.
Clear activity history
When messaging is paused by Spam Protection, the contact activity log records the action and identifies the affected channel.
Flagged contacts can also be found by filtering for the
chat_widget_high_volume_flag
tag.Safe defaults for existing and new widgets
For existing Chat Widgets, Spam Protection is OFF by default so current behavior does not change unexpectedly.
For newly created Chat Widgets, Spam Protection is ON by default with
Pause Both
selected.## How to Enable Spam Protection
- Go to Sites > Chat Widget.
- Open the Chat Widget you want to configure.
- Open Spam Protectionin the builder sidebar.
- Turn Spam Protection on.
- Select the action to take when a suspicious submission is detected.
- Save your changes.
To review flagged contacts later, filter your contacts using the
chat_widget_high_volume_flag
tag.If you're expecting an unusually large legitimate traffic spike, such as during a major campaign, launch, event, or press announcement, you can temporarily disable Spam Protection for that widget and enable it again afterward.
Why We Built This
A spam attack against a Chat Widget can create hundreds of fake contacts within a short period of time. If automated follow-ups are triggered for those contacts, businesses can end up sending SMS and emails to invalid destinations.
Beyond the unnecessary messaging cost, repeated failures and bounces can negatively affect sender reputation and the deliverability of legitimate campaigns.
Chat Widget Spam Protection helps prevent this automatically while keeping suspicious contacts available for review rather than permanently discarding them.
For security reasons, the specific signals and thresholds used to identify suspicious activity are not published. This helps prevent malicious actors from designing submissions specifically to bypass the protection.
What's Next
We will continue improving Spam Protection with:
* Broader protection coverage
* Better visibility into flagged contacts
* Additional review and management controls
* Ongoing detection improvements based on real-world traffic



new
Ask AI
Ask AI now lives in WhatsApp
Your copilot is no longer something you open. It is someone you text. Connect your WhatsApp number once, and the full Ask AI copilot, the exact same one you use inside HighLevel, is reachable from the thread you already have open all day. No laptop, no tab, no app. Just a message.
> ๐ This is the first time your copilot leaves the app entirely. Everything it can do on the web, it can now do from a text.

๐คฏ This is not a lite version
Let's be clear about the size of this, because it would be easy to underestimate. This is not a chatbot, a notification relay, or a trimmed-down mobile experience. It is your complete Ask AI copilot, with every capability intact, reachable from WhatsApp.
If Ask AI can do it on the web, it can do it from a text. Full stop.

โจ What you can do from a text
๐ผ Run your CRM without opening your CRM
- Contacts and opportunities:Look up a contact, add a note, update a field, or move a deal to the next stage, all from a message. When a client mentions something on a call, you log it before you have hung up.
- Your calendar:Ask what today looks like or what is coming up next, and get the answer in seconds.
โ๏ธ Create real work product from your phone
- Draft a blog post:Hand it to a subagent and get a ready-to-review draft back in the thread.
- Generate an email template:Ask for a follow-up, a cold outreach, or a reply, and get it back as a reusable template you can drop straight into your campaigns.
- Generate images, video, and audio:Ask for the asset you need and it is created right there in the conversation.
๐ Set work in motion, then walk away
- Recurring tasks by text:Say "every Monday at 9am, summarize new leads" and it simply runs from then on. No reminder to set, nothing to remember.
- Never drop a follow-up:"Check on this lead in a few days." Set it once from a message, and it happens on its own. Results wait for you in the Scheduled Tasks tab.

๐ Your own skills, over text
- Custom skills work identically:Anything you have taught your copilot behaves exactly the same way over WhatsApp. Your team's specialized workflows travel with you.
๐ Get support without leaving the conversation
- Routed to Support AI automatically:Ask a product or account question mid-task and get a real answer in the thread. No ticket, no tab switch, no waiting.
๐ฌ Or just ask
- It is still your copilot:No task required. Plain questions work exactly as you would expect.
๐ How your connection works
๐ค Private to you, always
- Your number is yours alone:Each connected WhatsApp number is tied to the person who connected it. Other users cannot see or manage your connection.
- No takeovers, ever:If a number is already connected by someone else, you will see a clear Unauthorized message. Nobody can seize a connection that belongs to another person.
๐ Every conversation, saved in the app
- Full history in the Dispatch tab:Every WhatsApp exchange appears in a dedicated Dispatch tab and in your sidebar, fully searchable, sortable, and paginated. Text on the go, review it properly later.
๐ Move your number whenever you need to
- One confirmation, no manual cleanup:Already connected this number at another location or agency? Confirm once and it moves across. No disconnecting first.
๐ฒ How to connect
- Open the Dispatchtab (orCustomize โ Dispatch) and tapConnect WhatsApp.
- Scan the QR code with your phone and send the first message to the number shown. You will receive a verification code back on WhatsApp.
- Enter that code in the app to finish verification.
- Message that number any time to reach your copilot. Every past conversation stays available in the Dispatch tab.
๐ Why this is a big deal for your business
For as long as you have used a CRM, the work has been trapped behind a screen. You had to be somewhere, with something open, to get anything done. That constraint is gone. Your copilot now meets you in the single app you check more than any other, which in most of the markets our customers sell into is the primary way people communicate at all.

- Your dead time becomes productive time.The walk between meetings, the taxi, the queue. Updating a deal or pulling a contact takes one message.
- Client conversations get captured while they are still fresh.Log the note during the conversation, not three hours later when half of it is gone.
- Work leaves your head and enters your system immediately."Follow up next week" stops being something you hope you remember.
- Your whole team gets the copilot, not just the desk-bound half.Field sales, on-site staff, and anyone who lives on their phone now has the same capability as someone at a laptop.
- Answers arrive where decisions get made.In the meeting, at the client's office, on the shop floor.
Open the Dispatch tab, connect your number, and send your copilot its first message. It takes about a minute.
๐ฏ
๐ฎ What's next
WhatsApp is only the beginning. More Dispatch channels are on the way, including Slack and Instagram. Your copilot will meet you wherever you work.
Resources
You can now decide exactly who on your team can touch each part of WhatsApp. Seven new per-action permissions let agency and sub-account admins control who creates templates, edits flows, manages phone numbers, updates your business profile, or disconnects WhatsApp entirely. Precise control, zero disruption, and it is live today.

> ๐ WhatsApp is one of your most business-critical channels. From today, only the people you choose can change how it is configured.
โจ What's new
๐๏ธ A dedicated WhatsApp permission section
- WhatsApp is now its own module:Find it directly underSettings โ Users โ Edit โ Roles & permissions, at both agency and sub-account level. Agency admins set policy across sub-accounts, and sub-account admins manage their own staff. No more all-or-nothing access to WhatsApp settings.

๐ Seven per-action permissions
- Create and edit templates:Control who can author or change WhatsApp templates. This matters more than it sounds, because an edited template goes back to Meta for review, so an unplanned edit can pull a working template out of service.
- Delete templates:Keep your approved template library safe from accidental removal.
- Create and edit flows:Decide who can build or change WhatsApp flows.
- Delete or deprecate flows:Protect live flows that your automations depend on.
- Update business profile:Your profile is what customers see on WhatsApp, so now only the right people can change it.
- Add and manage phone numbers:Control who can attach or manage the numbers your business sends from.
- Disconnect WhatsApp integration:The most sensitive action of all, now lockable to just your trusted admins.

โ
Safe by default, nothing breaks on day one
- Everyone keeps what they had:All seven permissions are granted by default to agency owner, admin, and user roles, plus sub-account admin and user roles. Nothing changes until you decide to tighten it, so there is no migration, no scramble, and no disruption to your team.
๐ก๏ธ Enforced everywhere, not just in the UI
- Real enforcement, not a visual nicety:Restricted actions are disabled in the WhatsApp settings screen with a tooltip explaining why, and the same rules are enforced behind the scenes. A permission you turn off is genuinely off.
๐ Available in every language you work in
- Fully localized:The new permission section is translated, so your global teams see it in their own language.
โ๏ธ How to set it up
- Go to Settings โ Users.
- Select the user and click Edit.
- Open Roles & permissions.
- Find the WhatsAppsection and toggle the seven permissions to match the access you want.
- Save, and it applies immediately.
๐ก Good to know
- Permissions follow the user:A WhatsApp permission is granted or revoked for that user across the sub-accounts they belong to, rather than being set separately per sub-account.
- Changes are auditable:Permission changes appear in your audit logs at the agency view level, under Users.
- Available regardless of reselling:The WhatsApp permission toggles show up under Users whether or not WhatsApp reselling is enabled, the same as other products.
๐ Why this matters for your business
As your agency grows, more people need access to WhatsApp, but not all of them need the ability to reshape it. Until now, granting someone access to WhatsApp settings meant granting them everything, including the ability to delete approved templates or disconnect the integration outright. That is a lot of risk to hand to a new hire or a contractor.
- Protect a live revenue channelby restricting disconnect and phone number management to the few people who should hold it
- Keep your approved template library intact, since deletions and edits that trigger Meta re-review are now gated
- Delegate confidently, giving new team members exactly the access their job needs and nothing more
- Scale your team without scaling your risk, with agency-wide policy set once and applied consistently
- Answer "who changed this?"with permission changes captured in your audit logs
Head to Settings โ Users โ Roles & permissions and set up your WhatsApp access the way it should have been all along.
๐ฏnew
QR Codes
๐ฑ Introducing App QR Codes
You can now create
App QR Codes
that automatically redirect users to the correct app store based on their device.Previously, businesses promoting mobile apps had to use separate QR codes for iOS and Android or redirect users to a landing page with multiple download options. With the new
App QR Code
type, a single QR code can handle the entire experience.โจ
Whatโs New
While creating a QR Code, select the new App QR Code type and configure:
- App Store URLfor iOS users
- Play Store URLfor Android users
- Other Devices URLas a fallback for unsupported or unidentified devices
When someone scans the QR code, their device is automatically detected and they are redirected to the appropriate destination:
- iOSโ Apple App Store
- Androidโ Google Play Store
- Other/Unknown devicesโ Fallback URL
๐ฏ
Why It Matters
App QR Codes provide a simpler and more seamless app-download experience by eliminating unnecessary landing pages and multiple QR codes. Businesses can now use one QR code across
campaigns, print materials, websites, and other promotional channels
while automatically routing users to the right destination.๐
How to Use It
Go to
QR Codes โ Create QR Code โ Select โAppโ
and add your App Store, Play Store, and optional fallback URLs.


The existing QR Code design and customization experience remains unchanged.
17th of September, 2026
Local presence dialing automatically selects the best local caller ID for your outbound calls, significantly boosting call answer rates.

We have rebuilt our local presence engine from the ground up to deliver smarter matching, broader international coverage, and greater administrative control.
What's new
- Expanded country support: Location-based matching is now active across the ๐บ๐ธUS, ๐จ๐ฆCanada, ๐ฌ๐งUK, and ๐ฆ๐บAustralia, using real postal code distance calculations rather than static lookup tables.
- Consistent caller ID: Contacts will now see the exact same number from you on every repeat attempt. This deterministic matching builds caller familiarity and helps maintain strong carrier standing.
- Universal outbound coverage: Local presence now works seamlessly across every dialing path: including the web dialer, and desk phones. Mobile app support is coming soon.
- Reserved numbers: Mark up to 50 numbers per sub-account as reserved to prevent them from being auto-selected, protecting main office lines while keeping them available for manual dialing.


- Smarter matching ladder: Calls cycle through an optimized priority hierarchy to find the best match: lead's zipcode โ area code โ overlay code โ nearest available distance โ same region โ account default.
- Fail-safe reliability: Outbound calls are never delayed or blocked. If a local match is unavailable or lead data is missing, the system instantly routes the call using your account default.
How to get started
To configure reserved numbers or adjust your settings, navigate to Settings > Phone System > Voice > Other Settings > Outbound calls and scroll to the Local presence dialing section.
new
improved
Reputation
Reputation Management โ Video Testimonial Enhancements ๐ฅ
๐ Whatโs New
Weโve added new automation and publishing controls for Video Testimonials, making it easier for businesses to act on new submissions immediately and control which testimonials appear on their widgets.
This release introduces two key enhancements:
- Video Testimonial Received Workflow Trigger
- Video Testimonial Approval & Visibility Controls
๐ Key Capabilities
1. ๐ฅ Video Testimonial Received Workflow Trigger
Businesses can now trigger automated workflows the moment a new video testimonial is submitted through a Video Testimonial Collector.
This enables teams to automate actions such as:
- Notify internal teams when a new testimonial is received
- Send a thank-you or follow-up message to the reviewer
- Create tasks or notes for the team
- Pass testimonial information into webhooks or other workflow actions
- Build different automation paths based on the collector or marketing consent

2. ๐ Filter Testimonial Workflows
The trigger supports filters so businesses can control which submissions enter a workflow.
Available filters include:
- Marketing Consent โ Run workflows based on whether marketing consent was granted
- Video Collector โ Trigger workflows only for testimonials submitted through a specific collector
This makes it easy to build separate automations for different campaigns, products, events, partners, or testimonial use cases.
3. ๐ Video Testimonial Custom Values
Testimonial data is now available as custom values inside supported workflow actions.
Available values include:
- Reviewer Name
- Reviewer Email
- Reviewer Phone
- Marketing Consent
- Submitted At
- Collector Name
- Video Link
These values can be used inside actions such as internal notifications, notes, emails, SMS, webhooks, and other workflow steps.

4. โ
Video Testimonial Approval & Visibility Controls
Businesses now have more control over which video testimonials are displayed on their widgets.
Under the Reputation widget settings, users can choose how new testimonials should be handled:
- Auto-publish new video testimonials: New submissions are automatically displayed on the widget. This is the default behaviour.
- Require manual approval before publishing: New submissions must be reviewed before they are displayed.
This allows businesses to choose between a completely automated experience or a more controlled moderation flow.

- ๐๏ธ Review & Manage Testimonials from Responses
The Video Testimonials โ Responses page now makes it easier to understand and manage widget visibility for each submission.
Users can:
- Identify newly received testimonials that have not yet been reviewed
- See when a testimonial is currently shown on the widget
- Show or hide individual testimonials directly from the Responses page
This gives teams control over individual testimonials without having to edit the widget configuration every time.


๐ก Why It Matters
- Automates follow-up the moment a video testimonial is received
- Removes the need to manually monitor new testimonial submissions
- Enables collector-specific and consent-aware automation
- Makes testimonial data immediately usable across Workflows
- Gives businesses control over which testimonials appear publicly
- Supports both hands-off auto-publishing and manual approval workflows
- Makes managing testimonial visibility faster from one central Responses view
Together, these enhancements make Video Testimonials easier to collect, automate, moderate, and publish across the customer journey.
Drop us a line at reputation@gohighlevel.com or share on our Ideas boardโ weโre listening!
Weโve rebuilt the Marketplace app detail experience to make it faster and easier to understand an app, evaluate its fit, and make an informed install decision.
The information customers need was already available across the listing,
but it was often spread across different areas and difficult to evaluate quickly
. The new experience brings everything together into a clear, structured journey across app details, pricing, permissions, reviews, and discovery.Whatโs New?
Clearer app overview
Key decision signals such as rating, install count, target user, install eligibility, white-label support, pricing, version, and developer information are now easier to scan upfront.
Structured app evaluation
App information is now organized into clear sections for Overview, Pricing, Permissions, and Reviews, so users can quickly navigate to what matters most.
More transparent pricing
Pricing now has a dedicated structure for monthly and yearly plans, free trials, Agency and Sub-account pricing, multiple pricing tiers, and usage-based charges where applicable.
Easier-to-understand permissions
Permissions are grouped by capability and presented with clearer scope information, including Read and Write access, making it easier to understand what an app can access or change.
Richer product context
Screenshots, videos, descriptions, categories, version information, and developer details are presented in a cleaner format to help users understand how the app works before installing.
Improved reviews experience
Ratings, rating distribution, individual reviews, and review sorting are now easier to explore from a dedicated section.
Better app discovery
Users can continue exploring through Similar Apps and Other Apps from the Same Developer, making it easier to discover alternatives and related solutions.
Cleaner install journey
Install actions and account context are now more closely connected to the evaluation experience, making it easier to move from research to installation.
Why It Matters
Choosing a Marketplace app involves more than understanding what it does. Users also need to quickly understand:
Is this app right for my use case? Who can install it? What does it cost? What access does it require? What do other customers think?
The revamped app detail experience brings those answers into one cohesive place, creating a clearer path from discovery โ evaluation โ install.
In case of feedback, please write us at marketplace@gohighlevel.com

You can now
choose which dashboard becomes the default
in destination sub-accounts while loading a Snapshot โ eliminating the need to update each sub-account individually afterward.โจ Whatโs New?
*
Set a dashboard as default
โ Each selected dashboard now includes a Set as default
option during Snapshot Load.*
Choose one default
โ Only one dashboard can be marked as default. Select another dashboard to switch the default, or deselect it to use the existing behavior.*
No change required
โ If you don't select a default, the Snapshot's existing default dashboard
will continue to be used.๐ฏ Why It Matters
Previously, changing the default dashboard was a
sub-account-level setting
, requiring you to manually open each destination sub-account after loading a Snapshot.For agencies loading Snapshots across hundreds or thousands of sub-accounts, this meant repeating the same configuration over and over.
Now, you can configure it
once during Snapshot Load and apply it everywhere
.

๐ What Youโll Benefit From
*
Save time at scale
โ Set the default dashboard once, whether you're loading to 10 sub-accounts or 1,000.*
Consistent setup
โ Ensure every destination sub-account starts with the intended dashboard.*
Fewer manual steps
โ No need to visit individual sub-accounts after the Snapshot is loaded.*
No disruption to existing workflows
โ If you're happy with the Snapshot's current default dashboard, simply leave the setting unchanged.โ
Getting Started
During your next
Snapshot Load
, select the dashboards you want to copy and click Set as default
on the dashboard you want as the destination's default.>
Tip:
Make sure the selected dashboard has the appropriate view permissions for users in the destination sub-accounts.Create or update a Contact, and HighLevel can find the right existing Company and associate the Contact automatically. If no suitable Company exists, HighLevel can create one, store its domain, and enrich it with the Company Name and Logo.

Whatโs New?
- New Company Domain Name field with uniqueness enabled by default
- Automatically associate Contacts with existing Companies when the email domain matches
- Automatically create a new Company when no suitable match exists
- Enrich Companies with Company Name and Logo
- Prevent duplicate Companies from sharing the same domain
- Exclude common free email providers and add your own domains to the exclusion list
- Match against existing Company records before creating a new one
- Optionally populate domain information for existing Companies when enabling the feature


Why This Matters
For B2B businesses, new Contacts should naturally belong to the right Company without users having to create and associate Company records manually.
With this update, Company data can organize itself in the background as Contacts enter the CRM.
This helps users:
- Reduce manual Company creation and association
- Keep Company data cleaner
- Prevent duplicate Company records
- Preserve existing Companies that already contain Contacts, Opportunities, notes, and other CRM data
- Build more reliable Company Smart Lists, workflows, and reporting
How It Works
When a Contact is created or their email is updated, HighLevel checks for a suitable existing Company before creating a new one.
For example:
Contact: sarah@acme.com
- If a Company already has acme.com as its domain, Sarah is automatically associated with it.
- If an existing Acme Company has no domain, HighLevel can identify that Company, populate its domain, and reuse the existing record instead of creating a duplicate.
- If no suitable Company exists, a new Company can be created and enriched automatically.
How to Enable
- Enable the feature from Settings โ Labs. Look for "Automatic Company Creation & Association by Domain"
- Go to Settings โ Objects โ Companies
- Under Automations, configure:
- Enrich companies automatically
- Create companies from contact's email domain
- Automatically prevent duplicate companies
- Add any domains you want to ignore under Exclude domains from automatic association
- Click Save changes
The existing Automatically create and associate companies from contact business names automation continues to work alongside the new domain-based capabilities.


Notes
- Existing Company associations are respected and are not automatically replaced
- Common free email providers such as Gmail and Yahoo are excluded from domain-based automation
- Domain matching is exact, so company.com and mail.company.com are treated as different domains
- Company enrichment is best effort and does not block Company creation
- Manually entered Company domains are not overwritten during domain backfill
Load More
โ