Changelog
Follow up on the latest improvements and updates.
RSS
fixed
Automations
Fixed: Duplicate workflows created from snapshots
Overview
Users could sometimes see 2 workflows created in the target location when loading workflows from a snapshot. This happened when duplicate workflow requests were sent at the same time, causing one workflow to remain in Processing while another completed successfully.
What’s changed
We've added a locks to ensure that when a workflow is loaded from a snapshot only 1 workflow is created for the same origin and location. This prevents duplicate workflows and avoids extra workflows getting stuck in Processing state.
new
Automations
Cal.com: Workflow Actions & Triggers
Overview
Cal.com is the open-source scheduling stack used by individuals and teams to take bookings on their own terms. The Cal.com integration brings that scheduling layer directly into the Workflow Builder so customer-facing automations can react to booking events and the other way around. Booking lifecycle triggers and four booking actions cover the most common Cal.com use cases without webhook plumbing or third-party glue.
This means a new booking on a discovery call event type becomes a personalized welcome sequence in the same workflow that ran the form, with no manual hand-off and no relay tax.
About the Integration
The integration ships with two halves:
- Triggers (Cal.com → Workflows): Webhook-backed booking lifecycle events — Booking Created, Booking Rescheduled, Booking Cancelled, Meeting Ended, and Out of Office Created / Updated.
- Actions (Workflows → Cal.com): Four actions — Create Booking, Cancel Booking, Reschedule Booking, and Find Booking — covering the most common booking operations.
All triggers and actions are flagged as premium — premium action credits apply at the standard automation rate.
Key Benefits of Cal.com in Workflows
- Full booking lifecycle coverage — created, rescheduled, cancelled, ended and (where supported) recording ready, all from one connected source of truth.
- Webhook-speed triggers — typically fire within 1–3 seconds of the booking event, with no polling lag.
- Programmatic scheduling — Create Booking lets workflows book on behalf of attendees without round-tripping a booking link.
- Mapping reference — pick a real recent booking as the schema reference so every downstream step maps cleanly against typed fields.
- Rich payload — each trigger delivers the full booking object — bookerUrl, title, startTime, endTime, additionalNotes, type, description, eventTypeId, hideCalendarNotes, attendees and organizer — so any field can be used downstream.
How to Set Up Cal.com
Before any Cal.com trigger or action can run, the integration has to be connected. The connection allows your workflows to securely receive Cal.com webhooks and call the Cal.com API on your behalf.
Connect via the Workflow Builder (recommended)
- Open Automation → Workflows and pick (or create) a workflow.
- Add a Cal.com trigger or action — search for Cal.com in the Apps tab.
- Select any Cal.com trigger or action.
- On the action card, click Connect Now.
- Paste your Cal.com API key (or sign in via OAuth, where available); authorize the workspace and event types you want to expose.
- Click Save to complete the connection.
Connect via Settings (alternative path)
- Go to Settings → Integrations.
- Locate Cal.com in the integrations list and click Connect.
- Authenticate and authorize.

List of Triggers
All triggers are Instant — they are powered by Cal.com webhooks and fire within seconds of the underlying event.
- Booking Created - Fires when a new booking is created in Cal.com. Returns the full booking payload.
- Booking Rescheduled - Fires when an existing booking is moved to a new start time. Returns new and previous times.
- Booking Cancelled - Fires when a booking is cancelled by attendee, organizer, or system. Returns cancellation reason if supplied.
- Meeting Ended - Fires automatically at the booking’s scheduled endTime. Re-armed automatically on reschedule.
- OOO Created / Updated - Fires when out of office entry is created / updated

List of Actions
- Create Booking - Creates a new booking on a specific event type. Required: Event Type, Attendee Name, Attendee Email, Start Time.
- Cancel Booking - Cancels an existing booking by ID, with optional cancellation reason.
- Reschedule Booking - Moves an existing booking to a new start time. Cal.com handles invite refresh and notifications.
- Find Booking - Looks up a booking by ID, attendee email, or filter; returns the matching booking(s).

Example: Setting Up a Trigger (Booking Created)
This walkthrough wires up a workflow that fires every time a new booking is made on Cal.com — and uses the booking payload as the source of all downstream actions.
Step 1: Add the trigger
- Open the workflow and click Add Trigger.
- Switch to the Apps tab and search for Cal.com.
- Select Booking Created from the Cal.com trigger list.
Step 2: Configure the trigger
- Workflow Trigger Name — Give the trigger a meaningful label, such as ‘New Discovery Call Booking’.
- Add filters (optional) — Constrain the trigger by event type, host, location, or any other field on the booking payload, so unrelated bookings don’t enroll.
- Webhook Status — The trigger panel shows whether the underlying Cal.com webhook is active. If it goes inactive, reconnect the integration in Cal.com settings.
Step 3: Test the trigger
- Click Find New Records inside the Test Your Trigger panel.
- The system fetches the most recent matching bookings from Cal.com.
- In the Records — Select Mapping Reference dropdown, pick one of the returned records — for example: Active: (2026-05-01 10:36:24) Reference 69f434d0e7358049c8b16ded. This locks the payload schema so every downstream step can map fields cleanly.
- Review the Trigger Data Response panel to confirm the payload contains the fields you plan to use — bookerUrl, title, startTime, endTime, additionalNotes, type, description, eventTypeId, hideCalendarNotes, attendees and organizer.
- Click Save Trigger to finish.

