Changelog

Follow up on the latest improvements and updates.

RSS

What’s new?
You can now attach files from Media Storage directly inside supported workflow actions. Instead of re-uploading the same file or pasting media links by hand, you can now choose an existing asset or upload a new file when adding attachments to an SMS/MMS, voicemail, chat, and other supported workflow steps.
How it works
When you click Add Attachment, you’ll now see a modal with two options: Upload a file or Choose from Media Storage. After you select a file, the system checks the file type and size using the same validation rules already used by each action, then attaches the file to that workflow step. If you copy the action, the attached media carries over too.
How to use it
  • Open a media supported workflow action and click Add Attachment.
  • Choose Upload a file or Choose from Media Storage.
  • Select your file and save the action once validation passes.
Why we built it
Before this update, users had to manage assets outside the platform, repeatedly upload the same file, or copy and paste media URLs into each workflow action. This removes that extra work and makes it faster to reuse approved assets across workflows.
Simple use case example
  • A marketing agency can attach the same PDF guide from Media Storage to multiple Send Instagram DM actions without uploading it every time.
Additional Notes
  • Available in supported workflow actions that allow media attachments. Email action is not supported at launch and is currently a work in progress. It will be released very soon.
  • File type and size validation still applies based on the action, and the current upload validation behavior remains unchanged.
  • Unsupported file types or oversized files will show an inline error and cannot be inserted.
  • If an action is copied, its attached media will carry over. Existing workflows with previously uploaded media will continue to work as expected.
Preview
image
In supported workflow actions, the attachment flow now includes Choose from Media Storage alongside Upload a file.
Kapture 2026-03-20 at 20
What’s new?
Math Operation now saves its result as an output custom variable, so you can use that value in the next workflow actions without first writing it to a custom field. You can also reference one Math Operation’s output inside another Math Operation. This makes it much easier to manipulate and use your math outputs.
How it works
When a Math Operation runs, its result is stored as that action’s output custom variable. In later steps, you can pick that output from the custom value picker and use it in other actions, including another Math Operation. If you also choose to update a field, the same result is written to that specific record field.
How to use it
  • Add a Math Operation step and configure your calculation.
  • Leave Update field empty to use the result as output only, or select a field to save it to the record too.
  • In the next action, choose the Math Operation output from the custom value picker.
Why we built it
Before this update, users often had to save a Math Operation result into a custom field or custom value just to use it again later in the workflow. This removes that extra step and gives you one consistent output to reference across following actions.
Simple Use Case
  • A fitness workflow calculates a member’s total sessions completed from a form value, then uses that output in a later step to decide which follow-up message to send.
Additional Notes
  • Math Operation output can now be reused in subsequent workflow actions. One Math Operation can reference the output of a previous Math Operation.
  • If the selected field type for a referenced Math Operation changes, any dependent Math Operation will be skipped until you review and update its configuration.
  • For older legacy Math Operation actions, users may see the output of the last executed legacy Math Operation until that action is opened and saved again.
Preview
image
Math operation in the Custom Value Picker
image
Ability to reference existing math operation results for further calculations
What’s new?
We added keyboard shortcuts to the standard workflow builder so you can build, edit, and navigate workflows faster with the keyboard. This includes shortcuts for node movement, selection, copy and paste, delete actions, zoom controls, panel access, and saving.
How it works
Inside the standard builder, shortcuts are grouped into 5 areas: Essential, Edit, View, Navigation, and Tools. Depending on the action, shortcuts work on the selected node, all actions from the selected node onward, or the current builder view.
How to use it
  • Open a workflow in the standard builder.
  • Select a node when needed, then use the matching shortcut.
  • Save your workflow and keep building without switching back to clicks.
Why we built it
Workflow building often involves the same actions again and again. These shortcuts cut down on repetitive clicks, speed up edits, and make it easier to work through larger workflows.
List of keyboard shortcuts
Edit
  • Move Selected Node(s) — ⌘ + X / Ctrl + X
  • Copy Selected Node(s) — ⌘ + C / Ctrl + C
  • Paste Node(s) — ⌘ + V / Ctrl + V
  • Copy All Actions From Selected Node Onward — ⌘ + Shift + C / Ctrl + Shift + C
  • Move All Actions From Selected Node Onward — ⌘ + Shift + X / Ctrl + Shift + X
View
  • Zoom in — +
  • Zoom out — -
  • Zoom to 100% — 0
  • Fit View — 1
