Changelog
Follow up on the latest improvements and updates.
RSS
MM API is Meta's next-generation marketing solution built to enhance the customer experience and deliver the right message to more of the right people. Unlike Cloud API — which applies no delivery intelligence to marketing messages — MM API uses quality-based optimization to prioritize high-engagement sends, resulting in
up to +9% higher delivery rates
vs. Cloud API, validated by Meta's own A/B test across 12M+ messages.
> Every marketing campaign your sub-accounts run on Cloud API today is missing delivery, conversion tracking, and creative capabilities that are only available on MM API. The upgrade takes minutes.
What's New vs. Cloud API
🚀 Optimization
- Quality-Based Delivery:MM API factors message engagement signals into delivery decisions — prioritizing messages that are expected, relevant, and timely. Cloud API has no equivalent. Result: up to+9% higher deliveryfor high-engagement messages.
- Automated Creative Optimizations(Pilot):Meta automatically enhances the visual appeal of marketing templates — including image animation and filtering — to improve performance without any manual effort.

📱 Richer Message Formats
- Animated GIF Headers:Send GIF media in message template headers. Not supported on Cloud API.
- Android App Deep Links:Send links that directly open your app on a customer's phone. Not supported on Cloud API.
- All existing formats supported:Media, carousel, product catalog, flow, interactive list, interactive reply, and more — everything Cloud API supports, plus the above.
📊 Measurement & Guidance
- Tailored Recommendations:Receive evidence-based suggestions to improve future campaign performance. Exclusive to MM API.
- Cost Metrics:Spend per Template, Cost per Click, and Cost per Delivery — available on both MM API and Cloud API.
- Basic Metrics:Sent, Delivered, Read, Clicked, Errors — available on both.
⚙️ Onboarding & Technical
- Existing phone numbers and MM templates work as-is— no re-creation needed.
- Coexistence supported— WhatsApp Business App users can be onboarded without disruption.
How to Activate
- In the sub-account, go to Settings → WhatsApp. A banner prompting MM Lite activation will appear.
- Click Enable MM Lite— this redirects to the WhatsApp account interface.
- Navigate to the Requeststab and clickRespond.
- A prompt to improve ROI with Marketing Messages API will appear — click Continue.
- On the "Review LeadConnector's access request"screen, confirm the permissions and clickFinish.

All existing templates, workflows, and campaigns continue running without interruption.
Why This Matters
Meta is drawing a clear line: Cloud API remains available but receives no new marketing capabilities. Every feature on this list — conversion tracking, benchmarks, GIFs, deep links, creative optimizations, extended TTL — is exclusive to MM API and will stay that way.
Sub-accounts that activate MM Lite today will:
- Deliver more messages to the right people without increasing send volume
- Track the full conversion funnel from WhatsApp message to purchase
- Access creative and format capabilities their competitors on Cloud API don't have
- Benefit from Meta's ongoing investment in the MM API endpoint
This is the future of WhatsApp marketing on HighLevel. Activate it now.
\
A/B test conducted with ~12M delivered marketing messages by advertisers in India, Jan 1–31, 2025. Compared MM API optimized delivery to standard Cloud API delivery for high-engagement messages only. Analysis: t-test at 95% confidence level.Resources
new
Mobile Payments and POS
Mobile Payments: Manage Cards on File for a Contact
We’re excited to introduce Cards on File for Contacts 💳 on the mobile app. You can now securely save and manage customer cards directly from a contact’s Payments section.
🚀
What’s new
- Save cards directly from contacts: Add and store a customer’s card within their contact profile for future transactions.
- Remove cards easily: Manage stored cards by removing them with a simple swipe action when they are no longer needed.
👷♂️
How to use this feature
Add a card on file
- Open the mobile app and navigate to the Contacts section.
- Select a Contact.
- Go to the Transactions tab.
- Tap the floating action button (+).
- Select Manage Cards on File.
- Enter the card details and save the card to the contact.
Use a saved card for payment
- When creating a transaction, invoice, estimate, or in-person charge linked to the contact, the saved cards will appear as available payment methods.
Remove a saved card
- Open Manage Cards on File for the contact.
- Swipe left on the card you want to remove.
- Tap Remove.
- Confirm the action when prompted.
✨
How this helps your business
- Speed up checkout: Charge returning customers without re-entering their card details.
- Centralise payment methods: Keep customer payment details organised directly within the contact record.
- Improve customer experience: Make repeat payments smoother and faster.