Example: Setting Up an Action (Create Booking)
This walkthrough programmatically books a meeting on a host’s calendar from inside a workflow — for instance, after a high-intent form submission.
Step 1: Add the action
- Inside the workflow, click Add to insert a new step.
- Open the Apps tab and select Cal.com.
- Choose Create Booking from the action list.
Step 2: Connect (first time only)
- If the integration is not yet connected, click Connect Now on the action card.
- Paste your Cal.com API key and authorize the workspace.
Step 3: Configure the action
- Action Name — Give the step a meaningful label such as ‘Book Discovery Call’.
- Event Type (required) — Pick the Cal.com event type to book. The dropdown lists every event type the integration is authorized to access.
- Attendee Name (required) — Use inline workflow variables, e.g. {{contact.full_name}}.
- Attendee Email (required) — Use inline workflow variables, e.g. {{contact.email}}.
- Attendee Timezone — IANA format, e.g. America/New_York or Europe/London. Defaults to the sub-account timezone if not provided.
- Start Time (required) — Use the suggested format (e.g. 12-21-2026 08:30 AM) or ISO-8601. The interpreted timezone is the Attendee Timezone (or sub-account default if unset).
Step 4: Save and use the output
- Click Save action. The new booking’s ID and metadata are exposed as workflow output variables. Chain a Send Email or Send SMS step to confirm the booking to the attendee, or use the booking ID later in a Cancel Booking or Reschedule Booking step if downstream conditions change.