Navigation
  • Select All Nodes — ⌘ + A / Ctrl + A
  • Select All Actions — ⌘ + Shift + A / Ctrl + Shift + A
  • Select All Triggers — ⌘ + ⌥ + A / Ctrl + Alt + A
  • Move to Next Node — ↓
  • Move to Previous Node — ↑
  • Move to Right Sibling Node — →
  • Move to Left Sibling Node — ←
  • Select Upstream Nodes — Shift + ↑
  • Select Downstream Nodes — Shift + ↓
Tools
  • Delete Selected Node(s) — Del
  • Delete All Actions From Selected Node Onward — ⌘ + Del / Ctrl + Del
  • Open Trigger Panel — Shift + Tab
  • Open Action Panel — Tab
  • Save Workflow — ⌘ + S / Ctrl + S
Additional notes
  • Some shortcuts only work after you select a node first.
  • Some shortcuts appear in more than one section because they are relevant in multiple workflow tasks.
Example of Keyboard shortcuts in use with key bindings
Kapture 2026-03-24 at 19
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.
Screenshot 2026-03-24 at 12
> 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 delivery
    for 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.
Step_3
📱 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
  1. In the sub-account, go to
    Settings → WhatsApp
    . A banner prompting MM Lite activation will appear.
  2. Click
    Enable MM Lite
    — this redirects to the WhatsApp account interface.
  3. Navigate to the
    Requests
    tab and click
    Respond
    .
  4. A prompt to improve ROI with Marketing Messages API will appear — click
    Continue
    .
  5. On the
    "Review LeadConnector's access request"
    screen, confirm the permissions and click
    Finish
    .
Step_1
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
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
  1. Open the mobile app and navigate to the Contacts section.
  2. Select a Contact.
  3. Go to the Transactions tab.
  4. Tap the floating action button (+).
  5. Select Manage Cards on File.
  6. 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
  1. Open Manage Cards on File for the contact.
  2. Swipe left on the card you want to remove.
  3. Tap Remove.
  4. 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.
image
image (1)
image (2)
image (3)
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
  1. Navigate to the Estimates section and create a New Estimate.
  2. Add products or services to the estimate.
  3. Navigate to the review section.
  4. Select the option to configure a Payment Plan.
Configure the first payment
  1. Choose when the first payment should occur:
  • Upon Estimate Acceptance (used as the deposit), or
  • Custom Date
  1. Enter the payment amount or percentage for the first payment.
Set up the remaining payments
  1. Choose how subsequent payments should be scheduled:
  • Custom Date for manual due dates, or
  • Regular interval (e.g., weekly).
  1. Add additional payments using Add Payment and define the amount and schedule.
Review and save
  1. Check the Total and Remaining percentages to ensure the full estimate amount is covered.
  2. 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.
image
image (1)
image (2)
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
  1. Open a Contact → tap the Payments tab.
  2. Tap Actions → choose Charge Now, New Invoice, New Estimate, or Manage Cards on File.
  3. Use the filter chips to browse Transactions / Invoices / Estimates / Subscriptions.
From an Opportunity
  1. Open an Opportunity → tap the Payments tab.
  2. Tap New Invoice or New Estimate (auto-linked to the opportunity).
  3. Review linked payment activity and statuses right inside the tab.
image
image (1)
image (2)
image (3)
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
  1. Navigate to the Invoices or Estimates section and create a New Invoice or Estimate.
  2. Scroll to the Attachments section.
  3. Tap Add Attachment.
  4. Choose your file source:
  • 📁 Media Storage
  • 📷 Camera
  • 🖼️ Gallery
  • 📄 Files (local device storage)
  1. Select or capture your file (PNG, CSV, or PDF).
  2. The file will appear in the Attachments section with its file type and name.
Manage attachments before sending
  1. Tap an attachment to open the options overlay.
  2. Select Delete to remove it from the draft if needed.
  3. 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
image
image (1)
image (2)
image (3)
image (3)
image (4)
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 experiences
    with different location types, including customer-provided addresses
  • Support
    mobile and on-site service
    businesses
  • Keep service locations in sync with external systems
  • Automate creation
    and management of service locations at scale
This release makes service location management more flexible, extensible, and scalable for our ecosystem.
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” location
    in 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 address
    while creating or editing a location
  • When selected, customers are asked to enter
    where the service will take place
  • The address is
    stored with the appointment
    and used in details and notifications
  • Availability, services, and pricing continue to follow the
    location configuration
---
🛠 How to Use
  1. Go to
    Calendar Settings → Services (v2) → Locations
  2. Create a new location or edit an existing one
  3. Enable
    “Let bookers enter their own service address”
  4. Configure the location name and other details
  5. Assign the location in
    Staff Availability
    as needed
  6. 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
image
image
image
image
image
Load More