new
Mobile Payments and POS
Mobile Payments: Payment Schedule in Estimates
We’re excited to introduce Payment Plans for Estimates 💳. You can now offer customers more flexibility by splitting estimate payments into scheduled installments, making it easier to close larger deals and give customers clearer payment expectations from the start.
🚀
What’s new
- Add payment schedules to estimates: Break the total estimate amount into multiple payments instead of requiring the full amount upfront.
- Deposit-based estimates: Configure the first payment as a deposit that is collected when the estimate is accepted.
- Flexible scheduling options: Set subsequent payments using custom due dates or regular intervals (for example weekly).
- Percentage-based plans: Use the percentage toggle to easily split payments as portions of the total estimate.
👷♂️
How to use this feature
Create a payment schedule for an estimate
- Navigate to the Estimates section and create a New Estimate.
- Add products or services to the estimate.
- Navigate to the review section.
- Select the option to configure a Payment Plan.
Configure the first payment
- Choose when the first payment should occur:
- Upon Estimate Acceptance (used as the deposit), or
- Custom Date
- Enter the payment amount or percentage for the first payment.
Set up the remaining payments
- Choose how subsequent payments should be scheduled:
- Custom Date for manual due dates, or
- Regular interval (e.g., weekly).
- Add additional payments using Add Payment and define the amount and schedule.
Review and save
- Check the Total and Remaining percentages to ensure the full estimate amount is covered.
- Tap Save to add the schedule to the estimate.
✨
How this helps your business
- Increase estimate approvals: Flexible payment options make it easier for customers to commit.
- Support larger deals: Break bigger purchases into manageable instalments.
- Improve transparency: Customers see exactly how and when payments will occur.
- Reduce negotiation friction: Offer built-in payment flexibility directly in the estimate.



new
Mobile Payments and POS
Mobile Payments: Payments Tab inside Contacts & Opportunities
We’re excited to share an upgrade that keeps you in flow ⚡: you can now access a dedicated Payments tab directly inside Contacts and Opportunities on the mobile app. Create invoices/estimates, charge customers, manage cards on file, and review payment activity — all without leaving the record you’re working on.
🚀
What’s new
- Payments tab inside Contacts: A new Payments tab on the Contact detail screen to view and manage everything tied to that contact.
- Quick actions (Contacts): Charge Now (POS), New Invoice, New Estimate, Manage Cards on File — right from the contact.
- More customer context (Contacts): See Customer Lifetime Value and Customer Start Date up front.
- Payments tab inside Opportunities: A new Payments tab on the Opportunity detail screen to track activity linked to the opportunity.
- Quick actions (Opportunities): Create a New Invoice or New Estimate directly from the opportunity.
- Easy filtering: Use filter chips to switch between payment types (e.g., Transactions / Invoices / Estimates / Subscriptions where applicable).
👷♂️
How to use this feature
From a Contact
- Open a Contact → tap the Payments tab.
- Tap Actions → choose Charge Now, New Invoice, New Estimate, or Manage Cards on File.
- Use the filter chips to browse Transactions / Invoices / Estimates / Subscriptions.
From an Opportunity
- Open an Opportunity → tap the Payments tab.
- Tap New Invoice or New Estimate (auto-linked to the opportunity).
- Review linked payment activity and statuses right inside the tab.




new
Mobile Payments and POS
Mobile Payments : Attachments in Invoices and Estimates
We’re excited to introduce a new way to enhance your invoices and estimates with supporting files. 📎 You can now attach supporting files from mobile while creating invoices or estimates using Media Storage, your camera, gallery, or local files. This makes it easier to provide context, share documentation, and deliver more professional payment requests.
🚀
What’s new
- Attach files to invoices and estimates: Add supporting documents directly while creating or editing invoices and estimates from the mobile app.
- Multiple file sources: Choose attachments from Media Storage, your camera, your gallery, or local files.
- Streamlined workflow: Add attachments without leaving your current flow or switching between tools.
👷♂️ How to use this feature
- Navigate to the Invoices or Estimates section and create a New Invoice or Estimate.
- Scroll to the Attachments section.
- Tap Add Attachment.
- Choose your file source:
- 📁 Media Storage
- 📷 Camera
- 🖼️ Gallery
- 📄 Files (local device storage)
- Select or capture your file (PNG, CSV, or PDF).
- The file will appear in the Attachments section with its file type and name.
Manage attachments before sending
- Tap an attachment to open the options overlay.
- Select Delete to remove it from the draft if needed.
- Review all attachments before sending your invoice or estimate.
⚠️ Limits to keep in mind
- Up to 10 files per invoice or estimate
- Total attachment size limit: 20 MB per document