How to Test the Trigger and Action
Always test before publishing. Testing locks the payload schema and gives downstream steps a real record to map against.
Test the trigger
- Inside the trigger panel, click Find New Records.
- Select a recent booking from the dropdown to use as the mapping reference.
- Confirm the Trigger Data Response shows the fields you plan to use downstream.
- Confirm the Webhook Status indicator reads ‘active’.
Test the action
- Inside the action panel, click Test Action.
- The action runs against the live Cal.com workspace using sample values.
- Verify the booking appears in Cal.com (and on the host’s calendar) at the expected time and timezone.
- If the result is not right, re-check the Start Time format and the Attendee Timezone, then test again. Once happy, click Save action, then run a full Test Workflow before publishing.
Common Use Cases
Use Case 1: New Booking → CRM Contact + Welcome Sequence
Goal: Turn every new booking into a fully-onboarded contact with the right context attached.
Workflow Setup:
- Trigger: Booking Created
- Action: Create/Update Contact (use attendee email as the merge key)
- Action: Tag the contact with the booking’s event type
- Action: Send Welcome Email with prep materials sized to the meeting type
- Action: Add the contact to a follow-up campaign that ends 24 hours before the meeting
Example: A prospect books a 30-minute discovery call. The workflow creates a contact, tags them as ‘discovery’, sends a personalized prep email, and ensures a reminder fires the day before the call.
Use Case 2: No-Show Recovery
Goal: Auto-recover no-shows without requiring a CSM to track them down.
Workflow Setup:
- Trigger: Meeting Ended
- Action: Find Booking (refresh state to capture no-show flag)
- Conditional: only proceed if the attendee was a no-show
- Action: Send a personalized rescheduling link with one-click rebook
- Action: Tag the contact for follow-up if no rebook within 48 hours
Example: Whenever a meeting ends, the workflow checks the booking state. If the attendee was a no-show, they get a softening message with a one-click rebook link — instead of falling through the cracks.
Use Case 3: Cancellation Retention
Goal: Treat a cancellation as the start of a save flow, not a dead end.
Workflow Setup:
Trigger: Booking Cancelled
- Conditional: branch on cancellation reason (schedule conflict vs. lost interest)
- Action: Send retention message with rebook link (for schedule conflict)
- Action: Hand off to CSM with full context (for lost interest)
Example: A prospect cancels their demo because of a calendar conflict. The workflow sends a friendly reschedule message with two pre-filled time options — and tags the contact for CSM follow-up if there’s no rebook within a week.
Use Case 4: Programmatic Scheduling from a Form
Goal: Eliminate the email-back-with-a-booking-link round-trip for high-intent leads.
Workflow Setup:
- Trigger: Form Submission (with preferred time captured)
- Action: Create Booking on the assigned host’s event type
- Action: Send confirmation message
Example: A lead requests a same-day call via a high-intent form. The workflow books the meeting on the assigned AE’s calendar at the requested slot and confirms it instantly — no manual scheduling, no missed lead.
Use Case 5: Recording Distribution
Goal: Get Cal Video recordings to the right place automatically.
Workflow Setup:
Trigger: Recording Ready (where supported)
- Action: AI summarize the recording into a customer-friendly note
- Action: Send the recording URL and the summary to the attendee
- Action: Log a CRM activity with the recording link attached
Example: Right after a recording finishes processing, the attendee receives a thank-you email with the recording link and an AI-generated recap — and the CRM activity log captures the same context for the rep.
Best Practices
- Always supply Attendee Timezone explicitly when booking on behalf of leads from different regions — relying on the sub-account default is fine for single-region operators only.
- Use the suggested Start Time format (e.g. 12-21-2026 08:30 AM) or ISO-8601 strings. Ambiguous formats can drift the booked time by hours.
- Pair Find Booking with Cancel Booking or Reschedule Booking — confirm the booking exists and is in the expected state before mutating it.
- Use Meeting Ended (not Booking Created) as the entry point for post-meeting follow-up flows — Cal.com schedules it automatically and re-arms it on reschedule.
- Watch the Webhook Status indicator on the trigger panel — if it goes inactive, the underlying webhook needs to be reconnected in Cal.com settings.
- Test the trigger first to lock the mapping reference, then build downstream actions against the captured sample payload. The Records — Select Mapping Reference field is the foundation of clean field mapping.
Frequently Asked Questions
Q: What is Cal.com?
Cal.com is the open-source scheduling stack used by individuals and teams to take bookings on their own terms. It supports cloud-hosted and self-hosted deployments and exposes a rich webhook surface for automation.
Q: Are Cal.com actions premium workflow actions?
Yes. All four actions are flagged as premium and consume premium action credits at the standard automation rate.
Q: How fast do triggers fire?
Cal.com sends webhooks typically within 1–3 seconds of the booking event. Workflows enroll as soon as the webhook arrives.
Q: What does the trigger payload include?
Each booking event delivers the full booking object — bookerUrl, title, startTime, endTime, additionalNotes, type, description, eventTypeId, hideCalendarNotes, attendees and organizer. Use Find New Records and Records — Select Mapping Reference to lock the schema.
Q: What does the Webhook Status indicator mean?
It reflects the live status of the underlying Cal.com webhook. ‘Active’ means events are flowing; if it goes inactive, the webhook needs reconnection in your Cal.com settings.
Q: How do I supply a timezone in Create Booking?
The Attendee Timezone field accepts IANA format strings such as America/New_York or Europe/London. If left empty, Cal.com falls back to the sub-account timezone.
Q: What format should I use for Start Time?
A standard date-time value. The suggested format is ‘12-21-2026 08:30 AM’; ISO-8601 strings (e.g. 2026-12-21T08:30:00) are also accepted. The interpreted timezone is the Attendee Timezone (or sub-account default if unset).
Q: Does Cancel Booking notify the attendee?
Yes. Cal.com sends its standard cancellation email, including the cancellation reason if supplied.
Q: Will Reschedule Booking re-issue calendar invites?
Yes. Cal.com cancels the original calendar event and sends an updated invite for the new time. Confirmation emails fire automatically.
Q: What happens to Meeting Ended when a booking is rescheduled?
Cal.com cancels the pending Meeting Ended webhook for the original time and re-schedules it for the new time. The trigger fires once, at the booking’s actual end.
Q: Will the workflow fire twice if a booking is rescheduled?
No. Booking Rescheduled is its own trigger; Booking Created does not re-fire on reschedule. Use the right trigger for the lifecycle event you care about.
Q: Does the integration work on self-hosted Cal.com?
Self-hosted Cal.com supports the same webhook surface, so triggers work the same way once the webhook URL is configured. Some self-hosted setups have known issues with Meeting Started / Meeting Ended — verify with a real test booking before production use.
Q: Can I use workflow variables in action fields?
Yes. Inline variables work in Attendee Name, Attendee Email, Start Time and any other field exposed by the action.
Q: What if the booking I am trying to cancel no longer exists?
Cancel Booking surfaces the error to the workflow execution log, and the workflow continues based on its branching. Use Find Booking as a guard step if downstream logic depends on the cancellation succeeding.
Q: Are these actions production-ready?
All triggers and actions are released as Beta. They are safe to use in live workflows; expect incremental UX changes — additional filters, additional fields — as the integration moves out of Beta.
new
Phone System
Pricing Update: SMS & Voice Costs (Effective May 13, 2026)
We want to keep you informed about upcoming changes that may impact your messaging and calling costs inside HighLevel.
What’s changing?
Due to recent pricing updates from our underlying carrier partner, rates for certain SMS and Voice routes will increase
starting May 13, 2026
.Messaging (Outbound SMS)
Costa Rica: $0.0874 → $0.1017
Grenada: $0.2462 → $0.2913
Kenya: $0.2336 → $0.2923
Namibia: $0.1041 → $0.1167
Zimbabwe: $0.2481 → $0.3177
Voice - Incoming Minutes
Austria (Local & Mobile): $0.0100 → $0.0107
Belgium (Mobile): $0.0100 → $0.0113
Chile (Local): $0.0100 → $0.0107
Croatia (Local): $0.0100 → $0.0107
Czech Republic (Local): $0.0100 → $0.0107
Denmark (Mobile): $0.0100 → $0.0107
Finland (Mobile): $0.0100 → $0.0107
Israel (Local): $0.0100 → $0.0107
Luxembourg (Local): $0.0100 → $0.0107
Malaysia (Local): $0.0288 → $0.0318
Poland (Mobile): $0.0100 → $0.0107
Portugal (Mobile): $0.0100 → $0.0107
South Africa (Local & Mobile): $0.0100 → $0.0107
Sweden (Local): $0.0100 → $0.0107
United Kingdom (Toll-Free Local & Mobile): $0.0664 → $0.0798
Voice - Outbound Minutes
Afghanistan (Mobile): $0.4150 → $0.4287
American Samoa: $0.4090 → $0.4576
Austria (Mobile): $0.2640 → $0.2730
Bermuda: $0.0529 → $0.0588
Chile: $0.0428 → $0.0475
Chile (Mobile): $0.0670 → $0.0746
Cyprus (Mobile): $0.1500 → $0.1675
Denmark: $0.0219 → $0.0240
Denmark (Mobile): $0.0508 → $0.0564
Egypt (Mobile): $0.1870 → $0.2090
Estonia (Mobile): $0.4783 → $0.5709
Estonia (Other): $0.4650 → $0.4944
Finland (Mobile): $0.4950 → $0.5172
Finland (Other - EEA): $0.1168 → $0.3037
Germany: $0.0210 → $0.0283
Greece (Mobile - EEA): $0.0696 → $0.0746
Guam: $0.0530 → $0.0589
Haiti (Mobile): $0.7858 → $0.8796
Hong Kong (Mobile): $0.0492 → $0.0546
India: $0.0497 → $0.0699
India (Mobile): $0.0405 → $0.0496
Indonesia: $0.0966 → $0.1077
Ireland: $0.0168 → $0.0483
Israel (From IL): $0.0267 → $0.0294
Luxembourg: $0.2530 → $0.2829
Moldova: $0.4420 → $0.4946
Morocco: $0.4743 → $0.5307
Namibia (Mobile): $0.1650 → $0.1843
Nicaragua (Mobile): $0.4200 → $0.4767
Peru: $0.0552 → $0.1651
Slovakia (Mobile): $0.1038 → $0.1158
South Africa (Mobile - Twilio ZA): $0.0450 → $0.0499
Spain (Mobile - EEA): $0.0388 → $0.0486
St. Lucia (Mobile): $0.5040 → $0.7158
Sweden (Mobile): $0.0642 → $0.0714
Switzerland: $0.0374 → $0.0419
Switzerland (Mobile): $0.2361 → $0.2516
United Kingdom (Personal): $0.4725 → $0.5577
US Virgin Islands: $0.0414 → $0.0459
Why It’s Happening
These updates reflect changes from downstream carrier partners and telecom infrastructure providers to support:
- Continued service reliability
- Stable global deliverability
- Ongoing infrastructure improvements
new
Automations
Linear: Workflow Actions & Triggers
Overview
Linear is the issue tracker engineering and product teams use to plan, ship and report on work. The Linear integration brings Linear directly into the Workflow Builder so customer support, sales and marketing automations can react to engineering events — and the other way around. Twelve instant triggers and thirteen actions cover the full Linear data model: issues, projects, customers, customer needs, initiatives and documents.
This means a customer-reported bug becomes a properly tagged Linear issue with full context attached — and the same customer gets notified the moment the issue ships. No webhook plumbing, no Zapier hand-off, no third-party glue.
About the Integration
The integration ships with two halves:
- Triggers (Linear → Workflows): Twelve instant, webhook-backed triggers that fire when something changes in Linear — new issue, status update, new project, new customer, new customer need, project update, document comment, initiative update, and more.
- Actions (Workflows → Linear): Thirteen actions that let workflows create and update Linear records — issues, comments, attachments, labels, projects, customers and customer needs.
Every trigger and action is flagged as a premium workflow component — premium action credits apply at the standard automation rate.
Key Benefits of Linear in Workflows
- Closed-loop customer feedback — Capture bugs and feature requests as customer-attributed Linear records, then notify the original reporter when work ships.
- Revenue-weighted product prioritization — Customer Need entries linked to Linear customer records let product see request volume by tier and revenue, not just by who is loudest.
- Real-time engineering visibility — project updates and initiative updates flow into customer comms, status pages, or sales digests automatically.
- Two-way linking — Create Issue Attachment links a CRM record into a Linear issue and back; engineers can navigate to the customer context with one click.
- Instant triggers — webhook-backed delivery, no polling lag.
- Native, governed connection — OAuth-based, with workspace and team scoping. No long-lived API tokens to manage.
How to Set Up Linear
Before any Linear trigger or action can run, the integration has to be connected. The connection allows your workflows to securely read from and write to your Linear workspace.
Connect via the Workflow Builder (recommended)
- Open Automation → Workflows and pick (or create) a workflow.
- Add a Linear trigger or action — search for Linear in the Apps tab.
- Select any Linear trigger or action.
- On the action card, click Connect Now.
- Sign in to your Linear account when prompted; authorize the workspace and team(s) you want to expose.
- Click Save to complete the connection.
Connect via Settings (alternative path)
- Go to Settings → Integrations.
- Locate Linear in the integrations list and click Connect.
- Authenticate via OAuth and authorize the workspace.
List of Triggers
All triggers are Instant — they are powered by Linear webhooks and fire within seconds of the underlying change.
- New Issue - Fires when a new issue is created. Filterable by team.
- Updated Issue - Fires when an issue’s status, priority, assignee, labels or other fields change.
- New Issue Comment - Fires when a new comment is added to any issue.
- New Project - Fires when a new project is created in Linear.
- New Project Update - Fires when a project update is posted (with health status).
- Updated Project Update - Fires when an existing project update is edited.
- New Customer - Fires when a new customer record is created in Linear.
- Updated Customer - Fires when an existing customer record is edited.
- New Customer Need - Fires when a new customer need (feature request) is captured.
- Updated Customer Need - Fires when a customer need’s status, priority or linked work changes.
- New Document Comment - Fires when a new comment is added to a Linear document (PRD, spec, proposal).
- New Initiative Update - Fires when an update is posted on a Linear initiative.

List of Actions
- Create Issue - Creates a new issue in Linear with title, description, team, project, priority, assignee, labels and due date.
- Update Issue - Updates fields on an existing issue. Only fields explicitly set are sent.
- Get Issue - Fetches the latest state of a single issue by ID.
- Find Issues - Searches Linear issues by team, project, label, status, assignee or text.
- Create Comment - Adds a comment (markdown supported) to an existing issue.
- Create Issue Attachment - Attaches a URL to an issue with two-way linking back to the source record.
- Add Label To Issue - Adds a label to an existing issue.
- Remove Label From Issue - Removes a label from an existing issue.
- Create Project - Creates a new Linear project with name, description, lead and target date.
- Find Project - Looks up a Linear project by name or filter.
- Create Customer - Creates a customer record in Linear (name, domain, tier, revenue).
- Find Customer - Finds a Linear customer by name or domain.
- Create Customer Need - Creates a customer need linked to a customer record; can be linked to an issue or project.

Example: Setting Up a Trigger (New Issue)
This walkthrough wires up a workflow that fires every time a new issue is created in a specific Linear team — for instance, your customer-facing engineering team — and uses the issue payload as the source of all downstream actions.
Step 1: Add the trigger
- Open the workflow and click Add Trigger.
- Switch to the Apps tab and search for Linear.
- Select New Issue from the Linear trigger list.
Step 2: Configure the trigger
- Workflow Trigger Name — Give the trigger a meaningful label such as ‘New Engineering Issue’.
- Filters → Team — Pick the Linear team to monitor. The dropdown lists every team your authorized OAuth connection can see.
- Add filters (optional) — Add label, project, priority or status filters so only the issues that matter enroll into this workflow.
Step 3: Test the trigger
- Click Find New Records inside the Test Your Trigger panel.
- The system fetches the most recent matching issues from Linear.
- In the Records — Select Mapping Reference dropdown, pick one of the returned records. This locks the payload schema so every downstream step can map fields cleanly.
- Click Save Trigger to finish.