new
improved
Calendar
Service Location Public API is now live 🎉
We’re excited to announce that the
Service Location Public API
is now live 🎉 This release enables developers and partners to programmatically create, manage, and retrieve service locations—unlocking deeper integrations and flexibility in how service locations are configured and used in scheduling.
---
📦 What’s Included
The Service Location Public API supports the complete lifecycle of service location management:
1. Get All Service Locations:
Retrieve all service locations configured for a business, including their details and types. 2. Create Service Location:
Create new service locations with details like name, address, contact info, and location type (including customer-provided locations). 3. Get Service Location by ID:
Retrieve detailed information about a specific service location, including its configuration and type. 4. Update Service Location:
Update existing service locations, including name, address, and location type (e.g., physical location or Ask Booker). 5. Delete Service Location:
Delete a service location that is no longer needed. ---
💡 Why This Matters
With the Service Location Public API, developers can:
- Build flexible booking experienceswith different location types, including customer-provided addresses
- Support mobile and on-site servicebusinesses
- Keep service locations in sync with external systems
- Automate creationand management of service locations at scale
This release makes service location management more flexible, extensible, and scalable for our ecosystem.
new
improved
Calendar
Ask the Booker Location for Services (v2)
We’ve introduced a
new location type
that allows customers to enter their own service address during booking
.Businesses that provide services at
customer locations
— such as mobile services, repairs, consultations, or on-site appointments
— can now configure a location where the booker provides the service address at the time of booking
.This keeps the booking flow
simple
while allowing businesses to collect the exact address for each appointment
.---
✅ What’s New
- Businesses can now create an “Ask the Booker” locationin Services
- Customers will be prompted to enter their service address during booking
- The address is saved with the appointment
- The rest of the booking flow remains unchanged
---
🔐 How It Works
- Enable the option to let bookers enter their own service addresswhile creating or editing a location
- When selected, customers are asked to enter where the service will take place
- The address is stored with the appointmentand used in details and notifications
- Availability, services, and pricing continue to follow the location configuration
---
🛠 How to Use
- Go to Calendar Settings → Services (v2) → Locations
- Create a new location or edit an existing one
- Enable “Let bookers enter their own service address”
- Configure the location name and other details
- Assign the location in Staff Availabilityas needed
- During booking, customers will be asked to enter their service address
---
🎯 Why This Matters
- Supports on-site and mobile service businesses
- Enables collecting accurate addresses per appointment
- Keeps the booking experience simple and consistent
- Adds more flexibility in configuring service locations





new
Automations
Advanced Builder: Set Default Path for Workflow Branches
What’s new?
You can now change the Default Path in Advanced Builder workflows. In workflows with multiple parallel branches, this lets you choose which branch contacts enter by default when they come from another workflow or when you run a workflow test.
How it works
The root node is now labeled Default Path. On the first action in each branch, you can click the branch icon to set that branch as the default path. Once selected, workflow tests and contacts entering from other workflows will follow that branch.
How to use it
- Open a workflow with multiple parallel branches in Advanced Builder.
- Click the branch icon on the first action of the branch you want to use.
- Set that branch as the Default Path and run your test or enrollment.
Why we built it
Testing and configuring workflows with parallel branches was harder when only one root path handled workflow tests and cross-workflow entries. This update gives you more control, makes branch-level testing easier, and helps you validate each path without rearranging your workflow.
Simple example
When testing a workflow with multiple reminder branches, you can set one branch as the Default Path so your test contact enters that specific branch first.
Additional Notes
- The root node is now called Default Path in Advanced Builder workflows with multiple parallel branches.
- You can set the default path from the first action in any branch using the branch icon, with tooltips to explain the behavior.
- The default path is used for workflow tests and for contacts entering from another workflow.
- A solid trigger connector means the branch is the Default Path. A dashed trigger connector means the branch is reached through a Go To connector and is not the default path.
Preview

new
Phone System
Improved A2P Campaign Rejection Feedback
We've made it easier to understand why an A2P campaign was rejected and what the user needs to do to fix it.
What's new :
When a campaign submission is rejected, users will now see a "View required fixes →" link next to each rejection reason.

Clicking it opens a detailed modal that breaks down the issue into four clear fields:
- Error code – the specific code returned by the carriers.
- Rejection category – a human-readable label for the type of violation (e.g., Invalid website URL).
- What it means – a concise explanation of why the submission failed.
- Correction needed – the exact action required before resubmitting.

Previously, rejection reasons were displayed as short descriptions with no additional context, leaving users confused about the precise cause of rejection and the required next steps.
Why it matters :
This change shares precise feedback with the user so they can fix issues faster with lesser assistance required from customer support and consequently resubmit with confidence.
Overview
Based on valuable customer feedback on the new Contact Page design, we are introducing an improved way to access opportunities. This update focuses on better visibility, faster access, and a more intuitive layout while we continue building deeper customization capabilities for the contact page.
What’s New
- Opportunities moved to the right panelas a dedicated standalone tab
- Positioned below Associationsfor improved discoverability
- Decoupled from Associations (view-only change) — no impact on data structure or functionality
- Opportunities are temporarily accessible in two places: Underactions& on theright panel
How It Works
- Navigate to a contact record -> On the right-hand panel, you’ll now see a dedicatedopportunities tabbelow associations.
- This tab provides a clear, focused view of all opportunities linked to the contact
- For the transition period, you can still access opportunities via the actions menu, ensuring no disruption to the current flow

What’s Next
- By Apr 08, 2026, opportunities will beremoved from the actions taband will live exclusively on theright panel
- We are actively working on contact page customization, which will allow you the admins to reposition the opportunities tab and customize contact layout based on their preferences
Load More
→