Example: Setting Up an Action (Create Issue)
This walkthrough turns an inbound customer form into a properly contextualized Linear issue.
Step 1: Add the action
- Inside the workflow, click Add to insert a new step.
- Open the Apps tab and select Linear.
- Choose Create Issue from the action list.
Step 2: Connect (first time only)
- If the integration is not yet connected, click Connect Now on the action card.
- Sign in to Linear via OAuth and authorize the workspace.
Step 3: Configure the action
- Action Name — ‘Create Customer Bug Issue’ or similar.
- Team (required) — pick the Linear team that should own the issue.
- Title (required) — use inline workflow variables, e.g. ‘[Customer Bug] {{trigger.subject}} — {{contact.full_name}}’.
- Description — include the form payload, contact context and CRM record URL using markdown.
- Priority — optionally branch by tier; map enterprise tier to High.
- Project — optional. Pin the issue to a specific project.
- Assignee — optional. Set a triage owner or rotate via a workflow variable.
- Labels — add a source label (‘from-customer-support’) plus any tier or area labels.
- Due Date — optional, for issues with SLAs.
Step 4: Save and chain
Click Save Action. The new issue’s ID and URL are exposed as workflow output variables. Chain a Create Issue Attachment step right after to attach the CRM contact URL — this gives engineers a one-click path back to the customer context inside Linear.

How to Test the Trigger and Action
Always test before publishing. Testing locks the payload schema and gives downstream steps a real record to map against.
Test the trigger
- Inside the trigger panel, click Find New Records.
- Select a recent record from the dropdown to use as the mapping reference.
- Confirm the payload preview matches the fields you plan to use downstream.
Test the action
- Inside the action panel, click Test Action.
- The action runs against the live Linear workspace using sample values from the latest test trigger.
- Verify the issue (or comment, or customer need) appears in Linear as expected.
- If the result is not right, refine the field mapping or filters and re-test. Once happy, click Save Action, then run a full Test Workflow before publishing.
Common Use Cases
Use Case 1: Customer-Reported Bug → Linear Issue with Context
Goal: Capture every customer-reported bug as a properly tagged, attributed Linear issue.
Workflow Setup:
- Trigger: Form Submission (or inbound conversation)
- Action: Find Customer in Linear (by domain)
- Action: Create Issue (with source label, contact context, CRM link in description)
- Action: Create Issue Attachment (CRM record URL)
- Action: Create Customer Need (linked to the new issue and the Linear customer)
Example: A user submits a bug report on the support form. The workflow finds the matching Linear customer, creates a tagged issue with the conversation context, attaches the CRM contact URL, and logs a customer need against the customer record so product can prioritize by revenue.
Use Case 2: Linear Issue Resolved → Notify the Customer
Goal: Auto-notify the original reporter the moment their bug ships.
Workflow Setup:
- Trigger: Updated Issue (filter on status = Done and label = from-customer-support)
- Action: Get Issue (refresh to capture the final state)
- Action: AI summarize the resolution into customer-friendly language
- Action: Send Email or SMS to the original reporter
Example: When engineering closes a bug that originally came from a customer, the workflow detects the status change, summarizes the fix in plain language, and emails the reporter without requiring a CSM in the loop.
Use Case 3: Engineering Project Update → Customer Comms
Goal: Convert engineering project updates into customer-ready release notes or stakeholder digests.
Workflow Setup:
- Trigger: New Project Update
- Action: AI rewrite the update body for a non-technical audience
- Action: Update Custom Field on the matching opportunity, or send to a digest mailing list
Example: A weekly project update posted by engineering becomes a softened, customer-facing status snippet on the corresponding opportunity record — no double-work for the project lead.
Use Case 4: CRM ↔ Linear Customer Sync
Goal: Keep customer records in lockstep across both systems so revenue-weighted prioritization actually works.
Workflow Setup:
- Trigger A: New Customer in CRM → Action: Create Customer in Linear
- Trigger B: Updated Customer in Linear → Action: Update CRM record (tier, owner, revenue)
Example: Whenever a deal closes in the CRM, the company appears as a Linear customer with the right tier and revenue tag — making every customer need that comes in afterwards automatically prioritizable.
Use Case 5: Sales Conversation → Customer Need
Goal: Turn AE call insights into structured product feedback without manual logging.
Workflow Setup:
- Trigger: Call recording transcript ready
- Action: AI extract feature requests from the transcript
- Action: Find Customer in Linear
- Action: Create Customer Need (one per extracted request)
Example: After a sales call, an AI step pulls every concrete request out of the transcript. Each becomes a customer need on the right Linear customer — product gets a clean, attributed list to triage, instead of free-text notes scattered across the CRM.
Best Practices
Always set the Team filter on triggers — Linear workspaces typically span many teams, and unfiltered triggers will fire for unrelated activity.
- Tag every workflow-created issue with a clear source label (‘from-customer-support’, ‘from-sales-call’) — it makes engineering reporting trivial and lets you filter notify-on-resolution flows downstream.
- Pair Find Customer with Create Customer Need rather than calling Create Customer Need cold — avoids duplicate customer records when the same domain hits you multiple times.
- Use Create Issue Attachment for every workflow-created issue. The two-way link is the difference between an engineer who has full customer context and one who has to context-switch into the CRM.
- For multi-team workspaces, keep one workflow per Linear team rather than one workflow with branching logic — failures and changes are easier to reason about.
- Use Update Issue for status flips rather than Create Issue + delete dance. Update is partial — unrelated fields stay untouched.
- Test the trigger first to lock in the mapping reference, then build downstream actions against it. The Records — Select Mapping Reference field is the foundation of clean field mapping.
Frequently Asked Questions
Q: What is Linear?
Linear is a modern issue tracker used by engineering and product teams to plan and ship work. It models issues, projects, customers, customer needs (feature requests) and initiatives.
Q: Which Linear plan do I need?
Most triggers and actions work on Linear’s standard plans. The Customer and Customer Need entities require Linear’s Customer Requests feature, which is gated behind specific Linear plan tiers — check Linear’s pricing for current details.
Q: Are Linear actions premium workflow actions?
Yes. All Linear triggers and actions are flagged as premium and consume premium action credits at the standard automation rate.
Q: Are these triggers Instant or polled?
All twelve triggers are Instant. They are powered by Linear webhooks, so the workflow fires within seconds of the change.
Q: Can I filter triggers by team?
Yes. Triggers like New Issue, Updated Issue and New Issue Comment expose a Team filter. Add more granular filters with the Add filters control.
Q: Does Update Issue overwrite fields I do not set?
No. Update Issue is a partial-update action — only fields you explicitly set are sent. Unrelated values stay as they are in Linear.
Q: Can I use workflow variables in action fields?
Yes. Inline variables work in title, description, labels, priority, project and assignee fields, and resolve per execution.
Q: What happens if the issue I am trying to update no longer exists?
The action surfaces an error to the workflow execution log, and the workflow continues based on its branching. Add a fallback branch if downstream steps depend on the update succeeding.
Q: How do I attach a CRM record URL to a Linear issue?
Chain Create Issue → Create Issue Attachment, passing the issue ID from the first step. The attached URL becomes a two-way linked attachment inside Linear.
Q: Can the workflow create a Linear customer if one does not exist?
Yes. Use Find Customer first; if the lookup returns nothing, branch to Create Customer, then proceed to Create Customer Need.
Q: Can I disconnect Linear without breaking my workflows?
Disconnecting will pause every workflow that depends on Linear triggers or actions. The workflows themselves remain intact and resume as soon as the integration is reconnected.
Q: Are these actions production-ready?
All triggers and actions are released as Beta. They are safe to use in live workflows; expect incremental UX changes — additional filters, additional fields — as the integration moves out of Beta.
Overview:
We've made the Chat Widget compliance check smarter — it now detects upfront when the Lead Connector chat widget isn't live on a user's website and prompts them to fix it before submitting.What's new:
- During Chat Widget registration, our compliance review now actively scans the user's website to confirm the Lead Connector chat widget is integrated.
- If it isn't found, the user is shown a clear, actionable prompt with step-by-step guidance — copy the widget script, paste it into the website, and re-run the check — directly inside the Compliance Review modal.
- The user can resubmit only once the check passes.
Previously:
- Users could submit Chat Widget campaigns even when the widget wasn't actually present on their website.
- These submissions almost always resulted in rejections, frustrating users.

Why it matters:
- Missing-widget submissions have been one of the top recurring rejection reasons on Chat Widget campaigns.
- Catching this at the point of submission — with a clear fix path — helps users get to an approved campaign faster.
new
Blogs
Delete & Restore Blog Posts
What’s new
Deleting a blog post no longer removes it permanently, Restore Blog Post brings the post back with its original content and status, For long-term cleanup, users can choose Delete Forever from the Deleted filter.
Updated Behaviour:
- The Blog post is marked as Deleted
- It’s hidden from the main list
- It remains fully recoverable for 30 days
A dedicated “Deleted” filter now lets users:
- View all deleted blog posts
- Restore a post with one click
- Permanently delete if desired
Why it matters
This update helps users:
- Avoid accidental content loss
- Restore blogs without waiting on support
- Maintain a safer, more intuitive content workflow
- Manage blogs with confidence and full control
- Reduce operational friction and support dependency
How it works
Delete a Post
- Go to Sites → Blogs
- Open the 3-dot menu on a post
- Click Delete → Confirm

- Open the Deleted filter

- Restore a Deleted Blog Post or bulk restore it or Permanently Delete a Post

new
Studió AI
Introducing Visual Edits in Ai Studio
Summary
Visual Edits is a new in-canvas editing mode that lets you change how your site looks - colors, fonts, spacing, images, icons, and more directly by clicking on any element in the live preview. No need to describe what you want to AI; just point and adjust.
Visual edits are applied instantly without any LLM calls, so changes are near-instant and don't consume any of your token usage.
What's New
Click to select
Click any element in the preview to open the Visual Edits panel. Controls adapt to what you selected — text, button, image, icon, or layout element.
Edit text inline
Double-click any text element to edit it directly in the preview. Press Escape or click outside when done.
Icon picker
Click any Lucide icon to open a searchable library of 1,600+ icons. Pick one and it swaps instantly, no reload needed.
Live color palette
Your project's theme colors appear alongside the full Tailwind palette. Click a swatch to apply.
Spacing controls
Margin and padding side by side, with a toggle to link or unlink all four sides.
Image layout
Select an image to get a Layout dropdown: Fill, Contain, Cover, or Scale down.
Icon sizing
Select a Lucide icon to resize width and height, snaps to Tailwind classes or accepts custom values.
Multi-select with prompt
Select multiple elements at once and describe what you want changed across all of them in a single prompt. Great for applying consistent styling or making coordinated updates across several components.
Zero LLM calls for direct edits
Color swaps, spacing tweaks, icon changes, inline text edits — none of these hit the AI. Changes apply instantly and don't count against your token usage. LLM is only invoked when you explicitly send a prompt.
Save or discard
Changes are previewed live. Hit Save to apply to your code, or Discard to throw them away.
What Can Be Edited
- Any element: colors, spacing, border, shadow, border radius, opacity, typography
- Text: edit content inline
- Buttons and inputs: type, aria label
- Links: URL, target, rel
- Images: source, alt text, object-fit
- Lucide icons: swap from full library, resize
- Textareas: placeholder, name, rows
More coming soon!






new
App Marketplace
Improved App Approval Discovery & Auto-Approve Controls
Overview:
We have enhanced the App Approval experience to make Marketplace app management faster, simpler, and more accessible for agencies.
Previously, users had to navigate from All Apps to Approved/Dis-approved Apps to manage approvals. With this update, approval management is now surfaced upfront with dedicated Approved/Disapproved views and new auto-approve controls.
What’s improved
- Added dedicated Approved Apps and Disapproved Apps tabs
- Added auto-approve toggle for LeadConnector apps
- Reduced navigation friction for managing app permissions
How to access
Go to: App Marketplace → Settings → Manage App Permissions
From there, you can:
- Manage Approved and Disapproved apps
- Configure auto-approve settings
- Search and filter apps easily
Why it matters
- Makes app permission management faster and easier
- Reduces friction while approving/disapproving apps
- Simplifies onboarding for trusted LeadConnector apps
Preview:

new
Social Planner
💬 Bluesky Comment Management: Now in Social Planner
We’re bringing even more platforms into one unified inbox. ✨
With this update, Comment Management now supports Bluesky, allowing you to view and reply to comments directly from Social Planner.
No more switching tools,manage Bluesky conversations alongside your other social channels in one place.
🚀 What’s new
- Reply to Bluesky Comments: Respond to comments on Bluesky posts directly within Social Planner, no need to open the native platform.
- Emoji Support: Make your replies more expressive by adding emojis alongside text responses.
- Threaded Replies: Maintain conversation context with support for replies up to 3 levels deep.
- Auto Sync for Recent Posts: Comments are automatically synced for your latest posts, keeping your inbox up to date.
👷 How to use this feature
- Go to Marketing → Social Planner → Comments
- Open the Comments tab
- Select your Bluesky account
- View and reply to comments directly

💡 Why it matters
- Manage Bluesky engagement without switching platforms
- Respond faster to conversations
- Keep communication consistent across channels
- Centralize all engagement in one unified inbox
📝 Notes
- Reply character limit: 300 characters
- Only text and emojis are supported (no media attachments)
- Profile tagging is not supported
- Replies visible up to 3 levels (full threads stored internally)
- Comments sync for the last 15 posts only
- Sync runs every 6 hours
Overview
:The Schema Markup module now supports 7 additional schema types in the manual creation flow — bringing total parent-level support from 12 to 19. Users will find these new types in the "Add Schema Markup" or "Edit Schema Markup" popup alongside existing ones. Select a type, fill in the fields via Form view or JSON view, and hit Validate & Save. No workflow changes required.
New Schema Types
: Offer · Review · Aggregate Rating · Recipe · ImageObject · Service · CourseThis applies to the manual flow only. The AI-assisted flow already supports all Schema.org types.
Supported Modules
: Websites & Funnel PagesWhy This Matters
- Businesses in categories like e-commerce, food, education, and services can now add category-specific structured data — improving rich result eligibility on Google.
- Precise schema markup helps LLMs better understand and cite business content, increasing the chances of AI-generated references and recommendations.
How It Works
- Click + Add Schema or Edit Schema Markup → the pop-up opens.
- Select a schema type from the dropdown (search or scroll).
- Fill in the fields or paste JSON-LD, then click Validate & Save.
Existing schema markups are unaffected. New types simply appear as additional dropdown options.


Load More
→