Early searches are handled without error.
Product updates
What we shipped
Every feature, improvement, and fix — organized by release date.
This period's work centers on rebuilding core editing surfaces and deepening Active Intelligence's ability to work with your own data. The Campaign editor, Engage Links, Engage Posts, and the Content Manager image editor all received structural overhauls, while Active Intelligence gained the ability to read attached files and draw topic suggestions from your account's real campaign history.
Highlights · 5 of 35 updates
- Campaign editor rebuilt. The Campaign editor is rebuilt from a multi-step wizard into a single preview-and-rail editor with continuous auto-save, so the last edit is always what gets sent.
- Active Intelligence reads attached files. You can attach a PDF or CSV to an Active Intelligence chat message and ask questions about its contents, getting a direct answer drawn from the file itself.
- Engage Links rebuilt as table. The Engage Links page is rebuilt as a searchable, filterable table with a slide-out panel per link, bringing metrics, a QR code, a clicks chart, editable fields, and matched Contacts into one place.
- Topic suggestions from your data. Active Intelligence topic suggestions draw from your account's own top-performing campaigns instead of a generic model, so the ideas surfaced are relevant to your business.
- 15 fixes. Smaller corrections and repairs across AI & agents, Contacts & segmentation, CRM & deals and 5 more areas.
35 updates: 9 new · 11 improved · 15 fixed, across 10 areas.
Draft guidance appears only when a draft is returned. After saying "Yes" to a recurring-report offer, Active Intelligence previously gave activation instructions even when no draft had been created. Activation guidance appears only alongside an actual saved draft.
An ambiguous "yes" prompts a clarifying question. When a report with no data asked both a data question and a recurring-offer question, a plain "yes" could mean either. Active Intelligence asks which one you meant rather than acting on an assumption.
Campaign chips reach the Scheduled Tasks agent. When you attached a campaign chip and said "it's this one," the agent previously lost the chip context and asked "which task?" repeatedly without creating anything. The chip's context is passed through correctly, so the draft is created for the right campaign without follow-up questions.
A replies widget appears on the Automation report details page for any SMS block, listing the Contacts who replied to that message. It sits above the failures widget and pages through recipients five rows at a time. A link to view the full list of recipients will be available when the Automation recipients page ships.
The "SMS performance" breadcrumb on the SMS broadcast recipients page links to the SMS campaigns reports list.
Previously, if the accounts grid was on page 2 or a sorted view, the impersonated session would land on that same page and sort state, often showing an arbitrary or empty slice of a different account's data. Table page, sort field, and sort direction are now cleared before the page reloads when switching accounts. Filter parameters such as tags and status are preserved.
Any cookie previously used to access the Billing tab has no effect going forward — the tab is simply available to all partners in production.
MCP gateway: Automation Canvas links and HTML email import
Two additions for external integrations using the MCP gateway.
Automation Canvas links. After generating or editing an Automation, the run result includes a direct URL to open that Automation in the Automation Canvas. For Automations with email blocks, the link focuses the specific email block.
HTML email import. The Campaign generation endpoint accepts an optional field containing a complete email document, which is imported as the Campaign exactly as provided. The document must be a single complete HTML email, up to 500,000 characters.
The Campaign generation endpoint accepts an optional field containing a complete email document (up to 500,000 characters), which is imported as the Campaign exactly as provided. When an inline HTML design is included on an import request, it takes precedence over every other attached format.
Fidelity for hand-authored HTML is unmeasured — whether arbitrary markup decomposes into editable blocks or lands as a single block is untested.
Several fixes to the links management experience:
- Storefronts are read in full, so a link used in a later storefront is correctly counted in "Used in," the "Not used" filter, and the delete warning.
- Changing a search or filter clears the current selection; a link deleted from its row is also removed from the selection. Bulk Copy and Delete act only on links currently in view.
- A second Edit on the same link opens its form again after a Save or Cancel.
- Where-used filter menu rows are disabled while the data cannot be read.
- Focus returns to the element that opened a panel when the panel closes.
- Escape closes the panel only from within it, and not over an unsaved link or an open edit.
- Click counts, share-of-clicks calculations, and chart labeling are corrected.
- A failed save displays the service's error reason below the toast.
- Bulk delete refreshes the list once after all deletions complete, not once per link.
When setting up a Form with a Language field mapped to an existing field source, reopening that field step previously lost the mapping and blocked the Next button. The mapping is now retained.
The landing pages editor fills the entire viewport when open. The navigation bar and header no longer appear around the editor, giving you an unobstructed workspace.
Inserting a personalization tag or emoji into a Campaign subject line saves correctly and propagates to translated variants on translation-enabled Campaigns.
Previously, all three surfaces — the takeover, the API key modal, and the onboarding fallback — showed a generic "invalid key" error, causing accounts with IP security enabled to keep trying other keys. The error message now tells you specifically that the connection was blocked by your source account's IP security settings, and instructs you to check your email for a blocked-IP notification from that provider, authorize the IP, then try again.
The table shows Post, Listening, Comments, DMs sent, Reply rate, Likes, and Posted date. You can search, filter by Flows, Type, Channel, or Hidden posts, choose which columns to display, and set rows per page. Each row has a menu to view the post on Instagram, create a new flow for that post, or hide it from Engage. Bulk hide and show are supported with an Undo option.
Above the table, a summary strip shows Posts by type, Listening, Comments, and DMs sent, along with a sync timestamp and a manual sync button.
Selecting a row opens a post detail panel alongside the table, showing the account, picture, full caption, four engagement figures, and the flows answering that post with match details. "New flow for this post" opens the Automation Canvas on a comment trigger with that post pre-selected.
Facebook Page comment counts remain at 0 pending a backend update, and recent comments are not yet shown in the panel.
At the top of the page, a metric strip shows links in use, links not in use, clicks, conversions, and revenue. The table below is searchable and filterable, with bulk copy and delete, and a one-click copy button on every row.
Clicking any link opens a panel that slides in from the right. Inside: the short link with a copy button and QR code download (PNG, JPEG, WebP, or SVG); a 12-week clicks chart; editable destination and tracking fields; a "Used in" section listing the flow steps and storefront cards that use the link; and a recent activity feed showing matched Contacts. Creating a new link uses the same panel.
A few things worth knowing: the activity feed is labeled "Recent activity" rather than "Recent clicks" because conversions appear as their own rows. Revenue is shown as a plain number with no currency symbol, consistent with how Insights and Storefronts display it. Referral links are not shown on this page. The column for each link shows when it was created, not when it was last clicked.
The subject field in the email composer drawer on deal and contact record pages is inset to match the alignment and styling of the message body field, and the focus ring draws on the field's own border rather than spanning edge-to-edge across the drawer.
Contacts card moves to the top. The Contacts card appears at the top of the right column on the deal detail page. Previously it rendered below all custom fields, so accounts with many fields required scrolling to reach it.
Required fields are marked. Deal Title, Deal Value, Deal Owner, Primary Contact, and any required custom fields display a red asterisk after their label. Pipeline, Stage, and Status remain unmarked, matching the previous behavior.
Custom field groups collapse and expand. Custom field groups on the deal detail page can be collapsed and expanded. Previously all groups were always shown expanded with no way to collapse them.
Time in stage. The deal detail page shows how long a deal has spent in each stage. The stage picker displays the current stage with its duration — for example, "To Contact ( 2 days )". The stage menu shows time for each stage the deal has visited; unvisited stages show the name only. The Overview stage field also shows current stage time.
Open task rows show more detail. Open task rows on the Tasks tab show the task type before the title (for example, "Call: Gap call"), the exact due date and time in your account's date and time format in your browser's time zone, and the task note truncated at 100 characters. Completed task rows are unchanged.
Previously, URLs appeared as plain text and only a relative age was shown on note timestamps. Note timestamps show the full date and time in your account's configured format and time zone, followed by the relative age — for example, "10/01/2026 02:45 (a few seconds ago)".
Contact rows in the Contacts card on a deal details page display each contact's phone number alongside their email address, with the phone number appearing first. Rows with neither phone nor email omit the contact line entirely.
Content Manager: custom crop, full-folder carousel, and upload progress
Three significant additions to the Content Manager image editor.
Custom crop. A crop tool supports drag, resize, and ratio locks — Custom, Square, 4:3, 3:2, 16:9, and 4:5. Pressing Apply saves the crop as a single undo step and closes the crop panel. Crop corners are visible against any background. Flip, Undo, Redo, Reset, and Save are disabled until a crop is applied or exited.
Full-folder carousel. The image carousel walks your entire folder rather than stopping at the first 20 images. Next, Previous, arrow keys, and the thumbnail strip all load more images as you go, with pages prefetched near either end. The counter shows your position within the whole folder. Opening an image from a link or on reload locates it within up to 200 images. Every folder has its own bookmarkable URL.
Upload progress panel. A panel in the bottom-right corner shows per-image and overall upload progress. Progress reaches 100% when bytes are sent and stays visible until the save is confirmed. You can cancel individual uploads or all at once, collapse or close the panel, and see failure reasons — files over 10 MB can't be retried; network or server failures can. The panel hides itself 5 seconds after a successful finish unless there are failures. Library and folder lists refresh once per batch rather than once per file.
Additional improvements: a new folder scrolls into view and clears any active search; AI-generated folders use a sparkle icon; Delete is available directly from the image header in folder view alongside Remove from folder; and the "View full image" button moves to the right end of the editor toolbar.
Previously, opening the archive modal outside the Contacts table context could result in an archive request being sent with no contacts selected, while still showing a success message. The Archive button now stays disabled until contacts are selected, and the action is blocked regardless of how the button is triggered.
Contact detail page: collapsible Recent Activity and accessibility improvements
A chevron next to the Recent Activity heading lets you collapse and expand the activity feed on the contact detail page. Scroll position and poll timers are preserved while the feed is collapsed, so nothing is lost or reset. Collapse state resets when you reload the page.
Additional accessibility improvements ship alongside this change:
- The rail resize handle is keyboard-focusable, with arrow keys moving it in 2% steps and Home/End jumping to the extremes.
- Collapse toggles on the Tasks and Deals cards have accessible labels.
- When a header channel button opens a tab, focus moves to that tab's panel.
The tab strip on the contact detail page now shares the same tinted fill, 1px border, and rounded top corners as the Recent Activity header, connecting flush to the panel below. Open Tasks and Deals panel headers use the same fill color, giving the page a consistent look.
Task and deal modals opened from the contact detail rail render above all other page elements. Previously, parts of the secondary nav and the custom objects panel could appear on top of an open modal.
Previously, each row's field selection replaced the shared options data, causing options in other rows to disappear — for example, "Steward" options would vanish after adding a "Last Contact" field in a second row. Options are merged rather than replaced, so each row keeps its selections intact.
Dropdown options for custom fields also appear in a consistent, configured order across all selection types (dropdown, checkbox, property).
Columns held hidden by a policy no longer appear in the toolbar's Columns menu. Previously these columns showed as unticked options; ticking one saved a preference that the policy immediately overrode, and the column then appeared briefly when the menu closed.
Campaigns list: The Campaign list follows the same pattern as Flows: a totals strip, search, filter, status indicators, and row and bulk actions. Tables paginate when there are more than 10 rows. The Report opens in a drawer instead of inline, and the skipped-reason breakdown reads as a table.
Campaign creation: One editor handles creating, editing, and reporting. A phone preview shows your message for a sample contact; the rail holds Message, Audience, Delivery, and Reach sections. Fields use a centered, full-width layout. Step actions are pinned to a sticky footer. Audience and exclude-segment lists use toggles instead of checkboxes, with reach breakdown as a table. The review step reads as a table with top-aligned labels. Chips can be picked from a dropdown of added ones and created in a modal with a label and color.
Scheduled Campaigns are locked after scheduling. To make changes, cancel the scheduled send and duplicate the Campaign. Creating a list from the contact rail requires the list-add permission; without that permission and no existing lists, the menu links to Lists instead.
Toasts across Engage display correctly — with visible backgrounds and icons.
On screens 768px wide and below: the blueprint card no longer touches screen edges, tap targets are 44px, and long blueprint titles and trigger/action names wrap instead of overflowing. The "Activate now" button goes full width when the card stacks.
When the Active Intelligence sidebar is open, the blueprint card stacks based on its own available width rather than the window width, so the layout stays usable in narrower windows.
The accounts grid in ActiveCampaign HQ shows only the account you're logged into and its direct child accounts, so you see a clean, relevant list instead of every descendant across all levels. When you're in a sub-account, the grid is scoped to that account. The parent dropdown is searchable and translated.
Previously, "Black Friday / Cyber Monday" and "Holiday Shopping Season" appeared as the top two ideas for virtually every account, and 63 accounts received technical data signals as topic suggestions. Suggestions draw from your top-performing campaigns ranked by click rate, your best-performing campaign type, and country and industry holidays relevant to your business. A model rewrites up to 15 ranked candidates into polished, on-brand topic suggestions with rationale, and results are cached for 24 hours so repeat requests are instant.
When you're already building from a past campaign using the duplicate or "based on campaign" flow, suggestions offer fresh angles rather than follow-ups to that campaign. Suggestions are returned in your language when it can be detected.
In a 79-account test, technical topics dropped from 63 accounts to 1, and past campaigns appeared for 59 of 79 accounts.
When Active Intelligence presents a Scheduled Task as a clickable suggestion card, clicking the card passes your original request directly to Scheduled Tasks — the task is created from the card's pre-filled details without asking you to restate what you wanted.
Suggestion cards created before this change have no linked ID and won't behave this way when clicked.
This applies everywhere topic suggestions appear: the source preflight in Duplicate with AI, the chat's "from a past campaign" preflight, and the topic ideas above the composer.
Numbered lists in Active Intelligence responses are readable in Light theme, using the same dark text color as bulleted lists, headings, and paragraphs.
Previously, the second creation could reuse the first card or fail without explanation. Active Intelligence handles both requests in sequence rather than conflating them, so you always know exactly what was saved and what still needs to be created. Same-message retries still return the cached result.
Active Intelligence reads attached PDF and CSV files
You can attach a PDF or CSV to an Active Intelligence chat message and ask questions about it — and get a direct answer, not a redirect to build something.
For PDFs (and DOCX files), Active Intelligence returns the document's stored text in its reply. For CSVs, it previews the first 20 rows (up to 4,000 characters), sniffs the delimiter automatically, and tells you whether all rows are shown or some were left out.
If you attach a CSV and ask to import contacts, that request still routes to the contact import flow as before. XLSX and XLS files are not readable in this release.
If a file can't be found after upload, Active Intelligence reports it as not found rather than ending the conversation with an error.
When you attach a file — such as a PDF or DOCX — and ask Active Intelligence a question about it, Active Intelligence answers from the file's contents.
Two additional routing improvements are included: attachment rule descriptions correctly name the file types that can be read, and when a PDF and another file type are attached together, the routing rules for all file types are applied rather than only the first match. Contact import via CSV continues to route to the import tool as before.
This period was dominated by Active Intelligence refinements: sharper answers, fewer dead ends, and a new ability to turn one-off report requests into recurring Scheduled Tasks.
Highlights · 3 of 11 updates
- Reports become Scheduled Tasks. After Active Intelligence delivers a report answer, it offers to turn that report into a recurring Scheduled Task, so the same insight arrives automatically on a repeating schedule without rebuilding it each time.
- More Campaign editing in chat. Active Intelligence handles more Campaign editing scenarios directly in chat, including requests to edit or copy a Campaign when none is resolved, copy a template, or run a split test, rather than falling back silently.
- 8 fixes. Smaller corrections and repairs across AI & agents, Campaigns & email, Contacts & segmentation and 1 more area.
11 updates: 1 new · 2 improved · 8 fixed, across 5 areas.
For segments with a stored run from the last 90 days, the Contacts tab reads that result directly. For previews, segments with no stored counts, incomplete data, or runs older than 90 days, a fresh run is requested as before.
Industry Intelligence trend insights filter out guides, event pages, forum posts, and earnings reports from adjacent professions that only borrow your sector's vocabulary. When search results contain no real market signal for your sector, the insight says so rather than building a generic trend story on weak sources.
Before this change, the relevance filter kept results based on year-in-title or trend-topic keywords, not on whether they reported actual market activity in your sector. In before/after testing on production input, the previous filter kept irrelevant results in 9 of 10 runs; the updated filter kept nothing in 10 of 10 runs on the same input.
After Active Intelligence delivers a report answer, it offers to turn that report into a recurring Scheduled Task. The same report is offered only once per conversation; a different metric, Campaign, list, segment, or time window gets a fresh suggestion. Accepting the offer routes through Scheduled Tasks to create a Draft task. If your follow-up is ambiguous, Active Intelligence asks a clarifying question rather than creating a task.
The offer appears as text in the chat. A suggestion card in the UI is coming in a future update.
After Active Intelligence answers a question about rates, trends, or comparisons across a time window — for example, "What are my open and click rates this month?" — it offers to turn that report into a recurring Scheduled Task. The offer appears as the reply's only question, so saying "yes" unambiguously accepts it.
Active Intelligence makes the offer only when it applies: single-count lookups, questions about one named Campaign, written content requests, and actions that change your account data don't trigger it. One-time reminders (for example, "Dec 1, 9am remind me to review the holiday campaign") are created as non-repeating tasks. Any task that would change account data on every run asks for your explicit confirmation before it's created.
The four situations covered:
- Registration reads: If your user group can't read SMS registration status, Active Intelligence skips the registration prompt and asks an admin to confirm the send location rather than claiming the number is ready to send.
- Credit and rate lookups: A permission-denied response on SMS credit balances or country rates tells you to contact an account admin directly, with no generic fallback.
- SMS data queries: When Automation or broadcast data is blocked by missing permissions, Active Intelligence names the specific permission needed — for example, "Missing SMS permission: one of management.reporting, campaigns.view, campaigns.manage, campaigns.send" — and directs you to Settings › Users and Groups. An authentication issue is distinguished from a permission issue and tells you to refresh and retry.
- Business Goals SMS linking: If linking an SMS Campaign to a Business Goal is blocked, Active Intelligence reports that only the SMS link was refused and that everything else done for the goal is unaffected, then provides admin guidance.
When you ask Active Intelligence about an Automation that includes a Wait Until step, it describes what actually happens to contacts at that step. Each Wait Until time-limit setting is explained correctly: no limit waits for the condition; "for up to" and "continue" move to the next action; "exit" ends the Automation.
Active Intelligence reports the contact figures that are available — entries, completions, currently active contacts, week-over-week change, and conversions — and states plainly that step outcomes, sends, failures, skips, and daily trends are temporarily unavailable. It doesn't suggest expanding the date range or infer the Automation's structure from missing data.
Previously, on accounts where your profile stored a "same design, all-new content" preference, Active Intelligence read that preference and skipped the form, rewriting all content without asking.
The form appears whenever you haven't explicitly confirmed what to keep in the conversation. If you type "same design, new copy" in your message, you'll see the form once before the content is rewritten.
Active Intelligence conversations were stopping with a "Conversation limit reached" message after reading several Campaign email bodies. Campaign reports were returning up to roughly 92,000 characters of raw HTML per report. Campaign bodies are returned as plain text, and each report is around 8,000 characters instead of 92,000. You can ask for the full HTML explicitly if you need it.
When the Campaign editor can't handle a request, Active Intelligence answers in the chat itself rather than falling back silently. Scenarios now handled directly include: editing or copying a Campaign when none is resolved (asks which Campaign), copying a template (explains a template is not a Campaign), split-testing with a new Campaign (builds the Campaign with its subject test), split-testing with no Campaign resolved (asks which Campaign), and several error states such as an untargetable email or a design the service cannot adopt.
Selecting "Change look" on an existing Campaign in Active Intelligence opens the brand picker. Previously, under certain conditions, the action returned a "no other layout fits" reply instead of the picker.
This period's work deepened Active Intelligence reliability and reach while adding meaningful new capabilities to Automation Canvas, Deals CRM, and the Engage Audience view. Fixes across chat, Campaigns, and Contacts tighten the everyday experience throughout.
Highlights · 5 of 33 updates
- Automation Canvas major expansion. Automation Canvas adds split by property, run stats with a 30-day chart, link and storefront delivery steps, a reaction trigger with optional emoji list, and configurable retries on sending steps — a substantial leap in what you can build without leaving the canvas.
- Redesigned Engage Audience view. The Engage Audience page launches a new layout with a segment navigation panel, a side panel for creating and editing segments, and a live audience health strip — and opening a contact's details keeps you on the page rather than navigating away.
- Connected integrations in Active Intelligence chat. Typing @ in the Active Intelligence chat composer surfaces your account's connected integrations — such as Calendly or Stripe — so you can bring that context directly into your Active Intelligence conversation.
- Active Intelligence sidebar persists in canvas. When you open the Automation Canvas from a chat in the Active Intelligence sidebar, the sidebar stays visible alongside the canvas so you can act on a suggestion without losing your conversation.
- 15 fixes. Smaller corrections and repairs across AI & agents, Contacts & segmentation, Campaigns & email and 7 more areas.
33 updates: 9 new · 9 improved · 15 fixed, across 12 areas.
The −, zoom, and + buttons in the Engage canvas zoom group render as a single joined control with a shared outline. Previously, each button drew its own top and bottom edge, causing hover and open-menu fills to bleed into the seams and the control to read as overlapping borders in two shades of grey.
When you edit an automation email in the mini editor and navigate away without saving, the editor asks what you want to do with your changes so nothing is lost silently.
The refresh label under the total contacts card reads "Refresh contact count (last updated [date])" in your account's date and time format. When a count is still being computed, the label reads "Refresh contact count" without a date. The agent segment drawer shows the same information.
The refresh button is disabled while the refresh is running, and is available both on the Segments page and in the Active Intelligence sidebar.
Clicking, pressing Enter, or pressing Space on the clear button clears the input and returns focus to the search field. The button's accessible name is "Clear search".
Active Intelligence reads the full conversation and applies a clear order of priority: your acceptance reply wins first (for example, "yes, make it weekly"); if absent, the recurrence in your original request ("every quarter" → 3 months, "last month weekly" → 1 week); then the reporting window you named ("last month" → 1 month, "last 7 days" → 1 week, "last quarter" → 3 months); and finally a default of weekly when nothing else is specified. The offer wording itself never sets the cadence.
When Active Intelligence creates a task with the default one-week cadence, the task starts tomorrow rather than waiting until the following Sunday. The cadence description shown after a task is created is taken directly from the stored schedule, so what you read matches what was saved.
A Remix option appears in each row's menu on the Automations overview list, so you can start a variation of any existing Automation without opening it first.
The Engage Audience page has a new layout. Segments move into a navigation panel beside the contact table, replacing the previous flat layout. You can create and edit segments from a side panel that opens with a "Describe it with AI" prompt. Opening a contact's details keeps you on the page — the contact opens beside the table without navigating away.
Possible duplicate contacts surface as a dedicated "Review" entry in the navigation, visible only while duplicates exist. The figure strip shows live data: total size, top channel, and dormant count for everyone; and people, reachable, and opted-out counts per segment. Contact status is set from one consistent list everywhere: Active, Inactive, Spam, and Opted out.
Paging: views with 100 or fewer contacts, or any search result, are sortable and client-paged. "Select all" selects only the current page.
When migrating a contact database, all migration-related cards — the import progress card, the "Your data is here" card, and the import success card — appear on the Inspire me tab alongside the export-phase card. Previously, once an import started, the import progress card only appeared on the Your dashboard tab, leaving users on the Inspire me tab with no migration card visible. The Your dashboard tab and the legacy layout are unchanged. The "Your data is here" card applies only to certain import types.
The selection is checked against the channel's type, size, and count limits before insertion. Drag-and-drop and paste continue to upload from your device as before.
In the "Create New Form" modal, the "Add a tag" field works correctly with keyboard navigation after typing a search term — pressing ArrowDown or Enter selects a matching tag, and the dropdown no longer flashes empty between keystrokes.
Rapid repeat clicks on the remove control are ignored, and the control is disabled while a folder change is saving. Menu options that aren't available — such as "Replace original" — are now visually styled as disabled rather than hidden, so you can see what's possible at a glance. Small image previews are no longer upscaled, preserving their native resolution.
Adding an emoji to a Campaign subject line or preheader and immediately deleting it with backspace keeps it deleted. This applies to subject line, preheader, from name, from email, and reply-to email.
A "Delete Task" button appears in the Edit task modal footer whenever you're editing an existing task on the deal details page. It's not shown when creating a new task, and it's greyed out while a save or delete is in progress. Deletion happens immediately and a success message confirms it.
The Recent Activity widget shows "Deal Owner changed to [new owner name]." The Activity tab timeline shows the transition as "Deal owner [old] → [new]", falling back to a generic "Deal owner changed" message when the previous owner can't be resolved.
The DNS status box in the domain setup modal stays within the modal body.
When the account's Conversation assignment toggle is off, assignment-history status messages no longer appear in the conversation thread. Non-status messages and other status events continue to show normally.
The underlying history is not deleted — turning assignment back on restores the full history. A day separator is also suppressed when the only messages for that day were assignment status messages.
Searching from the global header and then searching again on the Contacts list returns results for the new term, and the search box shows it correctly.
Accounts migrating from certain platforms were previously placed into an onboarding experience that replaced the homepage. When the migration card moved to in-progress, that experience advanced and migration progress became inaccessible. You now land on the homepage with migration progress cards visible from the start.
After a Brevo or HubSpot import finishes, a completion card appears on the agent page with a "Review my data" button that takes you straight to the import review screen. The card appears as soon as the export summary loads — and even if the summary can't load, the card still appears so you don't lose access to the review entry point. Closing the review screen returns you to the agent page.
- Brevo: covers unsubscribed and blocklisted contacts.
- HubSpot: covers contacts opted out via the email opt-out field on a list.
Selecting a connected integration from the list adds context that Active Intelligence uses when responding. The same list appears in the Add-context button menu. Only integrations in a connected state are shown; the group is hidden when nothing is connected. This applies to all surfaces that use the chat composer, including Scheduled Tasks.
Previously, the Segment field showed "--" for a large number of Campaigns. When the segment name isn't available directly from the Campaign details, it's looked up from the segments service. The Segment field shows a loading indicator while the name resolves.
On the Brand Kit page, the Set as default, Edit, and Delete buttons on More Brands cards stay within the card boundary, so the Delete button is no longer clipped at the card edge.
Split by property adds a branch-on-condition step with form fields and operators; arms read False and True.
Run stats shows a "Runs by status" breakdown and a 30-day bar chart of completed, running, and failed runs.
Delivery steps include link delivery and storefront delivery, with pickers drawn from your existing links and storefronts.
Reaction trigger supports an optional emoji list. It is listed but disabled on Messenger.
Retries on sending steps let you set retries count, wait between retries, and stop-trying-after.
Additional steps available: agent handoff, add to Automation, create deal, sequence enrollment, and end. The webhook step picks a webhook subscription instead of a typed URL; the add-to-segment step lists manual segments only.
Current limits: the Automation picker shows only the first 10; the deal stage list is not filtered by pipeline and options read "Pipeline · Stage"; an existing webhook step with a URL shows as needing setup until a subscription is picked.
The automated report details page includes a failures widget below the KPI row, showing the breakdown of SMS delivery failures for the specific automation block. Rate calculations use the block's own send count. An error code the widget doesn't recognize is shown as an unknown error.
When you ask Active Intelligence to create a Campaign based on a past Campaign via chat, the source form shows topic idea suggestions — the same suggestions already available in the "Duplicate with AI" flow. When your prompt already specifies what the new Campaign is about, no topic ideas are shown.
When you open the Automation Canvas from a chat in the Active Intelligence sidebar, the sidebar stays visible alongside the canvas so you can act on an AI suggestion without losing your conversation.
Previously, the prompt was misrouted and you ended up in a questionnaire flow with no form to show for it.
Active Intelligence treats any request to create a new or first form as a create request, even when the phrasing asks for ideas first. It builds an inline newsletter signup with full name and email fields from your brand kit and business context when no specific goal, layout, or fields are named — without asking for those details upfront.
When building a Campaign from a past campaign using Active Intelligence, a second preflight form no longer appears after the first is answered.
Several reliability issues in the Active Intelligence chat experience have been addressed:
- Stream resumption reconnects at the exact event, preventing duplicate content when a connection drops and reconnects.
- Reloaded runs apply their content once. Previously, after a page refresh mid-run, every chunk was applied twice, toggling the drawer and refreshing caches twice.
- Requests without a valid session no longer reach Active Intelligence. Previously, load-time requests reached the backend with no usable credential and failed silently.
- Thumbs-up and thumbs-down feedback is recorded in analytics again. The tracking event had stopped firing when an earlier change replaced it with a different call.
Specific improvements:
- When a run's first step fails, a fallback reply and a clear error message reach the chat immediately rather than leaving the conversation stalled.
- Typing a slash command with no further text produces a clear reply.
- When a request gathers more content than the model can process, the chat replies with a clear explanation rather than timing out.
- Every way a run can end — completion, agent error, timeout, cancellation — produces a terminal state you can act on.
- A retried turn stores the conversation once, not twice.
- When you stop a chat turn, the loader clears, the stop reply appears as its own paragraph, and the conversation looks the same after a page reload.
- After a stall, sending or retrying reattaches to the live run. A stalled run that is still live on the server continues streaming rather than ending with "Request timed out."
Free-form replies sent within the 24-hour customer-service window are charged under the SERVICE category rather than being free. Two exceptions remain free: service messages within the free monthly allowance per business phone number, and messages sent within the free entry point window from a Click-to-WhatsApp ad (covering all categories for up to 7 days).
Active Intelligence correctly describes both exceptions and points Click-to-WhatsApp questions at the free entry point window. Both free cases are handled correctly.
Reconnect notices reach the right people. The "Action required: reconnect your connectors" banner and the red dot on the Tools button appear only for users who have connectors that need reconnecting. Both retire once you've opened and closed the Connectors modal, or connected a connector. The Tools menu also renders correctly when the connector list is empty, keeping the connections manager and the custom connector entry reachable.
Previously, on accounts where no connector had ever been set up, every user saw the banner and red dot even though there was nothing to reconnect.
Visual polish. Connector tiles render correctly in both light and dark themes. Connector logos sit on fixed light plates so dark logos stay readable in dark mode; missing or failed logos show a placeholder icon. The modal uses a consistent size across all views — list, details, custom connector form, and consent — and adapts correctly on narrower screens. The Tools menu closes when the Connectors modal opens. Status chips stay on one line.
The Activity and Knowledge tabs in the Active Intelligence sidebar render once per interaction and stay idle afterward. Search, filter, range menu, paging, and opening a turn all behave as before.
This period was defined by Active Intelligence expanding its reach, moving from Campaign management into SMS, Automation health, and the Engage inbox, while also gaining the capacity to handle much longer conversations.
Highlights
- Active Intelligence enters Engage. Active Intelligence can read and act on your Engage inbox and channel flows directly from the AI assistant, letting you find conversations, take action, and manage flows without switching screens, with confirmation required before any reply or flow activation goes through.
- Automation health insights sharpened. Active Intelligence automation health insights now cover every Automation in your account, compare each against your own account baseline, flag outliers when bounce or unsubscribe rates cross defined thresholds, and report missing metrics as missing rather than zero.
- Clear Campaign recipient lists. You can ask Active Intelligence to remove all recipients from a Campaign, leaving it as a draft ready for a new list, a request that previously had no effect.
- Longer AI conversations supported. Active Intelligence conversations can run significantly longer before hitting a length limit, with both the warning and stop thresholds raised for conversations on the current default model.
- 1 fix. Smaller corrections and repairs across SMS & WhatsApp.
5 updates: 2 new · 2 improved · 1 fixed, across 3 areas.
Active Intelligence checks SMS permissions before attempting to create or edit an SMS Campaign, giving accounts with granular SMS permissions clear, actionable feedback instead of a failed write.
Five permission states are handled:
- No Campaign manage permission: no write is attempted; a preview-only result is returned pointing to SMS Campaigns › Manage and Settings › Users and Groups.
- Manage permission but no send permission: the Campaign is saved as a draft; the response tells you that someone with SMS Campaigns › Send permission must review and send it.
- No send permission on a schedule edit: the scheduled date is not applied; a mixed edit (schedule plus other fields) saves the other fields and reports that the schedule was not set.
- No SMS registration: guidance points to the account administrator.
- Permission denied by the platform: the existing permission-denied message is returned.
This applies to accounts with granular SMS permissions enabled.
You can have much longer back-and-forth conversations with Active Intelligence before hitting a length limit. A single shared limit previously cut off roughly 412 conversations per month, often well before the model ran out of capacity. Limits now match the capacity of the model handling your conversation.
For conversations running on the current default model (which has a 1-million-token context window), the warning threshold rises from 280,000 to 400,000 tokens and the stop threshold from 300,000 to 500,000 tokens. Based on production data from the past 30 days, this reduces conversations reaching the stop point from around 412 per month to around 31. Conversations on models with smaller context windows keep the existing limits.
Your existing conversations are automatically covered by the new limits.
Active Intelligence can read and act on your Engage inbox and channel flows, so you can manage conversations and flows without leaving the assistant.
In the Engage inbox, you can ask Active Intelligence to find, count, or search conversations, read messages, summaries, notes, and labels, and take action: set a conversation's state, assign it, manage labels, or add a note. You get a clear view of what needs attention and can act on it in the same conversation with the assistant.
With Engage flows, you can ask Active Intelligence to list and inspect your flows, check run history and step performance, draft a new flow (created in a paused state so nothing goes live until you're ready), or pause a live flow.
Replies and flow activations require your approval. When you ask Active Intelligence to send a reply or activate a flow, it shows you a preview first. The action only goes through after you confirm it. This applies every time — Active Intelligence will not send replies or activate flows on its own.
Active Intelligence respects your role and channel permissions in the Engage app. It can only see and act on conversations and flows you already have access to. Editing, deleting, duplicating, or making bulk changes to conversations or flows are not supported.
This capability is available when your account has the Engage app enabled.
You can ask Active Intelligence to remove all recipients from a Campaign, leaving it as a draft until you choose a new list. Previously, asking Active Intelligence to remove a Campaign's list had no effect — the list stayed in place while the reply implied it had been cleared.
What Active Intelligence does when you ask to remove a list: - Clears both the list and any segment, writing empty sets to the Campaign. - If the Campaign still shows a list or segment after the write (for example, because a read returns stale data), the response tells you and directs you to remove them in the review panel. - If your request asks for no list while also naming a specific list or segment, Active Intelligence makes no change and asks which you meant. - The Campaign stays a draft until a list is chosen.
Previously, hygiene questions could result in a pivot to open and click metrics or a focus on a single automation rather than your full portfolio. Active Intelligence now compares each automation against your account baseline and flags outliers only when they deviate meaningfully: a bounce rate more than twice your median, or an unsubscribe rate above 1%.
When nothing stands out, Active Intelligence says so rather than manufacturing a finding. Every cited metric is tied to its data window and send count. Missing metrics are flagged as missing rather than reported as zero.
This improvement applies to automation hygiene questions. Engagement-performance and Campaign-content insights are unchanged.
This period was defined by a broad push across Active Intelligence, Automations, and contact management — deepening AI-assisted workflows, overhauling the Automations experience, and tightening the reliability of core platform surfaces.
Highlights · 5 of 110 updates
- Automations redesigned as Flows. Automations gain a redesigned list, a cleaner Automation Canvas, and bulk actions for turning on, turning off, or deleting up to 200 Automations at once, with Recipes renamed Templates and all existing setups carried over.
- Brand Kit per chat session. Accounts with multiple Brand Kits can now tell Active Intelligence which kit to use for a chat session via the @ typeahead or Add context menu, keeping the selected kit active for the whole conversation.
- Automations performance report rebuilt. The Automations Performance report loads in approximately 1.5 seconds on large accounts — down from 33–38 seconds — and adds sorting, filtering, and CSV export that weren't available before.
- Active Intelligence merges segments. You can ask Active Intelligence to combine two existing segments into one, choosing how to merge them and whether to save the result, update an original, or preview the combined audience without changing either.
- 42 fixes. Smaller corrections and repairs across AI & agents, Platform & infrastructure, Automations and 8 more areas.
110 updates: 30 new · 37 improved · 42 fixed · 1 faster, across 13 areas.
The WhatsApp tab on the redesigned contact detail page links directly to the contact's active WhatsApp conversation and includes an "Open inbox" button. The tab label shows the unseen message count, so you can see at a glance whether there are messages waiting without opening the conversation.
The tab is hidden automatically when no WhatsApp inbox is connected to your account or when the contact's WhatsApp visibility is turned off — so it only appears when it's relevant.
This tab is part of the redesigned contact detail page, which is not yet broadly available.
The toll-free number card reads "Best for brands that text nationwide." The meaning is unchanged.
The registration card displays five states: pending, registered, needs update, rejected, and loading. When a registration is rejected, the card identifies the specific information to update in plain language — for example, "Information to update: Business website" — rather than showing a raw system field name.
The full registration flow is not yet end-to-end usable and is not available by default.
Hovering or keyboard-focusing a tag in the Tags tab on the contact page shows a Tool Tip with the date and time the tag was added. The date follows your account's configured time zone, locale, and datetime format — the same format used in the activity stream.
If a tag's name is too long to fit in its chip, the Tool Tip shows the full name above the date. Tags with no recorded date show no Tool Tip.
Surveys and Storefronts have been removed from the Manage section of the Engage navigation. The Manage section shows Links, Posts, and Settings.
Both pages remain accessible by direct URL if you need them.
On the Campaign summary screen, the Subject line and Preheader fields and their emoji buttons are the same height and align correctly.
The notice appears only when whole-design testing is off and you're on a variant other than the first. It doesn't appear for non-split Campaigns, when whole-design testing is already on, or when you're viewing the first variant.
The dialog contains the same controls as before — winner determination, winner criteria and wait period, email share allocation per variant, and the whole-design checkbox — but works in draft form: Cancel discards all changes, and Save writes only what changed. Share fields let you clear and retype a value freely while editing. Even-split shares are shown as an exact distribution and are read-only.
The Campaign editor canvas also reads in the order a split test is understood: settings row first (Recipients, Send, More settings, Split test settings), then the variant strip, then the selected variant's subject and preheader above its design.
The dialog appears in every Campaign editor surface, including the Active Intelligence full page and sidebar. Non-split Campaigns, templates, and Automation emails are unaffected.
A version picker lets you choose which variant to resend; it defaults to the winner, or shows no selection if no winner has been decided. The resend becomes a single Campaign with 100% of the send going to the chosen variant, rather than re-running the split.
Also fixed: Resend requests that contain only the resend type — without a name or subject — complete successfully.
Previously, the prompt text was dropped and an empty message was sent instead, meaning Active Intelligence received no instruction. The Active Intelligence sidebar was not affected by this issue.
When the segment preview contacts tab fails to load, the error state shows a warning illustration, the error message, and a retry button. Clicking retry re-runs the contacts query without a page reload.
The Segment integration settings panel — including Save and Disconnect options — is available again in the app marketplace. It was removed when the previous apps page was retired; this restores full settings access in its replacement.
When you open the Scheduled Tasks composer, the input starts as one compact line. Clicking it expands the field, activates the AI gradient border, and reveals the Add, Tools, and Add context buttons. Click away with nothing typed and it collapses back to its compact state.
Scheduled Tasks moves from the AI nav drawer to a top-level primary navigation item at its own URL. Accounts on the previous URL are redirected automatically.
The toll-free registration card is visible to accounts that have never started a registration. Previously, the card hid itself for those accounts — exactly the ones that need the Register button. Accounts already pending or approved are unaffected.
When a group lacks the SMS campaigns Manage permission, Active Intelligence shows a clear permission-denied state in the SMS card. The card displays the agent's message as a warning, shows a title, and omits the primary action button. Accounts without the SMS add-on still see the upsell state, because a missing add-on takes precedence over a missing permission.
The phone preview in the SMS builder reflects what contacts will actually receive.
- If your message doesn't include opt-out language, the preview shows the footer and explains that it's added automatically — once every 30 days per contact. If you want it in every message, add it to the message body yourself.
- If your message already includes opt-out language, the preview confirms the automatic footer won't be added.
The detection logic in the preview matches the logic used at send time, so there's no gap between what you see and what your contacts get.
Actor-initiated assignments show who made the change and to whom. Automatic assignments by first-responder rules appear without an actor name. A fallback label appears when a user has no display name, and any status event the app doesn't yet recognize surfaces as "This conversation was updated" rather than being hidden.
The refreshed Contact record adds two new tabs: SMS and Notes.
The SMS tab shows a contact's full SMS history as a flat list, newest first. Each row displays the message text (with personalization tags filled in), a sender avatar, a sent or received label, and the date in your account's format and time zone with a relative time indicator. Replies are labeled separately. Automations that sent a message include a link to that Automation. Older messages load as you scroll, and Inbox rows link through to the Inbox conversation.
The tab is only visible when your account has SMS access. When no messages exist, the tab shows an empty state. Unsubscribes and messages to internal users are not shown.
The Notes tab brings notes access into the updated contact detail page.
Both tabs are part of the Contact Detail Page Refresh, which is expanding the contact record from a 2-tab layout to a 9-tab layout. Neither tab is visible to customers yet.
SMS consent text in embedded Forms — floating box, modal, and floating bar types — uses the form's configured body font color. Forms without a body color set continue to display the consent text in the default grey. Inline forms are unchanged.
Each assignment event appears in the thread at the point it happened. Actor-initiated assignments show who assigned the conversation and to whom. Automatic assignments use appropriate copy. Events with missing metadata show a generic fallback rather than disappearing.
Previously, "View all time" could produce inconsistent figures across the KPI snapshot and the row list. Both surfaces reflect all-time data when that option is selected.
Previously, the KPI tiles and block list were scoped to your chosen range, but the per-block rows showed all-time figures. Selecting "View all time" or clearing the range sends the correct parameters throughout.
When resending a split Campaign, a version picker lets you choose which variant to carry forward. The resend becomes a single Campaign with 100% of the send going to the variant you select. The picker defaults to the winner, or shows no selection if no winner has been decided.
Also fixed: Resend requests that contain only the resend type — without a name or subject — complete successfully.
Clicking "Your Dashboard" opens the agent homepage directly at the My View tab. Clicking the Reports heading itself still lands on All Campaigns Performance, unchanged.
The button appears below the total contact count. While a refresh is running, the button is disabled so you won't trigger duplicate recalculations. The refresh label reads "Refresh contact count (last updated [date])" in your account's date and time format; when a count is still being computed, the date is omitted. The same control and last-updated information appear in the Active Intelligence sidebar.
When your session token expired, the platform used to send several simultaneous refresh requests at once — and because each one invalidated the last, most of them failed. The result was a full redirect to the login screen, often in the middle of what you were doing.
All concurrent refresh requests within a tab share a single request. The expected drop in failed refreshes is from roughly 55% down to around 9% — meaning far fewer unexpected login interruptions during normal use.
The Engage template gallery has a new visual design. Each template card shows an Instagram DM on a phone in a frosted frame over a light brand gradient — one shade per template category: engagement, onboarding, sales, and retention. On hover or keyboard focus, the gradient deepens and the phone rises. Featured templates get a sparkle badge; coming-soon templates get a clock. Grid cards no longer show a description or category label.
Search and filter controls are hidden while the catalog holds fewer than 12 templates and appear automatically once it reaches that threshold.
The "Use template" flow is updated to match the Saved replies and New deal modals: the × in the heading closes the modal, and focus starts on the first field the template requires.
The Engage Audience page has a new layout. Segments move into a navigation panel beside the contact table, replacing the previous flat layout. You can create and edit segments from a side panel that opens with a "Describe it with AI" prompt. Opening a contact's details keeps you on the page — the contact opens beside the table without navigating away.
Possible duplicate contacts surface as a dedicated "Review" entry in the navigation, visible only while duplicates exist. The figure strip shows live data: total size, top channel, and dormant count for everyone; and people, reachable, and opted-out counts per segment. Contact status is set from one consistent list everywhere: Active, Inactive, Spam, and Opted out.
Paging: views with 100 or fewer contacts, or any search result, are sortable and client-paged. "Select all" selects only the current page.
After re-authenticating on a URL that contained a query string, your session is restored correctly and subsequent actions complete as expected.
Previously, re-authenticating on a URL that contained a query string could result in errors and failed API calls after the session was restored. Re-authentication on any URL, including those with query strings, restores your session correctly.
The CVC field on payment forms displays its placeholder text as expected. Customers filling out their card details see the correct prompt for both three-digit and four-digit security codes.
Typing a page number outside the valid range in any paginated table — such as All Campaigns, Recipients, Clicked Links, or Segments — and pressing Enter or leaving the field clamps to a valid page. Values above the last page clamp to the last page; values below 1 clamp to page 1. Pressing Escape reverts the draft without navigating. Next and previous buttons remain clickable while a page request is in flight.
When two Contacts are merged, the merged Contact keeps the stronger privacy choice: if either Contact had opted out of email open tracking, the merged Contact is written as opted out, with the opt-out timestamp set to the merge time.
Contacts where neither had expressed a preference are left untouched — no opt-out is written.
The merge log and activity stream record an "Open Tracking Opt-Out" entry when the two Contacts differ on this field.
The wait-until date/time field in the Automation Canvas offers minute offsets as a timing option, giving you finer control over when a wait step ends.
The "Saved at" timestamp, revision history control, and refresh button are aligned consistently in the Manage Contacts header status bar.
When the app runs inside a frame from another origin, a session expiry previously caused the page to stop responding rather than redirect to login. The redirect targets the top window correctly so login always happens at the right place, even in embedded contexts.
Industry Intelligence scheduled insight cards display a meaningful, descriptive title. Previously, some cards showed the literal word "Summary" as their title instead of a real one.
When you open a Form via its preview link, a banner across the top of the page indicates that the view is a preview. If the Form is paused, the banner additionally states that it is not accepting submissions.
Three visual improvements to the Flows list:
- Triggered, Completed, and DMs counts are right-aligned with tabular figures, including their column headers, so numbers stack cleanly by digit.
- The channel disc sits 8px from the flow name, tightened from 12px.
- The Active flows tile no longer shows a separator dot between its two counts.
The Files tab on the contact detail page lets you view, upload, download, rename, and delete file attachments for any contact. The tab is available for all contacts.
A previous issue where uploading a file from the page header caused the Files tab to load indefinitely is also resolved — the file list refreshes correctly after a header upload.
Several improvements to platform startup and resilience shipped together:
- Faster startup. Two startup files download in parallel instead of one after the other, reducing the time before the app is ready.
- Boot timeout protection. If the app hasn't finished loading after 30 seconds, an error screen with a retry button appears so you're not left with a blank page.
- Slow-page notice. If a page's loading state has been visible for 15 seconds, it switches to a "This page is taking longer than usual" message with a reload button. The page still renders normally if data arrives.
- Session recovery. When a session check fails, the app re-checks your session automatically (at most once per 30 seconds) and only redirects to login if your session has actually expired.
- Chunk-load recovery. If part of the app fails to load after retries, a "We couldn't load this section" prompt with a reload button appears instead of a broken page.
The token is renewed once and every caller receives the updated token without a redirect.
Each card in the Engage templates gallery draws its example exchange from real inbox thread parts and lists only the steps its flow actually contains — no guessing what a template does once you're inside it. "Comment on a post" appears as the featured card at full width.
Clicking a card opens "Use template." The "Comment on a post" template prompts you for the reply text, prefilled, before posting a public reply ahead of the direct message.
Seven template names were updated: Comment on a post, Welcome new follower, Came from an ad or Reel, Story reply, Qualify commenters with AI, Flash sale, Win back quiet contacts. Each card includes a sample inbound message and a sample DM reply, a Featured label, short step names, and a public reply field in the Use template dialog.
The renamed templates take effect on the current Templates page immediately. The new gallery cards appear when the accompanying front-end update ships.
Embedded app sections on Contact and Account detail pages stay visible after navigating away and back, switching tabs, or when two views of the same app appear on one page. Each view manages its own lifecycle independently, so closing one does not affect others.
Embedded app sections on Contact and Account detail pages were disappearing after navigating away and back, switching tabs, or when two views of the same app appeared on one page. Each view manages its own lifecycle independently, so closing one does not affect others.
Four ecommerce summary endpoints are now published in the public API spec, giving developers documented access to revenue, order status, product rankings, and customer behavior aggregates via the v3 API.
Templates display in your language when you set up a new pipeline. Previously, the catalogue was available in English only.
The PUT /dealTasks/{id} spec previously omitted two fields the server enforces on every request, causing bulk task updates through the API to fail. The edate field is now documented in the request body, and outcomeId now states when it is required and what it must match. No server behaviour changed.
The custom objects panel defaults to an empty state when it can't retrieve its configuration — the same as it does for accounts with no custom objects configured. Previously, the same failure caused the entire page to stop loading, affecting approximately 257 crashes and 160 accounts per day on the Contacts page.
Account date formats that mix literal text with date specifiers now render correctly everywhere in the platform. Previously, formats like these caused an error on the Campaigns index and showed "preview unavailable" on the advanced settings page.
The date format preview in Settings uses the same converter as the rest of the platform, so the preview matches what you see elsewhere.
The consent step shown before the OAuth redirect for custom connectors is translated into your account's language. Previously it appeared only in English.
Orders that included a product the account already owned were previously rejected. The order builder keeps only one entry per product, so those orders complete as expected.
Conversation list and toolbar are redrawn with consistent measurements. Filter, Newest, and Select controls are sized consistently; Status options fold into a select beside Owner. Filters by channel, status, owner, assignee, and AI agent are available, with applied-filter chips, sort controls, a "start with this view" option, hover-checkbox selection, a selection bar, and bulk actions. Each conversation card shows an assignee and status line.
Thread pane has new bubble and reaction placement, inline notes placed in the transcript by timestamp, a typing indicator, an Active Intelligence replies toggle, and a messaging-window strip showing time remaining. Reactions appear on the message they react to rather than as a separate bubble. Loading an older page of the transcript prepends above your current position without jumping the thread backwards.
Composer has mode tabs for Reply and Internal Note with their own drafts, a flattened emoji picker, and an attachment row. The reply composer collapses to a single line and expands on focus, with image and audio attachment options and a character counter. Accepts saved replies via a menu, a / menu and library with ActiveCampaign field insertion, a reply-to strip, and image attachment by upload, drop, or paste.
Active Intelligence draft action in the composer fills the input with a generated reply you can edit before sending. The generated reply is never sent automatically. The action is unavailable when the send window is closed. A generation failure leaves any existing draft intact.
Contact panel includes Activity and Notes tabs, a Contact Profile entry, and Nurture, Automations, Deals, and Lists cards. Notes can be edited and deleted directly from the panel. An AI brief sits above collapsible sections — Details, Automations, Deals, Lists, Notes, and Past conversations — with a headline, a "N new since" indicator, a refresh control, and next steps that open an add menu with a target pre-staged. Teammates can choose which Details and header facts to surface.
Labels can be added and removed from the thread and survive a reload.
Saved replies are create-and-read only — a saved reply cannot be edited or removed after creation.
Several surfaces return empty because the relevant read endpoints are not yet available: the account's label list in Add labels, edit and delete in Manage saved replies, Assign to… on a selection, the rail Summary card and its Refresh, contact details and past conversations, and leaving a list or an Automation.
When a Contact is deleted or merged, its associated Instagram and Messenger channel identities are cleaned up at the same time. Hard-deletes cover all Contacts including soft-deleted duplicates.
In the app: The bulk Edit and "Edit all" buttons carry the full target — specific contact IDs, the current filter or search set, or "all" — at the moment of the click. An empty selection refuses to open the modal rather than falling back to "all."
Confirmation step for "edit all": When editing all Contacts in the account, a warning appears and you must type the exact contact count to enable the Apply button.
API enforcement: The bulk edit API requires web app requests to declare their scope — by IDs, by filter, or all — as a query parameter. Requests missing or with an invalid scope receive an error. Requests scoped to IDs require a non-empty contact ID list; requests scoped to filter require at least one active filter constraint. API key requests are unaffected.
The contact record includes an SMS tab displaying the contact's SMS message history. The tab shows an empty state when no messages exist and a loading indicator while messages are being fetched.
Two new fields let you manage open-tracking opt-out status per contact through the Contacts API, meeting requirements in markets such as France and Italy where this opt-out is required separately from consent to receive marketing email.
v3 API (POST and PUT /api/3/contacts): open_tracking_optout (writable, 0 or 1) sets the opt-out status. open_tracking_optout_updated_at (read-only) is a server-stamped ISO-8601 timestamp that updates whenever the value changes. Sending an explicit null returns a 422 error. The fields are covered by contact sync and bulk sync.
v1 API (contact_add, contact_edit, contact_sync): an optional open_tracking_optout parameter (0 or 1) sets the status. Omitting it leaves the stored value unchanged. Out-of-range values are rejected with a clear error message.
The contact record displays "Opted out · {date}" or "Consented · {date}", with localization for 16 additional locales.
Contact CSV exports also include a new column for open-tracking opt-out status, recording 1 for opted out and 0 for opted in.
This applies to emails sent before the opt-out was set as well: if an open is reported for an opted-out contact, no activity is recorded, no deal activity is created, and no Automation open trigger fires. Click and reply tracking are not affected.
The contact notes panel keeps its height when the embedded content reloads or navigates away, rather than collapsing and requiring a page refresh to restore.
The contact limit notification banner appears at the top of the Automations overview, the Automations empty state, the Campaigns index, and the Active Intelligence landing page.
Accounts on purchase-order, net-terms, or contract billing see an assisted "Contact us" option in the banner. The banner is hidden for accounts with a pending cancellation.
After a contact import completes, the review screen offers an optional tidy-up step. If any of the contacts you imported arrived already unsubscribed, you can archive them in one action — without touching contacts who are active, unconfirmed, or bounced on any list.
The step is opt-in: nothing is pre-selected, and a confirmation screen gates the action before anything is committed. Only the main account administrator can run it.
A few things to know before you use it:
- The archive is scoped to contacts whose every list membership is an unsubscribe. A contact who is active on even one list — including lists outside the import — is left alone.
- A contact who unsubscribed inside ActiveCampaign after the import is treated the same as one who arrived unsubscribed from the source. Both will be archived if all their memberships are unsubscribes.
- If your account's delete allowance runs out mid-run, the screen reports how many contacts were archived and keeps your selection so you can retry the remainder when your allowance refills at the next billing period.
- A minimum wait applies before a restore is permitted. Your delete allowance is not refunded when contacts are archived.
The tidy-up option only appears once the system has confirmed that at least one unsubscribed contact exists in the imported lists. If that check hasn't completed or couldn't run, the option stays hidden rather than offering a destructive action on uncertain data.
The confirmation modal, section labels, and descriptive copy throughout the cleanup screen have been updated to reflect this change. A new partial-error state is also handled: if a cleanup run archives some but not all contacts, the screen shows how many were archived and prompts you to try again for the rest.
The contact created Automation trigger is available to all accounts without any additional configuration.
Connected email settings revert to their last confirmed value when a change is cancelled or the update fails, so the settings panel always reflects what's actually saved.
If your account has two or more Brand Kits, you can tell Active Intelligence which one to use for a chat session. The Brand Kit selector appears in the @ typeahead and the Add context menu. Kits are listed with your primary kit first, marked Default. Typing filters by kit name. Picking a kit applies that kit's brand context, tone, and competitors for the session.
The selected kit stays active for the whole chat — you don't need to re-select it on every message. Once a chat has messages, its kit is locked; to use a different kit, start a new chat. Before the first message, you can pick and replace a kit freely.
Context replacement is also improved: the Add context button stays available when a chip is already attached. Picking context of the same kind — Campaign, Automation, Brand Kit, or File — replaces the existing chip rather than blocking the pick. The @ typeahead works the same way, and a footer in the menu names what will be replaced.
Accounts with zero or one Brand Kit see no change.
The checkout payment form gains placeholder text for address, state, ZIP code, name on card, and expiration date fields. Four billing labels are recased for consistency: ZIP / Postal Code, Name on card, Card number, Expiration date. The expiry and CVC helper text can be hidden while field-level error messages continue to display.
Campaign preview mini editor saves reliably across all contexts
Edits you make in the Campaign preview mini editor save correctly every time, across the Active Intelligence full page, the Active Intelligence sidebar, Automation emails, and the legacy campaign preview.
Saves happen when you finish typing, not on every keystroke — fewer unnecessary background operations and a cleaner editing experience. If a save fails, a notification appears with a Retry option, and your edit stays pending until it succeeds.
Several specific behaviors are also corrected:
- Split Campaigns save body edits to the variant you're looking at. Previously, editing with variant B selected saved to variant A instead.
- Switching variants or reopening the editor restores what you last wrote, not the original version.
- Restoring a version reopens the editor with the restored content, so your next edit doesn't overwrite the restore.
- Outlook button copy updates correctly when the button link includes a query string or the label contains special characters.
- Editor-only styling is kept out of the saved document, so what gets saved matches what your contacts receive.
The Campaign performance report has a new metric showing opens that aren't tied to an identified Contact.
The campaign editor loads fonts faster. Previously, the editor made approximately 81 separate font requests every time it opened and each time the font picker was used. Font loading uses a single combined stylesheet served from a content delivery network, so fonts appear more quickly and the repeated requests are gone.
Web-safe fonts are unaffected.
Campaign builder textarea fields display at their correct size. Fields that had been migrated to the updated design system previously rendered at nearly double their intended height. The correct minimum height is restored, and clicking the preheader field label now focuses the field.
Affected buttons included Save buttons in share modals, the generate-link and refresh buttons in the share link control, the CSV download button in the export modal, a navigation chevron in report widgets, and a popup icon in subscribe-to-list fields.
The bulk Edit and "Edit all" buttons carry the full target — specific contact IDs, the current filter or search set, or "all" — at the moment of the click. An empty selection refuses to open the modal rather than falling back to "all."
On the API side, bulk edit requests must declare their scope explicitly. Requests missing or with an invalid scope are rejected. scope=ids requires a non-empty contact ID list; scope=filter requires at least one active filter constraint.
When a bulk status change across multiple Flows only partly applies — because one batch failed — the confirmation bar reports how many flows were updated and how many could not be updated, and offers a Retry button. Retry resends only the flows the write missed, read fresh after the list has refetched. The selection is kept so you can see which flows were affected.
Brand Kit website image scanning shows accurate status
The "Images from your website" section in Brand Kit reflects the real state of a website scan at every stage.
- Clicking Refresh shows "Scanning" from the moment you click until the backend reports a result.
- When a scan fails, an error message appears above any images already collected.
- If a website crawl stops partway through, the image section shows the failure right away instead of staying stuck on "Scanning" for up to 15 minutes.
- Images collected in earlier scans are no longer removed when they don't appear in a new crawl.
- A page left open polls automatically while a scan is pending, so it switches to "Scanning" when a scheduled crawl starts without requiring a page reload.
Brand Kit displays your website domain as entered, without adding www. to subdomains. A domain like news.ycombinator.com previously appeared as www.news.ycombinator.com in both the form chip and the brand tile header. Your stored data was correct throughout; this was a display issue only.
When the image validation service is temporarily unavailable during a Campaign preview, the error is reported as a service outage rather than as an invalid image on your account.
Typing a Brand Kit name after @ — for example, @espn.com — previously returned "No results" even when the kit existed under Your Brands. The Add context search box had the same gap.
Both searches match kit names locally and case-insensitively, so your kits appear as you type. The default kit is marked with a Default badge. In a conversation that already has a kit locked, searching for a different kit shows a note explaining how to switch.
Brand Kit gains a per-kit toggle — "Auto-add new website images" — under the "Images from your website" section. When you turn it off, scheduled brand monitoring skips adding new images for that kit. Your initial image scrape and the manual Refresh button are unaffected.
New kits default to on. Kits created before this option was added default to off.
What you get in the list: A totals strip at the top shows your portfolio at a glance. Each row displays the trigger and up to five steps as visual tiles, with a count of any additional steps. Rows show the channel, an Active or Inactive state indicator (green for active, grey for inactive, red for failures), and Updated and Last run columns. The list sorts by Last run by default, with a pinned name column so it stays visible as you scroll.
Bulk actions: Select any Automations and a bar appears with a count, a Select all across pages option, and Turn on, Turn off, and Delete buttons. Bulk changes process up to 200 Automations at a time. If only some of the selected Automations could be updated, you see a clear count of what changed and what didn't.
In the Automation Canvas: The header carries an Active/Inactive switch, Test run, Save, and a menu for less-common actions. Steps appear on visual tiles with a unified color system.
Terminology changes: "Recipes" are now "Templates." States are Active and Inactive; the row actions are Activate and Deactivate. Re-engage sequences follow the same language: a live sequence is Active, a switched-off one is Inactive, and the row action is Deactivate. Sequences held unstarted remain Draft.
Run history, Re-engage sequences, and Templates all use the updated toolbar, breadcrumbs, and drawer.
The Automations performance report at Reports → Automations performance is rebuilt as a native report, replacing the previous embedded analytics view. It loads in about 1.5 seconds; on large accounts with a 14-day window, it previously took 33–38 seconds.
The report is paginated and sortable by automation name, total sends, open rate, click rate, bounce rate, and unsubscribe rate. You can filter by folder, automation, status, and date range, include or exclude Apple Mail Privacy Protection opens, and export results to CSV. The default quick date range is last 14 days (previously last week), and an "all time" option has been added.
Exporting to CSV opens a modal that polls until the file is ready and downloads it in place — no redirect required. The export respects the active table filters, including Automation ID filtering that was previously dropped. If the export takes longer than 10 minutes, the modal points to the Import/Export status page.
Group permissions for non-admin users are respected.
The rebuilt Automations Performance report is paginated and sortable by automation name, total sends, open rate, click rate, bounce rate, and unsubscribe rate. You can filter by folder, automation, status, and date, choose whether to include or exclude MPP opens, and export results to CSV. Group permissions for non-admin users are respected.
The contact lookup in the Automation path view's Review Runs selector paginates, so contacts are no longer missing from the list on accounts with large contact databases.
When an Automation run ends because of a manual action replay, the Automation history path view shows a clear, translated label explaining why. Previously, this end cause displayed as blank.
Previously, a stale flag carried forward from a prior attempt could cause a contact to pass through a later goal without the condition being checked again. Goal conditions are evaluated fresh on every retry. Normal goal processing for contacts not on retry paths is unchanged.
Previously, the wait-until field did not offer minute-level precision. You can now set a wait step to end at a specific minute offset, not just at the hour.
In the Automation Canvas path view, a run's status appears as a colored chip in the header, and completed runs show the date they finished alongside the date the contact entered. The status colors match the Review Runs dropdown, so both surfaces stay consistent.
The "Drafting content…" loading indicator in the Automation Canvas works correctly again for async blocks, so newly updated blocks display their loading state as expected.
Automation Canvas: Connector lines between steps draw straight when the step ports are aligned. Every connector — including Add step stubs and fork arms — ends in a consistent chevron. The "Add step here" gap closes when the pointer moves outside it.
Inbox read receipt: The read receipt indicator leads with a double-check icon. "Seen" on Instagram reads "✓✓ Seen". The double-check shows on every channel that supports read status; SMS shows no tick because the channel doesn't provide one.
When you ask the Automation Canvas assistant what a Wait, If, Jump To, or start-trigger condition means, it describes the condition using the same human-readable sentence the builder displays — not just a numeric ID. This means the assistant can accurately explain what a condition does without you having to look it up yourself.
Two existing API v3 endpoints — GET /automations/{id} and GET /automations/{id}/blocks — are now documented in the public spec, so tools that answer "what is in this automation?" can return accurate metadata and block-level detail rather than treating a list row as the full answer.
When the app runs inside a cross-origin frame — for example, embedded in a Google browser surface — a session expiry previously caused the page to stop responding rather than redirect to login. The redirect targets the top window correctly, so login always happens at the right place, even in embedded contexts.
Anonymous email opens are recorded by count and trigger webhooks per open. Previously, these batched anonymous opens were not counted or acted on individually.
Each anonymous open batch updates your campaign open counters accurately. Webhooks fire once per batch, after a successful write, so you won't receive duplicates if a retry occurs.
Anonymous opens do not trigger Automations.
When duplicating a Campaign with the "refresh" or "design" option, Active Intelligence shows topic suggestions directly in the preflight form, under an "Ideas for you" header. Click any suggestion to pre-fill the topic field, or start typing and the suggestions step aside.
Suggestions are drawn from your account's previous Campaigns, website content, and calendar events, then ranked for relevance and freshness. They load in the background while you review the form, so the form opens at full speed regardless.
This feature is rolling out gradually.
When you ask Active Intelligence about connecting a tool, it checks both MCP connectors and classic app connections in the same lookup and presents whichever options apply — already-connected ones appear first. Active Intelligence won't offer setup steps for something you've already connected.
- Connectors are enabled via the Tools button under the message input.
- App connections are managed on the Apps and Integrations page.
If the connector catalog is temporarily unavailable, Active Intelligence reports that connector status is unknown rather than incorrectly showing a connector as disconnected.
After Active Intelligence generates a first branded Campaign for an account that hasn't committed to a Brand Kit, it presents a set of other brand looks to consider. Each suggested card includes a recommended flag, supporting evidence, and a kit preview.
Selecting a look records your choice and clears the suggestion block. The suggestions appear only once per account and only when two or more brand candidates exist with none yet committed.
Active Intelligence's site summary reads content from your main page and up to five important pages, with each page capped at 20,000 characters independently. Recent site changes are also included, with the newest changes kept first.
Previously, the entire prompt was truncated at 20,000 characters total. Because important pages come after the main page in the prompt, they were silently dropped before the model ever saw them — meaning your site summary was effectively built from your homepage alone.
The label change is visible in the Active Intelligence preflight panel. No configuration is required.
When you choose "Duplicate with AI" from the Campaigns list or "Reuse a design" from the Start-from drawer, a short preflight form appears in the Active Intelligence sidebar before building begins. You answer a few questions about the source Campaign, then submit — Active Intelligence uses your answers alongside the Campaign context to shape the result, so the output reflects your intent rather than making assumptions about it.
- Duplicate with AI: the Active Intelligence sidebar opens with the preflight form in place of the landing screen. Submitting sends your answers with the Campaign context. Cancelling closes the drawer without sending anything.
- Reuse a design: picking a past Campaign opens a second step in the Start-from drawer, with a Back button if you change your mind. Submitting adds your answers to the existing turn. Templates keep their one-click behaviour and are unaffected.
If the preflight questions are unavailable for any reason, both flows continue exactly as before — no answers are sent and nothing is blocked.
When Active Intelligence is drafting email content for send steps in an Automation Canvas, the preview panel displays a writing spinner on those steps while generation is in progress. This gives you a clear signal that content is being written rather than leaving the step appearing empty or static.
When you ask Active Intelligence to build a segment using specific lists or tags, it builds from what it can find and tells you plainly which ones it couldn't match. The response names each unresolved item directly, so you know what the segment was built without and can decide whether to refine your request.
Previously, unmatched lists or tags were silently dropped — the segment was built and saved without any indication that part of your request wasn't fulfilled.
When Active Intelligence builds or edits a Campaign, its replies use the actual names of your lists, segments, and Campaigns. All four paths that could surface IDs in replies have been closed. When a name can't be read, the reply stays worded without it rather than falling back to an ID.
When your Active Intelligence memory storage is within 250 characters of its 1,000-character limit, Active Intelligence warns you and asks you to delete or shorten a memory before saving a new one.
Previously, Active Intelligence could confirm that a new preference was saved even when it was actually dropped because the storage limit was exceeded. You'd only discover the preference was lost later, when it wasn't applied.
A small blue info icon appears beside the widget's "Updated" timestamp; hovering or focusing it shows the label and an explanation of what the widget could and couldn't match. In edit mode, the note appears as a chip in the action row and clears as soon as you start editing the prompt.
The only case that still returns no widget is when there is genuinely no contributing data source to draw from.
Previously, some of these dimensions were absent or sparse in content analysis. Each recommendation is required to name the specific figure or account pattern behind it — so insights are grounded in your actual data, not general observations.
Engagement-performance and automation-health insights are unchanged.
When a chat run was cancelled while its request was still in flight, it could continue streaming alongside the replacement run, mixing content from two separate runs in the same thread.
A cancelled run stops before it starts streaming. It no longer resets the chat phase under the run that replaced it, and a superseded run's retry no longer interferes with the active run. The conversation thread stays clean.
When you attach files in the Active Intelligence chat, a warning appears as soon as you reach the attachment limit.
You can ask Active Intelligence to combine two existing segments into a single combined segment. Specify two segments by name or ID, choose how to combine them (OR by default, or specify another operator), and pick what to do with the result: save it as a new segment, update one of the two in place, or preview the combined audience without touching either original.
Active Intelligence reads both segments' full condition sets, joins them, and never deletes anything. If combining under a given operator would change the meaning of either segment, Active Intelligence will tell you which operator to use instead rather than writing something unexpected.
The Active Intelligence chat's Add context dropdown and @ menu display the correct "Your Brands" group heading, a "Default" tag next to the account's primary Brand Kit, and a replacement notice when swapping a context chip. These labels are localized for all supported languages.
The advanced filters in the Accounts Overview match the columns shown in the accounts table. The "contains" and "does not contain" filter operators are also available.
This period's work sharpens Active Intelligence across Campaigns, Automations, and Reports, with fixes and improvements that make the assistant more reliable, more decisive, and more grounded in your actual account data.
Highlights · 4 of 7 updates
- Best send day built in. When Active Intelligence builds an Automation, it reads your account's best send day from your own data and uses it to shape the proposed schedule, with your explicit preference always taking precedence — a direct expression of earned autonomy tuned to your business.
- Vague requests get action. Active Intelligence in the Automation Canvas leans toward taking action on ambiguous requests rather than stopping to ask clarifying questions, keeping your workflow moving.
- Contact history in Automations. Ask Active Intelligence about a specific contact inside an Automation and it returns that person's actual step-by-step history and skip reasons, not an account-wide summary.
- 4 fixes. Smaller corrections and repairs across AI & agents, SMS & WhatsApp.
7 updates: 3 improved · 4 fixed, across 3 areas.
If best-send data isn't available for your account, the behavior is unchanged.
Active Intelligence in the Automation Canvas and Automations overview leans toward taking action when your request is vague, rather than stopping to ask clarifying questions.
When you ask a WhatsApp question from the Deals CRM context, Active Intelligence routes it to WhatsApp campaign generation and presents the native WhatsApp integration first. Common misspellings — "whatsap", "watsapp", "wasap", "wpp" — are recognized and routed correctly. Previously, the Deals CRM context caused Active Intelligence to answer directly and recommend third-party tools without mentioning the native integration.
When you ask Active Intelligence what happened to a named contact in an Automation — why a step skipped them, or what they did at each stage — it pulls that person's per-step event history and skip reasons. Previously, those questions returned account-wide aggregates that couldn't tell you what happened to one specific person.
Questions about a specific contact (by email or phone number) route to the part of Active Intelligence that can see individual event records. Questions about Automations with no contact specified — like listing all your Automations, or asking why contacts generally get skipped — continue to return account-wide answers as before.
One gap remains: if a contact never entered an Automation at all (as opposed to being skipped inside one), Active Intelligence doesn't yet cover that case.
When Active Intelligence picks an audience for a campaign, saved segments are ranked by how well their rules match the campaign brief, how often they've been used in recent campaigns, their reach, and recency — before any cap is applied. Search matches rule text as well as segment names. Lists rank by name fit, then active subscriber count.
Every value requested for a composed audience segment is checked against what was actually saved. If a value was dropped during composition, the error names each missing value so the issue is visible rather than silent.
Composed segments created during a turn that never attached to a campaign — because the turn failed, asked a clarifying question, or was retried — are deleted when the turn ends, so orphaned saved segments no longer accumulate on your account.
Run status is also more accurate: a run that ended on an error is recorded as failed rather than complete. Cancelled runs stop generating content promptly, so a cancelled run stops billing. A run that has already committed a campaign is left to finish.
Widgets are only held as "coming soon" when Active Intelligence has genuinely looked for data and found none yet. A prompt it can't fulfill — for example, a nonsense string — is declined on the spot, so your Reports page isn't cluttered with widgets that keep re-running without producing anything.
Active Intelligence no longer stops a Campaign turn when it hits an unrecognised response format. You get a readable response rather than a failed turn, and you can check the Campaign preview to see where it stands.
This period's work spans Active Intelligence depth, CRM usability, and a broad sweep of reliability fixes across Campaigns, Automations, Forms, and APIs. The most significant advances push Active Intelligence closer to knowing your business cold — drawing on monitored brand pages, reading segment conditions in plain language, and surfacing richer Automation monitoring data.
Highlights · 5 of 113 updates
- Active Intelligence writes from your brand. Active Intelligence draws on your monitored site pages when writing automation emails, so generated content reflects your actual products, offers, and voice rather than generic filler — a direct step toward earned autonomy tuned to your business.
- Pipeline templates and custom stages. When creating a new pipeline in the Deals CRM pipeline view, you can choose from industry-specific templates or define your own stages with custom titles, colors, and ordering, giving sales teams a purpose-built starting point.
- Scheduled Tasks easier to find. Scheduled Tasks is a top-level item in the primary navigation, and each task card shows a distinct status chip and an actions menu so you can edit, activate, pause, or delete tasks without extra steps.
- Insights page rebuilt. The Insights page has been rebuilt with KPI cards, a By Channel panel, Delivery metrics, Trends with daily tab navigation, Top Links, Automations, and breakdown cards, giving a clearer picture of performance across channels in one place.
- 67 fixes. Smaller corrections and repairs across AI & agents, Campaigns & email, Contacts & segmentation and 10 more areas.
113 updates: 24 new · 21 improved · 67 fixed · 1 faster, across 13 areas.
Clicking "Your Dashboard" opens the agent homepage directly at the My View tab. Clicking the Reports heading itself still lands on All Campaigns Performance, unchanged.
Loading the conversation timeline for a Contact with a large WhatsApp history completes reliably, without very long load times. Previously, a Contact with an unusually large history could cause the timeline to take over a minute to load. The timeline returns the conversations collected up to a 50-page limit; if that limit is reached, you see the conversations gathered so far.
Previously, the webhook fired once per list the contact was on, plus an additional legacy call — producing multiple events per complaint.
One thing to be aware of: a webhook scoped to a list other than the sending list will no longer receive the event, where it did before. If you have webhooks scoped to specific lists for spam complaint tracking, check that they're scoped to the list the Campaign was sent from.
Previously, a two-card row with one unread card produced a mismatched layout. The side card now matches the wide card's height using the same stacked layout as a three-card row. Rows with three cards, two or more unread cards, or all-read cards are unchanged.
Sending an update request with a new template name saves that name.
Behavior details: an explicit name in the request body takes priority over any name copied from a source Campaign or template. An empty name is ignored, keeping the existing name. A non-string name returns a 400 error before any changes are made.
This update covers the name field. Other documented fields — subject, content, category, editor version, additional data, and user — are unchanged by this release.
Sending an update request with a new template name saves that name.
Behavior details: an explicit name in the request body takes priority over any name copied from a source Campaign or template. An empty name is ignored, keeping the existing name. A non-string name returns a 400 error before any changes are made.
This update covers the name field. Other documented fields — subject, content, category, editor version, additional data, and user — are unchanged by this release.
Automation runs that became stuck during the incident window of October 4, 2026 at 9:00 PM through October 5, 2026 at 5:31 PM (Central) have been recovered and replayed. Contacts who were stuck in an Automation during that window will resume advancing through their journey.
The Site Tracking domain list previously surfaced an internal system record alongside your customer-added domains. That entry is filtered out of the list and cannot be deleted through the API.
Shopify is retiring the script tag method that Forms used to appear on Liquid storefronts. Forms on Shopify stores move to a theme app embed that you enable in the Shopify theme editor.
The Forms ecommerce tab shows whether the embed is active, inactive, or unknown, with a "Turn on in Shopify" button and a "Check again" button so you can confirm the status after enabling it. Status shows as unknown when it can't be verified — for example, on a password-protected storefront.
During the transition, if both the old script tag and the new embed are running at the same time, a guard prevents your Form from appearing twice on the page. This only applies to Shopify storefronts; all other sites are unaffected.
Action required: To keep your Forms working on Shopify, enable the ac-forms theme app embed in your Shopify theme editor, then check the status in the Forms ecommerce tab.
The Segment menu in the Active Intelligence Campaign send panel shows each saved segment's size from its last run, displayed as active contacts out of total along with the date it was measured. If no measurement date is available, the row prompts you to refresh the segment on the Segments page.
List segments show their name only, as they carry no count data. If your account has no saved segments, the picker shows an empty list.
The segment card uses compact view whenever the side panel drawer is open, keeping the layout usable regardless of which path you're on.
Scheduled Tasks start and repeat on the schedule you actually set.
Task start date and cadence description. When Active Intelligence creates a task with the default one-week cadence, the task starts tomorrow rather than waiting until the following Sunday. The cadence description shown after a task is created is taken directly from the stored schedule, so what you read matches what was saved.
Recurring report scheduling. When Active Intelligence offers to schedule a recurring report, it derives the cadence from your original request using a clear order of priority: your acceptance reply wins first (for example, "yes, make it weekly"); if absent, the recurrence in your original request ("every quarter" → 3 months, "last month weekly" → 1 week); then the reporting window you named ("last month" → 1 month, "last 7 days" → 1 week, "last quarter" → 3 months); and finally a default of weekly when nothing else is specified. The offer wording itself never sets the cadence.
Previously, accepting any recurring-report offer always created a weekly task, because the scheduling step ran without conversation context and defaulted to weekly regardless of what you had asked for.
Two improvements make Scheduled Tasks more discoverable and actionable.
Clearer status at a glance: Each Scheduled Task card shows a distinct chip color and icon for its status — Draft, Active, Paused, or Done. Non-done cards gain an actions menu with Edit, Activate, Pause, and Delete options gated by the card's current status. Done cards retain a plain View button.
Better onboarding card order: The Scheduled Task idea card in the onboarding panel is positioned as the third visible card, after Brand Kit and Google Ads. The weekly performance report card is fifth. This ordering is stable across different account states.
Active Intelligence chat in split view: In the narrow split-view chat, the four chat action buttons are icon buttons with hover Tool Tips so the Schedule task option fits on the row without truncation. The home page and full chat keep labeled buttons.
Scheduled Tasks appears in the main navigation at its own URL for accounts with the updated navigation. Accounts still on the previous navigation continue to find it in the drawer as before, and any saved links to the old URL redirect automatically.
The Salesforce integration preserves currency, number, and text field values of zero during hourly account syncs, so a $0.00 currency value no longer causes a sync error.
When you fix and resubmit an SMS campaign registration that was rejected, compliance can approve it again so it reaches the carrier. Previously, resubmissions were blocked, leaving the registration stuck showing the old rejected data.
SMS broadcast approvals are saved reliably
Three changes make SMS broadcast approvals reliable. First, the save retries automatically before reporting a failure, so a brief connection hiccup doesn't stop the broadcast. Second, if the outcome is genuinely uncertain — for example, after a connection timeout — you're told to refresh before retrying, rather than receiving a generic error that gives you nothing to act on. Third, if the save succeeded but a later step failed, the broadcast is correctly recorded as approved.
If you have broadcasts currently stuck in "Pending Review," refresh the page and check their status.
The Automations tab in SMS reporting displays six KPI tiles: Credits consumed, Delivery rate, Click rate, Reply rate, Fail rate, and Opt out rate. Credits consumed counts successful sends only. The Campaigns tab retains its existing seven tiles unchanged.
Previously, the KPI tiles and block list were scoped to your chosen range, but the per-block rows showed all-time figures. Selecting "View all time" or clearing the range sends the correct parameters throughout.
Omitting both start and end date parameters returns all-time data, which was the previous behavior. Malformed dates, impossible dates, or an inverted range return a descriptive error.
The Send Now button on the resend-to-new-contacts flow sends your Campaign as expected.
As part of this fix, the form's validation runs when you click Send Now. If the source Campaign has a blank subject line, you'll see a "subject cannot be empty" alert before anything is sent — previously, a Campaign with a blank subject could be sent without warning.
Trend tabs write a metric parameter to the URL, making individual views linkable. The channel filter is multi-select and scopes the chart. The existing By Ad / Reel table is retained at the bottom.
Dynamic registration Forms support a new radio button field type. When a field in the registration form has options defined, it renders as a vertically stacked radio group with proper accessibility attributes. The review step shows the translated option label for radio selections. Helper text and error text follow the active color theme.
Email Product Catalog blocks that select products by filter display product images. When no base image is available, the block uses the first available variant image.
Base product images still take priority: if a base image exists and has a valid URL, it's used. If the base image URL is empty, the block falls back to the first available variant image. If neither is available, the placeholder appears as before. Products that already rendered an image continue to render the same image. Manually selected products are unchanged.
Password reset links work for admin accounts whose password record holds a legacy placeholder value from older installations. Previously, these accounts received a rejected reset link. All admins can complete a password reset regardless of how old their account is.
The PATCH /conversions/{id} endpoint is now documented in the API contract, matching the parameters, request body, and responses already in place for PUT /conversions/{id}. The bulkCreate operation's documented success status is also corrected from 200 to 201, with the actual response shape now specified.
The notice updates if you change the recipient. This is rolling out gradually and may not be visible in your account yet.
For contacts who have opted out of open tracking, 1:1 emails sent through a connected inbox go out without an open-tracking pixel. If an open is reported for an opted-out contact — including on emails sent before the opt-out was set — it is discarded: no activity is recorded, no deal activity is created, and no Automation open trigger fires. Click and reply tracking are not affected.
The Contact detail page gains a native Open Tasks panel in the right rail, appearing after Recent Activities and before Deals. The panel is headed "Open Tasks (n)" with an "Add a task" action.
Each task row shows type and title, due date (in red when overdue), and assignee. Tasks linked to a deal show which deal they're from. A complete checkbox triggers an outcome form when needed, then drops the count and refreshes Recent Activity. A completed-tasks toggle appears at the foot of the panel. Tasks can be edited or deleted through a shared modal; delete requires confirmation.
The panel handles the "Add a task" deep link and the header menu action. Clicking a task in the Recent Activity stream opens the panel's edit modal. The panel is capped at 100 tasks and shows "Showing x of y" when the cap applies.
When a non-admin user tries to delete a list via the API, the response status code correctly indicates a permissions issue. Callers checking the response body see no change.
Selecting the last remaining conversion in the goal settings drawer works correctly. Previously, picking the final option in the conversions dropdown could cause a rendering loop.
The one-time password email sent during an unusual login challenge reliably triggers Gmail's "Copy code" verification-code card. The block order of the email is fixed to maintain this behavior across future changes. A labeled line above the six-digit code lets Gmail surface a one-tap copy button on Android and iOS. Desktop email clients show one additional bold line above the code box — everything else is unchanged.
The global navigation renders correctly even when account data is missing expected fields — such as group membership, language settings, or user information — rather than collapsing to a placeholder state.
The GET /deals/{id} reference previously listed only three fields and used a limited example schema. The documentation now covers:
- The full deal record structure
- The 403 response returned when a user doesn't have permission to view deals they don't own
- The restricted-pipeline response shape
- Both 404 cases: a deal that doesn't exist, and a deal with neither a primary contact nor an account
- The
contactfield, documented as nullable — a deal requires either an account or a contact, but not both
No API behavior changed; only the reference documentation was updated.
All 31 query parameters accepted by the GET /automations API endpoint are now declared in the API specification. Previously none were declared, which caused API clients built from the spec to reject valid parameters before requests were even sent.
Parameters now documented include limit, offset, ids, search, active, has_message, label, filters, orders, and more. If you use an API client generated from the spec — including the ActiveCampaign MCP server catalog — valid parameters that were previously refused will now go through correctly.
Form submissions that arrive with a malformed or unsupported character set are processed rather than silently dropped.
Form submissions that triggered a slow or unresponsive avatar lookup could stall the contact redirect for 20–80 seconds. The lookup timeout is capped at 1 second.
A timeout leaves the contact's avatar status unchanged for retry on the next submission or preference-center visit, rather than permanently marking the contact as having no avatar after a single slow response.
The Form builder opens without error for Forms whose custom field data arrives in a keyed format rather than a standard array.
The Engage Insights page has been restyled to match the current design, with every panel present in a fixed order: KPI cards, By channel, ActiveCampaign, Delivery, Trends, Top links, Automations, and four breakdown cards.
A range switcher, All channels filter, and Export action appear in the header. The Daily trend tabs are linked to a URL parameter, so a specific tab is restored when you navigate back or share a direct link. Each panel has its own loading skeleton, and zero values display as 0, $0, or 0% rather than appearing blank. The layout reflows at three breakpoints to fit different screen widths.
Report counts are preserved when contact or asset names can't be read, CSV headers are aligned, and trend tooltips include locale-aware day labels.
A dedicated Emails tab is available on the Contact record page. It lists all emails associated with a contact — one-to-one sends, deal emails, and Campaign sends — newest first, 25 per page with a Load more option. Each row shows the subject, sender and recipient, and a relative date. Opening a row displays the full email in a side drawer with from, to, cc, date, and body. You can reply directly from the drawer, and a "Send an email" button opens the composer. The list refreshes after a send.
The ecommerce overview dashboard is available again, with all navigation entries and revenue reporting functionality restored.
Two improvements shipped together: short result sets no longer trigger a redundant database query to calculate totals, and the underlying query runs a lighter sort on the default view. The result is faster load times across search and pagination with no change to how results appear.
When creating a new pipeline, you can choose from 13 industry-specific templates — filterable by industry, such as Software or Real Estate — or define your own custom stages. Stages can have custom titles, colors, and ordering. Up to 50 stages are supported. If you don't specify stages, the three default stages are created as before.
The Contacts widget on a Deals CRM record loads correctly for users who don't have full deal list access. The widget displays the contact as expected.
The GET /api/3/deals endpoint accepts the same parameters it did before a recent change that introduced regressions. Large or complex Deals queries complete as expected.
Separately, GET /api/3/deals requests that combine a large limit with multiple include relations return a clear HTTP 400 response stating the maximum allowed limit for the number of relations requested, rather than failing with a memory error. Requests with fewer than two relations in include are unaffected.
GET /api/3/deals requests that combine a large limit with multiple include relations return a clear HTTP 400 response stating the maximum allowed limit for the number of relations requested, rather than failing with a memory error. Requests with fewer than two relations in include are unaffected.
When editing a deal's status on the Deals CRM side panel detail page, the search field that previously appeared is gone. Status editing works without it.
Datetime custom field values in Contact profiles display the correct time regardless of which time zone you're in. Previously, the value shown could be off by an hour for viewers whose local time differed from UTC.
A small blue info icon appears beside the widget's "Updated" timestamp; hovering or focusing it shows the label and an explanation of what the widget could and couldn't match. In edit mode, the note appears as a chip in the action row and clears as soon as you start editing the prompt.
The only case that still returns no widget is when there is genuinely no contributing data source to draw from.
Four improvements ship alongside the fix: failed AI image description calls now wait before retrying rather than retrying immediately. Picking a Content Manager image in the Campaign editor preserves its alt text. Opening the Content Manager picker multiple times no longer causes each pick to fire more than once. Templates saved by Active Intelligence are visible in the template library.
Previously, those contacts could slip through the checks and be subscribed even when they should have been blocked. The check now runs correctly for all email addresses regardless of special characters.
Contacts entering two Automations with "Add lead or contact to Salesforce Campaign" blocks at the same time could get stuck permanently and never advance. Those Contacts complete as expected. This works with the current released Salesforce package versions without any change on the Salesforce side.
Contact create, update, and sync operations accept a channel identities block, allowing a Contact to be identified by a platform-specific identity — such as Meta's per-business user ID — in place of an email address or phone number. This supports handling of Instagram and Messenger DMs where many people have no email or phone on record.
Identities are handled like tags and lists: all three write operations accept the block, an ownership check runs before any write, and identities are attached immediately after the Contact is saved. Every write response includes the Contact's identities so the correct row IDs are available. A conflict during a concurrent request returns an error; the next attempt resolves to the winning record through the identity lookup.
Searching for Contacts from the admin site search bar and following the link to the Contacts page returns results that match your search term. Previously, the search term was silently dropped, so the Contacts page showed your full contact list instead of the people you searched for — meaning any bulk edit you applied from those results affected all your Contacts, not just the ones you intended.
If you have bookmarks to Contact search results from the old search bar, those links also resolve correctly.
Contact scores no longer dip and recover when the segment engine is briefly unavailable. Previously, a throttled or failing engine call caused the affected scoring rule's points to be dropped from every contact in the batch, then restored on the next pass — causing scores to cross thresholds in both directions within the same minute.
The scoring engine now distinguishes between two situations: a missing segment (the rule is skipped, but the batch is still written) and a transient failure (the batch is left unwritten and retried on the next pass). Your scores stay stable either way.
A contact who previously unsubscribed and then resubscribes through a Form — including third-party integrations — is reactivated on the lists included in that Form.
For Forms with double opt-in, the contact receives the opt-in email, and confirming the link activates the list and triggers the expected subscribe Automations and webhooks. For Forms without opt-in, the list is activated immediately. Only the lists associated with the Form are affected; other lists the contact belongs to are unchanged.
Two issues on the contact page are resolved. The Custom Objects panel threw an error when the schemas request failed, affecting approximately 257 crashes and 160 accounts per day. The notes panel threw an error when the document body was null, affecting approximately 40 crashes and 25 accounts per day. Both are resolved.
After completing a contact import, clicking Continue in the onboarding flow finishes onboarding directly — the same as clicking Close. The Brought over review screen remains accessible, and the splash sample report is unchanged.
The Details panel in the inbox conversation rail shows the full set of fields from the linked ActiveCampaign contact record: standard fields (first name, last name, email, phone, account, job title), contact Scores, and Custom fields you have permission to view. Permissions are applied before the data is returned, so you only see fields your access allows.
If the contact record isn't linked or can't be read, the rail draws from the conversation identity as before. The contact record fills in a missing email or phone, but the identity's own values take precedence.
The Details panel in the inbox conversation rail shows the full set of fields from the linked ActiveCampaign contact record: standard fields (first name, last name, email, phone, account, job title), contact Scores, and custom fields you have permission to view. Permissions are applied before the data is returned, so you only see fields your access allows.
If the contact record isn't linked or can't be read, the rail draws from the conversation identity as before. The contact record fills in a missing email or phone, but the identity's own values take precedence. Date fields read as the named day rather than UTC midnight; choice values arrive as their labels.
A replay action card is available in the Automation Canvas. You can add it to any Automation the same way you add any other action card.
Both search parameters are now accepted, matching the behavior of the Contacts list.
Dynamic registration Forms render conditional fields correctly. A field appears or disappears based on the value of its controlling field — which can be on any step of the form, not just the current one.
- Variant labels, placeholder text, and helper text update to match the controlling field's value.
- Half-width fields are never paired with a hidden neighbor, so you won't see stranded half-empty rows.
- The required indicator reflects conditional required rules.
- The review step and saved drafts omit hidden fields, matching exactly what gets submitted.
Australian and Danish registration flows are unchanged.
Previously, this content was missing from the preview. The designer "Preview Email" path and the live-send path are unchanged.
One limit applies: if a contact received the same campaign from multiple automation runs, the preview uses the latest run, because the activity log does not store which specific run sent each email.
Emails built in the campaign designer keep their chosen fonts when recipients open them in Outlook for Windows. Previously, a font stylesheet link in the email HTML was blocked for unauthenticated recipients, causing Outlook to fall back to Times New Roman.
This fix applies to Campaigns saved going forward. Mail already sent is unchanged. Scheduled and Automation sends will use the corrected font links the next time the Campaign is saved.
Campaigns waiting on approval no longer lose their approval status when saved after this change, as long as no one edited the content.
When a mail server permanently rejects the sender or recipient address on a Campaign email, that Contact is recorded as a failed send along with the server's rejection message. Your send records reflect what actually happened at delivery — including the server's reason for the rejection.
Accepted envelopes continue to be reported as sent.
Campaigns whose tracked links had been removed were failing validation on every send attempt and falling back to a slower sending path, blocking roughly 11,700 send attempts per week in the US.
Those Campaigns send correctly. Link state is saved before validation runs, so removed links are cleared first and the Campaign passes cleanly.
Previews and test sends no longer track links that were deleted from a campaign. Previously, deleted links remained tracked during the link refresh step for previews and test sends, causing approximately 67,000 preview and test send requests per week in the US to be rejected with an error. Removed links are now marked stale the same way they are for real sends. System links (web copy, forward, update, unsubscribe) and social links are preserved.
The arrows previously appeared as bare chevrons with no background, making them hard to see and click against an email preview. They render with a bordered surface.
Three Campaign API behaviors are corrected:
- Scheduling a Campaign with a send date writes to the column the sending system reads, so the Campaign sends at the time you specified.
- Enabling a Campaign is refused when the send date is missing, unreadable, or more than one day in the past — returning a clear error instead of creating a Campaign that silently never sends.
- Sending an empty list of recipients removes all sending lists as expected.
A date-time value with an explicit offset is used as-is; a value without one is interpreted in the account's time zone and refused if that time zone is not set. Impossible dates such as February 30 are refused. Recurring and RSS Campaigns are unaffected.
API clients that previously sent past or unreadable send-date values will receive an error going forward.
Bulk-editing segments of 500,000 or more Contacts — adding tags, lists, or automation blocks — completes without timing out.
Removal operations (removing from tags, lists, or automations) are unchanged.
When both a segment filter and a text search are active on the Contacts index, the "Edit all" button is disabled and shows a tooltip explaining the restriction. The combination is also blocked at the API level, regardless of how the request arrives.
This restriction is permanent: counting affected Contacts at scale with both a segment scope and a text search is prohibitively expensive, and the operation was already producing unpredictable results. Selecting specific Contact IDs and then clicking "Edit" is unaffected — an explicit selection overrides the segment and search scope.
The "Learn more" link in the contact import connect screen and the first-login key capture step has been removed. The link previously pointed to a documentation page that returns a 404 error.
The Branding header in the form editor stays anchored above the form while you scroll, so it remains visible and accessible throughout your editing session.
Brand monitoring previously failed to scrape important pages whose URLs used plain HTTP, logging approximately 830 errors per week. Those pages are upgraded to HTTPS before scraping, so they're included in brand history runs. Both newly discovered pages and already-stored important-page records are affected.
Active Intelligence brand monitoring retries website images that previously could not be queued for processing due to temporary infrastructure errors such as DNS timeouts or expired tokens. Previously, these images were marked as permanently failed and never re-dispatched, meaning brand logo and image data could go missing after a transient error. Retried dispatches share the existing dispatch budget. Images that failed during analysis, upload, or timeout, and skipped images, are still excluded from retry.
The Brand Kit tone evaluation accepts well-formed prose descriptions that use em-dashes, semicolons, colons, and quoted brand terms. Previously, these were read as markdown formatting rather than standard prose punctuation, and a valid description could be rejected incorrectly.
Sentences are counted by terminal punctuation only — a sentence with multiple clauses joined by an em-dash, semicolon, or colon counts as one sentence. The acceptable sentence range is 4–8, and length is only flagged when the count is unambiguously outside that range.
Brand Kit images whose URLs redirect — for example, a CDN moving a file to a new path — are fetched successfully instead of being marked as failed. Previously, all redirected image URLs failed during scraping.
Between 21–28 September 2026, approximately 1,360 of 17,658 scraped image URL validation warnings were caused by redirects. Brand Kit follows up to three redirect hops, checking each hop for security risks before making the request. Redirects to non-HTTPS URLs or internal addresses still fail. All existing image size, format, and dimension validation is unchanged.
On accounts with more than one Brand Kit, each logo file is named after its brand rather than using a generic name like logo-light.png. Previously, every kit's images shared the same generic names, so looking up a logo by file name returned the most recently uploaded kit's image instead of the correct one. This affected 3,487 accounts with more than one Brand Kit. Existing files keep their current names, and nothing that reads a stored kit changes.
When building a Brand Kit from a website, ActiveCampaign retains your company's logo even when the only available artwork is a vector (SVG) file. Previously, SVG logos were skipped and no logo was stored. Raster formats (PNG, WebP, JPEG) are still preferred; SVG is used only when no raster version is available. This applies to the brand-logo import path only.
Brand Kit scraped images whose URLs contain special characters — including template fragments, spaces, soft hyphens, zero-width spaces, and non-ASCII path segments — receive metadata and display correctly. Previously, these images were marked as failed or dropped during verification. Images already saved are not re-uploaded when the Brand Kit is refreshed.
Brand Kit image scraping covers your main page and all important pages discovered during the crawl, not just your home page. The "Refresh images" button runs an images-only crawl of those same pages, up to 500 URLs per run.
Images are reconciled on each run: new images are added, unchanged images are kept without re-uploading, and images that have disappeared from your site are removed from the Website Images folder. Removed files remain in Content Manager but are unfiled from that folder.
When you change your website URL in Brand Kit, previously scraped image records are cleared before the new scrape begins, so old and new content don't mix.
Images from Shopify stores and URLs with special characters — including international domain names — are imported correctly.
Images the AI model rejects are marked invalid immediately rather than being retried over and over.
A timing issue with the 60-minute grace period is also resolved. Previously, a race condition could cause a Brand Kit image record to skip its full 60-minute waiting period and jump straight to a failed state. Records wait the full 60 minutes before being marked failed, giving processing a fair chance to complete.
When a Brand Kit competitor or tone enrichment job was refreshed, it could appear to fail almost immediately — even though the underlying work was still running normally. The job's age was being measured from when it was first created, sometimes 60–120 days earlier, so the system treated it as overdue the moment it restarted.
Jobs now measure their age from when they were last set to run. A refresh gives the job a full window to complete before any timeout is applied.
If a job was reset before this change, it may show as failed one more time. The next refresh will correct it.
If a Brand Kit's email templates fail to generate, opening the Brand Kit page triggers automatic regeneration rather than leaving placeholder text in place indefinitely. Regeneration is limited to once per 10 minutes per kit to prevent repeated attempts.
Previously, sites hosted on shared website builders caused Brand Kit to store the builder's domain instead of yours. Tone extraction and competitor research then ran against the builder platform, returning results about the hosting service rather than your business. Evidence from production showed 6 of 18 tone extraction failures in a recent week were caused by this.
Three fixes shipped together:
- Brand Kit keeps your requested domain even when a lookup resolves to a different platform domain.
- Tone extraction scrapes your website URL directly, so already-stored kits benefit too.
- Competitor research uses the host of your website URL, with a fallback to the stored domain.
Importing a URL also stores the domain correctly, so a second import of the same site is rejected as a duplicate rather than creating another kit.
A separate reliability improvement means tone extraction handles pages that return an error or where a tone can't be determined — these are treated as skips rather than failures.
Bounced contacts show a correct date in their list membership history. Existing contacts with a missing bounce date are also repaired automatically.
Scheduled insight runs that previously saved late — or required retries — due to large tool responses save on the first attempt. Between August 25 and September 25, 330 failed save attempts across 6 tasks on 5 accounts caused insight emails to arrive 10–40 minutes late.
The fix measures the size of the stored transcript before saving and trims only the largest tool responses — one at a time — until the item fits. Trimmed content is replaced with a marker that follow-up chat can read, so the conversation stays coherent. Insights whose transcripts are already within the size limit are stored exactly as before, with no trimming.
The path view in the Automation Canvas returns the complete set of blocks, including ghost blocks, so the view accurately reflects the full structure of your Automation.
Both entry points trigger the same monitoring prompt, so you can reach automation monitoring without leaving the canvas. This option is not yet enabled in production.
The entered and exited contact counts on your Automations reflect the true running totals. Previously, saving an Automation could silently overwrite those counters with stale values, causing the displayed counts to fall behind reality. The counters are updated correctly regardless of when or how often an Automation is saved.
New data points cover: Contacts who entered and completed the Automation during the period, current Contacts in the Automation, and a week-over-week comparison. Without an explicit date window, the report snaps to the last complete Monday–Sunday week. Automations with historical activity but a quiet recent week still produce a report.
Authentication redirects containing path separators are handled correctly, and the encoding used matches what the platform expects. A mismatch introduced in early October had caused redirect failures and prevented the authentication cookie from being set.
Each Campaign is counted once in the All Campaigns performance report, regardless of how many times the same label appears on it. Sends, opens, clicks, bounces, unsubscribes, and revenue figures reflect each Campaign exactly once.
Clicking the CSV export button on the All Automations report starts a background export using whatever folder and status filters you have active. When the file is ready, a success notification appears with a link to the import/export status page where you can download it.
CSV columns included: Name, Status (Active/Inactive/Paused), Contacts, Campaigns.
The export button is part of the native All Automations report, which is rolling out gradually.
The Reports view for all Automations shows each Automation's name, status (active, inactive, or paused), unique subscriber count, and Campaign count. You can filter by folder, Automation ID, or status, and sort by name or subscriber count. Hidden Automations are not included, and each user sees only the Automations their group has access to.
Active Intelligence discloses when it applied your brand to a generated Campaign, naming the source of the brand choice once the engine confirms the brand survived into the final output. A Rebrand action is available whenever a brand was applied automatically or from an existing Brand Kit, or when no brand exists — letting you pick, keep, or adjust the brand on the same turn without starting over.
If a brand was found while a Campaign was still being built, the next successful generation leads with a note that your brand has been found since your last email, shown once per newly confirmed brand.
Active Intelligence's site summary reads content from your main page and up to five important pages, with each page capped at 20,000 characters independently. Recent site changes are included, with the newest changes kept first.
Previously, the entire prompt was truncated at 20,000 characters total. Because important pages come after the main page in the prompt, they were silently dropped before the model ever saw them — meaning your site summary was effectively built from your homepage alone.
Summaries also display at their full length. They were previously cut short at incorrect lengths.
Attached email files (.html, .xml, .eml, design export) that Active Intelligence previously couldn't open now load correctly. Files are located by their unique name within your account's uploads, regardless of how they were stored. If a file is genuinely missing, Active Intelligence asks for a fresh attachment rather than retrying indefinitely.
When Active Intelligence shows a preflight form during Campaign generation and you reload the page, the form reappears with the same context it had before the reload. Any answers you'd already entered are restored, and continuing from there follows the same path as answering inline. A form you had already dismissed stays hidden.
Switching tabs on the Active Intelligence homepage updates the address bar. Any tab can be bookmarked or shared as a direct link. If you open the homepage without a tab parameter, your last-used tab opens as before.
Reopening a system alert in the Active Intelligence notifications center returns to the existing chat for that alert, across any device. Previously, each time an alert was reopened, a new chat started.
Conversations started from a system alert are saved per user and restored when you reopen the same alert. If a saved conversation no longer exists, a new one starts automatically.
The Active Intelligence widget charts display correctly for users whose account language is set to Brazilian Portuguese. Previously, the charts failed and took down the agent page for those users.
When you ask Active Intelligence to create a Campaign without specifying a URL, it draws on your brand's own monitored site pages as source material. The generated email reflects your actual products, offers, and voice rather than generic content.
Pages are passed to the email composition service automatically, separate from any URL you explicitly attach. If brand monitoring is off or no pages are stored, behavior is unchanged.
Product images from your pages, not nav chrome. When harvesting images from a linked page, the engine skips navigation menus, headers, and footers before selecting pictures. Multiple renditions of the same photo collapse to the widest version.
Images from a named page outrank Brand Kit images. Pictures from a page you explicitly name are ranked above generic Brand Kit images, so off-subject kit photos are refused rather than placed.
The engine includes a guard against inventing content from site pages that wasn't in your brief.
When you import an Automation recipe and have access to Active Intelligence, the setup prompt appears in the Active Intelligence sidebar. If the sidebar is closed or a new chat is started while setup is in progress, the import drawer opens as a fallback so setup is never lost. For accounts without Active Intelligence access, the import drawer works exactly as before.
The setup card only appears on the builder page for the specific Automation being imported; opening a new tab or navigating elsewhere clears it. Per-step import cards after clicking "Get Started" still open in the legacy drawer.
Active Intelligence reads your effective SMS permissions and explains a limitation before attempting to generate SMS content, so you get a clear answer before any generation begins.
When Active Intelligence creates a Campaign, it sets the audience and the page respects that — no second write, no conflict. Previously, the page applied the audience again under different rules, which could produce a mismatch and show a false "send plan invalid" error. That false error no longer appears.
The schedule is still written by the page. A send whose only component is the agent-set sending address is accepted correctly.
Snapshot counts show the date of the last run; a snapshot with no recent count is reported as "no recent count" with a pointer to refresh it on the Segments page. The one segment attached to a Campaign in a given turn still gets a single live estimate, matching what the Campaign page itself does.
Before saving a composed segment, its condition tree is compared against the account's most recently updated saved segments; if an equal segment already exists, it is reused and nothing new is saved. A composed segment that leaves out a requested field value or tag is never saved, and the reply says what was left out.
Lists, segments, tags, fields, and the sending address are read concurrently, once per turn, reducing latency.
Brand monitoring previously checked only a brand's homepage for changes. When the homepage was unchanged but other key pages had changed, the result was "no updates recorded."
Brand monitoring now reads important-page history alongside homepage history, so changes across your brand's key pages are captured. It also includes important pages on your site's www host and subdomains — for example, news.example.com — when those pages appear in your site map. Previously, these pages were discarded even when the site map listed them, because the check required an exact host match.
Pages still excluded: subdomain or www URLs the site map did not return, parent domains, and look-alike hosts. The brand's own homepage is also excluded from the important pages list, since it is already scraped separately as the main page.
On a split-test Campaign in the Active Intelligence canvas, the "Split test" pill sits on the variant row, to the right of the variant tabs and "Add variant" button, rather than dropping onto its own line below the settings row. Non-split Campaigns are unaffected.
The weekly Automation monitoring report surfaced by Active Intelligence includes period-scoped Contact counts alongside lifetime totals.
New data points cover: Contacts who entered and completed the Automation during the period, current Contacts in the Automation, and a week-over-week comparison.
Without an explicit date window, the report snaps to the last complete Monday–Sunday week. A single request can compute both the current and prior period windows for comparison. Automations with historical activity but a quiet recent week still produce a report.
POST and PUT requests to API v3 endpoints that sent a double-encoded JSON body previously caused an HTTP 500 error. The API returns HTTP 400 with a descriptive message — for example, "Request body must be a JSON object, string given" — for double-encoded strings, bare arrays, numbers, and booleans. Every other request is unaffected.
If your integration sends requests to POST /api/3/contactTags and has been receiving errors, check that your request body is a JSON object rather than a JSON-encoded string.
API v3 calls that use a Bearer token or API token complete normally even when the session store is temporarily unavailable. These calls don't rely on session persistence, so they fall back gracefully. Browser and admin sessions are unaffected.
The expanded documentation covers read endpoints for contact lists, contact tags, field values, notes, bounce logs, tracking logs, contact automations, contact goals, and geo IPs. Notable behavioral details are now documented: contact automations pages only when a limit is sent; geo IPs is capped at 100 rows with no guaranteed order. Null-value handling is documented for a set of fields. No behavior in the API itself changed.
The pink/blue AI gradient header is consistent across all pages that use the shared AI prompt header — SMS, Forms, Segments, Business Goals, and Automations. The Automations list skeleton no longer flashes a pale-blue style before the header loads.
Previously, a blank date field caused the wait block to stall permanently — the step would never advance and the Automation would be stuck. The wait block skips the comparison cleanly when no date is present.
This period's work deepens Active Intelligence's role across the product — from Automation setup and segment editing to conversation memory and file recall — while a wave of Deals CRM, Campaigns, and SMS improvements tighten everyday workflows.
Highlights · 5 of 40 updates
- Automation recipes catalog. A Recipes page in Automation Canvas lets you browse, filter, and install pre-built Automations in a single click, giving new and experienced users a fast path to live Automations.
- Deals panel on contact page. A new Deals panel in the contact detail sidebar lets you view, filter, and page through open, won, lost, or all deals for a contact, and add a deal without leaving the record.
- Granular SMS send permissions. SMS builder and index permissions can now be split so team members without send access see the Schedule/Send button disabled, and those without management access get a read-only view with no create, delete, or duplicate actions.
- Guided first Automation experience. Accounts with one or fewer Automations see a first-time experience on the Automations index page featuring Active Intelligence chat, personalized suggestion chips, a Prompt Builder, and blueprint cards to activate immediately.
- 18 fixes. Smaller corrections and repairs across Automations, CRM & deals, AI & agents and 5 more areas.
40 updates: 11 new · 11 improved · 18 fixed, across 10 areas.
Sorting is handled server-side, so every Campaign in your account stays reachable across pages regardless of how many you have. The sort arrow on the column header shows the active direction.
In the Re-engage sequence detail drawer, each step's label and message copy appear on separate lines with clear spacing between them.
When you edit a segment by typing a new prompt in Active Intelligence, the segment card reflects the updated conditions immediately. The segment detail and audience queries refresh as soon as the segmentation response streams in, so what you see matches what you asked for without a manual reload.
On the automations tab of the SMS performance report, a new Automations dropdown lets you narrow the report to one or more specific Automations. The block list and KPI snapshot both update to reflect your selection. Your filter is saved in the page URL, so you can share or bookmark a filtered view. Switching to the campaigns tab clears the filter.
In the SMS builder, the Schedule/Send button is disabled for users who don't have send permission, with a Tool Tip on hover so they know who to hand off to. The builder itself is only accessible to users with campaign management permission; others are redirected.
On the SMS index, users without management permission see a read-only view: the Create button is hidden, row checkboxes and bulk actions are removed, and Delete/Duplicate are gone from the row menu. Draft rows show a "View SMS" button; sent and sending rows keep "View report."
This is part of the SMS Permissions rollout and is off by default. When it's enabled for your account, the behavior above takes effect automatically.
The SMS Automations report date filter previously scoped the KPI snapshot but not the row list. Selecting a date range with no activity showed every automation with blank metrics instead of an empty state.
The filter applies consistently to both the KPI tiles and the row list. When the selected date range returns no results, a clear empty state appears with recovery options. A malformed or inverted date range returns an error rather than silently falling back to a 30-day window.
Row-level metrics remain all-time figures and do not yet reflect the selected date range.
If your message variables contain HTML that the Visual editor couldn't represent — tables, image layouts, style tags, full document markup — opening them in Visual used to flatten that markup to plain paragraphs, and saving would overwrite your original code.
The Visual editor renders those blocks as editable sections in place. Your original markup is preserved exactly. Toolbar actions — bold, italic, underline, strikethrough, alignment, lists, indent, text color, block type, link, and clear formatting — all work inside those blocks. Blocks you don't touch round-trip without any change. Personalization tags, conditional content, and the rest of the toolbar behave the same regardless of content type.
Two things to know: Clear Formatting does not remove links — use the link popover's Remove button for that. Font size changes don't apply inside raw blocks.
The landing pages editor no longer shows a second scrollbar alongside the page editor.
In the form builder's field editor, clicking the "Required" checkbox label reliably toggles that field's required state for all field types.
When you submit a Denmark SMS number registration, the review step waits for the number to be fully provisioned before navigating to the hub. The hub shows the correct status immediately on arrival — ready when the number is provisioned, or a specific address or purchase failure reason if something went wrong — rather than a long pending state that didn't reflect what was actually happening.
On a successful registration, you land in the hub. On a failure, the review page stays open and surfaces the specific reason without implying a document rejection. Status chips and send-readiness indicators treat a provisioned number as approved and a failed one as an error.
The Deals panel sits in the right-hand rail of the contact detail page. It defaults to showing open deals and lets you filter by open, won, lost, or all. Pagination is built in, and an "Add deal" button creates a deal and immediately updates the panel and count.
Restricted deals show only their title and a no-permission note, and are sorted last in the list.
When potential duplicate deals are detected, a banner appears inside the deals list and scrolls with your deals rather than crowding the activity stream.
Accounts on a starter plan see an upgrade prompt with a link to the Deals upgrade page instead of an empty panel.
In the Deals CRM tasks view, the four task buckets — Overdue, No Task Assigned, Upcoming, and Scheduled — share fixed column widths. Contact Name, Account, Deal Title, Next Action, Deal Age, and Deal Value line up consistently across all buckets regardless of what's in each cell.
When a bucket has no tasks, it shows a clean header with a count of zero — no expand/collapse control and no empty table. Buckets with tasks continue to work as before.
When you open the Add a task modal on a deal detail page, the task type defaults to Call, the due date defaults to today, and the due time defaults to the current time. Save is enabled the moment the modal opens.
The Call default matches by name from your account's task type list. If your account has no task type named Call, the dropdown shows its usual placeholder and you pick from your list. Editing an existing task is unchanged: it shows the task's saved type, date, and time.
The "Welcome to Deals CRM!" modal no longer appears when a pipeline search returns no matches. It's reserved for accounts that have no pipelines at all.
When Active Intelligence sets up your reporting dashboard for the first time — a process that can take up to about four minutes — the header and controls stay visible throughout. A step-by-step progress display walks through what's being built: pulling numbers, creating visualizations, and assembling each widget, with a midpoint marker and a closing message when the widgets are ready.
Skeleton cards below the header show real chart shapes dimmed to signal they aren't live data yet. Reduced-motion settings are respected: charts appear dimmed and static instead of animated.
A custom connector setup form is available in the integrations area, so you can configure a custom connector directly from the product.
The contact record displays a contact's email open-tracking consent state in two places: a header row reading "Email open tracking: Opted out · [date]" (shown only when the contact has opted out) and a read-only field in General details showing the state and date.
The field distinguishes three states — opted out, consented, and never asked. Contacts that have never been asked show an empty field value, hidden by the panel's Show Empty Fields toggle.
When no task is assigned, a placeholder is shown. Restricted deals show neither the stage color nor the next-task line. The account page deals view is unchanged.
The contact import card appears in the right rail of the Inspire me tab, beside the Build engagement ideas cards, rather than on the Your dashboard tab. When the import card would be the only content on Inspire me and account data hasn't loaded yet, the tab waits rather than opening a blank rail. The legacy homepage placement is unchanged.
The Store column on a Contact's ecommerce tab shows the correct store name for every order, including those from connections beyond the first 20.
The Active Intelligence prompt header on the Campaigns page displays a violet, blue, and pink gradient band across the top, matching the visual treatment used in the Automations first-time experience.
Also: clicking a suggestion chip refills the prompt every time, including when you've edited the text it placed and click the same chip again.
If your campaign's audience is a single tag that isn't among the first 100 tags loaded in the dropdown, the field fetches that tag by ID and displays it correctly. The fetched tag is cached immediately, so there's no delay or blank flash.
Search in the tags dropdown also covers every tag in your account — your search text is sent to the server, so no tag is silently out of reach. Tags already shown stay visible while a new search loads.
The dropdown still shows up to 100 tags when you open it without searching.
When a campaign's audience uses a single "Tag exists" custom condition, the Send To field correctly identifies the segment, shows "Edit conditions," and opens the builder pre-filled with your saved conditions. Existing campaigns are fixed without any changes to your data.
Accounts with one or fewer Automations see a guided first-time experience on the Automations index page instead of an empty list. The page shows a prompt box that opens Active Intelligence chat, three personalized suggestion chips, a "Help me build a prompt" button that opens a Prompt Builder, and a tabbed section of three personalized blueprint cards — each showing a Trigger → Action flow diagram with an "Activate now" button.
Chips and blueprints are cached for 24 hours. If either call fails, static fallback suggestions render. The experience disappears once an account's Automation count rises above one.
When you import an Automation that requires setup, the Active Intelligence sidebar opens with a setup card offering "Get Started" and "Skip setup" buttons. The card matches the previous import drawer's behavior: an entitlements warning banner appears for upgrade-entitlement imports, and buttons show a loading indicator while the builder is processing.
If you dismiss the sidebar — by starting a new chat, navigating away, or opening another call-to-action — the builder falls back to the original import drawer, including the "Back to recipes" option. The setup card only appears on the builder page for the specific Automation being imported; opening a new tab or navigating elsewhere clears it.
This prompt appears only for accounts with Active Intelligence access. Accounts without it continue to use the existing import drawer unchanged.
Per-step import cards after clicking "Get Started" still open in the legacy drawer; moving those into the sidebar is planned for a future update.
Previously, steps placed after a follow gate were hidden or never ran because the builder didn't know how to display the gate's paths. Steps saved after a gate on the same path load onto the follower arm, which is where contacts actually travel.
A gate with empty arms is not flagged as incomplete. Like any split, a gate ends its path and can't be inserted mid-flow.
A Recipes page lets you browse a catalog of pre-built Automations, filter it, and install one in a single click. Installing creates the Automation in a paused state, so nothing goes live until you switch it on.
The buttons appear on the latest settled reply, only when a confirmation with both options is present. Clicking either sends your answer through the same path as the existing Automation continue button. The buttons are hidden if a later message arrives, if the reply is still streaming, or if a newer Automation result supersedes the current one.
The Automation Canvas builder loads correctly after you preview an Active Intelligence-generated automation and click "Review and Activate." Some new accounts previously saw a blank builder page after that step.
The Approvals tab stays mounted while a previously-failed suggestions read is retrying. The initial load still hides the tab, and a successful empty read still redirects away from the approvals URL as before.
The button appears in the tab header on the right side, consistent with the layout of other deal tabs. Upload behavior, authentication, and notifications are unchanged.
Active Intelligence can act on IDs that appeared earlier in the same conversation, whether you typed them, a tool returned them, or they appeared in a table, without requiring you to restate them.
When a chat request times out, Active Intelligence displays a warning banner with a Retry option. Two cases are handled: a request that never started, and a reply that began then went quiet. Retry sends the same message again. The banner appears as soon as the stall timer runs out and follows your light or dark mode setting.
The warning banner on the Active Intelligence instructions page — shown when no instructions have been saved — displays its full description text below the title.
Email addresses used as contact IDs: when you pasted a list of email addresses, Active Intelligence was sending each one as a numeric contact ID, which the API refused. It recognizes that an email address is not an ID, looks up the correct numeric ID first, and continues.
Unrecognized parameter names: query parameters the API doesn't accept were refused 526 times across 334 conversations in the seven days to October 2, halting the task each time. Active Intelligence checks parameter names against the API before sending, so invalid names are caught and corrected before the request goes out.
One limit remains: segment UUID values on contact lookups will be refused until the API catalog is updated to reflect that the API accepts them.
Previously, Active Intelligence reported the emails as built even when none were generated. Accuracy on this scenario improved from 0 out of 12 correct responses to 9 out of 12.
When you attach a PDF or other document to a conversation and reference it in a later turn, Active Intelligence can read the file's contents again. Previously, re-reading a file from an earlier turn failed silently — Active Intelligence fell back to a shorter summary of the file, losing detail, or declined with a message that it couldn't open the file. Over 30 days in production, 184 "could not read the stored file" fallbacks occurred from this cause.
Previously, an empty symbol list caused the rename request to fail before it was sent. The rename proceeds with the correct data and leaves all other Brand Kit content unchanged.
When Active Intelligence builds a widget from a single Automation's block events, the reviewer sees the send and skip totals, block type counts, and total event count that the chart actually renders.
The "View all integrations" link goes to the integrations listing page.
This period was dominated by Active Intelligence improvements, with sharper Campaign content generation, more reliable contact and deal insights, and a wave of polish across the AI experience. Segmentation, Deals CRM, and reporting each picked up meaningful additions alongside the AI work.
Highlights · 4 of 28 updates
- Smarter Campaign content generation. Active Intelligence generates Campaign content with automatic brand style application, blank placeholders for discount codes and deadlines only you can supply, and more precise proposal review to avoid rewriting content you've already provided.
- Deals tab sort and filter. The Deals tab on a contact's profile gains sort controls and filters for Pipeline, Stage, and Owner, so you can find the right deal without scrolling through everything.
- SMS Automation performance in Active Intelligence. Active Intelligence can report on your SMS Automation activity — account-wide or for a specific Automation — covering sends, deliveries, replies, failures, opt-outs, and clicks.
- 5 fixes. Smaller corrections and repairs across AI & agents, Contacts & segmentation, Other and 1 more area.
28 updates: 9 new · 14 improved · 5 fixed, across 10 areas.
When you choose to resend a split Campaign, a picker lets you select which variant to send. It defaults to the winner, or shows no selection if no winner has been decided yet. The resent Campaign goes out as a regular Campaign with one email, not a split test — a note in the picker tells you this before you confirm.
The restored flow is fully localized: all supported languages see translated labels for the variant selection prompt, winner badge, and validation message.
Visibility toggles: The Image, Title, and Author elements on a Showcase block can each be shown or hidden individually using the visibility switchers in the editor panel. At least one element must remain visible.
Text truncation: A "Truncate text" switch in Showcase block settings limits Title to 2 lines and Author to 1 line, with "..." added when text is cut. Truncation is applied when you write text into the block, because email clients do not run scripts. The character limit is based on the tile's width — not a pixel-exact measurement — which is an accepted trade-off given the email's fixed content width.
Visibility toggles apply to newly added Showcase blocks. Blocks already saved in existing templates or Campaigns keep their previous settings.
The /schedule-task entry in the Active Intelligence composer slash menu shows a Tool Tip on hover explaining what Scheduled Tasks do. The tooltip reads: "Set up work that Active Intelligence runs for you on a schedule — a Monday recap, a daily check on bounce rates, a Friday list of contacts who went quiet. Describe it once and say how often; the results come back to you each time it runs."
The Scheduled Tasks chat input displays three example prompts that rotate to show you what kinds of tasks you can create:
- "Every Monday, recap last week's campaign performance."
- "Every month, draft a campaign based on content from my site."
- "What scheduled tasks should I create to help my marketing?"
These appear in the collapsed composer so you can see possibilities before you start typing.
The landing page editor top bar shows two corrected labels.
The "View as" label before the desktop/mobile device switch previously displayed as a raw translation key. It renders correctly.
A "Selection:" label has been added before the context menu that shows Auto, Element, Column, Row, and Section options.
Both labels are localized so each language can punctuate them appropriately.
The post-import performance report includes an industry average benchmark line under the open-rate and click-rate rows, displayed as a formatted percentage — for example, "Industry avg 24%" — so you can see at a glance how your historical sending stacks up against your industry.
Previously, every tool error triggered repeated calls that could never succeed, exhausting the retry budget.
Errors caused by your input or account configuration end the run with a clear result rather than a failure. Errors on read-only or idempotent operations may retry once after a short delay. Errors on write operations that may have partially applied end the run with a result noting the partial state. All other errors end the run immediately.
The filter appears in the list controls row alongside the unread toggle and sort controls. The list updates in real time: if a conversation moves out of the current filter view — for example, a conversation gets assigned while you're viewing Unassigned — it's removed from the list automatically.
The Deals tab on a contact's profile gains a sort control and three new filters — Pipeline, Stage, and Owner — alongside the existing status filter.
Sort options: Newest First, Oldest First, Recently Updated, Least Recently Updated, Value High to Low, Value Low to High, and Alphabetical A–Z / Z–A. The default order is newest-created-first.
Pipeline, Stage, and Owner options are drawn from the contact's own deals, so every option in the list returns at least one result. Stage options group under pipeline headers until you pick a pipeline, then only that pipeline's stages appear. Changing the status filter drops any Pipeline, Stage, or Owner selection that no longer applies.
When filters narrow the list, a "Showing N of M deals" count appears below the toolbar. If no deals match, a distinct empty state appears with a prompt to clear filters. When you add a deal while filters are active, a toast offers "Show all deals" to reset the view.
Clearing filters leaves the status filter alone. Filter and sort choices last for the session only — they are not saved between visits.
One value per filter is supported. Multiselect for Pipeline, Stage, and Owner, and sorting by pipeline, stage, or close date, are not included in this release.
Active Intelligence Deals CRM insights have been substantially improved across forecasting, pipeline summaries, and multi-currency handling.
Forecast improvements:
- The top-3 deal concentration figure is bounded to 100%. Previously, mismatched deal populations could produce figures like "191% of forecast depends on the top three deals."
- Forecast results can be scoped to a date window — "this month" or "Q4," for example — so the card answers the question you actually asked.
- Deal win probability is used per deal when available (0–100%), with stage position as a fallback only. Accounts without win probability configured keep the previous behavior.
Pipeline summary improvements:
- Pipeline health and stalled deals use the same scope by default. Previously, pipeline health defaulted to the first pipeline while stalled deals covered all pipelines, causing stalled counts to appear larger than the total pipeline on multi-pipeline accounts.
- Stage bottleneck detection is per-pipeline: a stage is flagged when it holds more than 40% of its own pipeline's open deals, not 40% of all open deals across the account.
- The 1,000-deal fetch cap and access-exclusion notes appear as a closing footnote rather than as a primary insight, so they no longer dominate the card.
Multi-currency handling:
All monetary totals — pipeline value, forecast, stalled value, owner performance, similar deals — are summed per currency. When deals in a scope use different currencies, the total is shown per currency rather than added together. Single-currency accounts see the same figures as before, now labeled with the currency code.
The hex input label in the color picker displays "Hex" as expected.
The operator labels for subscribed-list conditions in the segment builder now describe what each operator does, making it easier to build the segment you intend.
For accounts without a Brand Kit, Active Intelligence begins building the brand candidate set as soon as a conversation opens, so candidates are ready by the time you finish typing your first message. Accounts that already have a Brand Kit are not affected.
The Automation path view displays a Tool Tip when the Automation is paused. If you're looking at a path that isn't moving and wondering why, the Tool Tip tells you the Automation is paused so you know exactly what to address.
A new metric for anonymous pixel tracking is available in the campaign performance report, giving you an additional data point on how your Campaigns are being engaged with.
Active Intelligence's top-engaged contacts feature loads correctly on accounts with large subscriber lists, where it previously returned an error.
The updated toolbar appears in the Agent home, conversation view, Scheduled Tasks, and Campaigns. While the attach menu is open, the plus sign rotates to an × to show the menu is active. Users who have reduced motion enabled in their system settings see the open state without the rotation animation.
The process can take up to about four minutes. The dashboard header and controls — Create, refresh, and manage — stay visible throughout so you know you're in the right place.
A step-by-step progress display walks through what's being built: pulling numbers, creating visualizations, and assembling each widget, with a midpoint marker and a closing message when everything is ready.
The skeleton cards below the header show real chart shapes — area, bar, line, and pie — dimmed to signal they're not live data yet, with a slow sweep of light across them. If you have reduced-motion settings enabled, the charts appear dimmed and static instead. The quick skeleton shown on normal page loads for returning users is unchanged.
Active Intelligence uses a filtering step when processing results from API calls. When a response wraps its list inside an object — as the brand kits response does — Active Intelligence previously returned an error instead of the records you asked for. Active Intelligence now navigates nested response structures correctly, so requests that previously failed with an error return the results you'd expect.
Active Intelligence handles discount codes and deadlines more precisely when generating Campaign content. When a discount code or deadline is something only you know, Active Intelligence leaves a blank placeholder in the draft for you to fill in rather than inventing a value. The review step that checks proposals has also been strengthened: it correctly distinguishes promotional codes (including digit-leading codes like 20OFF) from units, ordinals, and other number-like strings; reads currency amounts in words and symbols across multiple languages; and recognizes offer patterns like "Buy 2 get 1 free" and "BOGO." Proposals that try to rewrite existing content, or that ask for something already provided earlier in the conversation, are rejected. The preheader suggestion is only offered when the email's preheader is currently empty.
Active Intelligence also applies your brand style to Campaign generation automatically, without requiring a Brand Kit to be saved first. When a brand has been built in the background and meets the confidence threshold, it's applied to the generated email automatically. You can override this at any time by submitting your website or choosing to describe your brand manually.
When Active Intelligence encounters specific situations while editing or importing a Campaign, it surfaces notices in plain language.
- Import notices: descriptions explain which kind of design element could not carry across during an import, and how pasted copy was interpreted.
- Image spot notices: when a picture slot could not be filled, the notice names the slot by its section number and image source.
Four in-chat notices are also shown during Campaign editing: a "no change needed" notice citing the section numbers involved, an "image not found" notice when a required picture could not be located, a "designer-ported layout" notice when a layout was rebuilt because Active Intelligence cannot edit it directly, and a "conditional content unavailable" notice when a first-name greeting was left as written.
The context selector in the Active Intelligence toolbar uses an updated icon and adds Tool Tips to its controls, completing the interactive behavior of the control.
Active Intelligence can retrieve conversion attribution data for Automations, including lifetime converted totals and conversion percentages. A converted total or percentage of 0 is reported as 0; a missing or non-numeric field is treated as not available and not reported as zero.
This capability is behind a feature flag.
Open counts, open rates, and click-to-open rates reflect the raw count that includes Apple Mail Privacy Protection opens. The other improvements from the earlier data-source change remain in place.
Previously, opens and clicks from sends that predated your selected window were included, which caused unique opens to exceed total sends in low-volume Automation emails.
Active Intelligence can report on your SMS Automation activity — account-wide or for a specific Automation — when you ask about it.
You can ask how many SMS Automations you have, request performance data for a specific Automation by name, or see metrics scoped to a single Automation. Metrics include sends, deliveries, replies, failures, opt-outs, and clicks. Automations that exist but have never sent are included in the count, so the total reflects your actual setup, not just active senders.
Reply rate can display above 100% when accumulated replies in the 30-day window exceed the send count in that same window.
When Active Intelligence looks up your top engaged Contacts, it uses the correct data source. If that lookup fails, Active Intelligence retries once via the correct source and then declines the widget with the actual failure reason — rather than substituting a different, slower query that could cause "API experiencing high load" errors and obscure what went wrong.
The button and modal title for adding a contact in the deal detail Overview contacts panel and account detail contacts card read "Add a contact", matching sentence case used across the rest of Deals CRM.
This period's work concentrated on Active Intelligence becoming a more capable and reliable collaborator — suggesting next steps after Campaign generation, answering SMS performance questions, and fixing settings persistence — while CRM and SMS workflows picked up meaningful usability improvements.
Highlights · 4 of 25 updates
- Active Intelligence suggests Campaign additions. After Active Intelligence generates a Campaign, up to three additive suggestions appear above the composer, each identifying something the email is missing — such as a preheader, a personalization tag, or a call-to-action — so you can act on them in a single click.
- Filter and sort deals on contact profiles. The Deals tab on a contact's profile gains sort controls and filters for Pipeline, Stage, and Owner, making it straightforward to find the right deal without scrolling through every record.
- SMS click metrics in Active Intelligence. You can ask Active Intelligence about SMS Campaign click counts and click-through rates, with CTR calculated consistently against delivered messages and raw counts returned when a reliable rate cannot be computed.
- 9 fixes. Smaller corrections and repairs across AI & agents, CRM & deals, Admin & permissions and 3 more areas.
25 updates: 7 new · 9 improved · 9 fixed, across 10 areas.
The Clarivate integration tile and its connection settings page display Clarivate's logo. The grey placeholder that appeared previously is replaced in both the integrations list and the single connection edit page.
When you mark a deal task complete and the task type requires an outcome, an outcome step opens — with an outcome picker, a "More info" input, and Cancel / Mark complete buttons — before the task is saved. Tasks whose type has no outcomes still complete in one click.
The page header on the Edit Segment tab maintains its full height when the segment builder below it is tall. Previously the header shrank on the Edit tab compared to the Contacts tab.
The Contacts tab on a segment — available both on the edit segment page and in the Active Intelligence sidebar — displays the total number of matched Contacts above the list.
The count behaves accurately at every stage:
- A loading skeleton appears while data is fetching.
- A ready but empty segment shows 0.
- While the segment is still computing or has errored, the count is hidden entirely, so a false zero is never shown.
Formatting is locale-aware. A refresh button below the count lets you recompute it against the current segment definition without leaving the page. The button is disabled while the refresh is running.
The blue check mark that previously appeared on the /schedule-task row has been removed. Hovering over the option shows a Tool Tip: "Set up work that Active Intelligence runs for you on a schedule — a Monday recap, a daily check on bounce rates, a Friday list of contacts who went quiet. Describe it once and say how often; the results come back to you each time it runs."
The Tool Tip follows your page theme, appearing dark on a dark page and light on a light page.
In the Campaigns list, scheduled Campaigns display the exact send date and time next to the relative countdown — for example, "in 3 hours (10/02/2026 20:00)". The date and time use your account's configured time zone and date/time format. Other Campaign statuses are unchanged.
Click rate, reply rate, and opt-out rate in the SMS Automations report and folder views are now calculated against delivered messages, bringing them in line with how the Broadcasts report has always worked. The numbers you see across all SMS surfaces are consistent.
The surfaces updated include the Automations report individual view, the Automations aggregate table, the SMS index metric cell, and the SMS folder-view broadcast card. Delivery rate and fail rate continue to use sends as their denominator. When deliveries is zero, engagement rates display as 0% rather than a dash.
You can ask Active Intelligence questions about SMS Campaign click counts and click-through rates. Unique clickers are counted as distinct subscribers; total clicks as distinct events. Click-through rate is calculated as unique clickers divided by delivered messages, consistent with the reply rate and opt-out rate denominators used in the Broadcasts report.
When a click-through rate can't be computed reliably, Active Intelligence returns a plain explanation with the raw clicker and click counts rather than a misleading ratio.
A few things to keep in mind: CTR is over deliveries, not sends or opens; SMS clicks aren't scanner-filtered, so they aren't directly comparable to email CTR and can't be segmented by list. Click and CTR metrics for Automations aren't yet available.
Several pages that previously redirected away when you lacked access or the URL was invalid display a clear 403 or 404 message at the same URL, so you keep context about where you were.
- Inbox deep links: Visiting a conversation URL without inbox access renders a 403 at that URL instead of dropping you on the SMS overview and losing the conversation ID.
- Campaign reports: A Campaign report for a missing or off-limits Campaign shows a 403 (permission refused) or 404 (not found) with a link to the Campaign list, rather than silently redirecting to the list and losing the Campaign ID.
- Malformed Campaign IDs: A non-numeric Campaign ID in the URL renders a not-found page in place rather than loading the overview.
- SMS with no access: Users without SMS access see a 403 in place rather than being sent to the overview.
- Conversation, insight, and Scheduled Task deep links: Direct links to conversation, insight, and Scheduled Task detail pages render a 403 at the correct URL rather than dropping the ID and redirecting to the default dashboard.
The two-column layout for the website URL input step during onboarding is the permanent experience for all users. The layout shows the prompt copy "Get marketing assets..." and the field label "Enter your business URL," with the logo displayed inline.
After completing an import review, clicking Continue opens a performance report covering six checks: open rate, click rate, bounce rate, unsubscribe rate, duplicate Contacts, and send-time opportunity. Rows are omitted when values are missing. Open and click rates include an industry benchmark comparison when one is available.
Active Intelligence appears alongside the report, summarizes your account, and offers up to three suggested prompts based on the report. Selecting a prompt or typing a message opens an Active Intelligence chat in a new tab. The Active Intelligence rail can be collapsed and expanded without affecting the onboarding flow.
Two hover animation issues in the Active Intelligence sidebar are resolved. The AI credit usage row animates on hover with bars rising from a shared bottom. The Scheduled Tasks clock no longer draws with a thicker stroke during its hover animation.
The Deals tab on a contact's profile gains a sort control and three new filters — Pipeline, Stage, and Owner — alongside the existing status filter.
Sort options: Newest First, Oldest First, Recently Updated, Least Recently Updated, Value High to Low, Value Low to High, and Alphabetical A–Z / Z–A. The default order is newest-created-first.
Pipeline, Stage, and Owner options are drawn from the contact's own deals, so every option in the list returns at least one result. Stage options group under pipeline headers until you pick a pipeline, then only that pipeline's stages appear. Changing the status filter drops any Pipeline, Stage, or Owner selection that no longer applies.
When filters narrow the list, a "Showing N of M deals" count appears below the toolbar. If no deals match, a distinct empty state appears with a prompt to clear filters. When you add a deal while filters are active, a toast offers "Show all deals" to reset the view.
Clearing filters leaves the status filter alone. Filter and sort choices last for the session only — they are not saved between visits.
One value per filter is supported. Multiselect for Pipeline, Stage, and Owner, and sorting by pipeline, stage, or close date, are not included in this release.
Several controls in Active Intelligence that previously reset on page reload now save and persist.
- Objectives save with Active Intelligence.
- Reasoning effort, auto-react, and its emoji persist across reloads.
- Routing rules persist. Active Intelligence does not apply them yet, and nothing on screen indicates otherwise.
- Turn rating (1–5 stars) is available in the Activity tab on each individual turn.
- Persona generation — generate a persona from your account's own objectives and knowledge, then apply it like a preset.
- Flow drafting — describe a goal in plain words and get a paused flow drafted, with a link to open it in the Flows builder.
- Voice clips — record or upload voice clips (AAC or MP4, up to 10 MB), play and delete them, and switch pre-recorded clips on.
Adaptive reply chips, comment replies, and relay to an Automation reset on reload.
When a Denmark SMS registration is rejected, the registration form displays the specific reason returned by the carrier above the prefilled form, so you can see exactly what needs to be corrected before resubmitting.
If the stored reason has been cleared or the registration was never rejected, no banner appears.
The SMS composer credit estimate prices messages to Denmark registrations correctly. MMS is not supported for Danish numbers, so MMS messages to Denmark show a cost of 0 and the tooltip estimate is suppressed, rather than silently falling back to the SMS rate.
Previously, following a deep link to a conversation, insight, or Scheduled Task detail page without the right access would redirect you away and lose the ID from the URL entirely. Those pages render a 403 at the correct URL, so you keep context about where you were and the link stays shareable.
Clicking the Forecasted close column header in the Deals CRM spreadsheet view sorts the list. Previously, clicks on that column were silently ignored. Saved sorts and deep links using that column also apply correctly.
Deal cards in the Deals CRM pipeline view show the correct contact avatar again. When a card displays the Contact or Contact-and-Account field, the contact's avatar leads that row — so you can identify the person at a glance without opening the deal. The avatar appears automatically whenever you've selected the Contact or Contact-and-Account field; no separate toggle is needed.
The overview dashboard tasks widget returns correctly after visiting a deal detail page in the same tab. The deal task modal's Task type dropdown also populates as expected after visiting the overview dashboard. Both issues are resolved.
An "Assigned to" dropdown in the SMS inbox conversation header lets you assign a conversation to yourself, a teammate, or clear the assignment. The dropdown loads all account users. The current assignee is shown in the trigger. If the assignment write fails, the previous assignment is restored and an error is shown.
After Active Intelligence generates a Campaign, up to three additive suggestions appear above the composer. Each one adds something the campaign is missing — a preheader, a personalization tag, a secondary call-to-action, a discount code, or a deadline — grounded in your brief or the email's own content. Suggestions never assess, shorten, or remove anything already there.
Active Intelligence classifies your campaign's purpose (promotion, newsletter, event, announcement) and only offers additions that fit: a webinar brief never receives a discount-code suggestion; a promotion never receives a summary. A check runs before any suggestion reaches you, dropping candidates that use judgmental language, invent figures, or lack a quoted anchor from your brief or email. If nothing is provably missing, the row stays empty.
Clicking a suggestion sends it as a real edit turn — the composer is left exactly as you had it. Suggestions that need your input (such as a discount code or deadline you haven't provided) open in the composer with the blank pre-selected so your first keystroke fills it in. Accepted suggestions recompute the row for the new version of the campaign.
Suggestion chips are written in English or Spanish only; campaigns in other languages receive English chips.
When you ask Active Intelligence to create a field whose name matches an existing field with different options or a different type, it no longer changes the existing field automatically. Instead, it tells you about the conflict and asks whether you want to create a new field under a different name or edit the existing one.
This matters because custom fields are shared across all Forms that use them — a silent change would have updated the field everywhere it appears. Active Intelligence asks first, so you stay in control of which fields change and which don't.
This acts as a safety net: when a rate is incoherent, Active Intelligence produces no card and no generation. A rate of exactly 100% is treated as valid.
After Active Intelligence generates a Campaign, a row of up to three additive suggestions appears above the composer. Each suggestion shows what it would add and why, drawn from your own brief or links already in the email. Clicking a suggestion sends it as a real conversation turn, triggering an edit.
The suggestion engine only proposes additions — a preheader, a discount code you asked for, a deadline line — and never assesses or removes content. It classifies the Campaign's purpose (promotion, newsletter, event, announcement) and only surfaces candidates that fit: a webinar brief never gets a discount-code suggestion; a promotion never gets a summary. When the engine finds nothing to add, it returns a neutral line rather than a verdict.
A suggestion whose material only you can provide — such as a discount code or cut-off date — opens in the composer with the blank selected, so your first keystroke replaces it.
This period's work deepens Active Intelligence's autonomy over Automations and Campaigns while sharpening the feedback loops that help marketers trust what the AI is doing. Alongside those AI advances, a wave of Automation Canvas improvements, new reporting capabilities, and broad UI polish landed across the platform.
Highlights · 5 of 49 updates
- Active Intelligence controls Automations. Active Intelligence can now set an Automation to inactive or bring it back on at your request, extending its reach from read-only reporting to direct Automation management.
- Browse-abandonment block in email editor. The browse-abandonment product block is available in the Campaign email editor, with controls for sorting, card count, layout, and five draggable content fields including product name, price, and image.
- Schedule reports from dashboard widgets. A "Schedule report" option on eligible dashboard widgets opens Active Intelligence in a Scheduled Tasks context and submits a weekly report prompt, so each run re-queries the widget against fresh data and returns changes, drivers, and recommended actions.
- Wait steps accept relative hour offsets. Wait Until steps in Automations support relative hour offsets on datetime fields, so you can set a wait relative to a field value — for example, two hours before a scheduled appointment — directly in the picker.
- 18 fixes. Smaller corrections and repairs across AI & agents, Automations, CRM & deals and 5 more areas.
49 updates: 12 new · 19 improved · 18 fixed, across 10 areas.
The connection screen for importing contacts from a previous contact database has an updated headline — "Connect your account to get started" — and supporting copy that describes the migrate-and-start flow. The read-only notice, Connect, and Skip buttons are unchanged.
The date follows your account's configured time zone, locale, and datetime format — the same format used in the activity stream. If a tag's name is too long to fit in its chip, the Tool Tip shows the full name above the date. Tags with no recorded date show no Tool Tip.
The sort dropdown on the Tags tab is also translated across all supported languages. This is part of the Contact Detail Page Refresh, which promotes tags from a single row to a full tab with alphabetical sort and removable chip display.
The segment builder reads each account's actual condition limits from account configuration. Accounts with raised limits can build and save segments up to their own higher caps; accounts without overrides behave as before.
The condition cap is enforced inside the builder itself, and error messages show the actual limit number for your account. Existing segments that already exceed a limit continue to work.
When setting up a repeating Scheduled Task, two improvements make the end date easier to work with.
If you pick an end date that has already passed, a warning appears immediately — blocking save — with the message "The selected end date has already passed, therefore the schedule will never run." Previously, no error appeared until you attempted to save.
The schedule summary sentence includes the end date when one is set, reading as "Starts on [DATE] and repeats every [frequency] and ends on [DATE]." Previously, the summary gave no indication an end date had been configured.
These improvements apply to sub-daily cadences. Daily-or-longer cadences don't show the end date field.
A "Schedule report" option appears alongside the Analyze button on eligible dashboard widgets. Clicking it opens Active Intelligence in a Scheduled Tasks context and submits a weekly report prompt. On each run, Active Intelligence re-queries the widget's original request against fresh data and returns changes, drivers, and recommended actions.
This feature requires existing Scheduled Tasks access.
The platform loads the correct, current build in Safari. Blank pages and errors in these areas on Safari are resolved.
The inline segment summary on an If/Else block in the Automation Canvas shows SMS list names, so you can read your branch conditions at a glance without opening the block.
You can export Reports data to a CSV file directly from the Reports section.
The All Automations report also has a CSV export button. Clicking it starts a background export with your current filters applied and shows a success notification with a link to the import/export status page when the file is ready. The export includes Name, Status, Contacts, and Campaigns columns.
In read-only email previews — including version history, Active Intelligence Campaign draft cards, and translation review — personalization tags display as violet chips directly inside the preview content. They scroll natively with the email, scale with the surrounding text size, and show the tag's display name (for example, "First Name") rather than the raw tag syntax. Your exported HTML is unchanged.
Several pieces of text that were showing a stray "}" character instead of the intended value are fixed across 16 languages.
- The personalization chip tooltip in AI email preview reads "First name is filled in for each contact when the email is sent."
- The Automations list shows "3 labels added to an automation" / "3 labels removed from an automation" correctly.
HTML you author in a message variable's Code tab is preserved exactly when you switch to Visual mode and back. Previously, clicking inside the Visual editor after switching from Code would rewrite your markup — flattening structure to plain paragraph text and inserting extra line breaks — so switching back to Code returned a different document than you wrote.
The editor distinguishes a click (selecting a position) from an actual edit, so clicking in Visual mode no longer overwrites your Code tab content.
The Manage columns menu stays open while you toggle columns on or off, so you can make all your changes in one pass without reopening the menu each time.
The previous wording told you to "submit the prompt in the new tab" as though the prompt would already be there — but at least one major AI service no longer supports URL prefill, leaving an empty text box.
The new instructions read: "We'll copy a prompt and open your selected AI service. Paste the prompt, then copy the response back here." Prefill remains available as a convenience for services that still support it.
When a file upload is rejected because too many uploads are already in progress, a toast message appears with the file name and a prompt to try again in a moment. Previously the file disappeared silently with no explanation.
This applies to the standard file attachment component.
The Engage Settings area has been rebuilt to match the platform's design system. The hub uses a breadcrumb-plus-title header and a card-grid layout. Sub-routes show a label-and-description beside a card of rows.
Specific improvements include: the ice breakers drawer with autosave and prompt management; channel connection health banners in warning styling; reconnect reason banners in the channel drawer; Channels tab counts showing connections that need attention; and messaging rules with a disabled state. Empty and error states are present throughout where none existed before.
Settings copy that was previously missing — causing raw text keys to display — has been filled in across the ice breakers drawer, the Connect page, reconnect reason banners, the invite a teammate link, test delivery failure messages, and the delete workspace note.
SMS is visible in Settings but marked Coming soon. The delete workspace option is also shown as Coming soon.
Active Intelligence Deals insight cards consistently include the stalled-deal section. Previously, stalled-deal requests were answered with forecast data or pipeline health data in roughly 74% of cases — accounting for approximately 26% of Deals quality rejections categorized as "stalled deals section missing." Stalled-deal requests route to the correct tool even when surrounding context mentions pipeline health or forecasts.
Cancel and Send buttons in the one-to-one email composer drawer are right-aligned, with Send as the rightmost action. Save and Cancel buttons under the Notes tab and inline field editors in the Overview tab are also right-aligned. Button spacing in deal detail modals — including Delete deal, note confirmation, Add/edit task, and Add contact — is consistent with design standards.
The Add a task modal's form fields render completely — dropdown focus outlines and open-menu shadows are no longer cut off on the left. The "Hide Empty Fields", "Show Empty Fields", and "Manage Fields" buttons on the Overview tab use sentence case, matching the rest of the Deals CRM detail page.
The segment edit page includes a Contacts tab, matching the tab already available in the agent drawer. The tab shows the Contacts that match the segment's current criteria. It only loads when you open it, and any edits you've made to the segment are preserved when you switch to the tab and back.
The performance report shown after importing contacts has been reworded throughout. Headings, section titles, and row labels frame your imported data as a diagnosis rather than presenting a neutral dashboard. Metric definitions and values — including contact count, campaign count, and industry comparisons — are unchanged.
The tag dropdown in the Conditional Content modal searches your full account tag list server-side. A previously selected tag stays visible even when it falls outside the current search page.
The tag dropdown in the Conditional Content modal searches your full account tag list, showing up to 100 results at a time. A previously selected tag stays visible even when it falls outside the current search results.
Previously, the dropdown tried to load every page of tags to build a complete list. For accounts with thousands of tags this was unusably slow.
The Send To field on the Campaign Summary page is reliable regardless of how many tags your account has.
Your saved tag always appears. If your campaign's audience is a single tag that isn't among the first 100 tags loaded in the dropdown, the field fetches that tag by ID and displays it correctly. The fetched tag is cached immediately, so there's no delay or blank flash.
Search covers every tag you have. The tags dropdown sends your search text to the server, so every tag in your account is reachable. Tags already shown stay visible while a new search loads.
The dropdown still shows up to 100 tags when you open it without searching.
Pause transition modals in Campaigns use a consistent 600px width and standard title style, matching other Campaign modals.
When Active Intelligence asks you a question or shows a form during Campaign generation — such as a brand setup prompt — that form is preserved if you reload the page or return to the conversation later.
Previously, reloading mid-form left a dead end: the conversation showed only the assistant's text note, not the form itself. The form is stored for 24 hours. On reload, it re-renders with any answers you'd already entered, and answering after a reload follows the same path as answering inline. A declined prompt is also remembered correctly across reloads.
The campaign condition row in the Automation Canvas uses a full-width selector and a single filter row. Selecting and filtering campaign conditions takes fewer clicks and is easier to read.
The card calculates undelivered as send amount minus total delivered, giving you a clearer picture of how many emails left your account but never reached an inbox — separate from bounces.
The browse-abandonment product block is available in the Campaign email editor.
Controls include: - Sorting and card count - Cards per row and orientation - Five toggleable content fields — such as product name, price, and image — that can be reordered by dragging when in vertical orientation - Button and card styling, including hover-state controls
The Contact record includes a dedicated Automations tab showing in-progress and completed Automations for that Contact. In-progress Automations appear as cards with a progress bar, entry date, and an entry-count badge for Contacts who have entered an Automation more than once. Completed Automations appear as chips. Both sections are collapsible, and a search box lets you filter the list.
If a background refresh fails, the tab keeps the last loaded list rather than going blank.
A Contact re-added to a finished Automation shows as in progress, with the active run's progress and date.
Previously, offsets were limited to whole hours. You can set a wait of, for example, 90 minutes rather than rounding up to 2 hours.
Wait Until steps also accept minute-level offsets, giving you finer control over exactly when a contact moves to the next step.
In the Automation Canvas path view — where you can see a single contact's journey through an Automation — a run selector replaces the previous "Manage Contacts" button.
The selector lists each of that contact's runs through the Automation, showing entry time and status. Selecting a run reloads the view at that run's state. Timestamps show date and time (not date alone), because a contact can enter the same Automation more than once in a day and the time is what tells those runs apart.
The canvas scrolls automatically so the highlighted block is centered on screen.
Previously, selecting a datetime field in a "Wait until" step showed only the date, leaving the exact wait time unclear. The step displays both date and time, so you can confirm at a glance exactly when an Automation will resume.
Starting a new chat from the Active Intelligence sidebar on non-agent pages preserves your first message and clears any stale state from a previous conversation.
When Active Intelligence retrieves contact data from a large list, the summary of records not shown reports each data type separately. Previously, combining them into a single total could produce a figure that exceeded your actual contact count. The counts are now accurate and broken out by type.
When you create a reporting widget from a prompt and your account has no data for that concept yet, the widget saves as a coming-soon placeholder — a dimmed example chart under an "Example data" overlay — rather than ending on a decline message.
Once your account accumulates data, the widget automatically refreshes into a live chart from the same stored prompt. Analyze is disabled on placeholder widgets because the numbers shown are illustrative.
Active Intelligence insight cards no longer repeat sections or cite unsupported sources.
Cards were sometimes repeating entire sections — the same heading and body appearing twice in a single card. Industry Intelligence cards were also appending a Sources block listing web pages the card body never actually cited.
Repeated sections are now dropped, keeping only the first occurrence. The Sources block is rebuilt to include only the references the card body actually cites; a card that cites nothing receives no Sources block at all.
When you ask Active Intelligence to change a dropdown's options in a Form, the change appears in the published form, the builder preview, and the live form URL.
If you ask to change a field's options, Active Intelligence asks whether you want to edit the existing field — which updates it across every Form using it — or create a new field with a unique name. Choosing to edit updates the options immediately, and the preview reflects the change.
Field type cannot be changed on an existing field. Active Intelligence will offer to create a new field instead.
Previously, dropped triggers were silent — Active Intelligence would build the Automation without the trigger and give no indication anything was missing. The chat reply includes a clear disclosure naming which trigger was dropped and why. When a trigger is also unavailable on your plan, both reasons are disclosed separately in the same reply. This applies to both the create and edit flows.
When Active Intelligence generates a Campaign for an account that has no Brand Kit, it can detect your brand from your website and apply it to the generated output — without requiring you to create a kit first.
If a brand is found, it styles the generated Campaign immediately. The kit is only saved permanently when you explicitly keep it, choose it during a rebrand, or send the Campaign. If no brand can be detected above a quality threshold, the Campaign generates without branding and Active Intelligence offers an option to add your brand. If brand detection completes after an unbranded result has already been returned, Active Intelligence offers to apply the newly found brand.
A few details worth knowing:
- Colors that fail contrast checks are dropped. Fonts not in the supported catalogue are dropped rather than replaced with a fallback.
- SVG logos are not supported; logos must be JPEG, PNG, or WebP.
- Scrape results are cached per domain for 7 days, with a limit of 5 domains per account. A domain already scraped within that window doesn't trigger an additional call.
- A limit of 20 paid scrapes per account per day applies; requests beyond that are declined until the next day.
- Social and webmail domains are not scraped.
When the first message of a new Active Intelligence conversation fails to reach the server — for example because the page reloaded before the message was saved — the chat shows a "Your message wasn't sent" notice with a Retry button. Previously the message disappeared with no way to recover it.
The Active Intelligence chat composer opens pre-seeded with an edit Campaign chip when launched from a Campaign context, giving you a faster starting point for asking Active Intelligence to edit a Campaign.
On the AI Customize page, the heading previously labeled "Plan Mode autonomy" reads "Plan mode capabilities" with a more natural description alongside it. No settings or behaviors changed.
You can ask Active Intelligence to pause or reactivate any Automation. Previously, Active Intelligence could read and report on your Automations but couldn't change their active state. Now it can act on them directly — no manual toggle required.
When you ask Active Intelligence to make a change to an active Automation, it offers to pause the Automation first, make the edit, and then asks how to release the contact queue before resuming — presenting two options: drop duplicate queue entries, or skip contacts who already have an active run. The same pause/resume capability is offered any time a paused Automation is set back to active.
Previously, Active Intelligence refused edits to active Automations and told you to deactivate it manually.
This capability is behind a feature flag and is off by default.
When you asked Active Intelligence to build a complex Automation — a 12-email welcome series, for example — the reply could be cut off before the Automation was complete, leaving you with a partial result. The output limit for Automation create and edit operations has been raised, so Automations with up to 12 emails and multiple wait steps complete in a single pass.
When a build does stop early, a Continue building button appears at the bottom of that chat card. Clicking it sends the follow-up automatically — you don't have to type it. The button appears only on the most recent card and only when the Automation was explicitly cut short; older cards are unchanged, and typing the follow-up manually still works.
Two Scheduled Tasks shortcuts are available directly in Active Intelligence: one that asks for recommended Scheduled Tasks based on your account behavior, and one that asks for help setting up a Scheduled Task. Selecting either pre-fills the question so you can get started without typing.
Previously, the tab displayed sample figures from a different frame, so the numbers you were using to decide whether to accept a variant were not the variant's own.
Three controls that previously appeared active but did nothing — Generate from my account, Propose facts, and Rate recent replies — are shown as disabled with a label explaining why each cannot run yet.
When configuring recipients for an Active Intelligence-generated Campaign, the list picker shows only email lists, ordered by name, so you can't accidentally select an SMS list for an email send.
This period's work deepens Active Intelligence across chat, notifications, and customization while delivering a substantially rebuilt Deals CRM detail view and a more capable Automations experience on Contact records.
Highlights · 5 of 33 updates
- Deals CRM detail rebuilt. The Deals CRM deal detail page now lets you edit fields, send emails, manage files, complete tasks, and review activity all without leaving the deal, making it a far more complete workspace.
- System alerts in Active Intelligence. Account system alerts appear alongside AI insights in the Active Intelligence notification center, and opening an alert starts an Active Intelligence chat that tries to diagnose the issue and recommend a fix.
- Dedicated Automations tab on Contact. The Contact detail view gains a dedicated Automations tab with collapsible In progress and Complete sections, search, an Add button, and per-Automation cards showing a progress bar, entry date, and entry-count badge.
- Contact Details rebuilt with inline editing. The Contact Details tab has been rebuilt with accordion-style field grouping and inline editing, so you can view and update contact information faster without leaving the record.
- 17 fixes. Smaller corrections and repairs across Contacts & segmentation, Campaigns & email, AI & agents and 4 more areas.
33 updates: 4 new · 12 improved · 17 fixed, across 9 areas.
When a free trial ends, the header banner displays "Your free trial has ended." with the Upgrade button. The trial days counter no longer goes below zero, and the Overview start page no longer shows a negative expiration figure.
Account system alerts from the platform appear alongside AI insights in the notification center. Three filter tabs — All, Insights, and System — let you focus on what matters. System alerts are included in the unread indicator count.
Opening a system alert starts an Active Intelligence chat that attempts to diagnose the alert and recommend a fix. The previous "View alerts" menu item and its avatar count badge are hidden when unified notifications are active. Mark all as read applies to insights only; system alerts are always treated as unread.
Shopify is ending its Script Tag support for storefronts — no new Script Tags from October 1, 2026, and existing ones stop running March 1, 2027. ActiveCampaign Forms on Shopify stores must render through a theme app embed that you enable in the Shopify theme editor.
The Forms ecommerce tab shows the embed status for your connected store:
- Active — a confirmation banner shows the embed is on.
- Inactive — a warning banner appears with a "Turn on in Shopify" link that opens the Shopify theme editor directly, plus a "Check again" button.
- Unknown — an informational banner with the same two actions. If your store connection lacks the required permission, the banner asks you to reconnect the store instead.
The banner appears after you save or publish a form, and updates whenever you switch between connected stores. It replaces the previous "Your form was published" confirmation, serving as your post-publish status check.
During the transition, if both the old script tag and the new embed are running at the same time, a guard prevents your Form from appearing twice on the page.
Action required: If the banner shows your embed as inactive, click "Turn on in Shopify" and enable the theme app embed in your Shopify theme editor.
The campaign selection menu in the Contact detail view displays at the correct height.
The Scheduled Tasks prompt chip appears in both the Deals CRM pipeline view and the list view, giving you a quick way to surface AI-suggested tasks from either view.
On the SMS index page, the Preview button that appears when hovering a message thumbnail is visible and clickable again.
Subscribe-by-SMS keywords save when you edit them. Previously, renaming a keyword appeared to succeed but the old keyword stayed in place.
If you edited an SMS keyword and the change didn't stick, re-save it and the updated keyword will take effect.
When creating or editing a Scheduled Task with a sub-daily cadence — any interval shorter than 24 hours, such as every 15 minutes or every 23 hours — you can set an optional end date. No end date is set by default.
The end date field appears only for sub-daily cadences and is hidden for daily and longer schedules. If you switch a task's cadence to daily or longer, the end date clears automatically. For minute-cadence tasks, the selectable date range is capped at 30 days from the start date. The end date is visible on the task's public view, and existing tasks without an end date continue to run without change.
Long tag names on the contact detail page wrap inside the tooltip instead of overflowing the tooltip box. Short tags are unaffected.
The Import Preferences panel on the Active Intelligence customization page shows updated instructions that work for all supported AI services, including Gemini.
Previously, the panel told you to "submit the prompt in the new tab" — but Gemini's text box arrived empty, leaving nothing to submit. The new instructions read: "We'll copy a prompt and open your selected AI service. Paste the prompt, then copy the response back here." Claude and ChatGPT continue to receive their prefill parameters as before; prefill remains available as a convenience for services that still support it.
The Submit button on the review step calls the submit handler as expected. Field-level validation errors are attributed to their inputs, and the flow returns to the step containing the first failing field. Errors that can't be attributed to a specific field appear as a notification on the review step. Two rapid clicks are handled without submitting twice.
Filters persist when you open a folder and when you navigate back. While a folder is open, the folder/Business Goal dropdown and related chips are hidden — the goal filter shares a parameter with folder filtering — and return when you go back, with their values intact.
The Contact detail view gains a dedicated Automations tab, replacing the previous combined categories panel. The tab shows two collapsible sections — In progress and Complete — with search, an Add button in the toolbar, and per-Automation cards showing a progress bar, entry date, and an entry-count badge for Contacts who have entered an Automation more than once. Completed Automations appear as chips.
Left column. Surfaces Active Intelligence recommendation chips, a highlights row showing deal value with a delta arrow, stage with a color dot and inline picker, owner, win probability with a sparkline, and last-contacted date. Recent activity shows the latest five entries with a link to the full Activity tab.
Inline field editing. The Overview tab delivers inline editing across all field types — text, currency, date, datetime, and dropdown — pipeline moves with stage re-fetch, and won/lost lock with a loss-reasons modal on qualifying pipelines.
Contact management. A Contacts group with roles lets you add, edit, and clear Contacts. A warning banner appears when duplicate deals exist.
Tasks tab. Open tasks are grouped by Overdue, Today, Tomorrow, and Upcoming. Complete a task in one click, toggle completed tasks on or off, and add or edit tasks with fields for title, type, assignee, due date and time, and a note. The task list has a 100-item cap, with the total exposed.
Notes tab. A paged list with authors lets you add, edit, and delete notes, with a confirmation step on delete.
Activity tab. A vertical timeline with icon rail and day group headers shows change titles describing what moved — stage, value, status, or field edits — with actor lines showing the person or Automation name.
Files tab. View and manage file attachments directly on a deal.
Inbox tab and email compose. Browse email activity for the deal's Contact, including subject, addresses, message snippets, and relative timestamps, with reply and load-more support. A compose/reply drawer lets you send a new email or reply to an existing one from within the deal. Replies pre-fill the quoted original. A Send email option also appears in the deal's actions menu.
Actions menu. Add task and Add note entries switch to the relevant tab and open the form.
Dragging the resize handle on any textarea on the deal detail page is smooth and responsive. Resizing is vertical only, so there's no more horizontal clipping, and the handle stops before pushing the Save/Cancel row off the bottom of your screen.
When an Automation runs an Unsubscribe action, the list subscription pills on the Contact record reflect that change within approximately 60 seconds. Previously, the activity feed would show "Unsubscribed from list" while the pill still displayed the old subscribed state until you manually refreshed the page.
The contact import flow no longer displays the ActiveCampaign logo or product name for resold or white-labelled accounts. Affected surfaces include the homepage and Contacts first-run card, the import call-to-action, and the post-import review screen. The comparison section and disclaimer footer are also hidden for these accounts.
Three improvements to the Contact detail page's Details section:
- Phone number validation. The Details editor validates phone numbers and surfaces the exact reason a number was rejected, rather than a generic message.
- Empty-state display. Read-only rows with no value show a clear no-value indicator. A Custom fields section that is entirely empty is hidden rather than shown as a blank panel.
- Loading skeleton. The Details loading skeleton matches the layout of the loaded state.
Fields are organized into General and Custom sections. You can hide or show empty fields with a toggle. Clicking any field opens an inline editor matched to that field type — text, email, phone, date, dropdown, radio, checkbox, and more. The account association field includes search, select, clear, and a create-new action.
Only one field can be edited at a time; collapsing the accordion cancels any open edit. If a save fails, the editor and your draft stay open so you don't lose your work.
The Details fields section on the Contact record shows a skeleton placeholder while data loads. The layout is reserved from the start, so the page no longer shifts as fields appear. The loading skeleton matches the layout of the loaded state.
Saved conditions in the conditional content editor are preserved when the editor is reopened. Previously, reopening the editor could overwrite saved conditions with the default empty state.
Web-version and social sharing links in Campaign previews are clickable and navigate as expected. Previously, these links were intercepted and blocked in the Campaigns list preview and the campaign-flow test-preview modal, even after they had been resolved to real URLs. Template previews with unresolved placeholder links still show the explainer modal.
When a bulk delete of Campaign message variables fails, one error notification appears per failed item instead of two.
Two behavioral improvements come with the change:
- Legacy URLs: older Automations URLs that stored goals in a different parameter or carried multiple IDs resolve correctly. The URL updates silently; the Back button does not return to the old URL.
- Browser Back: selecting a folder filter pushes a history entry, so the Back button undoes a filter change.
Icons in the Active Intelligence sidebar are all the same size. The Scheduled Tasks icon previously rendered slightly larger. The bar-chart icon previously rendered smaller with an older style and has a refreshed rounded bar-chart appearance.
Active Intelligence chat displays a banner when your browser loses its network connection. The banner appears above the composer, labels the offline state, and disables the input and send button while you're offline. When the connection returns, a confirmation banner appears and then dismisses automatically.
The card floats over the message list so the last message can scroll clear of it. The header icon reflects the object type (Contacts, Campaigns, Automations, Tags, Lists, Forms, Deals, Conversations, ecommerce, admin). The record count appears as plain text on the object line — for example, "Contact tags · 500 records" — shown only when a count is available. Steps that change or delete data show a warning chip on that line. A coverage note (for example, "Covers the first 500…") uses a small info banner; steps without a coverage note show no banner.
When a standard or contextual Active Intelligence insight run is pinned to a self-hosted model and that deployment fails, the run retries once on your account's default model instead of returning a failure. The retry carries over the same prompt settings, so the result is consistent with what you'd expect.
Runs that hit the self-hosted request cap are not retried.
Previously, from roughly 7 pm Central / 5 pm Pacific until local midnight, Active Intelligence reported the following day's date, causing date-based recommendations and computations to be off by one day.
The Active Intelligence customize page has a cleaner layout and updated navigation. Tabs are now ordered Knowledge Base, Capabilities, Homepage Experience — putting Capabilities in a more prominent position.
The Capabilities section has a visual refresh: autonomy cards use a gradient chip to mark the recommended option, the selected card has a distinct border and background, and permission controls use a dropdown instead of a segmented control. Permission groups use translucent backgrounds with inset dividers for a cleaner look.
The activity feed no longer appears on the Capabilities tab.
Active Intelligence sidebar chat starts reliably
Starting a new chat from the Active Intelligence sidebar on non-agent pages no longer produces a "Conversation Not Found" error. The first message is preserved, and stale handoff state is cleared when opening an existing conversation.
When you ask Active Intelligence about subject lines or send dates across several Campaigns, it returns the full grid in one response. Previously, retrieving this information required fetching each Campaign's content individually, which caused "conversation limit reached" errors for larger requests.
Split-test Campaigns show "Varies by variant (split test)" with an option to break down by variant. If a subject line can't be retrieved, Active Intelligence reports it as unavailable rather than substituting the Campaign name.
The previous 50-Campaign cap is removed, so there's no longer a limit on how many Campaigns you can ask about at once.
On the contact page, using the email composer's "Insert a link to a file" button inserts a clickable link labelled with the file name. Previously, the bare share URL was dropped into the email body as plain text, leaving the draft, the sent email, and the activity detail with an unlinked URL and no file name.
A single file link uses any text you've highlighted as the link label, falling back to the file name. Multiple file links are inserted after your selection, each labelled with its own file name. If a send fails and you retry, the file links remain in the composer until the drawer closes on a successful send.
This period was dominated by Active Intelligence improvements: sharper transparency when tasks can't complete, expanded Campaign audience control, and a wave of polish across the sidebar, dark mode, and large-list handling. Platform reliability and folder-based filtering also landed across Campaigns, Automations, Forms, and SMS.
Highlights · 4 of 18 updates
- Active Intelligence updates Campaign audiences. You can now ask Active Intelligence to change a Campaign's audience after creation, swapping the list, applying or removing a segment, or targeting Contacts by engagement, with the change writing directly and confirming what was saved.
- Automation trigger gaps explained. When Active Intelligence cannot construct a trigger while building or editing an Automation, the chat reply names the dropped trigger and explains why, so you know exactly what is missing and why.
- Platform survives network interruptions. When a dropped connection, a waking laptop, or a VPN reconnect interrupts the platform's initial data request, the platform retries automatically and stays usable if cached data exists.
- 7 fixes. Smaller corrections and repairs across AI & agents, Campaigns & email, Forms & landing pages and 1 more area.
18 updates: 4 new · 7 improved · 7 fixed, across 7 areas.
Filters you apply on the Campaigns, Automations, Forms, and SMS index pages carry through when you open a folder. Previously, filters had no effect once a folder was open.
While a folder is open, the folder filter control is hidden and all other filters remain visible and active. Changing a filter updates the folder contents from the first page. If the filter returns no results, a no-results state appears with a Clear search option that restores the full folder contents. Clicking Back returns you to the index with your filters still set.
For Automations, the goal filter is also hidden while a folder is open, but its value is preserved and the control returns when you go back. The header count and pager reflect the filtered total. Folder card counts in the grid and the No Folder card are not affected by active filters.
The SMS consent message checkbox aligns to the top of its label text.
Previously, a failed initial data request showed a full error screen that required a manual page refresh. The platform retries automatically up to three times with a short backoff, then continues on a growing interval (10 s, 20 s, 40 s, capped at 60 s) while the tab is open. If cached data exists, the platform stays up and usable throughout. The error screen appears only when there is no cached data at all. Standard authentication and access errors continue to redirect as before.
Clicking Save in the link popover, or pressing Enter in the URL field, inserts the link when you're editing a message variable. Previously, the Save button did nothing in that context.
Previously, filters stayed visible when you opened a folder but had no effect on what was shown.
Filters apply to folder contents and to the No Folder view. Results update with a loading state, and the header count and pager reflect the filtered total. Clearing a filter resets all filters. When a folder has items but none match your active filters, a no-results state appears with a Clear search action. Filters persist when you open a folder and when you navigate back. The folder filter dropdown is hidden while a folder is open and returns on Back with its value kept. Automations folder filtering is coming in a separate release.
The Ecommerce tab is visible for Modal, Floating Box, and Floating Bar form types. It does not appear for inline forms or for accounts without a connected Shopify store.
When you create or edit a dashboard widget, the loading indicator holds until the widget is fully generated and saved. Previously, the loader could finish early or loop before the widget was actually ready.
The progress bar on the dashboard card and the step copy in Customize Homepage Experience advance through six phases over approximately 30 seconds, with the final step holding until generation completes.
Previously, dropped triggers were silent — Active Intelligence would build the Automation without the trigger and give no indication anything was missing. The chat reply includes a clear disclosure naming which trigger was dropped and why. When a trigger is also unavailable on your plan, both reasons are disclosed separately in the same reply. This applies to both the create and edit flows.
The distance between messages is reduced. Hover controls — copy, regenerate, thumbs, edit — still appear correctly and do not overlap adjacent messages.
The chevron and scheduled-task clock icons in the Active Intelligence sidebar display correctly in dark mode. Previously, both icons used a light-palette fill regardless of which theme was active, making them hard to see against a dark background.
When Active Intelligence reads a list larger than 2,500 records, it tells you exactly how many records were fetched and how many remain. A 3,000-contact list returns a message like "2,500 fetched, 500 remaining" rather than overstating the total retrieved.
The Contacts performance report gains Active Intelligence prompt chips below the toolbar. A Scheduled Tasks chip opens the Active Intelligence sidebar with a pre-filled prompt scoped to contact performance. Two recommendation chips — "Analyze contact growth" and "Find engaged contacts" — are also added, matching the layout already in place on the All Campaigns Performance report.
When the email-building capability is unavailable for your account due to a configuration issue on the platform side, Active Intelligence tells you plainly that the capability is unavailable, that the issue is on the platform side, and that retrying or waiting won't help. Previously, it suggested trying again — advice that could never succeed until the underlying configuration was changed.
The same improvement applies to the form and landing page preview capabilities, which had the same retry-invitation problem. Active Intelligence stops offering the unavailable capability for the rest of that conversation turn.
Active Intelligence previously recognized only numeric IDs as grounded evidence from a prior tool call. UUID-format IDs — the kind Brand Kit uses — are recognized the same way, so a kit created or read in one turn can be updated in the next without an error.
The placeholder text in the Active Intelligence chat input uses the correct muted color in both light and dark themes, on the Home page, the Scheduled Tasks page, and the Active Intelligence conversation.
You can ask Active Intelligence to change a Campaign's audience after it's been created — swap the list, apply a different segment, remove a segment, or target Contacts by engagement (for example, "people who opened in the last 30 days"). The change writes directly and confirms what was saved.
A few things to know about how it works:
- Naming a list replaces the Campaign's list set and drops any segment. Naming a segment alone keeps the existing lists.
- Engagement-based requests build a segment and attach it automatically.
- Campaigns that have already been sent or are currently sending are refused before anything is written.
- The audience catalog draws from your full list catalog, ranked by active subscribers.
- If a classic segment doesn't belong to any of the chosen lists, the lists are written and the response explains why the segment wasn't applied.
- The send-settings panel refreshes the recipient count after Active Intelligence applies an audience change.
- A write that can't be confirmed is reported as unconfirmed rather than as a success or failure.
Previously, audience-change requests were routed incorrectly, so the audience never changed while the reply implied it had.
Previously, copying a segment could lose specific condition values because the copy was rebuilt from a prose summary rather than the stored condition tree. The copy accepts a source segment by ID or name, derives a unique name automatically, and can apply a modification in the same step.
Previously, flow generation on sandbox-only accounts returned a "no active WhatsApp channels" error.
Inbound, Meta Click-to-WhatsApp, and other non-outbound trigger types publish normally on sandbox. Outbound flows on sandbox channels are saved as Draft, because outbound flows require a template that Meta must approve, and template submission requires a production channel. Accounts with no active channel at all still receive the original error. Template generation on sandbox accounts remains unavailable.
This period's work deepens Active Intelligence as a conversational workspace — adding natural-language permission responses, in-chat automation email editing, and a smarter sparse-dashboard experience — while Campaign email gets RSS block support and a run of polish fixes lands across Automations, Deals CRM, and integrations.
Highlights · 4 of 12 updates
- Type to approve Active Intelligence. You can now respond to an Active Intelligence permission request by typing in the chat composer, with prose read as approval and a refusal or empty message dropping the card as a fresh instruction, making the approval flow feel like a natural conversation.
- RSS blocks in Campaign editor. RSS content blocks are available in the updated Campaign email editor, letting you drag a block onto the canvas, configure a feed URL, and render images beside text for both standard RSS and podcast feeds.
- Widget creation on sparse dashboard. When your Active Intelligence dashboard has three or fewer visible widgets, a prompt cell appears with suggested widget chips and a text prompt so you can create a widget in place, without opening the Customize panel.
- 5 fixes. Smaller corrections and repairs across AI & agents, Automations, Campaigns & email and 2 more areas.
12 updates: 3 new · 4 improved · 5 fixed, across 6 areas.
The usage remaining figure in Engage Settings displays with locale-appropriate number formatting, so the count reads as `19,908,184 remaining` rather than `19908184 remaining`.
When Active Intelligence surfaces a permission card asking you to approve or decline a planned action, you can respond by typing in the chat composer rather than clicking the card's buttons.
A typed reply is treated as a full answer: prose is read as approval and keeps the plan summary on screen; a refusal, an empty message, or a slash command drops the card and becomes a fresh instruction instead. The composer and its input fields remain open while a card is waiting for your response.
One limit in this release: a create-only plan answered by typing leaves the reply without a plan summary block.
You can drag an RSS content block onto the canvas in the updated Campaign email editor. Configure your feed URL, adjust per-field styles, and the block renders images beside text — matching the layout of the previous editor. Both standard RSS feeds and podcast feeds are supported.
Clicking a chip or typing a prompt creates a widget directly in the grid. At four or more widgets the prompt cell disappears and the header's Create action takes over.
The illustration in the prompt cell matches your display theme: light theme shows the light chart and arrow; dark theme shows the dark chart and arrow.
The account picker in the Facebook Custom Audiences multi-auth modal on the Integrations page works correctly. The dropdown menu renders above the modal so all accounts are visible and selectable, and the picker label appears above a full-width picker rather than wrapping across multiple lines beside it.
Blank and whitespace-only labels are excluded from the duplicate check, so leaving an option row empty no longer triggers a "No two options may have the same value" error. Actual duplicates — including ones that only match after trimming whitespace — are still blocked.
Tab labels on the contact details page are translated for users working in non-English locales.
Previously, the trigger block displayed a blank title and was marked invalid. The canvas loads the field directly from the fields API, keeping the trigger valid and displaying the correct field name and from/to values.
The four items in the Active Intelligence sidebar — New chat, Scheduled Tasks, Customize, and the usage icon — share the same left edge. The usage icon row previously sat visibly inset from the rest of the list.
Inside the nav drawer, the "Task runs" section header is also realigned to match the chat-history date headings, and task-run row hover and active backgrounds span the full drawer width, consistent with chat conversation rows.
The previous inline loading indicator sat off-center and wobbled inside the button. The button now communicates its state plainly so you know exactly when you can proceed.
When an automation email is selected for editing in the Active Intelligence chat, an edit prompt block chip is inserted before the pending campaign chip, giving the conversation a clear edit context before the campaign chip appears.
In folder views for Campaigns, Automations, Forms, and SMS, the "No Folder" card displays a count of the items it contains, matching the count shown in the section header. The count is hidden while loading or if the request fails.
This period's work centers on Automations reliability and Active Intelligence quality, with a wave of fixes tightening Campaign reporting, Contact imports, and SMS across the board.
Highlights · 4 of 27 updates
- Paused Automations expire automatically. Paused Automations now expire after a configurable wait period, move to Inactive, and surface exactly which contacts are queued to enter — giving you visibility and control over held contacts without manual intervention.
- Scheduled Tasks surface in onboarding and Business Goals. Scheduled Tasks idea cards and a prompt chip appear in the onboarding panel, the Active Intelligence sidebar, and Business Goals detail pages, making it easier to act on intelligence in context.
- Active Intelligence preserves emails in Automations. When Active Intelligence adds if/else checks to an existing Automation, emails already in that Automation are kept in both branches rather than lost.
- 21 fixes. Smaller corrections and repairs across Campaigns & email, Contacts & segmentation, Automations and 8 more areas.
27 updates: 4 new · 2 improved · 21 fixed, across 12 areas.
Tags API: limit=0 handled correctly
The Tags API endpoint (GET /api/3/tags) treats a non-positive limit the same as an omitted limit, applying the default page size of 20. The existing cap for values over 100 and all other limit-handling behaviour are preserved.
If you built a Campaign by copying a split-test Campaign and then converting it back to a winner-based split, that Campaign could never send — it sat indefinitely with zero contacts forwarded and no error shown to you.
Campaigns converted to a split type send as expected going forward. Two Campaigns already in this state require a separate correction and are not fixed automatically by this change.
Selecting a showcase in the campaign editor keeps your active content block selected throughout the process. Searching, paging through results, and picking a showcase all work without interrupting your editing flow.
Cards in the showcase picker stay the same height and width as their row-mates, so a product with a longer title no longer throws off the grid. The modal fits its content instead of leaving a gap below the pagination controls. Selecting a showcase item updates your block reliably, including when the picker loads content in the background.
Adding or removing a Shopify form embed completes without a server error.
Two Scheduled Tasks idea cards appear in the onboarding recommendations panel: a weekly performance report and a brainstorm prompt. A Scheduled Tasks prompt chip also appears in the recommendation section of Business Goals detail pages, giving you a quick way to ask Active Intelligence about Scheduled Tasks in context.
Two new idea cards are available in the Active Intelligence sidebar:
- "Weekly performance report" prompts Active Intelligence to compare recent email Campaigns to the four weeks prior, flag the single Campaign that over- or under-performed most, and suggest one concrete change.
- "Brainstorm a scheduled task" asks Active Intelligence what Scheduled Tasks would help your marketing.
Saving a Denmark SMS registration stores your data correctly. Previously, a missing content type on the save request caused the downstream service to read the payload as empty and silently discard it.
Pass start and end dates in Y-m-d format to retrieve only SMS blocks that sent within that window. Filtering is based on send activity, not block creation date. Either parameter can be used alone.
Passing a start date later than the end date, or an invalid date format, returns a 400 error.
Every record returned by this endpoint also includes an automation name field. Blocks not attached to any Automation return a null value for that field.
Visiting a resend link with a malformed, tampered, or expired token returns an "Invalid or expired link" message. Valid tokens are unaffected.
Paused Automations expire automatically and show contacts waiting to enter
Paused Automations expire after a configurable wait period — 30 days by default. When that period elapses, the Automation moves to Inactive and any contacts held at the start are ended with an expiry cause. This means paused Automations no longer accumulate indefinitely without your attention.
While an Automation is paused, you can see which contacts are waiting to enter it: their name, email address, the trigger that queued them, how long they've been waiting, and when the Automation will expire.
You can also manually add contacts to a paused Automation. They'll be held in the queue and released when the Automation resumes.
A few things to know: - Changing the wait period doesn't affect contacts already inside the Automation. - Resuming the Automation releases all held contacts. - Deactivating the Automation ends those held runs.
When you open a genuinely blank new Campaign for the first time, the "Support of Outlook" toggle in the campaign editor defaults to on. When a Campaign is created from a template, a gallery template, or a copy of another Campaign, the toggle preserves whatever Outlook-support setting was present in the source.
The one-time code email sent during an unusual login challenge works with Gmail's automatic "Copy code" card on Android and iOS. A labeled line above the six-digit code lets Gmail surface a one-tap copy button, so you can paste the code without selecting it by hand.
Desktop email clients show one additional bold line above the code box — everything else is unchanged.
The "Connect YouTube" button has been removed from the legacy email designer. The button depended on a YouTube API that Google shut down in April 2015 and has returned an error ever since. Pasting a YouTube URL directly into the video widget continues to work as before.
Deals CRM notifications deliver correctly even when the assigned user has been removed from the account.
When you import Contacts with custom field data, the values you send are the values that get saved. The import path writes both the value and the timestamp regardless of how the row was classified, so your data lands as intended every time.
Mobile API users in custom groups with admin-level permissions receive complete, correctly paginated field and field value results.
When importing Contacts with no list changes — updating contact fields only, with no subscribe or unsubscribe actions — the importer previously ran an unnecessary check against every row. This caused spurious "partially imported" warnings for contacts who happened to be on the unsubscribe log, even though no list action was requested.
That check is skipped when a row requests no list changes. Imports that do request list changes continue to enforce the check as before.
Exporting the link-click contact list for a campaign completes successfully even when no contacts have clicked the link, delivering an empty file rather than showing a "Failed" status on the import/export status page.
Body text, list items, and links in campaign emails scale when a recipient uses the iOS Accessibility "Larger Text" setting, matching the behavior of headings.
Running a bulk "Add to Automation" operation on a large saved segment completes without timing out. Previously, the validation step could fail at scale, leaving the operation incomplete. The contact count is read directly from the segment engine, so the operation finishes and the count shown is exact.
This change applies to bulk "Add to Automation" only. All other bulk operations — tag adds, list adds, Automation blocks, and removals — are unchanged.
New Brand Kits populate the "Images from your website" section and show the Refresh option from the start. Previously, new accounts saw an empty images section. Main-page images are scraped and stored for all new Brand Kits.
Automation owners receive a reminder before a scheduled pause expires, so an Automation doesn't resume unexpectedly without your awareness.
Automation emails that are not properly linked to their Automation are kept in Draft status until the attachment is correctly established, preventing an accidental send.
Each anonymous open creates one row per link with a subscriber ID of 0, and repeat anonymous opens increment through the existing window. Campaign-level open counters — total opens, verified opens, and unique opens on first creation — are updated at the same time. Webhooks fire once per batch, after a successful write, so you won't receive duplicates if a retry occurs.
Anonymous clicks, 1:1 tracked links, and non-campaign tracked links are not supported and are rejected. Anonymous opens do not trigger Automations, contact activity log entries, or contact records.
If you ask Active Intelligence to create several Automations in one message, it responds in plain language explaining that it can build one Automation per request, and asks which one to start with.
When using Active Intelligence to edit an Automation by adding if/else checks before existing emails, both branches of the if block and the emails within them are preserved. A related edge case is also addressed: when removing an outer if/else with "keep both" selected, and both the YES and NO branches contain nested branching blocks, both subtrees are preserved correctly.
Active Intelligence creates and edits Automations more reliably, particularly for larger or more complex workflows. A class of failures that caused edits to large Automations to return an error has been eliminated.
Specific improvements: - Wait block duration units are constrained to minute, hour, day, and week — removing month and year, which were not supported. - Manual contact entry correctly maps to an empty triggers list rather than inserting a spurious trigger. - Form submission triggers no longer emit a blank form name field. - Enter/exit trigger blocks are correctly represented as a configuration object, preventing validation failures. - When editing an Automation, the workflow description is preserved unless you explicitly ask to change it. - Enter/exit rules always include the required configuration object with an automations list.
Clicks on "Share with a friend" and "View in browser" links in Campaigns sent by the legacy mailer appear in Clicked Links reports. These links were previously untracked for legacy sends, while the same Campaign sent through the current mailer tracked them correctly. No changes are needed on your end — existing and future Campaign reports will reflect these clicks.
This period's work sharpens Active Intelligence reliability and navigation, with fixes that keep the sidebar stable, make onboarding previews trustworthy, and add a direct path from health insights to the exact Automation block that needs attention. Alongside those AI-focused changes, a cross-product "No Folder" filter and a run of form, Campaign, and Deals CRM stability fixes round out the release.
Highlights · 3 of 9 updates
- Health insights link to blocks. Active Intelligence automation health insights now include a direct link to the specific Automation block that needs attention, cutting the time spent hunting for the problem.
- "No Folder" filter added. Campaigns, Automations, Forms, and SMS index pages include a "No Folder" filter option, making it straightforward to find assets that haven't been assigned to any folder.
- 6 fixes. Smaller corrections and repairs across AI & agents, Campaigns & email, CRM & deals and 2 more areas.
9 updates: 2 new · 1 improved · 6 fixed, across 6 areas.
Icons in the left navigation rail and the top header — including Your AI, Settings, search, and Help — display at the correct contrast level in both light and dark themes. In light theme, the resting icon color is darker and easier to read; in dark theme, icons appear in white.
Secondary navigation is also tidied: corner radius, chevron size and color, submenu text alignment, and panel width all match the design specification.
In the image block settings, the width field saves only a valid width on a half-second pause. Empty, partial, or out-of-range values wait until you press Enter or move focus before committing.
On approved Campaigns, clearing the reply-to email, from name, from email, subject, or preheader field and then confirming the edit dialog was saving a blank value. For the reply-to field this had a visible effect: a blank reply-to caused the "same as from" checkbox to check itself automatically and hide the reply-to input.
These fields now treat a cleared value as a cancelled edit when you confirm the dialog. The field reverts to its saved value and the reply-to checkbox stays in its correct state.
On draft Campaigns, clearing a field still saves the blank value immediately, which is the intended behavior.
The toggle buttons are pinned to a consistent height so they no longer stretch to match the surrounding row, and a border flicker that shifted the toolbar on each view switch is resolved.
When adding a deal from the Contact Details page, typing in the pipeline search field previously caused the form to flicker, lose your typed text, and silently switch to a different pipeline. A search with no matches replaced the form with an error message entirely.
The form stays in place while you search. Your typed text is preserved, your selected pipeline doesn't change, and a search with no matches shows a clear no-results message in the dropdown. The same improvement applies when adding a deal from the contact actions panel.
Email previews shown by Active Intelligence during onboarding look the way the finished email will look — same background, same layout, same merge-tag labels — so what you see while the email is being built is what you get when it's done.
The preview experience is smoother throughout: cards appear in sequence with one email visible at a time, each held long enough to read before the next takes over. Merge-tag chips show the actual field name rather than a raw placeholder. Once the last email in a series finishes, the footer appears fully rendered. If you've set your device to reduce motion, the animations respect that preference.
The chat panel remains visible throughout — the reply streams in without interruption.
Active Intelligence automation health insights include deep-link instructions that take you directly to the specific block within an Automation that needs attention. You no longer have to hunt through the Automation yourself to find the affected step.
Campaigns, Automations, Forms, and SMS index pages include a "No Folder" option. A pinned card appears in the folder grid listing assets that haven't been assigned to any folder, and a "No Folder" filter option lets you narrow the table to those assets. Asset counts are not shown on the card or header.
This period's work deepens Active Intelligence's ability to act on your own business data, from reading uploaded brand documents to enriching Contacts and generating email templates from chat. Alongside those capability additions, a broad sweep of fixes and polish landed across Automation Canvas, Campaigns, and platform-wide layout.
Highlights · 4 of 58 updates
- Active Intelligence reads your brand documents. Active Intelligence draws on documents you've uploaded to your knowledge base — brand guidelines, product information, or other custom content — when generating Campaigns, Automations, and Forms, so output reflects your material rather than generic patterns.
- Email templates generated from chat. You can ask Active Intelligence to build an email template directly from chat, and the result lands in your template library ready to apply to future Campaigns.
- Contact enrichment from a prompt. You can ask Active Intelligence to enrich a single Contact by email address or ID, check your remaining monthly enrichment allowance, or enrich a segment or tag of Contacts, with a confirmation step showing affected count before bulk actions run.
- 28 fixes. Smaller corrections and repairs across AI & agents, Campaigns & email, Admin & permissions and 6 more areas.
58 updates: 8 new · 22 improved · 28 fixed, across 11 areas.
Column headers in the users table — including "Purchase Permissions" and "CRM seat" — stay on a single line with their info icons aligned correctly.
Edited fields are kept in place while the refresh still picks up any server-side changes to fields you haven't touched.
When the "Restore selected contact(s)" button is disabled because one or more selected Contacts were archived too recently, a tooltip explains that Contacts can only be restored 30 days after they were added and that recently archived Contacts fall outside that window. Previously the button was disabled with no explanation.
Spacing throughout the platform is restored to its intended sizes. A regression caused every legacy spacing value rendered through the platform's layout system to paint at 87.5% of its correct size in the hosted app — for example, the Campaigns index loader top padding shrank from 48px to 42px. Layout breakpoints are unaffected.
Cards in the showcase picker stay the same height and width as their row-mates, so a product with a longer title no longer throws off the grid. The modal fits its content instead of leaving a gap below the pagination controls. Selecting a showcase item updates your block reliably, including when the picker loads content in the background.
List segments save correctly after a down-convert. The correct segment link is preserved through the save, so the segment no longer appears blank on reload.
Hover highlights in the secondary navigation bar appear at a uniform width across all item types, including accordion sub-items and open accordion headers such as Business Goals and Automations.
Previously, a logic error kept the form in creation mode after the first save, so each subsequent press of Save created another copy of the brand rather than updating the one just made.
The SMS Inbox has a refreshed layout: search moves to the page header, the read/unread selector is replaced with an "Unread only" toggle, and the message composer at the bottom of an active conversation has an updated outline style.
The description text inside the "What is this?" educational banner on the form submission Reports page renders at the correct 14px size, matching the banner title and the platform's standard body text.
Previously, the row showed only the order title. Details appear once the order data loads; the row shows loading text until then.
Email timeline cards that finished streaming were switching to a hosted screenshot, which caused contact-field personalization tags to appear as raw text rather than as formatted chips. Finished cards read the saved email markup directly and render personalization tags as chips.
In the agentic onboarding timeline, a finished email card shows its rendered screenshot. While the email is being written, content streams into the card; once the screenshot loads it replaces the streamed content without changing the card's size.
If your network drops while onboarding is building your account, onboarding reconnects and your cards finish building from exactly where it left off, with nothing repeated or skipped. If the connection stays broken after several attempts, or the server returns its own error, the run is reported as failed so you know what happened.
Navigating from the Lists page to a list segment detail page keeps the Lists item highlighted in the left navigation menu.
When Industry Intelligence finds no recent signals for a topic, it states that plainly and suggests one concrete next step — rather than asking you to rephrase or choose a different angle. The previous response could send you into a loop of clarifying questions without ever giving you a useful answer.
The Inbox message composer displays a visible border when it has focus, making it clearer which input is active.
Previously, the modal never finished loading when a group had 100 or more lists attached.
Go to Settings → Users and Groups → Edit Group → Permissions to find the new SMS permission group. Four sub-groups cover nine permissions:
- SMS Campaigns: View, Manage, Send
- SMS Inbox: Edit
- SMS Keywords: View, Manage
- SMS management access: Registration, Sending options, Reporting
SMS navigation items are gated on these permissions. Existing groups default to enabled for Campaigns, Keywords, and reporting, and disabled for registration and sending options.
Users with view-only access to SMS Keywords see a read-only page: the "Create a keyword" call-to-action is hidden, row actions change to a plain View button, and the keyword drawer shows a "View a keyword" title with all fields disabled.
The folder filter dropdown on the Automations, Campaigns, Forms, and SMS toolbars shows all options in a single alphabetical list. Section headers are gone. "Any" is always first; Business Goals entries are still marked with a trophy icon. Clicking the already-selected folder clears the filter and resets to "Any", so you no longer need to scroll back to the top to clear your selection.
The Add block and Templates buttons that previously appeared in the top-left panel of the Flows canvas have been removed. Steps are added using the connector and the "Add step" control at the end of the flow, which are the intended entry points in the updated design.
The Ecommerce tab is back in the Forms Integrate page. If your account has a connected Shopify store, you can publish and remove forms from your store directly from this tab.
The tab is visible for Modal, Floating Box, and Floating Bar form types. It's hidden for inline forms and for accounts without a Shopify connection.
The show/hide toggle above the empty folders list displays readable copy — for example, "Hide 3 empty folders" — rather than a raw key string.
The Add User modal on the Users & Groups settings page accepts email-style usernames containing @ and + characters, matching the behavior of the Edit User modal.
Automations that send multiple Campaigns can be navigated email by email within the preview panel, so you can review each message without leaving the Automation Canvas.
"Edit with AI" works directly on send-email blocks in the Automation Canvas. Clicking the sparkle icon on a send block opens the AI campaign editor previously available only in the Active Intelligence automation preview.
A visual fix is also included: the header seam between the Active Intelligence sidebar and the editor aligns correctly when the campaign editor is opened in fullscreen via "Edit with AI."
Error messages related to ecommerce actions in Forms appear in your account language.
Previously, a failure mid-copy could leave a content-less template behind — invisible in both the templates overview and the campaign template picker, so it couldn't be used or deleted. The duplication process has been rebuilt as a single operation: the copy is written already populated, so no empty record is created at any point. If the duplication fails, you get a clear error message and nothing is left behind.
The Contacts performance report gains Active Intelligence prompt chips below the toolbar. A Scheduled Tasks chip opens the Active Intelligence sidebar with a pre-filled prompt scoped to contact performance. Two recommendation chips — "Analyze contact growth" and "Find engaged contacts" — are also added, matching the layout already in place on the All Campaigns Performance report.
Purchase activity is easier to scan. The "Made Purchase" and "Abandoned Cart" rows in the contact activity feed show the store name, number of products, order total or cart value, and order status — the same information that was already available when you opened the detail panel. You get the full picture at a glance without an extra click.
The "Click trend" idea pill in the Active Intelligence reporting widget panel produces a chart. It shows a monthly count of email clicks as an area chart. The label has been updated from "Click rate trend" to "Click trend" to match.
On the Campaigns list, a Campaign that has started sending but hasn't delivered anything yet shows 0 in the sent/total column and in the Recipients card of the sending-progress drawer, rather than a loading placeholder.
Saving a new Brand Kit multiple times in a row creates one kit, not one per save. A logic error previously kept the form in creation mode after the first save, so each additional save produced a new copy.
The "leave without saving?" prompt has been removed from the Brand Kit form. Navigating away mid-edit discards unsaved changes silently.
Closing the "Choose a template" modal without selecting a layout no longer leaves an empty, invisible template in your account. The template is written only once you choose a layout, so backing out writes nothing.
Two paths are unchanged: Custom HTML still creates its row up front because its designer is opened by ID. On a hard refresh of the new-template route, you are returned to the templates list.
Toast notifications in the Automations area — including copy-Automation confirmations — render correctly against a light background.
Active Intelligence serves Automation health insights in the contextual sidebar, giving you a quick read on how your Automations are performing without leaving the Automation Canvas.
Under-configured block warnings are attached directly to the Automation health insight card rather than appearing as a separate card alongside it. You see one unified card — the insight title, graph, and date together with the count of blocks missing required settings. Selecting "Help me fix" opens the Active Intelligence sidebar with the clickable block table so you can act on the finding without switching context.
When you type a single word into the Automation Canvas create box and submit, Active Intelligence recognizes the prompt as incomplete and asks what the Automation should start with and what it should accomplish — rather than attempting to build something from too little information. The prompt prefix displayed to you has also been restored to its earlier phrasing ("Create me an automation that…"), so one-word entries no longer appear cut off.
Non-English accounts may see the updated prefix wording after the next localization update.
The icons in the Active Intelligence chat input toolbar animate when activated. The Tools icon animates while the Tools menu is open and reverses on close. The slash (/) icon animates when the Schedule task command is inserted, then resets. Both animations respect your device's reduced-motion preference.
Surrounding empty-state and create-state content remains centered. Only the informational banners are affected by this alignment change.
These features return a response directly rather than routing through an additional step when external data is unavailable. Median response time for these failures dropped from around 13 seconds to around 5 seconds.
Brand Kit market context is passed to the relevance check, which applies two additional rules: initials or acronyms identify a company only when the line of business matches, and a same-named company in a different market is treated as a different company. Unrelated companies with colliding names or abbreviations are dropped from competitive intelligence results rather than surfaced as relevant.
When Active Intelligence generates a Campaign, Automation, or Form, it uses documents you've uploaded to your knowledge base as source material. Your brand guidelines, product information, or other custom content shape the output directly.
Document content is treated as supporting context — it adds to what Active Intelligence already knows about your account without overriding it. If a document can't be matched to the right generation context, it's excluded rather than applied broadly.
Two improvements to the landing page preview editing experience in the Active Intelligence sidebar.
The toolbar holding the Desktop / Tablet / Mobile switch and edit controls had more space above it than below. The spacing above and below the toolbar is now even.
Clicking a link inside a navigation row previously selected the entire row and offered no way to edit just that link. A click on a nav link selects that link individually. You can rename it and update its target without affecting the rest of the row. Undo, redo, and replay on reopen apply only to that link. Clicking a link in the preview frame still does not navigate away.
Idea cards on the Active Intelligence home page have a refreshed appearance in both light and dark themes, with updated corner radius, borders, and a shadow hover effect.
On a first visit to the Active Intelligence homepage — for example, right after completing onboarding — the widget area stays on a single loading skeleton until your widgets are ready. Previously, it flashed through two different loading states before real widgets appeared.
When Active Intelligence's "Help me fix" flow identifies an under-configured block in the Automation Canvas, the builder scrolls to and highlights the relevant block without opening its configuration modal. You can see the problem in context before deciding how to act.
The insight that flags these steps also shows plain labels instead of raw internal parameter keys — for example, "Add tag missing a tag" instead of an internal identifier, "a list," "an email," "a webhook URL." Unknown parameter keys fall back to a generic "required settings" label.
When you ask Active Intelligence to build a template, the chat shows a dedicated template experience rather than a campaign flow. You watch the email being built in real time, and the result lands as a reusable template you can apply to future Campaigns. The preview offers "Edit template" (which opens the template editor) and "Create a campaign." Send, schedule, and audience controls are hidden because they do not apply to a template.
Editing a generated template through Active Intelligence is planned and not yet available.
The send button in the Active Intelligence quick-create widget matches the style of the main chat input send button: a circular blue button with a white arrow.
The "Add context" button in the Active Intelligence chat input announces its name once to screen readers, as expected.
Revenue figures in Active Intelligence chart, table, and KPI widgets display at the correct scale and in the correct currency. Previously, amounts stored in cents were shown as-is — a $284,000 total could appear as $28,400,000 — and there was no way to distinguish a revenue series from an order-count series in a mixed chart.
Widgets that include monetary data convert amounts consistently and carry the currency through every refresh, so a widget reporting in EUR stays in EUR. Only monetary fields are converted; counts displayed alongside revenue are left untouched. Widgets with no currency information behave exactly as before.
A new "Enrich a contact" action block is available in the Automation Canvas. Adding it to an Automation fills in missing profile data for each contact who passes through it: first name, last name, phone, LinkedIn URL, Twitter URL, Facebook URL, company, and location. Only empty fields are filled — existing data is never overwritten. Contacts continue through the Automation after enrichment regardless of outcome.
You can also ask Active Intelligence directly to enrich a single Contact by email address or ID, check your remaining monthly enrichment allowance, or enrich a segment or tag of Contacts. For bulk enrichment, Active Intelligence shows you the affected count and your remaining allowance before asking you to confirm — it won't proceed without your explicit go-ahead.
Because the enrichment API confirms the request was made rather than what data was found, Active Intelligence points you to the Contact's activity feed rather than claiming specific fields were written. In practice, a successful enrich shows up in the activity feed within seconds.
The 100-Contact cap that existed in an earlier version of this pipeline no longer applies.
When you type a single word into the Automation Canvas create box and submit, Active Intelligence recognizes the prompt as incomplete and asks what the Automation should start with and what it should accomplish — rather than attempting to build something from too little information. The prompt prefix displayed to you has also been restored to its earlier phrasing ("Create me an automation that…"), so one-word entries no longer appear cut off.
Non-English accounts may see the updated prefix wording after the next localization update.
When Active Intelligence creates or edits an Automation, the step description field no longer includes internal keep-prompting instructions or action-limit copy.
When a large build stops early, the single continue note comes from the truncated disclosure — the chat reply no longer repeats a per-request cap or keep-prompting language. This applies to both new Automations and multi-step edits, across all account languages.
The Active Intelligence "conversation not found" empty state displays a search illustration with a title, description, and "Start a new chat" button. The "Start a new chat" button goes to the Active Intelligence home composer.
When you create a deal from a Contact in the add-deal modal, the Account field pre-fills with that Contact's associated account and the deal is saved with the account link intact. Previously, selecting a Contact did not carry the account through, so deals were created without the association.
When campaign generation, editing, or copying fails in an AI-connected context, the error screen shows accurate recovery guidance. The Try Again button appears only for failures the server explicitly marks as safe to replay. All other failures show guidance specific to the situation — for example, "Check ActiveCampaign before starting another generation" — to prevent duplicate campaigns from being created.
A rapid double-click on Try Again previously triggered the generation call twice before the button disabled itself. A guard prevents that.
Separately, when a list view — Contacts, Campaigns, Automations, Deals, or Segments — is rendered in an AI conversation context but the expected data doesn't arrive, the view waits up to 5 seconds and then shows a compact message: "This view didn't receive its data from the conversation. Ask for the data again to reload it." Previously, the view stayed on a loading skeleton indefinitely. Data that arrives before the deadline loads normally; data that arrives late still initializes the view.
The "Convert to segment" modal on the list-segment page is narrower, and the segment name input field spans the full width of the modal body — consistent with the segment name field on the parent page.
This period's work focused on polish and reliability, tightening two areas where the product's presentation fell short: personalization tags in Campaign previews and Brand Kit image scanning.
Highlights
- Brand Kit scanning unblocked. The "Images from your website" section in Brand Kit appears immediately after setup, and stalled scans now time out and offer a retry option rather than blocking the section indefinitely.
- 1 fix. Smaller corrections and repairs across Campaigns & email.
2 updates: 1 improved · 1 fixed, across 2 areas.
In read-only email previews — including version history, Active Intelligence Campaign draft cards, and translation review — personalization tags display as violet chips directly inside the preview content. They scroll natively with the email, scale with the surrounding text size, and show the tag's display name (for example, "First Name") rather than the raw tag syntax. Your exported HTML is unchanged.
After you create a Brand Kit, the "Images from your website" section switches to a scanning state immediately — a page reload is no longer needed to see it.
If a scan gets stuck, it times out after 15 minutes and shows a retry option. Previously, stalled scans had no timeout and blocked the section indefinitely.
This period's work deepens Active Intelligence across the board — from Brand Kit management and live Form previews in chat to cleaner Automation handling and more reliable language responses. Automation Canvas and Campaign tooling also received meaningful quality improvements.
Highlights · 5 of 23 updates
- Active Intelligence manages Brand Kit. Active Intelligence can retrieve, create, and update Brand Kit entries, with explicit approval required before anything is saved — giving marketers a direct, guarded path to keeping brand assets current from within the AI chat.
- Form preview before saving. Active Intelligence renders a live Form preview in chat before saving anything, so you can review field layout, list and tag wiring, and double opt-in settings before committing.
- Pages and Forms stream in chat. When Active Intelligence composes a Page or Form, a preview panel opens in chat as sections stream in, letting you see and edit the result before the full output is complete.
- Automation rows link to Campaign reports. Sent-message rows in the Automation Canvas link directly to the corresponding Campaign report, so performance data is one click away without navigating elsewhere.
- 11 fixes. Smaller corrections and repairs across AI & agents, Campaigns & email, Contacts & segmentation and 3 more areas.
23 updates: 3 new · 9 improved · 11 fixed, across 8 areas.
Two issues with the Vega connection edit form are fixed.
The external ID field is locked after a connection is created — it can only be set when first connecting. The token field starts blank in the edit form and is only included in the save when you type a replacement, so leaving it blank no longer overwrites the stored token.
The action button on the segment detail page is labeled "View contacts," consistent with the label used for the same action elsewhere in the lists experience.
A Scheduled Tasks prompt chip appears on the Reports → Campaigns → All Campaigns Performance page. One click opens a Scheduled Task directly from within the Campaign report, without leaving the page.
As part of this change, Active Intelligence prompt chips across Campaign performance pages — including the single-Campaign report — use a unified button style that stays light regardless of dark-mode preference.
The Scheduled Tasks page no longer displays a hero gradient band. Removing it places the hero directly on the page surface in both light and dark themes, consistent with the rest of the product.
Re-clicking the "Try SMS" entry point or the SMS tour card while a tour is already in progress returns you to your existing conversation instead of starting a new one and regenerating a campaign.
The "Add SMS" button on the SMS tour's final card opens the billing page in a new tab and then closes the tour, so you can act on the next step right away.
The "most engaged contacts" homepage widget reloads correctly when refreshed.
After completing a migration import, only one success card appears on the agent homepage at a time. The contact import progress card is suppressed while the migration's "Assets imported successfully" card is showing, so you won't see duplicate calls to action. Standalone contact imports outside a migration are unaffected.
Warning icons in the campaign sending status badge display in yellow, as intended.
Layout names on the Layouts tab of the campaign designer stay directly under their own thumbnail. Previously, labels from the first row painted over the second row's cards, and the last label appeared with no card beneath it.
Sent-message rows in the Automation Canvas link directly to the corresponding Campaign report, so you can get to performance data without navigating away to find it.
Automation Canvas shows missing-tag banner after tag deletion
When a tag used by an "Add a tag" or "Remove a tag" action is deleted, the missing-tag warning banner appears the next time you open that Automation in the Automation Canvas. Previously the banner only appeared after a hard browser refresh. The Automation Canvas still paints immediately from cache on entry, so load time is unchanged.
Active Intelligence widgets accept valid data correctly.
Two causes were resolved:
- The system now uses the sort order reported by the source.
- The correctness check now distinguishes surprising values from genuinely impossible ones, so valid data reaches your widgets rather than being silently refused.
If you agree and the second attempt also fails, Active Intelligence hands off to its support path as before. The retry applies to the first failure in a conversation. A second failure re-enables the support handoff so existing routing can take over. Errors on describe-failures and account-wide aggregate lookups keep their previous message.
When Active Intelligence declines to edit an active Automation, the response arrives in your account's configured language rather than always in English. English remains the fallback when a translation isn't available yet; other languages are updated on the weekly translation cycle.
When Active Intelligence composes a Page or Form, a preview panel opens in the chat as sections stream in — you don't have to wait for the full result.
For Pages, the preview supports desktop, tablet, and mobile widths. For Forms, it steps through each question one at a time.
You can make edits directly in the preview: retype a headline, swap a photo, change a link, or duplicate, reorder, or remove a section. Undo and redo are available for most edits; removing a section cannot be undone.
The preview is session-only. Nothing is saved or published automatically, and reloading the page clears it.
Active Intelligence renders a live preview of a generated Form directly in the chat conversation before writing anything to your account. You can review the Form — including its field layout, list and tag wiring, and double opt-in settings — and decide whether to save it.
List and tag wiring is resolved from your account automatically. If account data is temporarily unavailable, the preview still completes and discloses what couldn't be wired, rather than stopping entirely.
When you paste a link to a page and ask Active Intelligence to write an email about it, the page is read and used even when the link is shaped like an ActiveCampaign template URL but carries no template (for example, a URL ending in ?tid=0).
Previously, the zero template ID was treated as a valid template reference, causing the page to be silently discarded and the email to be built from nothing. The fix applies to the create, edit, and summarization paths.
When you ask Active Intelligence to edit an Automation that is already active, it responds with a single clear message explaining that contacts are already moving through the Automation. The message applies whether you're on the main agent page or inside the builder. It offers the steps available in the builder, tells you to set the Automation to inactive and ask again, and reminds you to turn it back on afterward so new contacts can enter.
The difference was most visible on macOS, where the previous rendering setting produced a visually inconsistent appearance on the dark background. Messages, headings, and the composer all render consistently with the rest of the interface.
When Active Intelligence responds with an Automation block or trigger chip in chat, follow-up actions route correctly to the Automations experience.
Active Intelligence can retrieve your primary Brand Kit, retrieve a specific Brand Kit, create a Brand Kit, and update a Brand Kit — all alongside its other capabilities.
Creating a Brand Kit always requires your explicit approval: a confirmation card appears before anything is created, even in autonomous runs. Updating a Brand Kit goes through the standard write-approval card.
When Active Intelligence generates a Campaign, the card presents on its own. The warning-icon advisory list that previously appeared beneath the card has been removed.
The week of 21 September 2026 was dominated by Active Intelligence polish and Automation Canvas capability, with the Wavelength onboarding experience repaired and a new replay action added to the Canvas. Deals CRM, Contacts, and Campaigns each picked up targeted improvements alongside a run of stability fixes across the platform.
Highlights · 3 of 23 updates
- Automation replay action ships. A replay action card is available in the Automation Canvas, giving marketers a new way to re-execute logic without rebuilding steps from scratch.
- Scheduled Tasks cadence description live. The schedule description shown when creating or editing a Scheduled Task reflects the cadence you've chosen and updates live as you change the interval, with sub-daily tasks also gaining an optional end date.
- 10 fixes. Smaller corrections and repairs across AI & agents, Automations, Contacts & segmentation and 3 more areas.
23 updates: 2 new · 11 improved · 10 fixed, across 7 areas.
The Wavelength onboarding tour correctly highlights the Automations target even when that content loads a moment after the page, routes task creation to the right place, and keeps the task-help handoff working across the task landing and create screens.
The Smart Start Guide appears in a rail beside the Inspire me recommendation cards on the agent homepage. When the guide is hidden, the Inspire me cards display in the existing layout.
Drop a Showcase block into a Campaign to embed a staff list as a row of book tiles, each showing a cover image, title, and author with a link back to the showcase.
Controls let you choose the number of tiles (1–5), image size and spacing, card layout (vertical or horizontal), block background color, and per-field styling for image, title, and author. A "Show 'View All' tile" toggle is also available. All tile styling is inline, so the editor view and the sent email match.
Visibility toggles: The Image, Title, and Author elements can each be shown or hidden individually using the visibility switchers in the editor panel. At least one element must remain visible.
Text truncation: A "Truncate text" switch limits Title to 2 lines and Author to 1 line, with "..." added when text is cut.
Tile images that previously rendered broken or empty when a cover image was not available at the expected size are also fixed. The fallback order is large → medium → small, with a static placeholder used when none of the sizes are present.
Visibility toggles apply to newly added Showcase blocks. Blocks already saved in existing templates or Campaigns keep their previous settings.
Minute cadences read "Runs approximately every N minutes." Hourly cadences read "Runs approximately every hour." or "Runs approximately every N hours." depending on the value. Daily and longer cadences keep their existing copy. The previous "runs within 30 minutes" disclaimer for sub-hourly cadences has been removed.
The optional end date field is hidden for daily and longer cadences, has no default, and clears automatically if you switch a task from sub-daily to a daily-or-longer cadence. A sub-daily task with no end date runs without a stop date by design. The selectable range for minute cadences is constrained to 30 days from the start date.
"Paused" is a selectable option in the Automation overview's status filter and in the bulk-edit status picker. You can filter your Automation list to show only paused Automations, or select multiple paused Automations and update their status in one step — without having to open each one individually.
Reloading triggered translation again, repeating the cycle. Translation continues to work for users who rely on it.
The Manage Contacts drawer header padding, divider spacing, and checkbox column width are adjusted so the Contact column sits flush next to the checkbox.
In the Engage Flows builder, the button to turn a flow on is disabled while you have unsaved edits, because turning a flow on publishes whatever was last saved. Previously the tooltip showed a generic message that named the wrong reason. The tooltip now reads: "Save your changes before you turn this flow on."
Save your edits first, then turn the flow on.
The stage header in the Deals CRM pipeline view has been redesigned to make reordering columns easier. The decorative dot beside each stage name is gone, and the full title cluster — stage name, deal count badge, and total — now acts as the drag handle for the column. You can grab anywhere across that area to reorder.
The settings gear and the add-deal button remain outside the drag area and work as before.
Drag feedback is also improved: columns no longer stretch to full lane height while you're moving them, the drag preview is fully opaque and elevated rather than a faint tint, and the column hides its deal count while in flight to prevent the title from wrapping. Keyboard reordering works via the title handle, and screen readers hear the stage name announced when a column is picked up.
Stage names are no longer text-selectable — a deliberate trade-off for the wider drag target.
Tags on the Contact detail page sort in case-insensitive alphabetical order. Previously, uppercase tags were sorted ahead of all lowercase ones, so "TEST," "a test," and "1 Test" appeared as "1 Test, TEST, a test" rather than the correct "1 Test, a test, TEST." The order you see on the Contact detail page now matches what you'd expect.
Deal cards in the Deals CRM pipeline view show the correct contact avatar again. When a card displays the Contact or Contact-and-Account field, the contact's avatar leads that row — so you can identify the person at a glance without opening the deal. The avatar appears automatically whenever you've selected the Contact or Contact-and-Account field; no separate toggle is needed.
The placeholder overlay on coming-soon widgets reads as two complete sentences: "Yours is on the way. This widget will fill in on its own once your account has data for it."
Campaign template icons in the Active Intelligence sidebar use an outlined style throughout. Whether a template appears in the add-context menu, as a selected chip, on the campaign preview Templates button, on campaign-from-prompt template chips, or on the "Reuse a design" button, it looks the same. Previously the filled icon was used, which made selected templates look different from the same item in the menu.
A replay action card is available in the Automation Canvas, with the logic to execute it.
Each row card in the Automation messages gallery shows a "View report" label on the report control, matching the label used elsewhere in the Automations area.
The setup card only appears on the builder page for the specific Automation being imported. Opening a new tab or navigating elsewhere clears it, so the prompt no longer appears over read-only Automation previews. If you dismiss the sidebar, the builder falls back to the original import drawer.
The Advanced settings section on the contact import review step opens automatically. Previously, you had to find and click the section to expand it. You can still collapse it by clicking.
As Active Intelligence homepage widgets finish generating, the loader displays two additional animated steps — "Finishing up" and "Putting on the final touches" — so you have a clearer sense of progress while results are being prepared.
The progress bar on the dashboard card and the step copy in Customize Homepage Experience advance through six phases over approximately 30 seconds, with the final step holding until generation completes.
The default widgets on the Active Intelligence homepage and the idea pills in the Manage view have been updated for better chart-type variety and more reliable first-run results. Contact growth seeds as an area chart, contacts-by-status seeds as a pie chart, and bar-chart seeds are spaced apart. The automation-errors seed — which returns no data for many accounts — is replaced with a most-used-automations seed that works for any account with at least one Automation. In the idea pills, the contacts-by-status pill is replaced with a top-tags pill.
The thumbs-up and thumbs-down feedback icons in the Active Intelligence sidebar display with the correct rounded outline style when unselected and switch to the filled variant when selected.
When you open the Add context menu in the Active Intelligence chat input, the @ icon draws a ring animation that completes in 520 ms, fades out, and resets so it replays each time you open the menu. The animation respects your device's reduced-motion preference and will not play if you have that setting enabled.
The menu renders above the banner regardless of whether it's showing, so you can always access your attachments options.
Button labels use a smaller, muted text style; icons sit closer to their labels; spacing between toolbar buttons is tighter; and borders use a consistent muted style.
The attach button icon changed from a paperclip to a plus sign, which more clearly signals that it's for adding files or attachments — its function is unchanged. When the attachments menu is open, the + button rotates to an × so you can see at a glance that the menu is active. If you have reduced motion enabled in your system settings, the open state is shown without the rotation animation.
These changes apply across the Agent home, conversation view, scheduled task preview, and Campaigns AI prompt.
This period's work centers on Active Intelligence reliability and data integrity across contacts, campaigns, and automations. A broad sweep of fixes tightens how Active Intelligence builds and sends campaigns, how contact and deal data flows through the platform, and how ecommerce and WhatsApp integrations stay in sync.
Highlights · 4 of 47 updates
- Campaign send panel overhauled. The Campaign send experience in Active Intelligence gains a full audience list in the Segment dropdown, reliable multi-list sending, synced schedule values, immediate post-send locking, and clearer blocked-send explanations.
- Industry Intelligence quality raised. Industry Intelligence cards publish only when backed by genuinely on-vertical sources, ending the previous behavior where off-topic sources produced weak cards instead of no card at all.
- Deals CRM export expanded. The Deals CRM pipeline view export adds contact phone, account website, account owner details, and custom field blocks for both contacts and accounts.
- 36 fixes. Smaller corrections and repairs across Contacts & segmentation, AI & agents, Campaigns & email and 6 more areas.
47 updates: 4 new · 7 improved · 36 fixed, across 10 areas.
When you delete a tag in ActiveCampaign, WhatsApp is notified so it can remove its copy of the tag. Previously, deleting a tag in ActiveCampaign left the tag in place on the WhatsApp side.
This applies to accounts that have a WhatsApp inbox. If the notification to WhatsApp fails, the deletion in ActiveCampaign still completes — the sync catches up automatically.
Two new opt-in parameters are available on GET /api/3/templates. Sort templates by how often they've been used with orders[used]=DESC to surface your most-used templates first. Fetch templates without email markup using exclude=content,preview_content for faster, lighter responses when you don't need the full content. Requests that don't use these parameters are unchanged.
Two API filters that silently did nothing are fixed:
- Template editor-version filter: Template search was ignoring the editor-version filter and always returning only the latest editor (version 3) templates. Filtering by all versions, version 1, or version 2 now returns the correct results. The query-string keys you use are unchanged.
- Contact activity trends list filter: The contact activity trends report was ignoring the list filter and always reporting across every list. It now narrows to the list you specify. Per-user list permission filtering is applied independently, so access is not widened.
Previously, creating a template and applying a layout required two separate steps. If the second step didn't complete, an empty template could be left behind in your account. Templates can be created with their layout already applied in a single operation, and the process rolls back cleanly if anything goes wrong — leaving no leftover records.
Tag names containing line breaks are rejected at creation. Tags saved with line breaks in their names couldn't be applied to, removed from, or looked up by name on contacts. The API returns a validation error when a tag name contains a line break. In-app paths that create tags through the UI, imports, and automations already sanitize names before saving and are unaffected.
When Active Intelligence swaps an existing Campaign into a Send Email step in an Automation, the Campaign is correctly linked to that Automation. Previously the Campaign stayed detached, causing "Error loading form values" when you opened the send email block in the builder.
A showcase block is available in the page builder.
Attempting to share a legacy HTML-designer email template previously produced a share link that failed when anyone tried to import it, and left behind a partially created template record. The share request fails immediately with a clear error — "this template version is too old" — instead of handing out a link that can never work. Templates using current editor versions are unaffected.
Segments that already contained more conditions than your account's limits allow could become permanently unsaveable — any attempt to edit and save them would be blocked, even without adding new conditions.
The save path checks incoming condition counts before making any changes. If a save would push any count over your account's limit, it's rejected and the stored segment is left exactly as it was. Segments that already exceed a limit stay editable: you can save them unchanged or reduce their conditions; only an increase is refused.
Reply counts previously included STOP, START, and keyword texts that aren't genuine replies, inflating the number. Opt-out counts came from a source that resets when a contact re-subscribes, so a contact who unsubscribed and then restarted showed a net opt-out count of zero, understating your true unsubscribe history.
Reply counts now reflect only forward-intent messages. Opt-out counts are drawn from an append-only source, so a contact re-subscribing no longer erases their prior opt-out from your totals. These corrections apply across all SMS reporting surfaces: account-wide snapshots, per-Automation metrics, per-broadcast metrics, and the reply-count graph. The activity feed in Campaign reports is unchanged and continues to show all message types, including STOP and START events.
Edit and Delete are available again for SMS keywords on lists that had duplicate keyword entries. If you were seeing an error when trying to edit or delete a keyword, those actions work correctly.
Creating, updating, or deleting a permission rule on the Active Intelligence customize page produces an entry in the customization activity feed, alongside other customization changes already tracked there.
The feed records which verdict was replaced on an update. Saves where nothing actually changed produce no feed entry. This is available on accounts with the permissions feature enabled.
Two issues caused large Excel imports to fail: formula recalculation was running on every cell during conversion, which could exceed the 30-second time limit for complex workbooks; and the file size check only measured the compressed file size, so files that expand to very large cell counts passed validation and then failed during load.
Formula recalculation is now skipped during import — stored values are used instead. Files where the first worksheet exceeds 500,000 cells are rejected before loading begins, with a clear error rather than a timeout. If a file's dimensions can't be determined, it's allowed through rather than blocked.
The CSV import path is unchanged.
Active Intelligence's Industry Intelligence feature previously published cards even when the underlying sources were off-vertical, too general, or not meaningfully about your market. About 55% of generated Industry Intelligence cards were failing quality evaluation because the fallback path produced weak cards rather than skipping them.
Active Intelligence now recognises when no source is genuinely relevant to your market and exits without producing a card. If every available source is from a different vertical or region, or is a listing, directory, pricing, or press-release page rather than substantive market content, the run ends with no card. A short or number-free snippet that is still about your market continues to produce a card. Cards backed by a single strong source still publish.
This change applies only to Industry Intelligence. Brand monitoring and competitive intelligence are unaffected.
Group-level email sending limits are now enforced against the campaign owner's group, as intended.
The limit check was resolving against the primary admin's group, which defaults to unlimited, while usage was recorded against the owner's group. The two never matched, making limits unenforceable for any non-admin group. The check now resolves the limit from the campaign owner's group, falling back to the primary admin's group only when needed.
Series campaigns, which are the highest-volume users of this path, are also covered.
Screenshots of AI-generated emails in the onboarding timeline, campaign list, and template gallery are captured at the width the email was built for — 600px for generated emails. Previously, screenshots were captured at 900px, wider than the email body, causing them to look incorrect. The correct width is also passed through to the renderer, where it was previously dropped before reaching it.
Clicking a "forward to a friend" link for a campaign that no longer exists returns a clear response instead of an error.
Public form submissions complete correctly when a custom field option contains legacy data.
Previously, selecting "No Folder" either returned an empty set or was silently ignored depending on the list. The filter works as expected across all three.
When "No Folder" is combined with real folder selections in a multi-select, the result is the union — assets with no folder plus any of the named folders. All other filter values behave exactly as before.
Emails built in the email editor maintain heading hierarchy on iPhone when Accessibility → Larger Text is enabled. H1 is sized to maintain a clear ratio above H2, matching the desktop heading scale and surviving iOS scaling. Existing campaigns, templates, and sent mail keep their stored copy unchanged.
The compliance footer that the email editor adds to your campaign can be selected, moved, and edited using the editor's own controls. Previously it appeared in the email but couldn't be interacted with inside the editor.
How the footer appears in sent emails is unchanged.
No action is required.
The fix applies to both direct API syncs and bulk ecommerce data syncs. Contacts who do not accept marketing remain unaffected, and no unsubscribed rows are created for them.
Searching deals with a term that included an emoji or other special character — for example, "Perfeito! 😊" — was returning an error instead of results. The search strips those characters from the term before running, so "Perfeito! 😊" narrows results the same way "Perfeito!" would. Because this is a free-text search rather than an exact lookup, there's no risk of matching the wrong record.
The Deals CRM pipeline view export adds six new standard columns: Contact Phone, Account Website, Account Owner Name, Account Owner Email, Account Owner Username, and Account Owner ID. Two new custom-field blocks — Contact Custom Fields and Account Custom Fields — are also available, appended after Deal Custom Fields in a consistent column order.
All new fields are selectable in the field catalogue alongside the preset export cards (Everything, Spreadsheet view, and Custom). If the Accounts feature isn't enabled on your account, account and account-owner fields won't appear in the catalogue. Existing exports are unaffected: columns are unchanged if you don't select the new fields, and missing data yields an empty cell rather than an error.
Previously, these triggers silently never fired in snapshot-provisioned accounts. The fix covers all trigger paths, including UI saves, imports, and automation revision restores. Re-saving the trigger in the UI is not required.
Searching for contacts by email address using a value that contains emoji or other 4-byte characters returns zero results cleanly instead of throwing a database error. The same fix applies to the legacy API v1 contact add path, which had the same behavior.
The fix treats any email filter containing a 4-byte character as a guaranteed non-match, avoiding any risk of silently matching a different contact.
No action is required.
Filtering contacts via the API by last name, first name, or organization name returns results correctly. Previously these filters returned a server error.
As a side effect, filtering by owner also works. Unknown filter keys are silently ignored rather than causing an error.
Your contact scores update reliably, even when one of your score rules references a segment that no longer exists. Previously, a single broken rule caused the entire scoring batch to stop — every rule after it was skipped, and scores were never updated for that run, even though some rules had already been evaluated. The broken rule is logged and skipped, and the remaining rules run to completion.
If every rule in a score fails, the score value is left as-is for that batch rather than being zeroed out, protecting your data during a temporary issue with the segment engine.
The Contact Import page loads correctly when the upload is empty or the file source doesn't populate the expected input, rather than returning a server error.
Previously, spaces were stripped when displaying values even though they were saved with spaces, so the display didn't match what was actually stored.
If you use the API to read and write contact field values, check whether any values now appear with leading or trailing whitespace. That whitespace was already in your data — it's now visible for the first time.
Viewing a contact's activity loads correctly for accounts that have WhatsApp conversation or contact enrichment activity.
Retrieving a contact via the API (GET /api/3/contacts/{id}) returns a complete response even when that contact has a large number of associated deals.
When you created a campaign by copying a past one, the email body was stored in a raw internal format instead of finished HTML. Recipients received an unrendered document, styles applied only through class rules were lost, and buttons appeared with black text in Outlook instead of the color you set.
The email body is compiled into finished HTML, with all styles applied inline, before the campaign is saved. Outlook-compatible formatting and responsive layout blocks are both preserved. New copies made going forward will render correctly.
Automations with a "Contact created" trigger that Active Intelligence built stay active after creation. Previously, these Automations were incorrectly deactivated immediately after being created, meaning contacts entering at that trigger point were never processed.
The lists added or removed during import are unchanged. No action is required — template imports on large accounts will complete as expected.
Previously there was no upper bound on repeat intervals, so a value like "every 999,999 minutes" could be submitted and stored. The scheduled task editor and Active Intelligence's guidance now both enforce per-unit maximums: 1,440 minutes, 168 hours, 366 days, 52 weeks, 12 months.
Entering a count above the maximum flags the input, shows a unit-specific warning, and blocks saving. Tasks already stored with out-of-range intervals still load and display on every list, detail, and edit surface — validation blocks saving, not viewing, so stored tasks can be corrected.
When asking Active Intelligence to create a new automation, it previously stopped to warn about overlapping triggers with existing automations and presented numbered options. Active Intelligence proceeds directly to building the requested automation.
Active Intelligence could build a segment with more than three "contains" or "does not contain" conditions. The segment builder enforces a maximum of three such conditions when you edit a segment manually, so these oversized segments were saved but then opened with a danger banner and a disabled Save button — impossible to edit.
Active Intelligence refuses to save a segment that would exceed the three-condition limit. When the limit would be exceeded, Active Intelligence surfaces a message explaining the limit and suggests splitting the audience into separate segments.
Segments already saved over the cap are not repaired by this change.
Previously, a "the API doesn't cover that" result was treated as a final answer, leaving you with nowhere to go. Active Intelligence now hands off to support knowledge in the same response, so you get a useful answer instead of a dead end.
When an operation exists but your account's settings prevent it, Active Intelligence still reports that directly rather than handing off.
When Active Intelligence edits a Send Email step in an automation by assigning an existing campaign, that campaign is properly linked to the automation. Previously, campaigns assigned through the Active Intelligence chat path were not connected to the automation's series or list. Clicking Finish caused the campaign to stop, and reopening the action showed "Error loading form values." The email couldn't be opened, edited, or published, and the automation couldn't go live.
This affected the Active Intelligence edit path specifically; creating from a template in the Automations overview worked correctly throughout.
No action is required.
The classification step was completing too slowly under the previous time limit, so the catalog returned nothing instead of the tags it had found. The time allowed for classification has been extended, and local testing confirmed that a tag like "Engagement - Ghosts" — which previously exceeded the old limit at around 8.6 seconds — completes successfully. If classification still runs long in an unusual case, the system continues rather than stopping.
Several improvements to the Campaign send experience in Active Intelligence ship together.
Audience picker shows your real audiences. The Segment dropdown previously offered only "No filter — full list" and "Create New Segment." It pulls from your full audience list (up to 10,000 rows, de-duplicated), so you can select any segment your account has.
Sending to multiple lists now reaches all of them. When Active Intelligence proposed a primary list plus additional lists, the send panel previously read only the primary list. Every suggested list is written and verified against your account before saving.
The send panel no longer floods the screen with notifications. Each schedule pick previously triggered a success notification with no limit. The redundant notification is removed; the status line above the controls already shows "saving" then "saved." The past-send-time warning fires once per action instead of once per keystroke.
A schedule saved elsewhere shows in an open panel. Send mode, day, and time previously only loaded when the panel first opened, so a schedule changed elsewhere kept showing stale values. The three controls stay in sync with the latest saved schedule; unsaved edits still take priority until the server confirms a different schedule.
Campaign settings lock as soon as a Campaign is sent. After sending or scheduling, settings previously stayed editable for up to five minutes and the send button stayed active. Both paths that finish a Campaign lock settings immediately on success.
Send-blocked reasons are readable. When a generated Campaign can't be sent, the explanation is a single clear sentence listing what needs to be added, with supporting conditions shown at a lower visual weight.
The Campaign success screen shows the correct icon. The success screen uses the correct send or calendar icon.
A successful Campaign no longer appears as a list of errors. When a Campaign generated successfully but with notices, the response previously formatted as a bullet list that read as a failure. Notices are relayed as prose, one short paragraph after the confirmation, with actionable items first.
Campaign delete reports the correct result. The delete action returns the correct result; bulk delete lists any Campaign that wasn't removed under failed; and cascading deletion of child Campaigns reads each child's result so incomplete cascades can't report success.
Generated emails can be saved directly to the template library. You can save a generated email as a reusable template without creating a Campaign. The template appears in the library and can be opened by its creator.
Deleted campaigns move their design records to an archived location; on restore, those records move back. The brand suggestion logic was previously reading both locations, so a restored campaign's archived records caused later human-authored campaigns to be treated as AI-generated — which could suppress valid brand proposals or refuse them for too few sends.
The logic reads only live design records. A fallback handles the edge case where a restore left a live AI campaign with only archived records. A lookup failure causes the proposal to be declined rather than silently treating every AI campaign as valid.
When you ask a how-to question about scheduled tasks in Active Intelligence — for example, "What is this?" "What does this do?" or "How does this work?" — you receive a real answer drawn from support knowledge.
The SMS campaign creation tour starts correctly and generates campaigns with complete content for accounts that have a brand kit or voice profile set up. Previously, the tour sometimes didn't start at all, or started but produced a campaign with a blank message.
When importing contacts, AI-suggested tags default to inactive. You must explicitly turn on each AI-suggested tag before it's applied to your contacts. Tags you add manually continue to default to active. Existing saved import settings are unaffected.
When generating a Brand Kit's email templates fails, the previous working template is left in place rather than being overwritten.
This period's work deepens Active Intelligence's reach across the builder experience, tightens the Automation Canvas, and polishes the Deals CRM pipeline view. Improvements to how Active Intelligence surfaces in Campaign Builder, migration review, and permissions administration move the product closer to earned autonomy that fits naturally into existing workflows.
Highlights · 5 of 30 updates
- Active Intelligence in Campaign Builder. The Campaign Builder canvas toolbar now includes an AI menu and performance actions, giving you faster access to Active Intelligence and campaign performance without leaving the builder.
- Active Intelligence reuses your tags. When Active Intelligence generates or edits an Automation, it draws on tags already in your account rather than creating new ones, keeping your tag list clean and your Automations consistent with existing Contact data.
- Context-aware migration review. On the migration review screen, clicking "Review automations" or "Review campaigns" opens Active Intelligence with a relevant prompt already set, so the conversation starts in context without requiring you to describe what you want to review.
- Active Intelligence permission activity feed. When an Active Intelligence permission rule is added, changed, or removed, the event appears in the activity feed with a title and description, and clicking it takes you directly to the Permissions section.
- 8 fixes. Smaller corrections and repairs across Automations, Campaigns & email, Contacts & segmentation and 1 more area.
30 updates: 9 new · 13 improved · 8 fixed, across 8 areas.
Three separate issues could cause newly created or updated templates to disappear or never appear at all: the listing collapsed paginated results in a way that silently cut off templates past the first page; neither page cleared its cached listing after a create or update; and the two pages used different cache keys, so clearing one didn't reliably refresh the other. All three are resolved.
When a template can't be created, you see an error message ("Couldn't create your template") rather than the failure disappearing silently.
The sort pills in the campaign gallery view are visually consistent with the category dropdown. The selected pill uses the same grey tone as other selected controls, hover on an unselected option uses a lighter grey so it can't be mistaken for selected, and the pills use the same typeface and size as the dropdown.
The scheduled task editor previously allowed any repeat count up to a global ceiling of 999, which could produce intervals the underlying engine would reject. The editor enforces per-unit maximums: 1,440 minutes, 168 hours, 366 days, 52 weeks, 12 months.
Entering a count above the maximum flags the input, shows a unit-specific warning banner, and blocks saving. Existing tasks with out-of-range intervals still load and display on every list, detail, and edit surface. Validation blocks saving, not viewing, so stored tasks can be corrected.
The text input in the scheduled task preview side panel auto-resizes its height correctly. Previously the height could get stuck, making it harder to see what you had typed.
Each card reveals as soon as its first band arrives. If a screenshot never becomes available, the card keeps the email you watched being built.
Changes include aligned toolbar height, border radius, fonts, contact links, and table headers; an Activity Logs-style date range picker replacing the Last entry and Last completion text fields (single day and from-only supported); column settings matching the Overview gear menu; lighter color for status chips, the Filters count badge, and matching-row chips; the End Current Run(s) button using the same red as the Overview Delete button; removed gray dividers in Manage Duplicates with tighter radio spacing; and a slate footer matching the Delete Automations pattern.
On large canvases, hidden drag-preview cards were being rendered inside every draggable node at an off-screen position. The viewport transform on large canvases brought those cards back into view, making them appear as floating or disconnected blocks near the start trigger.
The drag preview is mounted once on the page body only for the duration of a drag and removed when the drag ends, so it cannot appear on the canvas while idle.
When a campaign send is delayed, the Campaigns list keeps the campaign's actual status chip — Preparing, Sending, or Scheduled — with its normal color and live indicator, and adds a small warning icon inside the chip. Hovering the icon shows a "Delayed" tooltip. The progress bar still turns orange for a delayed send.
The delivery-incomplete icon's tooltip reads "Incomplete." The "complete" option in the Status filter dropdown is relabeled "Sending / Sent" to reflect that it also matches campaigns still delivering. Terminal statuses never show the warning icon.
The Deals CRM pipeline view loading skeleton transitions to the loaded board without a visible jump in width or density. The skeleton renders five columns with a descending funnel of cards to match the real pipeline layout.
Previously these three columns were display-only. You can sort by any of them the same way you sort other columns in the spreadsheet view.
Meta rows — value, contact, and next action — keep their single-line display. Adjacent column headers may differ in height when stage names vary in length.
Previously, clicking the ellipsis ("...") in the contacts drawer paginator triggered a request for page 1,000,000 or 1,000,001, causing the drawer to attempt fetching a massive offset. Those out-of-range sentinel pages are now dropped, and the paginator behaves correctly when the ellipsis is clicked.
Sorting works across all four columns and supports both ascending and descending order.
Both gallery views in the campaign browser display the campaign name, subject line, and performance rates such as open and click rates, giving you the key details at a glance without opening each campaign.
When a save fails, the Campaign Builder header reports "Not saved" with the message "Your recent changes haven't been saved. Check your connection and try again." Previously it continued to show "Saved just now" even after a failed save, giving you false confidence that your changes were recorded. Tracking checkboxes, the Google Analytics name, and per-link tracking names revert on save failure instead of appearing to have saved.
Five additional fixes shipped at the same time:
- Editing a campaign's lists no longer silently clears its segment. Previously this could widen a send from a targeted segment to every contact on those lists.
- The send confirmation blocks when the audience can't be resolved, rather than showing a live Send button alongside "0 contacts."
- Reloading the confirmation page for a scheduled campaign shows the correct scheduled state. Previously it displayed "Your campaign is being sent!" for a send that hadn't happened yet. When the exact send time isn't available, the page shows: "It will send at the time you chose. You can unschedule it from the campaigns list."
- Tracking toggles clear when you move to a different campaign, so a previous campaign's settings no longer carry over.
- Choosing a campaign type sticks — the page no longer reverts your selection after a refetch.
The Campaign Builder canvas toolbar includes an AI menu and performance actions, giving you faster access to Active Intelligence and campaign performance from within the builder.
Branch arm pills in the Automation Workflow Builder display the shorter labels "True" and "False," making branch conditions easier to scan at a glance.
Previously, incomplete steps displayed raw parameter keys — for example, "Add tag missing tagname." The builder now shows plain-language labels: "a tag," "a list," "an email," "a field to update," "a webhook URL," "a from address," "a recipient," "a subject," or "a message," depending on what's missing. The redundant "(missing)" note has also been removed from tag and list recommendation messages.
Previously, the messages page opened fully expanded, requiring you to scroll through every message to understand the shape of a large automation. Each section header now shows a step count, so you can orient yourself before drilling in.
The folder filter on the Automation Canvas index looks and works the same way as the filters on your Campaigns, Forms, and SMS lists. Folders and goals appear as separate labeled sections, both expanded by default and collapsible. Each option shows the name and its count. The filter is single-select with an explicit "Any" option, and names sort alphabetically within each section. The goal icon is a gold trophy that appears after the name and count.
Previously, unavailable triggers were not identified by name, leaving you to discover incompatibilities after the fact. The builder now surfaces this information at the point of adding a step.
The fallback order is: specific message, then localized decline copy, then generic error. Suggestion chips for unsupported data prompts and the dedicated no-access state for permission errors are preserved.
When Active Intelligence generates or edits an automation, it reuses tags already in your account rather than creating new ones, keeping your tag list clean and your automations consistent with your existing contact data.
The approval card in the side panel no longer pushes the headline past its text or lands the toggle on top of the title. The header row wraps with the headline holding 60% of the width; the control sits beside the title when space allows and drops to its own right-aligned row when it does not.
The "Rules set from chat approvals" block has been removed from the Permissions page. Nothing in the product writes such a rule any more. Any rules previously listed there are also cleared automatically when you visit the page, provided both data fetches have completed. The sweep only removes allow and ask rules; deny rules, the wildcard, account-scoped rules, and rules without an ID are never touched.
Permission-related feed rows previously opened the memories link. Clicking them now opens the Permissions section directly — both on the full page and in the Active Intelligence sidebar.
This requires the Active Intelligence permissions feature to be enabled for your account.
inaccuracies
"See the latest" is shown before the personalized view and is used as the first-visit default when available. If the previously saved tab is no longer available, the selection falls back safely.
On the migration review screen, clicking "Review automations" or "Review campaigns" opens Active Intelligence with a relevant prompt already set, so the conversation starts in context rather than requiring you to describe what you want to review.
When you edit the Brand Kit and navigate away without saving, a confirmation dialog appears before your changes are lost. You can choose to save and continue, or leave without saving. If saving fails validation, the dialog closes and you stay on the form — a banner and highlighted fields show exactly what needs correcting before you can move on.
On an imported brand where leaving would delete the brand entirely, only the "Leave without saving" option is offered. When there are no unsaved changes, no dialog appears.
When auto-save goes live, your edits will save on blur with no extra step required. The supporting interface text shipped in this release includes a saving indicator and a warning if you navigate away from a brand with required fields still empty.
This period was dominated by Active Intelligence depth: tighter campaign editing controls, a new notifications center, SMS reporting, and a direct AI menu inside the Automation Canvas all shipped together, extending Active Intelligence's reach across more of the daily marketing workflow.
Highlights · 4 of 11 updates
- AI menu in Automation Canvas. A new AI menu on the Automation Canvas gives you one-tap access to Active Intelligence for quick edits, analysis, or automation reports without leaving the builder, with your automation's context already loaded.
- Active Intelligence notifications center. A notifications center in the global nav's "Your AI" drawer collects Active Intelligence insights in one place, with unread badges, mark-all-as-read controls, and a back action that returns you to the center after any insight conversation.
- SMS campaign performance reporting. Active Intelligence can report on SMS campaign performance, covering delivered, failed, opt-outs, sends, replies, and computed rates.
- 3 fixes. Smaller corrections and repairs across AI & agents, Campaigns & email, CRM & deals.
11 updates: 4 new · 4 improved · 3 fixed, across 5 areas.
One of the required checkboxes on step 4 of the merge intermittently ignored clicks, leaving the Merge button disabled with no explanation. Navigating back and forward in the wizard remounted the checkboxes and masked the problem.
The four checkboxes on step 4 now use explicit unique IDs, matching the fix already applied to the archive-contact, add-to-lists, add-to-automations, and delete-fields modals.
Editing a campaign field previously caused it to stop accepting updates from the server for the rest of your session. A change made in another tab or by a teammate wouldn't appear, and switching variants on a split campaign could leave the previous variant's text on screen.
Fields now track what you last typed locally and resume accepting server values once the server confirms your edit. A server update arriving while you're typing won't overwrite what you're working on, and a failed save keeps your edit in place rather than silently reverting it.
Four specific issues are resolved:
- A field edited once no longer ignores server updates for the rest of the session.
- The date-based reminder block shows only date fields from the list the campaign sends to, not from every list in your account.
- The link tracking modal stays open when a save fails, so you don't lose the names you entered.
- A split test percentage you type while a ratio warning is showing is saved correctly on blur.
When Active Intelligence builds a large automation that needs more than one pass to add all its steps, the status indicator in the automation builder moves through distinct phases: "Creating automation," then "Adding steps," then editing any remaining steps. Previously the indicator stayed on "Creating automation" the entire time, with no sign that work was still happening.
The builder updates automatically.
When Active Intelligence generates an automation that hits the step limit, the result includes a line telling you how many steps were included, so you know exactly what you got rather than having to count manually.
Each homepage widget card displays an "Updated x ago" line beneath its title, so you can see at a glance how fresh the data is.
The 6-hour auto-refresh calculation uses the same server-stamped timestamp, so a cosmetic save to a widget can no longer make stale data appear current.
Active Intelligence sidebar AI menu in the Automation Builder
An AI menu sits directly on the automations canvas. Clicking it opens the Active Intelligence sidebar to a landing screen with three options:
- Make quick edits — ask Active Intelligence to adjust your automation on the spot.
- Analyze this automation — get a read on how your automation is structured and where it might be improved.
- Run an automation report — the same performance view that was previously a standalone action, now reachable from the same menu.
The notifications center lives inside the "Your AI" drawer in the global navigation. Unread insights show an indicator dot, and the nav icon carries a badge while any unread insights remain. From the center you can mark all as read, edit which notifications you see, or delete them. Read notifications stay in newest-first order with only their unread dot removed.
When you open an insight from the center, the sidecar chat header is replaced with a Back action. After the conversation, that action returns you to the notification center with the handoff content intact. Full-page chats also return to the notification center on close.
When Active Intelligence builds an automation, email generation steps show a "Writing email" label while the email is being created, and "Email not created" if generation doesn't complete. A third state is also handled: when a send step's email was never written at all, a card appears in place of the missing preview explaining what happened and how to add the email yourself. Previously, all three states either showed a raw key string or left failed and in-progress steps indistinguishable from each other.
When data isn't available, Active Intelligence routes to support rather than returning empty or invented figures.
Active Intelligence campaign editing has been rebuilt to keep edits targeted, transparent, and dependable.
Edits stay within the block you selected. When you pick a specific block in the campaign preview and ask for a change, Active Intelligence confines its rewrite to that block only. Previously, a one-word correction could be judged against the whole document and rewrite sections you didn't name.
Button edits stay scoped to the button. Asking Active Intelligence to change a call-to-action button previously could silently repaint entire sections of your email, reaching 2–4 surrounding bands in tested emails. The edit stays contained to the button, its column, its row, and adjacent spacers.
Campaigns are no longer locked out of editing. Over 7 days in US production, Active Intelligence refused to edit campaigns 409 times; 203 of those were the service failing to read markup it had written itself, locking campaigns out of editing entirely. The rate climbed from 1–11 refusals per day in mid-August to 45–56 per day. Six underlying causes are resolved, so campaigns that were previously unreachable for editing are now editable.
Fix a single value without a full rewrite. A deterministic edit path lets you correct one specific thing — a price, a URL, or a call-to-action label — without a full-block rewrite. Seven supported operations cover words in a block, a picture's source, an action's destination, the call-to-action wording, and copying, moving, or removing a band.
The editing menu shows clearly named options. When you click "Edit with AI" on a campaign summary, you get a menu of named edits instead of a blank chat prompt: Make the subject line stronger, Shorten the copy, Change the tone, Swap the images, Update the button text, and Tell me something else. Each choice opens Active Intelligence with that specific instruction already set. The five copy-and-image edits work with both generation engines; layout and structural edits are not included.
Collateral changes are now named, not just counted. When an edit touches parts of your email you didn't ask about, Active Intelligence tells you which sections moved — for example, "Look in section 2" or "Look in sections 2 and 4" — rather than only how many.
Active Intelligence tells you what it left alone. After an edit, you're told that the rest of the email was untouched.
Subject line changes are disclosed. When Active Intelligence trims a subject line to fit an inbox row, removes a merge tag the account doesn't have, or drops unreadable text, you're told about it. Previously these changes happened silently.
Your campaign preferences travel into generation. Eight values from the intake form reach generation: audience description, tone, stated color (hex only), typeface, subject line draft, campaign name, language, and attached design. Non-hex colors are dropped with a warning. An unmappable language name is disclosed with an invitation to re-state it rather than silently falling back.
Campaign copy and design are faithfully reproduced. A pasted email document is reproduced as given instead of being rewritten. A design you name is applied alongside copy, with template markup traveling with the copy untouched. When a design loses its layout during parsing, Active Intelligence notifies you directly.
Removing a single block no longer deletes its entire section. Block removal is now its own operation, leaving the section intact. When a block is the last in its section, you're told to delete the section instead.
Both the block events insights tool and the block events chart tool accept a start date and end date as an alternative to preset time ranges. The full set of preset tokens (7d, 30d, 3m, 6m, 1y, 2y) continues to work exactly as before.
This period's work centers on Active Intelligence depth and reliability, with meaningful gains in contact data completeness, Deals CRM reporting, and cross-surface consistency in language and navigation.
Highlights · 5 of 38 updates
- Complete contact activity history. A contact's activity history now includes WhatsApp conversations, WhatsApp flows, contact enrichment events, and deal tasks, giving you a full picture of every interaction in one place.
- Deal detail page with filters. A deal detail page is available in the reporting area, and filters can be applied across all reporting views, bringing richer deal analysis into Deals CRM.
- Active Intelligence matches email voice. Active Intelligence selects a brand voice sample matched to the type of email being composed, so a sale email draws from past sale campaigns rather than your most recent newsletter.
- Scheduled task reports to anyone. Scheduled task report emails can be sent to any address you choose, including colleagues, clients, or external contacts, with up to ten recipients per task.
- 10 fixes. Smaller corrections and repairs across AI & agents, Admin & permissions, Automations and 2 more areas.
38 updates: 11 new · 17 improved · 10 fixed, across 9 areas.
Recipient disclaimers in white-label accounts no longer mention "ActiveCampaign" by name. The text now reads "They'll receive the full report by email only," so your brand stays consistent throughout.
The total deal count appears next to "Deals" in the spreadsheet view heading. It sits next to "Deals" rather than next to the pipeline name — a deliberate design decision, given that the pipeline name serves a different dropdown function in the new layout.
Date conditions using date fields — Date created, Date updated, Date subscribed/unsubscribed to a list, Order date, Last order date, and custom date fields on contacts, deals, and accounts — have two improvements.
Rolling windows removed from "is" / "is not". Options like "3 months ago" are no longer offered for these operators, because they only matched at nanosecond precision and were effectively unusable. The available options are now limited to fixed windows: exact date, today, yesterday, and tomorrow. Existing saved conditions with rolling windows remain visible when opened rather than being rewritten.
New "between" operator. A between operator is added for all of these date fields, including custom date fields. It renders two bounds on a separate line beneath the condition row. Custom datetime fields are excluded.
When you switch operators, value rewrites are handled automatically: moving into "between" seeds exact dates; moving out falls back to a single exact date; moving into "is" / "is not" from a rolling window falls back to an exact date.
The Smart Start Guide checklist no longer shows a permanent full-height scrollbar. The list is capped at a maximum height and uses a styled thin rounded scrollbar. A progress count and full-width progress bar appear above the scrollable area.
Known limit: This improvement is visible on partner and reseller accounts only.
Scheduled task report emails can go to anyone you choose, not just admins on your account. You can add up to 10 recipients per task, including colleagues, clients, or any external address.
When you create or edit a scheduled task, the "Notify by email" field accepts any email address you type. It also searches all account users, not just admins, so non-admin teammates surface as suggestions. Duplicate addresses are handled automatically.
Recipients who aren't account admins see a visual indicator and a note explaining they'll receive the full report by email only. The disclaimer reads "Some recipients have limited access to this task." Their report email contains the same content but without links into the account.
Instead of a bare "Paused" status, you see a specific reason so you can act on the right thing immediately rather than guessing.
When Active Intelligence declines to activate a scheduled task, you see its explanation rather than a generic error message.
A non-admin's email address is no longer pre-filled into a task they can't activate — the field waits until the admin list and permissions have loaded before making any selection.
A run-level disclaimer on a generated campaign is no longer dropped silently; it reaches you as intended, before any per-item advisories.
Two usability improvements also ship: the scheduled task prompt input box is resized to a more appropriate height, and a "/ Schedule task" button has been added to the chat input bar so you can create a scheduled task directly from any chat. The button doesn't appear on the dedicated scheduled tasks page, where task creation is already built into the input. In the Active Intelligence sidebar, the button sits below the other controls to fit the narrower layout.
When Active Intelligence can't finish generating an onboarding email, the email card displays "This email couldn't be finished." rather than leaving the card in an ambiguous state. You know immediately that something needs attention instead of waiting on a card that appears to still be working.
As each step completes, its label switches from present to past tense — "Connecting" becomes "Connected to your previous contact database," for example — and a checkmark appears so you can see at a glance what's done and what's still in progress.
Completed steps stay visible in the scrolling list for two full passes before dropping out, so nothing disappears before you've had a chance to see it. When three or fewer steps remain, the list stops scrolling and displays as a static stack, with completed steps staying checked in place.
The progress bar moves gradually while your import is getting started, then switches to the real percentage as soon as it's available. If a temporary server issue interrupts the connection, the import retries automatically every five seconds until it recovers, rather than stopping and asking you to start over.
Once the widget is on your dashboard, you can see at a glance how each goal is performing by lifetime conversions.
Known limits: Conversion counts are lifetime totals only — date-range filtering isn't available for goals data. Progress toward a target isn't shown because goal targets are stored as free text rather than numbers. Time-scoped questions like "how are my goals tracking this month" aren't supported; the widget won't place a lifetime number under a monthly label.
The Settings access audit log table shows four correct column headers: Action, Target, Actor, and When.
A deal detail page is available in the reporting area, and filters can be applied across all reporting views.
Tool Tips on stat cards and section headings in the dashboard are triggered by hovering the info icon rather than appearing on the element itself.
A card showing the percentage of contacts used relative to your plan limit is available in the platform.
When viewing a contact with many tags, tag badges in the contact detail panel render all at once after all name lookups have settled, rather than appearing one at a time and causing the row to repaint repeatedly.
The collapsed view shows one page of tags with a "Show N more" button rather than fetching every tag on open. Expanding a contact with many tags issues one lookup per remaining visible tag ID.
When a contact's name, deal, or organization is updated anywhere, the record reflects the change automatically — typically within about a second. When a contact is deleted from another session or by an automation, the page locks with a clear notice and a link that returns you to your contacts list. Keyboard navigation is blocked behind the notice so you can't accidentally interact with a stale record.
One intentional difference from the previous experience: the yellow "out-of-date" banner is gone, replaced by the live update. The activity stream continues to refresh on a 60-second cycle because the live update channel covers UI-originated writes only, not automation activity.
The Recent Activities feed on a contact record previously updated on a 60-second poll, meaning an activity created in another tab could take up to 54 seconds to appear. The feed now listens for new activity and fetches it immediately, typically showing the update within 1 second.
Four types of activity that were previously missing from a contact's activity list are now visible, with descriptive labels:
- Closed or started a WhatsApp conversation
- Completed or started a WhatsApp flow
- Contact was enriched, or no enrichment data was found
- Task added, completed, or reopened
Previously these events were omitted with no indication they were missing.
Active Intelligence can read and work with the Contact Created trigger in your automations. Sorting for this trigger has also been updated.
Separately, automations with a Contact Created trigger that were built using Active Intelligence are no longer incorrectly deactivated after creation.
When adding a contact fails, you see a specific message instead of a raw error code. If the contact can't be created, you see "We couldn't add this contact. Please try again." If the contact was created but couldn't be linked to the account, you see "Contact was created, but it couldn't be linked to the account."
Exporting deals from the Deals CRM pipeline view, spreadsheet view, and All Pipelines view opens an Export Deals modal instead of starting an immediate export.
The modal includes: - A Fields panel with Select all and Deselect all controls - A count strip showing how many of the total fields are selected - A search input and a scrollable checkbox list - A subtitle showing the pipeline name and filtered deal count - An Export button that updates dynamically to show the column count and is disabled when zero fields are selected
The modal opens with every field pre-selected, so you can deselect only what you don't need.
The "Sending Status" column on the Campaigns list is now labeled "Status/Send date." The column has always sorted by send date as well as sending status; the new label makes that clear. Only the English label changed in this update.
Back-to-list links across the platform have been replaced with breadcrumbs, and the toolbar displays without clipping. You get clearer context about where you are and consistent navigation across pages. The campaign detail page title, which had gone missing, is also restored.
Message card values in the Automation Workflow Builder are sometimes truncated when the text is too long to display in the card. Hovering over a truncated value now shows the full text, so you can confirm what's configured without opening the step to edit it.
Previously there was no way to filter for contacts who hadn't received an active gallery message. The new condition appears in the gallery message filter options in the automation builder.
On the Apps tab of the automation add-action modal, you can type to narrow the category list instead of scrolling through it. The "All categories" reset option hides while a search is active and returns when you clear the box.
The widget's own data values, including its title, reporting period, prompt text, and the numbers shown in the widget, remain in their original form as live account data.
When Active Intelligence builds a widget from a single Automation's block events, the reviewer sees the send and skip totals, block type counts, and total event count that the chart actually renders.
The suggestion chip above the Active Intelligence composer displays readable text instead of raw translation key strings. Previously, when a chip's producer supplied no wording of its own, the chip rendered an internal key string rather than a usable prompt.
The status messages you see while Active Intelligence composes a campaign describe what's happening right now, not what already finished. For example, "Found 4 sections" becomes "Reading 4 sections," "Pulled 3 photos" becomes "Pulling 3 photos," and "Saved to your campaign" becomes "Saving to your campaign."
Active Intelligence's question form — the set of questions it asks before doing work — has been updated to work correctly wherever Active Intelligence appears, not just in campaign creation.
The submit button uses the right label. For campaign generation, it still says "Generate campaign." On any other surface, it says "Continue" instead of the campaign-specific wording.
Campaign context travels with your request. The "How does my subject line work?", "Find similar campaigns," and "Send a follow-up" buttons on the campaign summary page pass the campaign name directly to Active Intelligence, so it doesn't have to guess which campaign you mean.
Screen readers get accurate labels. On non-campaign surfaces, the progress bar announces a neutral label instead of "Campaign setup progress," so screen reader users get accurate information about what's happening.
The prediction type dropdown shows labels in your account's language, and the prediction type chart scales to fit your data.
Previously, Active Intelligence grouped trend data in UTC while the standard Open/Read Trends report applied your account's time zone — so the figures differed, and the same contact could be counted multiple times across different days of the same weekday. All time grouping now respects your account's local time zone, so the numbers you see in chat match the numbers in your report.
The system messages Active Intelligence shows in chat after building or editing a campaign, including notices about unsubscribe links, sender info, stock photos, imported file designs, and changes that couldn't be saved, are translatable.
Previously these messages were English-only, so customers using a non-English interface saw a localized email alongside English system commentary. 7.9% of non-English assistant turns contained at least one hardcoded English notice.
126 source strings have been added for translation. Until each locale's translations sync, new strings fall back to English while existing translated strings stay in their language.
The chip covers entries, active contacts, completions, email sends, opens, clicks, unsubscribes, bounces, and conversions, and flags meaningful changes with a recommended improvement.
Previously, the voice profile was built from your account's most recent campaigns in recency order, so a sale email would be styled after whatever went out last, even if that was a newsletter or announcement.
No action is required. If Active Intelligence can't identify the type of email from your brief, or if your account hasn't sent that type before, it falls back to recency order as before.
Five of the 16 cards were sending the wrong message when clicked — the intended prompt was missing and a placeholder was sent instead. All 16 cards looked identical and rendered correctly, but clicking one of the five affected cards could never start the right goal. The missing prompts are registered, and all 16 cards work as labeled.
Clicking the dashboard-level Refresh refreshes every visible widget at once, while keeping each widget's result and error state independent — a problem with one widget doesn't affect the others. The Refresh control is disabled and shows a busy state until all requests complete. Hidden and prompt-less widgets are excluded.
Create and Manage actions are also available at the dashboard level, both leading to the widget-management page.
Short requests — like typing "quiz" — used to prompt Active Intelligence to ask you to finish your message, even though you had. The prompt was adding a prefix that ended mid-sentence, so your text looked like the missing tail of an unfinished request. Retyping reproduced the same result.
The prefix wording is updated to a complete sentence ending in a colon, so your text follows as a quoted request. This applies across all 16 languages.
This period's work centers on Active Intelligence depth and reliability, with new ways to analyze dashboard data, manage notifications, and act on campaigns, alongside a wave of polish across Deals CRM, Contacts, Automations, and reporting.
Highlights · 4 of 25 updates
- Analyze any dashboard widget. Hovering over an Active Intelligence homepage widget reveals an Analyze button that opens a full-screen conversation pre-loaded with that widget's data, so you can ask questions without copying anything.
- Delete Active Intelligence notifications. Edit mode in the Active Intelligence notifications center lets you select and delete notifications, with confirmation of what was removed and clear error reporting if something goes wrong.
- Campaign duplication works dependably. Active Intelligence handles fuzzy or ambiguous campaign references with a clarifying question, treats translation requests as edits rather than new copies, and confirms that a successful duplicate keeps the original's audience and is saved as a draft with the schedule cleared.
- 10 fixes. Smaller corrections and repairs across Reporting & analytics, Contacts & segmentation, AI & agents and 4 more areas.
25 updates: 6 new · 9 improved · 10 fixed, across 10 areas.
Previously, permission accordions opened expanded regardless of what permissions were already granted, requiring you to scroll past expanded panels before making changes. Saving a group without expanding an accordion continues to work as before. The tab row alignment now matches the layout used by other settings pages.
The sync drawer includes a multiselect option so you can select more than one item at a time, and scope drawer radio buttons display correctly in all themes.
When you're in the Deals CRM pipeline view (pipeline or tasks view), a Search all pipelines action appears in the search field while it's focused or holds a term. Activating it takes you directly to the all-pipelines spreadsheet view in one step, carrying your typed search term and your account-wide filters — owner, status, and tag — with you.
Stage filters are dropped when you cross pipeline boundaries, since they're specific to a single pipeline. The back button returns you to your previous view with your pipeline restored.
Known limit: If you type a term and activate the action within 300ms, the search term may not be carried back when you press the back button. This is expected behavior.
When adding recipients to a scheduled task preview, the recipient search field returns all users on the account, not only admins. Previously, non-admin team members had to be added another way.
A new Ideas portal lets you submit ideas or flag issues without leaving the product. Open the help menu in the global navigation to reach the modal, where you can describe your idea, search for similar ones already submitted, and see which page you're on when you submit.
Once submitted, your ideas are available at Settings › Ideas, where you can see status updates, customer notes, and voting.
The portal is off by default. It must be enabled for your account before it appears in the navigation.
The goals table loads correctly and displays all rows without errors. Checkboxes are vertically centered against row text, and the checkbox appears to the left of the chevron arrow.
- Alphabetical folder sort in filter: The folder filter dropdown sorts folders alphabetically, matching the folder grid order. "Any" stays first.
- Pinned folder view: When a folder filter is set, the grid pins to exactly those folders, overriding asset-search matches.
- Filters persist across List and Folder views: Switching views does not reset your filters. Only bulk selection clears on toggle.
- Scroll position preserved when applying a filter: Applying a filter no longer jumps the page to the top.
- Manage Folders link in create/edit modal: The create and edit folder modals include a link to Manage Folders.
The automations folder dropdown filter has also been updated to match the behavior of other asset indexes.
Errors that appeared when an account's billing currency was not supported are resolved.
In edit mode, you can select notifications in the Active Intelligence notifications center and delete them. The delete button shows how many items you've selected, confirms successful deletion with a count, and reports clearly if something goes wrong.
The filter bar on the Deal Sales Performance report has consistent vertical padding, matching the spacing used by the Deal Task Overview and Deal Forecast reports.
Previously, the timeframe appeared under the title and the freshness stamp appeared at the far right of the card header. They're now consolidated into one line, making it easier to scan at a glance. Timestamps differ per card because each widget refreshes independently. If one label is absent, the dot separator is omitted.
Two issues with contacts basic search are corrected:
- Space key restored: On accounts with no saved searches, the space key was being swallowed before it reached the search field, so typing "john smith" produced "johnsmith." Spaces work correctly in the search field.
- Saved-searches dropdown hides while typing: The saved-searches dropdown hides as soon as you start typing and returns when the field is cleared. Pressing Escape clears the field when a search term is present and dismisses the dropdown when the field is empty.
The activity stream and pending task list on the contact detail page load correctly and stay loaded.
A mismatch between how the page was requesting data caused the entire feed to go blank for a number of accounts, retrying every 30–60 seconds without success. A separate issue caused deleted records to be re-fetched repeatedly on every feed refresh. Both are resolved.
A related fix prevents the add-contact association panel from replacing the entire account page when a search selection is cleared.
No action is required.
Charts in Active Intelligence, Campaigns, Contacts, Automations, and the Partner Portal have updated visuals. Changes include a six-series color palette, area fill gradients, hover tooltips, and bar value labels that automatically use a contrast-safe color. Each chart assigns colors from its series labels, with red reserved until the other five colors are used.
No action is required.
The loading spinner on the campaigns page is correctly positioned with consistent spacing, matching the in-page loading indicator.
No action is required.
Those controls only work during the preparation phase; once emails are going out they have no effect. Pause and Stop remain available during preparation, and Stop remains available for paused campaigns and campaigns awaiting review. Accounts without the sending-progress experience feature see no change.
Bulk edit and archive modals on the Contacts page open, apply changes, and close as expected.
Clicking the insight card opens Active Intelligence with a summary of the top issues. Selecting a specific row docks Active Intelligence and takes you directly to the automation in the builder, where missing settings are now shown as plain-language labels — "a tag," "a list," "an email," and so on — rather than raw parameter keys.
The trigger/action filter button on the automations overview toolbar shows a visible "Filters" label alongside its icon, matching the equivalent button on the automations/messages page. Previously it was an icon-only button. The button height is now aligned with the status and label dropdowns.
In Automations, messages that had never been sent were incorrectly labeled as drafts. The label correctly reflects that these messages have simply not been sent yet.
Active Intelligence reporting widgets show the time window that was actually queried, not the window you requested. If you asked for "last 35 days" but the data resolved to a 30-day query, the widget subtitle reads "Last 30 days" rather than "Last 35 days."
When a window is both shorter than requested and ends materially before today, the subtitle switches to absolute dates rather than a relative label, so the description is always accurate. Calendar-month and trailing-month windows are unaffected — partial months are expected there.
Active Intelligence is more transparent when something goes wrong during an approved action.
Partial and failed writes: Active Intelligence distinguishes between fully applied, partially applied, rejected, and unknown write outcomes. When only some steps of an approved action land, the summary says which steps applied and explicitly states that the rest did not, rather than claiming the whole request is done.
Approved calls that return a plan instead of executing: When Active Intelligence is told to execute but the backend returns a plan to approve instead, it retracts any "executing now" text it already showed and displays an "awaiting approval" state rather than "nothing changed." This persists across page reloads.
Known limits: The new failure path does not yet increment the sub-agent error counter.
Asking Active Intelligence to copy a campaign, or to make something "like last month's newsletter," works dependably.
- A fuzzy time-based reference ("another one like last month's newsletter") prompts Active Intelligence to ask which campaign you mean rather than guessing or failing silently.
- An ambiguous campaign name also triggers a clarifying question.
- A translation request is treated as an in-place edit, not a copy, preventing translated campaigns from being minted as unwanted duplicates.
- Campaigns attached to an automation or mid-send are refused with a clear reason rather than failing silently.
- When a copy succeeds, Active Intelligence tells you the duplicate keeps the original's audience selection and is saved as a draft with the schedule cleared.
Active Intelligence custom instructions are active by default for new setups. Previously they required manual activation after being created.
Hover over any widget on your Active Intelligence homepage and an Analyze button appears on the card. Click it and Active Intelligence opens in a full-screen conversation pre-loaded with that widget's data — its title, reporting window, the prompt that created it, and a snapshot of the numbers — so you can ask questions and dig into what you're seeing without any copy-paste.
On touch devices the button is always visible. It does not appear while a widget is still generating or if there's a permission issue with the widget.
This period's work concentrated on Active Intelligence reliability and a wave of contact record and reporting improvements. Campaign and folder management also gained meaningful new capabilities, from status visibility on folder cards to pagination for large folders.
Highlights · 4 of 25 updates
- Save imported designs as templates. After Active Intelligence builds a campaign from an imported .eml file, you can save that email's design directly to your template library for reuse in future campaigns — a step forward for sophisticated marketers building a reusable brand foundation.
- Approval card shows completed lookups. The Active Intelligence approval card displays completed lookups in plain language with their resolved values, so you can see exactly what was already found before deciding what to approve.
- Campaign status on folder cards. Campaign cards in folder view show a status chip — draft, scheduled, sent, or attention needed — so you can check a campaign's state without opening it.
- 16 fixes. Smaller corrections and repairs across Contacts & segmentation, Platform & infrastructure, Reporting & analytics and 4 more areas.
25 updates: 3 new · 6 improved · 16 fixed, across 8 areas.
When you open a Deals CRM pipeline view via a shared link and some filters can't be applied — for example, because a referenced field no longer exists — a warning is shown instead of those filters being silently dropped.
Three areas regain correct spacing:
- The Finish and Next buttons in the campaign flow header have their right margin back.
- The Navigation Color swatch on the Settings Appearance page has correct spacing next to its label.
- The lock icon and "Account Security Measures" heading on the Settings Security page have correct spacing, as does the level label below it.
Three screens regain correct spacing:
- The Finish and Next buttons in the campaign flow header have their right margin back.
- The Dark/Light label in Settings Appearance has its left margin restored.
- The "n/4 completed" chip in Settings Security has its gap from the card title restored, and the card content layout is correct again.
The segment footer has 32px horizontal padding on both sides, matching the page header, so the save button aligns with the close button above it. In edit mode, the loading spinner is overlaid on the button at the correct size, keeping the button's height and width fixed while saving.
The segment builder in the score editor stretches to the full width of the rule card instead of collapsing to content width. As a side effect, error messages appear below the builder rather than squeezed against the right edge.
No action is required.
After Active Intelligence creates a campaign from an imported .eml file, you're offered the option to save that email's design as a reusable template in your library. If you accept, the design is available immediately for future campaigns.
This applies to EML-sourced campaigns. The same offer for HTML-sourced campaigns is not included in this release.
SMS reply rows in the contact activity feed were showing "Replied to SMS message [campaign] with" and then nothing. The reply text is displayed correctly.
No action is required.
The gap between the last alert and the subdomain banner on SMS pages is now 32px as intended, not 64px.
Filter dropdowns across seven reports used to load every record on your account before the picker became usable — up to ~200 sequential requests on mount, then blocking the browser while rendering thousands of options. On a 10,000-row account this measured as 42 seconds with the picker disabled and a 38-second frozen browser.
Filters load one page of results on open, then search your account as you type. Your selected value is pinned so it survives a search that doesn't include it in the first page.
The seven reports updated:
- Tag Trends — Tag filter
- Form Submission — Form filter; a zero-result search no longer shows the "create your first form" empty state
- All Automations — Folder and automation filters
- Deal Task Overview — Six unbounded filters (deals, task owners, contact tasks, deal tasks, any tasks, pipelines) replaced with server search; four bounded filters (task type, user group, task outcome, pipeline) keep a single request with client-side filtering
- Deals Overview and Deal Task Metrics — Owner filters
- All One-to-One Emails — Automation, email, and label filters
- Deal Forecast — Owner filter
No action is required.
The Active Contacts, Contact Trend, and other KPI widgets on the legacy overview dashboard display correctly without an unwanted scrollbar.
Three layout issues are resolved across the automations, campaigns, forms, and SMS index pages.
- Filter dropdowns are sized correctly. Each control sits at its natural width, the search input scales between a minimum and maximum width, and dropdown menus have a consistent minimum width.
- The search icon in dropdowns is corrected. The magnifying glass and placeholder text are the right size and weight.
- Folder cards display at equal widths. A folder with a long unbroken name no longer forces its column wider than the others. Folder names wrap to two lines rather than cutting off with an ellipsis.
Toggle buttons on the automations index page have also moved to the left side, and caret sizes in filter controls are smaller.
Campaign, form, SMS, and automation folder views paginate their contents at 12 items per page. A numbered pager appears when a folder has more than one page. Out-of-range page requests clamp back to a valid page.
Known limits: Page-position announcement copy, an in-flight page-turn indicator, and search-truncation surfacing for forms and SMS are not yet available.
Error toast notifications across the platform display with the correct red styling, including background, border, and icon. Previously they rendered as unstyled boxes.
Large numbers on engagement chart axes are displayed in compact notation — 10K instead of 10,000 — keeping charts readable when contact or engagement counts are high.
In folder view on any asset index — campaigns, forms, SMS, and automations — folders that contain none of that page's items are grouped behind a "Show N empty folders" toggle, collapsed by default. Opening it lists them below your populated folders; the label flips to "Hide N empty folders."
A few things worth knowing: the toggle resets each session, it doesn't appear when every folder has content, and it disappears while you're searching (since empty folders are already excluded from search results). "Empty" is evaluated per page, so a folder full of forms counts as empty on the Campaigns page.
On the contact record, email activity rows previously showed only the subject line. The full message body renders for one-to-one emails, campaign replies, campaign sends, and link-data opens — matching what the previous version of the contact record showed.
The orders widget on the contact record refreshes automatically when new order data arrives, matching the behavior of the customers and conversions widgets. This applies when the updated contact record is enabled for your account.
URLs and email addresses in contact record activity notes are now clickable, and multi-line notes keep their line breaks — across deal-task notes, tracking-log feed rows, and tracking-log detail panels.
On the updated contact and account detail pages, a rendering problem in one section — such as custom objects, notes, tasks, the activity stream, deals, or entity actions — previously replaced the entire page with an error screen. Each section is now isolated, so a problem in one area removes only that section while the rest of the page continues to work normally.
Report filter inputs no longer show a visible text label above the field. The accessible label for screen readers is unchanged, and the filter bar's layout and alignment are unaffected.
Campaign cards in folder view show a status chip, so you can see at a glance whether a campaign is draft, scheduled, sent, or needs attention — without opening it. The chip matches the status shown in the campaigns table, so the two views always agree.
Campaigns pending approval show "Attention needed." Series campaigns show "Automation" once scheduled or sent.
When you answer an Active Intelligence permission card — choosing which steps to allow or skip — your answers are saved and restored if you reload the conversation. Previously, reloading showed the card as unanswered even though you'd already responded.
The transcript also shows the answered permission card itself rather than the plain confirmation sentence the card sent. If a conversation has no saved record (older sessions), the original confirmation is preserved so no decision history is lost. All four answer states are covered: all-Allow, executed subset, all-Skip, and partial answer blocked by a skipped dependency.
Several issues have been resolved:
- Audience no longer dropped on single-list accounts. If your account had exactly one list, the review-and-send panel could show "Choose a list" with a blocker badge even though Active Intelligence had already proposed an audience. Your chosen audience carries through correctly.
- Campaigns send only to the audience you picked. A campaign could previously send to an audience nobody selected when attaching a list with no segment. The send configuration clears any previously held segment when no segment is chosen, so sends go only where you intend.
- Recipient lists chosen during generation are preserved. Active Intelligence reads your campaign's current lists first and merges its suggestion onto them. The applied plan also survives page reloads.
- Spinners no longer run indefinitely. Audience lookups that previously left loading indicators spinning resolve correctly.
Known limit: Active Intelligence reads your campaign's current lists and then writes the merged set as two separate steps. A manual save made between those two steps can still be overwritten. Eliminating that gap requires a backend change that isn't yet in place.
When you ask Active Intelligence to generate a campaign, it reads and applies the audiences you've already built in your contacts, and confirms the outcome in your conversation's language.
Previously, generated campaigns ended up with no audience at all, and the audiences you'd built weren't offered as options. Four separate problems caused this:
The audience wasn't being saved to the campaign. The request to attach an audience was going to the wrong address, so the platform rejected it before processing. After that was corrected, a second problem appeared: the platform reads campaign data from a replica that hadn't yet caught up with the write, so the system incorrectly reported failure even though the audience had been set successfully.
Your audiences weren't appearing as options. Audiences you create in your contacts are stored separately from classic segments. Active Intelligence was only reading the classic catalog, so named audiences like "Nurture Engaged Subscribers" or "Welcome New Subscribers" never appeared, and the system composed a new segment instead of using one you'd already built. Both catalogs are read and merged.
Selecting an existing audience could silently overwrite it. When an existing audience was chosen, the process could re-link it in a way that overwrote its name and deleted its conditions. The audience's resolved ID is carried forward instead, so no re-linking occurs.
Audience outcomes are reported in your language. When an audience couldn't be set, the reply used hardcoded English regardless of the language you were using. The outcome travels as structured data, and Active Intelligence describes it in its own words, in whatever language you're using.
This capability is available on accounts where the campaign send configuration feature is enabled.
When Active Intelligence runs read-only lookups before asking for your approval, the approval card tells you what it already found — not just what it's about to do.
Previously, every step appeared as pending, even lookups that had already run and returned results. The card now presents completed lookups in plain language with their resolved values, and frames only the actions still waiting for your go-ahead as pending. For example, instead of listing "Look up the TikTok list details" as a future step, the card reads "I found your TikTok Leads list and can create the new Snapchat list with the following settings copied from it."
This period's work centers on Active Intelligence reliability and brand fidelity, with meaningful gains in the email editor, contact data handling, and automation capabilities. A wave of fixes also tightens up sync, tracking, and campaign saving across the platform.
Highlights · 4 of 35 updates
- Full font library in email editor. The email editor's font picker opens up the full library of font families, with search by name, live previews, and saved favorites — a major expansion from the limited set available before.
- Active Intelligence edits automation text. Active Intelligence can read and edit automation text content directly in the automation builder, and you can import and export that text, bringing earned-autonomy intelligence into automation creation.
- Campaign emails respect brand font. Campaigns generated from your Brand Kit use your chosen font throughout, with correct fallbacks and proper declarations for Outlook on Windows, so brand consistency carries through to every send.
- 24 fixes. Smaller corrections and repairs across Campaigns & email, Platform & infrastructure, Admin & permissions and 7 more areas.
35 updates: 7 new · 4 improved · 24 fixed, across 10 areas.
If you run a white-labeled or reseller account with ActiveCampaign branding disabled, multi-factor authentication (MFA) error messages no longer show ActiveCampaign help links or "Contact support" buttons. This applies to the following error states: invalid one-time code, code not sent by email, email bounce, email error, and unknown error.
Clicking a tracked link containing a malformed URL (such as one with an invalid port number) is handled correctly. Previously these clicks returned an error at a rate of approximately 5 per day.
Sharing a template that had never been opened in the content editor — and so had no cached preview — previously returned an error. Those templates can be shared; the share uses the template's raw content as the preview when no cached version exists.
Previously, a tag name with emoji or other multi-byte characters caused a collation error during tag syncing — most commonly through the ecommerce customer sync. Tags with emoji in their names sync correctly. A tag name made up entirely of emoji is handled gracefully rather than producing an error.
The email editor's font picker gives you access to all 1,967 font families in the catalogue, not just the 91 that appeared before.
A "Search all fonts…" option at the bottom of the picker opens a search dialog. Results preview in their own font and are navigable by keyboard. Fonts you choose are saved to your account and appear at the top of the picker the next time you open the editor — the 50 most recently added families are remembered. If a font can't be loaded, the editor falls back gracefully rather than substituting a default without warning.
Open the font picker in the email editor to start searching.
When your session expires while you're on a specific page, logging back in takes you to that page instead of dropping you at the default dashboard.
The destination is preserved through the session timeout and restored after you log in.
Inbound emails with no To header, or a To header with no domain, are processed correctly by reply forwarding.
Admin users can retrieve personalizations that have no list attached via GET /api/3/personalizations and GET /api/3/personalizations/{id}. These rows are returned with listIds null and listsCount 0, so they can be found and corrected.
Previously these personalizations were invisible to the API entirely, even though they still occupied their tag — making it impossible to locate or repair them. Non-admin visibility is unchanged.
Campaign previews and live sends that use conditional content with an in_array check against a personalization tag like %FIRSTNAME% render correctly. Previously, campaigns using this combination could fail to render entirely, affecting both the preview and the live send.
Matching is case-insensitive and whitespace-normalized. Array-valued tags like %TAGS% behave exactly as before.
When you create or update a personalization via POST /api/3/personalizations or PUT /api/3/personalizations/{id}, the list IDs you provide are validated before any changes are made.
Previously, passing an unrecognized or malformed list ID returned a success response and silently removed every list from the personalization — breaking tag resolution at send time without any indication something had gone wrong.
Malformed list IDs return a 422 response with no rows added or removed. Well-formed but non-existent list IDs also return 422, including mixed cases like '1,999' where one ID is valid and one is not.
If you currently send a well-formed but non-existent list ID and rely on the silent 200 response, this change turns that into a 422. Review your integration if this applies to you.
What stays the same: bare integers are accepted, duplicate IDs in a request are stored once, and a missing or blank listids returns the same error as before.
Active Intelligence image generation and image editing use an upgraded model, producing noticeably better results without any change to how you use the feature. Your existing size and quality settings carry over exactly as before.
This upgrade is being enabled account by account. If you'd like it turned on for your account sooner, contact support.
Unsubscribe, update confirmation, update request, and result pages could produce a fatal error when a subscriber link was stale or invalid — for example, an old bookmarked or emailed URL. These pages handle a missing subscriber gracefully, returning an unpersonalized redirect instead of failing.
Adding the block to an Automation fills in empty fields — first name, last name, phone, LinkedIn URL, Twitter URL, Facebook URL, company, and location — for each contact who passes through. Existing data is never overwritten.
The block has no configuration options. Contacts continue through the Automation after enrichment regardless of outcome, and one contact's result doesn't affect others.
Mobile users looking up their account by email address get the email keyboard layout automatically. This includes embedded webviews, third-party keyboards, and in-app webviews in Gmail and Outlook.
Contacts whose email address or phone number contained emoji or other 4-byte characters caused ecommerce personalization to fail, resulting in a failed send. This affected approximately 81 sends per day across 10 or more accounts, disproportionately hitting European accounts. Ecommerce personalization handles these characters gracefully: they are stripped before the lookup, and any remaining issues are caught so ecommerce tags are skipped rather than the send failing.
If your contacts or accounts have emoji, certain non-ASCII characters, or symbols in their names, emails, or tags, several operations were silently failing. These are fixed:
- Contact list subscriptions: Updating contact names via subscribe-form submissions works correctly.
- Account name checks: Creating or validating accounts via the accounts API works correctly.
- Contact email lookups: The contact sync API works correctly when email addresses contain these characters.
- Salesforce account sync: Salesforce account sync works correctly across all affected accounts.
- Ecommerce tag sync: Tag comparisons during ecommerce sync work correctly when tag names contain these characters.
- Tracked link following: Contacts in affected accounts can follow tracked links correctly.
Existing avatars are never overwritten — the enriched photo appears only for contacts without one. Contacts previously marked complete but with a blank image are enrichable again until they have an avatar.
No additional setup is required beyond your existing enrichment access.
Submitting the campaign-use form with no message rows processes correctly.
Templates saved from an Active Intelligence-generated campaign were missing from the campaign creation flow. They appeared on the standalone Templates page but couldn't be reached when starting a new campaign.
Templates saved going forward appear in the template picker as expected. Templates created before this change aren't automatically corrected — a separate update to fix those existing templates is in progress.
Running a spam check on a campaign whose template has no HTML content completes without error.
Saving a campaign handles the case where a campaign lookup returns no result, so the save completes rather than producing a server error.
Previously, any font not recognized by an exact match against a short internal list was replaced with a default font. Font resolution now works against a broader catalogue of families.
If your brand font can't be served, it falls back within its own category: a serif falls back to a serif, a sans-serif to a sans-serif. Outlook on Windows also receives the correct font declarations, so your brand font resolves to the right fallback there instead of defaulting to Times New Roman.
The campaign editor's font picker offers the same families your brand kit does, sorted consistently. All previously supported families still resolve to themselves unchanged.
Most other missing components degrade gracefully rather than blocking the editor entirely.
The campaign designer saves complex HTML content without errors. Previously, certain complex content could cause a save to fail with an error. Failed processing steps are now skipped and the rest of the content continues to be processed.
- Logo storage: Brand logos are re-hosted on dedicated storage across all paths — create, replace, update, and backfill — so logos don't silently break after initial import.
- Color validation: An invalid hex color resolves to absent rather than discarding the whole kit.
- Brand tone quality: Tone is no longer generated from content-poor pages such as parking pages or bare navigation; scraping stops below the length where page copy carries meaningful voice.
- Connection handling: Connection errors, rate limits, and vendor errors are classified correctly and the status reaches you rather than being flattened to a generic error.
- Logo import: A logo with an unset theme is imported as light artwork instead of being discarded.
- Image uploads: Scraped-image uploads that were failing in a retry loop are resolved by capping alt text before upload.
- Multi-kit accounts: Brand kit email previews on multi-kit accounts no longer mix images between kits.
- Social and webmail URLs: Social-media and webmail URLs no longer import another company's branding.
When Active Intelligence builds a brand kit from your website, it keeps company logos even when they're only available as WebP or JPEG. Previously, logos not supplied as PNG were dropped entirely during import.
The import uses a format preference order — PNG first, then WebP, then JPEG — so the best available format is always used.
The bounce report loads correctly for all accounts, including those where some bounce records have no description text.
Automations triggered by tag-add or tag-remove conditions configured with multiple tags work reliably. Previously these produced a fatal error at a rate of approximately 20 per day. Both tag-add and tag-remove start conditions are covered.
The newest sort for automations in the CX app reflects when automations were actually published. Previously, publish dates weren't factored in, so the newest ordering didn't match the real publish sequence.
The Archived contacts view previously showed only contacts deleted in the last 90 days, even though deleted contacts are retained for 12 months (360 days). Contacts deleted between 90 and 360 days ago were stored but never visible. The view now matches the full retention period.
Restore requests for contacts older than 360 days are declined upfront with a clear explanation, rather than appearing to succeed and then quietly doing nothing. Error messages distinguish two situations — contacts too recent to restore yet, and contacts past the restore window — so you know exactly which applies. In a mixed batch, the "past the restore window" message takes precedence, since those contacts can never be recovered.
Contacts deleted between 30 and 360 days ago remain restorable as before.
Active Intelligence can work with the Contact Created automation trigger when building or editing automations.
Active Intelligence competitors enrichment runs consistently after every Brand Kit save. For some accounts it was previously skipped silently right after saving.
Active Intelligence's brand site summary is built only from pages with enough content to actually describe your business — redirect notices, cookie banners, and parking pages are filtered out.
Each page included in a brand summary must carry at least 60 characters of copy — the same threshold used elsewhere in the brand analysis. A parking page or cookie banner typically reaches about 40 characters; the shortest page worth reading reaches 60.
If every candidate page falls below the threshold, the previously stored summary is kept rather than being replaced with an empty one.
Brand summaries update automatically.
You can import and export automation text, and Active Intelligence can work with automation text in the builder.
Legacy API contact-sync requests that submit a contact field as a list of values instead of a single value are handled correctly.
This period's work concentrated on Active Intelligence's campaign capabilities and on making automations easier to manage at every step. Alongside those, the email editor gained brand font support and a new edit-suggestion layer, while contact and segment tooling received a round of reliability and usability fixes.
Highlights · 5 of 81 updates
- Conversion touchpoint timeline. The contact record now shows a scrollable, interactive timeline of every attribution touchpoint that led to a conversion, letting you see exactly which touches drove each result.
- Brand fonts in email editor. Your account's custom font families are available in the redesigned email editor and brand kit font picker, which opens a searchable library of open-source font families so your campaigns stay on-brand.
- Campaign edit suggestions surface. After a campaign is generated, a row of edit suggestions drawn from your brief, your email, and your account data appears above the Active Intelligence composer, making it faster to refine what was built.
- Folders view across assets. A Folders view lets you browse automations, campaigns, forms, and SMS assets in a grid organized by folder, giving you a single consistent way to navigate all your assets.
- 29 fixes. Smaller corrections and repairs across Contacts & segmentation, Campaigns & email, AI & agents and 6 more areas.
81 updates: 28 new · 23 improved · 29 fixed · 1 faster, across 13 areas.
Your account's own font families are available in two places.
Email editor: The redesigned email editor's font picker includes your brand's custom fonts, matching what the previous editor offered. If the font fetch fails, the editor falls back to its built-in list and still opens normally.
Brand kit font picker: The brand kit font picker expands from 39 fixed options to approximately 1,967 searchable open-source font families. A default set loads on open; typing searches the full catalog. Fonts are grouped as "Displays everywhere" (families that need no download) and "Web fonts" (stylesheet-required), with no-download fonts listed first.
You can send a specific trigger or action block directly from the automation builder as context to Active Intelligence. It reads that context and uses it when responding, so you get answers that are grounded in the exact part of your automation you're working on.
The message shown on the Starter plan card when a selected contact count exceeds the plan's cap appears in your language. English rendering is unchanged.
The split campaign report header shows one of three states: pending (the test is still running), selected (a winner has been flagged), or no automatic winner (an even split). The supporting text states the configured rule — for example, "The winner will be chosen by open rate 7 days after the test variants finish sending" — with no countdown shown.
The chip uses a neutral style for pending and no-automatic-winner states, and a success style when a winner is selected. All wait-period units are covered (hour, day, week, month, with plurals). English copy is the fallback for any locale where translations aren't yet available.
The Manage Contacts panel supports column sorting by Contact, Entered, Completed, and run counts. The same chevron controls used in the Automations Overview apply here.
The spacing between the preview label and value in Settings, Advanced is correct again.
The Users and Groups tabs in Settings display with the correct horizontal padding.
On the campaigns list, the disabled "View details" link in the Sending Status column shows a Tool Tip when detailed sending progress isn't available. The Tool Tip reads "Detailed sending progress is only available for 30 days after sending," so you know exactly why the link is inactive.
Previously, lists beyond the first 20 were hidden with no indication more existed. The pickers page through your full list, so no list is out of reach when building segments.
Your active filters and query parameters stay in place after you save a segment. Previously, saving redirected you to a URL built from the page path alone, so parameters were dropped every time — including the one that controls the Save Segment button itself, which meant the button disappeared after every save and had to be restored by hand. Parameters controlling read-only state, truncation, import mode, and collapse state were lost the same way.
All parameters carry through the redirect after saving. The exception is the sample JSON parameter, which is intentionally excluded: keeping it would reload the sample data instead of the segment you just saved.
Decorative Active Intelligence markers in condition-type dropdowns are hidden from assistive technology, since they sit next to their visible labels and don't need to be announced separately.
In the segment builder's campaign, 1:1 email, and SMS selection dropdowns, truncated option names appear in a readable Tool Tip with white text on a dark background.
Previously, the Tool Tip rendered white text on a white background, making truncated names invisible — though still selectable. The Tool Tip appearance now matches the other truncation Tool Tips already in the segment builder.
Both halves of the AND/OR toggle are real buttons that assistive technology can read, grouped so they're announced as one control. Tab, Enter, and Space all work as expected. Mouse behavior is unchanged.
The search bar in the Segment Library panel stays pinned at the top as you scroll through segment cards. Previously, the search input scrolled out of view with the list, requiring you to scroll back to the top to refine a search.
The improvements come from eliminating redundant recalculations that were happening on every interaction. Option lists, data mappings, and condition controls are now recomputed only when something actually changes. The result is a builder that keeps up with you instead of lagging behind.
When reviewing an Active Intelligence-generated campaign, the recipients popover previously showed "Saved filter (details unavailable)" instead of the audience name. The popover looks up the audience name directly when it isn't immediately available, matching the resolution the campaign page already used correctly.
You can upload SVG files in the content manager. SVG files appear in the file picker, pass upload validation, show an SVG type label in the detail pane, and display as thumbnails in both grid and list views.
SVG files can't be opened in the image editor, which is designed for raster formats — the same restriction that applies to PDFs and GIFs.
On the SMS reports page, entering an unsupported page size or misaligned offset in the URL snaps to a valid page instead of showing a broken view.
Previously, the opt-in step in the SMS product tour gave no visible feedback while waiting for keyword confirmation. The status message now appears during that wait, so the tour doesn't appear stalled.
In Settings → Users and Groups → Edit Group → Permissions, a new SMS section lets you grant or restrict access at a granular level. Individual permission rows cover registration, reporting, sending options, and more across SMS Campaigns, SMS Inbox, SMS Keywords, SMS Management Access, and SMS Sending Options.
When an SMS is scheduled outside your quiet hours but a delivery delay would push it into them, the platform withholds the message rather than delivering it at the wrong time. These sends are recorded with the status: "Not sent. Delivery was delayed and would have fallen inside your quiet hours."
The status reads "Not sent" rather than "failed" because nothing went wrong — the send was withheld intentionally to respect your quiet hours settings, and no credit is consumed. The status appears in both the broadcast report and the inbox conversation view.
If you see this status on a send, it means your quiet hours settings worked as intended.
SMS double opt-in activity entries in contact history are translated into your account's configured language. Previously they appeared in English only, regardless of your account's language setting.
Revenue sorting in the revenue report view works correctly. Translations for the revenue Tool Tip are also in place across supported languages.
When you remove contacts from automations, inactive automations are included alongside active ones.
Previously, only active automations were considered, which could leave contacts enrolled in inactive automations without any way to clear them through the standard removal flow.
Contacts waiting to enter an automation open in a full-screen view instead of a side panel, giving you more room to review and act on them. The banner and modals stay in sync with the list as you work.
A branding page is available in the partner portal for all partner accounts, with translations included.
The Users page in the partner portal supports searching, creating, updating, changing passwords for, deleting, and force-logging-out users — all without leaving the portal.
Labels in the partner dashboard that were rendering as raw text keys display correctly.
Row actions in the Partner Portal accounts grid open a confirmation modal that explains what each action does before you commit. Covered actions include login, enable/disable sync, sandbox, trial, fix API key, and move account. A success toast confirms when an account is updated.
The Settings control in the Partner Portal top bar uses the correct icon and shows a solid pink background when you're on a Settings route. Off Settings routes, the icon is muted with no background. Button order is Help, then Settings, then User.
The actions column in the Campaign Approvals table uses a consolidated multi-action button, replacing the previous separate action controls.
Clicking a contact or account link from a deal detail page reliably opens the correct record.
Previously, with the updated contacts or accounts experience enabled, clicking the primary contact on a deal detail page would blank the page and redirect to the home screen. The same problem affected account links. This affected 27 entry points into contact records, including contacts list rows, deal list links, task links, and the deal activity drawer. Direct loads and opening links in a new tab were unaffected.
When you click a wait or goal queue step in an automation, you can open the Manage Contacts drawer right there. The contacts list is already filtered to that step, so you see exactly who's waiting and can act on them immediately.
From the drawer you can sort the contacts list by column, run bulk actions including Manage Duplicates and End Current Run(s), and jump straight to a contact's path view — pre-filtered to the step you came from. A loading indicator shows while results are fetching.
Together, these tools give you a complete picture of who's at any point in an automation and the ability to act on them without leaving the builder.
The forms list page could show a blank screen when any form had a thumbnail that couldn't be loaded. The page handles missing or unparseable thumbnail URLs gracefully, showing a placeholder icon instead of going blank.
Previously the filter bar appeared on the bare white page background. The controls themselves are unchanged; only the visual presentation is updated to match the rest of the platform.
Previously, the forms filter bar appeared on the bare white page background rather than inside the shared toolbar. The change is visual only and applies automatically. No action required.
Previously, some strings in the Active Intelligence form tools appeared in their raw, untranslated form. All text in the form list retrieval, form statistics, and aggregated form statistics tools is fully translated and displays correctly.
You can browse your automations, campaigns, forms, and SMS assets in a Folders view. Toggle between the familiar list and a grid that shows every folder with the assets it holds. Drill into any folder; search, status filters, and filter chips all work the same way in both views.
Each index table gains a dedicated Folders column so you can see which folder an item belongs to at a glance. The terminology across all four surfaces has also been updated: "label" is now "folder" everywhere.
The Folders view is rolling out gradually. When it reaches your account, you'll see the toggle — until then, your pages look exactly as they do today.
Known limit: Folder drill-down currently shows the first 20 assets per folder. Support for browsing beyond 20 is built and on its way.
On the Apps tab in the Add-an-action modal, a category dropdown lets you narrow the app grid to a specific category instead of scrolling through all apps. Category names match the labels used on the apps list page, so the vocabulary is the same in both places.
To use this: The category dropdown is rolling out gradually. Contact your account team if you'd like it enabled.
Known limits: Two category labels may display as raw text keys until translations are finalized.
The order-state and store filter dropdowns on the contact record open fully instead of being clipped by the panel edge. Both menus open fully, and the Products button label and arrow have correct spacing.
When deleting a user fails, the error messages displayed are correctly translated instead of showing untranslated or missing strings.
The delete-list modal includes a new radio group that lets you choose between removing contacts on no other list (the default, matching today's behavior) or keeping them with the list relationship dropped. The confirmation checkbox wording is also updated to clarify what data will be removed.
You can open an automation and land directly on a specific canvas action by sharing or bookmarking a URL that includes that action's unique step reference. The action opens and receives focus automatically, so there's no need to scroll or search for it.
This is useful when collaborating with teammates or when support or documentation points you to a specific step in a complex automation. The link works for any automation canvas action.
When the Deals CRM advanced filter can't load its available filter fields, you see a properly translated error message with a count of unavailable filters, plus Retry and Clear all filters actions. Previously, the error placeholder appeared with missing or untranslated text.
When you open a shared or bookmarked URL that carries filter conditions that can't be applied — because they reference a field or operator that no longer exists — you see a "Some filters could not be applied" warning.
Opening the date picker while using the add-contacts drawer keeps the drawer open so you can continue without interruption.
When building conditional content blocks in the message variables editor, your account's custom contact fields appear in the field picker dropdown. Previously the picker used a static list that never included custom fields, even though those same fields were already available in the "insert personalization tag" feature. The picker now pulls from the same data source used elsewhere in the editor.
This applies to the conditional content picker at the message variables page only.
The attribution section of the contact record includes a conversion touchpoint timeline. Each conversion shows one marker per source touchpoint, spaced by elapsed time, ending at the conversion. You can scroll through touchpoints using a scrollbar, drag a scrubber, click the bar, or use arrow buttons.
Selecting a touchpoint shows a detail table with: Time, URL, Source, Medium, Campaign, Term, Content, and Referrer. Clicking a value in a conversion activity's detail panel expands that conversion, collapses the others, and scrolls it into view. Clicking a deep link from the activity panel while the Unconverted Sources tab is active correctly switches to the Conversions tab before expanding the row.
Ecommerce filter menus (order-state and store dropdowns) no longer get clipped by the panel.
This is part of the ongoing contact record update and is available when the updated contact record is enabled for your account.
When the Contacts page can't load its first-time experience, it shows a notification so you know something didn't load correctly. Previously the page recovered silently, giving you no signal that anything had gone wrong.
Previously, these dropdowns floated outside a bordered control rather than matching the inline style used elsewhere. The change is visual only and applies automatically. No action required.
The subheading shown on the Contacts empty state screen reflects the current design.
The count appears for basic search terms and advanced search or segment views. Filter-only views (Tags, List, Status) are unchanged. Large totals are formatted for your account's locale — for example, "8,450" in US English. The count doesn't appear while a search is in flight, so it always describes the results you're looking at.
In the "Add to list" and "Add to automation" modals on the contact record, checkboxes respond to clicks correctly.
The Sending Status column shows a relative send time — such as "2 days ago" — beneath each campaign's status chip.
For campaigns sent before the sending-progress service existed, that relative time is now a tooltip trigger: hover it to see the audience size and send time. That context was previously unavailable for those older campaigns. Campaigns with full progress data are unchanged.
Draft campaigns show a "Last saved" label with a relative time in the same column.
On the Campaigns list, the status shown under the campaign name and the status shown in the Sending status column now match for three cases that previously disagreed:
- Disabled campaigns show a grey "Disabled" badge (previously showed "Draft"). The cell is not clickable and has no "View details" drawer.
- Automation campaigns show an "Automation" badge instead of "Sent" or "Scheduled." Send date, recipient counts, progress bar, and details drawer continue to work as before.
- Campaigns under review that require action show a yellow "Attention needed" badge (previously showed "Pending review"). Opening the details works the same as for "Pending review."
Note: a campaign showing "Sending" can still appear as "Delayed" in the Sending status column when a send is running late — this is intentional.
The send progress drawer displays a "Waiting for approval" step when a campaign is held in review before it's allowed to send. You get a clear status instead of a blank or ambiguous state while your campaign awaits approval.
When you change a CTA link URL, a CTA button label, or the from-name or from-address in one email, and other emails in the same campaign still use the old value, the editor surfaces a suggestion chip prompting you to review and propagate the change.
Suggestion strings are English-only at launch; other languages follow through the standard localization process.
After a campaign is generated, a row of edit suggestions appears above the Active Intelligence composer. The row shows a reviewing state while suggestions are being worked out, then surfaces up to 3 suggestions. Each suggestion notes whether it came from your brief, your email, or your account data, and a click sends it through just as if you'd typed it yourself. If there's nothing worth adding, a single neutral line appears. If analysis doesn't complete, the generation experience is unchanged.
This feature is available to accounts where it has been enabled.
The "Match my brand" action has been removed from the action bar. Brand import is reached from the pill above the email, shown only to accounts that don't have a brand kit yet. Repainting an email onto a brand is available by asking for it in chat.
No action required.
Three improvements to the review-and-send panel in Campaign Agent:
Physical address picker. The "Add an address" action stays visible and disabled when it can't be used, with a tooltip explaining why: admins-only accounts see "Only admins can add a sending address," read-only campaigns show "This campaign is read-only," and scheduled campaigns show "Unschedule this campaign to add a sending address." Previously the action disappeared with no explanation.
Recipients button. When all lists are selected, the button shows "All lists" instead of listing every list name.
Send timing note. The predictive send timing description reads "Each contact receives the campaign at the time of day they are most likely to engage."
The bulk automations list sorts by newest first, so your most recently created automations appear at the top.
When removing automations, each one shows its status so you can see its current state before confirming removal.
In the automations overview, the overflow chip popover closes correctly when you move the mouse off it.
When you open the manage-contacts view for an automation that hasn't had any contacts enter yet, you see an illustrated empty state instead of a blank list. The paused queue banner has also been restyled for visual consistency.
If you try to activate an automation while Active Intelligence is still generating one of its emails, you see a plain-language message telling you the email is still being prepared and to try again shortly. Previously, a raw key identifier appeared on screen instead of a readable sentence.
You can ask Active Intelligence how your WhatsApp credits were used and get a direct answer in the chat. Type your question in the Active Intelligence chat and the breakdown appears inline.
In If/Else conditions and other segment filters, list pickers previously showed only the first 20 lists. Lists beyond that were hidden with no indication more existed. The pickers page through all your lists, so every list is reachable regardless of how many you have.
The to-do and completed states of the onboarding checklist are translated into additional languages.
When Active Intelligence can't fulfill a widget request, the message names Active Intelligence directly and points you toward supported alternatives rather than listing broad topic areas.
One-click recovery prompts have a localized heading. Raw technical decline details no longer appear in the interface.
When you attach a campaign or template using the @ menu or "Add context" button, Active Intelligence reads the subject line, preheader, and body copy inside it and writes from that content. Previously, attaching a campaign told Active Intelligence which one you meant but never showed it the words, so it answered from the name alone.
Several related improvements shipped together:
- Attached copy reaches the model. For a campaign, the subject, preheader, and body copy are read. For a template, the words inside its markup. Both are capped at 4,000 characters, and up to three assets per message are read at once.
- Attaching one campaign and one template at the same time works correctly. Previously, the template was silently discarded. The template governs turns where you haven't stated a specific operation; an explicit copy, split, or edit still lets the campaign take precedence. If both can't be honored, Active Intelligence names the one it couldn't use.
- Attached documents survive when you reopen a conversation. A document chip previously lost its connection when a conversation was reopened — it still appeared, but Active Intelligence no longer had the file. The connection is preserved through save and reload.
- Asset names no longer run into your message text. Names were being inserted as plain text alongside structured data, causing them to run together with preceding words. On the campaigns index, a hardcoded English phrase also appeared for non-English users. Asset names no longer appear in the message text.
- The @ search tells you when results couldn't load or were cut short. If the search fails, you see "Couldn't load your items. Try again." If results are partial, you see "Some items couldn't be loaded, so this list is incomplete." If results are capped, you see how many are shown and how many exist, with a prompt to keep typing to narrow the list.
These improvements apply automatically when you attach a campaign or template.
Known limit: Up to three assets are read per message, each capped at 4,000 characters.
When you open a system alert from the Active Intelligence notifications center, Active Intelligence receives a troubleshooting prompt so it can provide relevant guidance in context. You get actionable next steps directly in the conversation instead of a bare alert with no direction.
Match my brand repaints the email using your account's colors and typefaces. If you haven't set up a brand kit yet, it opens the brand import flow and runs the repaint once you save.
Change layout opens a visual picker showing structural options — photo hero, two product cards, three portraits, letter, catalog grid, and others. It applies the layout you choose while keeping your copy exactly as written. The picker shows only layouts that fit your current email, ordered from least disruptive to most, and marks your current layout so you know where you're starting from.
Both actions require the campaign to be in an editable state and are unavailable while Active Intelligence is mid-edit.
To use these actions: both are behind a feature flag currently rolling out. If you don't see them on your campaign preview bar yet, they're on their way.
Previously, results were cut off much earlier than expected — dropping to around 5 records once your account had 20 or more items of that type.
Complete results are visible up to approximately 95 records before any compaction occurs. If your account has fewer than 95 records of the type you're asking about, you'll see all of them.
No action required.
Per-variant results include each variant's subject line, sender, send share, winner status, and engagement rates (open rate, click rate, bounces, unsubscribes). The winning variant is flagged, and the split settings are included.
This works for all accounts. If the split data can't be retrieved, the rest of the campaign report is still returned — only the split section is omitted. A single-message split returns an empty variant list.
Several improvements apply automatically:
- Series names in Dutch, Portuguese, Spanish, French, German, Italian, Swedish, and Danish are recognized as welcome or onboarding journeys, so the duplicate-welcome warning fires correctly for those accounts.
- Numbered replies ("2", "3") and localized option labels (such as "Optie 1") are accepted as valid "create anyway" responses in confirmation prompts.
- Lead-nurture series are no longer incorrectly flagged as duplicate welcome journeys.
- Welcome intent is matched from your most recent message, so tool paraphrases don't get misread as your instruction.
No action required — these improvements apply automatically.
When you asked Active Intelligence to send to "everyone" or "your whole list," it could pick a list based on its name rather than its size. A list called "Master Contact List" is very often not the one that reaches anyone — across accounts with that kind of list name, the median size of the name-matched list was 1 contact, against 475 for the largest list on the same account. On thousands of accounts, the name-matched list reached zero contacts.
Active Intelligence now judges audience breadth by actual subscriber counts. It also reads all pages of your lists, not just the first 100, so accounts with many lists get the full picture. For segments, it reads up to 1,000, covering 92.7% of accounts with more than 100 selectable segments.
If a narrowed audience doesn't save correctly after a campaign is written, Active Intelligence tells you what happened instead of reporting success. It distinguishes between two outcomes: a segment that came back empty (meaning the campaign reaches the full list) and a segment that came back as a different audience entirely.
When Active Intelligence proposes a plan with multiple changes, the redesigned card presents them as a visual stack: the current change is in front, with the next two visible behind it. As you answer each step, a receipt settles above the stack confirming your decision. Auto mode moves into the card header as a labeled toggle.
If an approved step depends on a step you skipped, the entire plan is refused and the blocking step is named so you know exactly what to address.
Known limit: A card created before plan tracking was introduced may stay pending if execution stops before any step runs. All cards created today include plan tracking, so this is recovered automatically.
Previously, starting from a past campaign preserved the layout but replaced the copy with freshly generated text.
Active Intelligence now carries both design and wording by default. If you ask to keep the wording but haven't pasted any copy in, Active Intelligence will ask for it. If you didn't mention wording and haven't pasted any, the design is reused and the copy is refreshed. The reply always tells you what actually carried over.
Starting from a template is unchanged — templates always generate fresh copy. No action required.
Previously, approving a per-item task — such as tagging contacts — that covered more than 100 records caused the entire step to be refused. Your approval was consumed, nothing ran, and re-approving led to the same result.
Active Intelligence now executes the first 100 records in order. The outcome card tells you how many were attempted, how many remain, and the total — for example: "over the first 100 of 250 records; 150 more remain beyond this run." You can continue from there without losing your place.
No action required. If a task covers more than 100 records, Active Intelligence processes the first 100 and reports the remainder automatically.
The in-chat approval card includes an Auto mode toggle. When Auto is on for a chat, Active Intelligence can act without asking for approval during that session only. Starting a new chat returns to your standard Customize permissions.
The toggle label reads "Auto." The Tool Tip reads: "Lets Active Intelligence act without asking in this chat only. A new chat uses your Customize permissions."
Note: Non-English locales currently display these controls in English. Translations are coming in a follow-up.
Active Intelligence send settings, scheduling status, and layout-selection prompts are fully localized. Non-English users were previously seeing English text in several places: audience-change and design-edit warning dialogs, the address picker empty state, send-time status labels, and the message the canvas sends when you open the Layout panel.
The layout-selection fix also corrects an issue that affected every locale, including English: without the translation key registered, the raw key string was being sent to Active Intelligence as your message instead of the actual request for layout options, causing incorrect responses.
No action is required.
When Active Intelligence finishes analyzing your campaign and has nothing to add, it shows a clear message: "Your campaign looks good — give it a look." The message encourages you to review your campaign, then disappears after 10 seconds. Previously, the analysis could finish with no visible feedback at all.
Campaign actions in Active Intelligence work correctly when you reopen a past conversation, applying to the right campaign without losing context.
This period's work sharpened Active Intelligence reliability and tightened the editing and data-viewing experience across Campaigns, Contacts, and Deals CRM. Several fixes closed gaps where the wrong record, wrong campaign, or wrong data window could quietly mislead you.
Highlights · 4 of 13 updates
- Desktop and mobile preview toggle. The email editor toolbar now includes a viewport toggle so you can switch between desktop and mobile views while editing, seeing exactly how your email renders on each device without leaving the editor.
- Deals CRM export respects active filters. Exporting from the all-pipelines view in Deals CRM now applies whatever filters are active on screen — status, owner, search term, tag, and field filters — so the export matches exactly what you see.
- Campaign preview actions fixed. Several issues with the campaign preview action bar in Active Intelligence are resolved, including a clipped picker, icons that rendered as blank space, and actions that applied to the wrong campaign.
- 7 fixes. Smaller corrections and repairs across Contacts & segmentation, AI & agents, Campaigns & email and 1 more area.
13 updates: 3 new · 3 improved · 7 fixed, across 5 areas.
Two refinements make it faster to check sending status without extra clicks.
"View details" availability by campaign type
For one-time campaigns and A/B splits, nothing changes — "View details" opens sending details while a campaign is scheduled, awaiting review, or after a stop, exactly as before.
For campaigns that run on their own cadence (RSS, auto-responders, date-based reminders, recurring, text, series, and special campaigns), "View details" no longer appears while the campaign is scheduled. The link appears as soon as there's actual progress data to show, so you're never opening a panel that has nothing in it yet. Winner-based splits (read/click) remain excluded from "View details" in every status.
Status tooltip on the sending-progress chip
When "View details" isn't available — including on drafts — hovering over the sending-progress chip shows the same status detail the status badge carries, for example "Sent to 1,000 contacts 2 days ago." When "View details" is available, no tooltip appears on the chip. The send-date text keeps its own date tooltip in both cases.
You can pick a Dropbox file directly from the personalization tags modal in the email editor, under the APP group. A Connect button loads the Dropbox file picker; selecting a file inserts its link into the editor. Images keep their preview link; other files are rewritten to the direct-download address. The link is inserted as plain text.
The email editor toolbar includes a desktop/mobile view toggle. Switch between viewports while editing to see how your email looks on each. The toggle defaults to desktop; clicking the active view again doesn't deselect it.
When you exported deals from the "All pipelines" view, the export ignored your active filters and exported every deal instead. The export applies the same filters you see on screen, so what you export matches what you're looking at.
When you refresh a dashboard widget, its subtitle correctly reflects the data window you're looking at. Previously, a subtitle correction you made would silently revert the next time you refreshed — the refresh path wasn't applying the same validation as widget creation. That gap is closed, so your subtitle stays accurate.
This was observed across all accounts in live testing.
Known limits: Rebuilding data sources on the refresh path is separate work not yet shipped, so some refresh behavior remains unchanged beyond the subtitle fix.
Three improvements to contact search shipped together.
Saved searches are in the search input. When you focus the main contacts search input, a dropdown opens showing your saved searches under the heading "Saved Searches." Click a row to load that search. A delete option appears on hover or keyboard focus and opens the existing delete confirmation. The split button beside Advanced Search is gone.
A result count appears after a search runs. Once results load, a count appears beside the table actions — for example, "Edit all — 101 results." This shows for basic search terms and advanced search or segment views. Filter-only views (Tags, List, Status) are unchanged. Large totals are formatted for your account's locale (for example, "8,450" in US English). The count doesn't appear while a search is in flight, so it always describes the results you're looking at.
Basic search is available again in advanced search results. When a segment is active and the advanced search panel is open, the basic search input is available as a plain input. A previous issue where two search inputs could appear at once has also been resolved.
The activity feed on a contact record correctly labels and displays deal-related emails and several other activity types.
Deal emails appear as "Email Received," "Email Sent," "1:1 Email Sent," "1:1 Email Opened," or "1:1 Email Link Clicked," with the email subject, attachment count, and a 90-character excerpt. The activity badge uses the right color and icon for each type.
Eight activity types that previously showed as generic entries now display real titles and detail: automation blocks, contact restores, ecommerce orders ("Made Purchase" / "Abandoned Cart"), contact enrichment, Facebook audience events, WhatsApp conversations, WhatsApp flows, and omni-channel link data.
The activity card caret is restored to its previous appearance. The Reply button has been removed from deal activity detail panels — replies to deal emails start from the emails tab, which is unchanged.
Several issues with the campaign preview action bar in Active Intelligence are fixed:
- The start-source picker opens as a full popover above the email rather than clipping into a narrow band of cards.
- The picker's title names the tab you're viewing. The preview action is called "Reuse a design."
- Cards scale to the available width instead of a fixed column count, and card height matches other template pickers in the product.
- Card edges meet the 3:1 contrast threshold required for UI boundaries.
- Two action bar icons that rendered as blank space are replaced: the brand action uses the Active Intelligence mark, and the reuse action uses the email-template icon.
- The "Change layout" entry is removed from the bar. You can still ask for a different layout in conversation.
- Actions taken from a campaign preview stay in the conversation they were started from and apply to the correct campaign.
- The list of past campaigns and templates loads more as you scroll, replacing a "Load more" button.
- Only one panel covers the email at a time: opening the picker closes any open send-settings pill, and opening a pill closes the picker.
These fixes apply automatically.
Previously, clicking an automation link in the activity feed opened the automation builder without showing the contact's path through it. The run wasn't highlighted, leaving you to find it manually.
This applies to both the activity feed and the activity detail panel. No action required.
This applies from the contact record page. Clicking the checkbox or its label text enables the Archive button and lets you complete the action.
When Active Intelligence can't build a dashboard widget from your available data, it declines immediately with a clear response instead of retrying until it times out — so you get an answer in seconds rather than waiting through a long delay that ends in an error.
When Active Intelligence detects an existing welcome series and warns you, you can confirm "create anyway" in the same conversation and the automation is created. Previously, two separate issues blocked this path — the warning wasn't retained across conversation saves, and the confirmation signal was fragile — so "create anyway" often failed silently.
Both are resolved. If you start a fresh conversation with no prior warning, Active Intelligence still warns you before creating a duplicate. Typing "create anyway" without a prior warning in the same conversation also still triggers the warning, as expected.
Previously, if a lookup returned several matches and your target wasn't first in the list, Active Intelligence could answer with data for the wrong record. For example, asking about a tag called "CM - Fund Manager" could return information about a similarly named tag that appeared first in the results.
Active Intelligence now checks that the record it selects actually matches your request. If the first result isn't the right one, it finds the correct match. It also refuses to act on a record it can't confirm — for example, if it would have to guess or fabricate an ID rather than look one up.
These checks run at three points: when planning, before you approve, and before any action is taken.
This period's work centers on Active Intelligence reliability and a broad sweep of interface fixes across Contacts, Deals CRM, SMS, and Campaigns. Active Intelligence gains cleaner output structure and better self-correction, while long-standing friction points in deal creation, contact editing, and SMS reporting are resolved.
Highlights · 3 of 23 updates
- Clearer Active Intelligence output. Active Intelligence insight output now separates Key Findings and Recommendations under their own headers, making it faster to scan what matters and what to do next.
- SurveyMonkey tags in campaign editor. You can connect a SurveyMonkey account directly from the personalization tags modal in the campaign editor and insert survey tags, which appear as green chips on the editor canvas.
- 18 fixes. Smaller corrections and repairs across Contacts & segmentation, CRM & deals, AI & agents and 7 more areas.
23 updates: 2 new · 3 improved · 18 fixed, across 11 areas.
You can connect your SurveyMonkey account directly from the personalization tags modal in the campaign editor, under APPS → SurveyMonkey. After connecting via OAuth, you can browse your surveys and insert a personalization tag for any survey. A disconnect option and a refresh button to reload your survey list are available alongside the connection.
SurveyMonkey tags appear as green chips with a survey icon in the editor canvas. If a campaign already contains a SurveyMonkey tag when you open it, the tag is recognized automatically.
The shared folder filter lists all available folders. Previously, some folders were missing from the filter.
Previously, timestamps were shifted by the difference between your local time zone and US Central time — affecting individual message timestamps, day groupings, and Today/Yesterday labels in the conversation list. All timestamps now use your account time zone, with fallback to your local time zone.
Previously, the summary cards used deliveries as the denominator, but the individual broadcast report and table rows used sends — so the same metric could show different numbers depending on where you looked. All three views now use deliveries, matching SMS industry convention.
Delivery rate and fail rate remain calculated on sends. This change applies to the Broadcasts report only.
Searching by list name in the message variables page's list dropdown works correctly. On some accounts, lists with an empty name or missing identifier caused the dropdown to stop filtering entirely.
Previously, the filter only showed folders that already had at least one form in them, so empty folders were invisible and couldn't be selected. Empty folders appear with a "(0)" count. Within the Folders group, order is initiatives first, then alphabetical by name.
The same fix applies to the Campaigns folder filter, so selecting an empty folder by URL works correctly there too.
The duplicate deals warning icon is visible on the contact Deals tab. This matches the behavior already present on the personal-info tab, so you can spot potential duplicates from either view.
Three display issues on the contact record page are resolved.
- A soft-deleted contact's breadcrumb shows the anonymized label instead of the contact's real name.
- Broken profile photos trigger a re-verification request correctly.
- The "View deal" link appears on pending deal task rows when the task outcomes setting is on.
The gear menu on custom campaign template cards opens next to the gear icon where you'd expect it, and you can reach it with a keyboard.
Button labels are centered across the platform, including on template cards, the personalization popover, address blocks, paginated dropdowns, the Deals CRM pipeline view selector, forms, reports, campaigns, goals, SMS, and settings.
When adding a deal from an account record, the currency picker shows all 156 currencies — including ZMW, KZT, UAH, and TRY — instead of a static list of 40.
When Active Intelligence builds a WhatsApp flow and the platform returns a fixable validation error, it retries the correction internally instead of surfacing the error to you. Recoverable issues — including empty contact fields, missing named steps, bad template bindings, and structural errors — are handled silently in the background.
On the last retry attempt, if the issue still can't be resolved, Active Intelligence asks you for guidance rather than burning the final attempt on a guess. If all retries are exhausted, you receive a plain summary with no internal technical details.
In the 30 days before this change, 14 of 24 created flows went through at least one visible rejection — up to 5 in a row. Those self-corrections are now silent.
When you asked Active Intelligence to create a segment and included a description, the description wasn't being saved — Active Intelligence reported success, but the description was dropped.
Descriptions are accepted and saved alongside the segment. They're validated against a 1,000-character limit (matching the segment builder in the product) and trimmed of whitespace before saving.
Known limit: Editing the description of an already-saved segment is not included in this change.
When you asked Active Intelligence to set a campaign audience and the audience ID was handled as text rather than a number, the audience was silently dropped — your campaign was created with no audience attached and no explanation.
Active Intelligence correctly retains the audience you specified, regardless of how the ID is formatted internally. Validation is unchanged: audiences that don't belong to your account are still rejected with a note explaining why.
This applies when the campaign send configuration feature is enabled for your account.
Key Findings were previously appearing as unlabeled continuation bullets under the Recommendations section, making it hard to tell the two apart.
Key Findings appear under their own "Key Findings" header, placed before the Recommendations section. The structure matches what Active Intelligence intends to show you.
Two specific situations now get their own clear messages:
- Data not supported: Active Intelligence explains that the requested data isn't available and offers three alternative widget ideas. Selecting one fills in the prompt and submits it immediately, so you can get to a working widget without starting over.
- Data not ready yet: Active Intelligence lets you know the data exists but isn't available yet.
Other situations — including connection issues or unrecognized errors — continue to show a general message. Previously, Active Intelligence would retry until it timed out, leaving you waiting through a long delay that ended in an error.
When Active Intelligence proposed a plan and you replied with a correction, it was re-presenting the original value instead of your corrected one. For example, correcting "Enrolled Course Category" to "Enrolled Courses" caused the next turn to show "Enrolled Course Category" again.
Your corrections are treated as authoritative: the latest message wins, and the plan is updated accordingly.
When you add a contact to an account record and it works, a success banner confirms it. When it doesn't work, the page shows the actual reason instead of a generic message.
If the contact can't be created, you see "We couldn't add this contact. Please try again." If the contact was created but couldn't be linked to the account, you see "Contact was created, but it couldn't be linked to the account."
Previously, a successful add was silent, and a failed one gave you nothing useful to act on.
Account owners — the primary admin user — can access the Deals fields settings page even when deal-related permissions are stored as off. This matches the previous behavior.
Exception: On the Lite plan, deal field settings remain inaccessible regardless of admin status.
When saving a contact edit on an account record fails, the form stays open with your typed values, shows a loading state while saving, and displays a clear error so you can correct and retry.
Previously, each language card stretched to fill the full panel height, meaning only one card was visible at a time and you had to scroll a full panel-height to reach the next language.
Partner Hub has a dedicated Settings area, accessible via the cog icon in the top bar. Tags has moved from a top-level navigation item into Settings — the previous path redirects automatically, so any bookmarks or links continue to work. The Add tag button is in the page title row.
The 1:1 email composer on a contact's page sends email as expected. The Send button enables once domain verification completes, so you can send directly from a contact record without interruption.
This period's work spans a wide front, with the most consequential changes landing in campaigns and email: link tracking is restored, a new link-actions feature lets any email link trigger tags and automations, and the campaign editor stops silently rewriting content you didn't touch. Active Intelligence, SMS, Deals CRM, and contact record reliability all saw meaningful fixes and improvements alongside those headliners.
Highlights · 2 of 58 updates
- Link actions in email editor. Any link in the email editor can now trigger tags, list subscriptions, and automations on click, with chips on the link showing exactly what will fire — bringing automation power directly into the email-building experience.
- 41 fixes. Smaller corrections and repairs across Campaigns & email, Contacts & segmentation, AI & agents and 9 more areas.
58 updates: 8 new · 9 improved · 41 fixed, across 13 areas.
White-label accounts with ActiveCampaign branding turned off correctly see no ActiveCampaign wordmark during the onboarding flow — including both the URL step footer and the personalized onboarding heading. Previously, only reseller accounts had the wordmark hidden; non-reseller white-label accounts still saw it. Branded accounts continue to see the wordmark as before.
When Active Intelligence creates a WhatsApp flow, the flow editor side panel opens automatically at full height — matching the behavior already in place for campaigns, automations, and SMS. Validation errors and warnings remain accessible on the in-chat card and still require a click to open.
If your account accesses Deals or Accounts through a trial or CRM plan rather than an explicit entitlement, 13 webhook events — 9 deal events and 4 account events — had stopped firing silently. All 13 are restored. Any webhooks you had saved for these events will fire again.
Error messages returned by the Users API endpoint are localizable. Twelve error strings — covering invalid phone numbers, permission errors, reassignment validation, single sign-on, IP address rules, and username conflicts — can be returned in your locale in API responses. English strings are available now; additional locales will be added as translations are completed.
Unsubscribe reasons appear correctly in campaign reports.
Unsubscribe calculations in the campaign performance report draw from an updated data source. Unsubscribe rates, KPIs, per-campaign exports, and recipient list filters are all consistent with the latest data. The way unsubscribe rates are defined hasn't changed — only where the numbers are read from.
Trial accounts receive exactly one set of SMS credits for the tour's test send, regardless of how many times the tour is restarted. Previously, restarting the tour could result in additional credits being granted to accounts that had already used their initial credits.
When you turn ActiveCampaign branding on or off in Settings → Appearance, your SMS short link domain updates to match right away. Previously, the SMS short link domain kept its old value until something else touched your link-shortening settings — meaning your branding choice and your SMS links could quietly fall out of sync.
The sync happens at save time. If the sync encounters a temporary issue, your settings save still completes — the sync is self-healing and picks up on the next save. This applies only to accounts that control their own branding.
What to do: Toggle branding in Settings → Appearance and save. Your SMS short link domain updates immediately.
The "Send to existing contacts" toggle on a scheduled autoresponder correctly reflects its saved state. Previously the toggle appeared off even when the setting was saved as on.
On multi-region accounts, attempting to clear SMS subdomain link shortening previously returned an error and didn't go through. The action now completes as expected.
When a contact who's already active on an SMS list submits a double opt-in form again, they now receive a confirmation SMS letting them know they're already subscribed.
The contact's membership isn't changed, no subscribe event fires, and the message is only sent when the submitted phone number matches the contact's existing number — so no contact information is exposed.
The SMS broadcast preview in the campaign builder reflects what you last saved. Previously, edits made in the classic builder didn't reach the preview, so the preview could disagree with the builder, the guided test send, and the SMS that actually delivered.
Message name, image, sender, and link shortening all update to match your current saved content. The in-chat SMS card remains a historical record of the message as it was sent and does not update.
When a customer had zero completed orders, the revenue total could fail to save, causing errors on order updates. Revenue totals for customers with no completed orders correctly display and save as zero.
Revenue sorting in the Deals CRM pipeline view works correctly.
Resubscribing a contact to a list could leave a stale timestamp on the membership record. A later pass keyed only on that timestamp wrote an unsubscribe activity entry for a contact who was already active again — producing incorrect contact history.
Active memberships with a leftover timestamp are now skipped. A contact's activity history reflects their actual subscription status.
For contacts, you can drag multiple fields in quick succession and the order is preserved correctly. For accounts and deals, further drags are paused while a save is in progress.
No action required — the instant update applies automatically on the Manage Fields settings page.
Recurring campaigns — series, responder, reminder, and special — publish send-summary data after every send cycle, not just the first. Reporting surfaces that were under-counting sends, and open rates that appeared impossibly high as a result, reflect accurate numbers going forward. Historical send counts from cycles that ran before this change are not backfilled.
RSS-triggered campaigns scheduled for their next send were missing from the Campaigns list when you filtered by Type: All Campaigns + Status: Any. They appeared only under Status: Scheduled.
Freshly copied campaigns were also affected: when the copied content matched what was just written, the first save was skipped — leaving the campaign without a modified date and causing it to drop out of filtered views. The fix ensures a campaign's first save always records a modified date, while unnecessary rewrites of already-saved content are still skipped.
Your Campaigns list filtered by Type: All Campaigns + Status: Any will include RSS-triggered and copied campaigns as expected.
On the account record page, the contact row edit form correctly respects the phone-only setting. Previously, the form always required an email address — blocking the Save button and preventing the phone-only flow from working — even when the account was configured as phone-only. The form behaves the same way it does on the contact record page.
After editing a task from the activity sidebar on a contact record, the pending tasks list and the open task detail panel reflect the updated title and due date right away, without requiring a page reload.
The "Saving…" and "Saved" status text in the notes composer appears in the standard text color on contact and account record notes panels and in the note drawer, making it clearly readable against the card background.
You can now retrieve automation run data grouped by contact directly from the API — no need to group results yourself after fetching them. See the API documentation for details.
Several visible issues on the custom fields settings pages (contacts, accounts, and deals) are resolved.
- Text-area fields: Choosing "Text area" as the field type in the Add Field modal on accounts or deals, or editing an existing text-area field on contacts, previously caused the page to stop responding. It works correctly.
- Dropdown menus in modals: Dropdowns inside field-settings modals open in front of the dialog. Previously, the menus appeared behind the modal overlay, making options unclickable.
- Partial reorder feedback: When a field reorder only partially succeeds, a toast notification appears instead of a browser alert dialog.
- Option label parity: Renaming a custom field option saves the label you typed, matching the behavior from the previous version.
- Row actions and personalization tags: Row action buttons are consistent across all three tabs. Personalization tags truncate to one line with the full tag visible in a tooltip.
- Loading states: The page heading and tab band appear immediately while content loads, so the page structure is visible right away.
- Page layout: The header and tab band run edge to edge and the page fills the full height of the shell.
When a contact open was likely generated by Apple's Mail Privacy Protection, an info icon with a tooltip appears inline in the activity stream — matching the behavior of the earlier contact record experience.
For reseller and white-label accounts, the "Learn more" help-center link inside the hint is hidden, following the existing platform convention. The hint text itself still appears.
MCP server connections in the Active Intelligence editor are scoped per user rather than shared across your account.
When this is enabled for your account, an info banner appears in the MCP connections modal explaining the change, and a one-time attention indicator appears on the MCP servers button until you open it.
The connection and reconnect flows are unchanged. This feature is off by default and must be enabled for your account.
The List Exclusions page previously displayed internal, system-managed exclusion records that were never intended to be visible or editable. These entries also inflated the page count shown in pagination. The page shows only the exclusions you've created and manages the count correctly.
When you export link click recipients from campaign reports, custom object fields are included in the export file — the same custom field support that was already available for the recipients list export.
Click any link while editing an email and a modal lets you attach one or more actions to it: add or remove a tag, subscribe or unsubscribe a contact from a list, or start or end an automation. The actions you've set appear as chips directly on the link in the editor, so you can see at a glance what each link will trigger when a contact clicks it.
The modal pulls your account's live tags, lists, and automations, so what you see reflects your actual setup.
To use this, open any email in the editor, select a link, and configure actions from the modal that appears.
Screenshots regenerate automatically on every save, including saves made through the API. A failure in the screenshot service can't cause the save itself to fail, and a timeout prevents the screenshot request from hanging indefinitely.
After a save, the forms list retries loading the new thumbnail up to 3 times, fetching a fresh copy each time. If all retries are exhausted, a placeholder icon is shown instead of a broken-image glyph. A subsequent save resets the retry count so the new screenshot gets its own fresh attempts.
Emails that put their sender information and unsubscribe link inside conditional content blocks always deliver a footer to every recipient, even when the condition doesn't apply to them. Previously, recipients who didn't meet the condition received the email with neither the conditional content nor any footer.
A few specifics worth knowing:
- Personalized emails that fetch content per contact defer the footer until after that content is rendered, so the footer is always accurate.
- A conditional block that covers every case (has an else branch) and includes the required content in every branch is treated as unconditional — those emails skip the deferral entirely.
- Contact field values that look like compliance tags are ignored for the purpose of deciding whether a footer is needed, so they can't accidentally suppress it.
Emails already in flight are not affected retroactively.
Order product activity records save successfully even when a product arrives without an external ID. Previously, these records failed to save in that situation, affecting order tracking for products without external IDs.
Two related fixes address a problem where campaigns with a large number of duplicate tracked link records could run out of memory at send startup and never deliver.
Duplicate rows are no longer created. Links that were already recorded are now recognized correctly, so each link gets one tracking row instead of accumulating duplicates. As a result, links that were previously shipping untracked are tracked again — this restores tracking rather than removing it.
Existing duplicate rows are cleaned up at send time. Even after the above fix, accounts that had already accumulated duplicate rows could still hit the memory limit. The link lookup deduplicates existing rows before loading them, so sends complete normally. URLs that differ only in casing (for example, ?ID=1 vs ?id=1) are treated as distinct and not merged. Click counts continue to accrue to the correct row.
When you filter your deals list by pipeline or stage — in the interface or via the API — you now see only the deals that match. Previously, those filters were silently ignored and the full account deal list came back instead.
This also affected Active Intelligence: when asked about a specific pipeline, it was drawing on a count that covered all deals in your account, not just the ones in that pipeline. That count is now scoped correctly, so any pipeline insights you get reflect the right set of deals.
Custom Object personalization tags inside tracked campaign links were rendering as raw text instead of resolving to the contact's data. With link tracking turned off, the same tags resolved correctly.
Custom Object tags inside tracked links now resolve to the correct contact data, matching the behavior you'd see with tracking off. A companion fix that adds the contact identifier to click-tracking URLs was deployed separately.
The contact record page stays current without a manual refresh. When a contact's name, deal, or organization is updated anywhere, the record reflects the change automatically, typically within about a second. When a contact is deleted from another session or by an automation, the page locks with a clear notice and a refresh link that returns you to your contacts list. Keyboard navigation is blocked behind the notice so you can't accidentally interact with a stale record.
The activity stream continues on a 60-second refresh cycle because the live update channel covers UI-originated writes only, not automation activity.
Clicking a form name in the list membership popover or modal on the contact record takes you to the correct form builder page. The link was pointing to a path that no longer exists; it resolves correctly.
On the contact record, the Edit and Delete options in a note's cog menu are always reachable with a click. When a comment thread followed a note, the thread was painting over the menu and blocking both options. The menu renders above the comment thread.
Location joins the standard enrichment summary — fields filled, fields skipped, fields without data — along with the confidence breakdown.
If location can't be resolved, enrichment continues and completes without it. Existing location data is never overwritten. Contacts with no prior location data consume quota as normal and appear on the activity feed as enriched. No additional setup is required beyond your existing enrichment access.
Three improvements to the contact record activity sidebar:
- Editing a task updates the row with the new title and due date within about 1.8 seconds, without a page reload.
- Completing or deleting a task removes it from the sidebar immediately.
- "Saving… / Saved" status text in the notes composer appears in the standard text color, making it easier to read against the card background.
A close button (X) is available in the Active Intelligence chat panel header, next to the expand icon. You can dismiss the panel without navigating away or using another control.
When the workspace preview pane is open alongside the chat panel, the close button collapses smoothly so you don't see two close buttons at the same time.
Previously, template preview images were served from cache even after you updated your brand name, description, or industry. The cache now validates against a fingerprint of those four brand fields and refreshes automatically when any of them change. Existing cached records without a fingerprint are refreshed on first access.
The send time shown on the campaign send pill respects your account's combined date-time format preference. Previously, accounts with a custom combined format saw the date and time displayed in the wrong layout.
A problem caused every campaign send to insert a duplicate tracking row for links that were already recorded, rather than recognizing the existing entry. One account accumulated 356,649 identical rows for a single URL, which prevented delivery entirely. Links are stored and looked up consistently, so tracking works correctly and sends complete as expected.
Opening a campaign you hadn't changed was sometimes enough to update its "last modified" timestamp and alter its content. Seven related behaviors have been corrected:
- Copies no longer carry over the source campaign's design when the markup wasn't also carried. Copies that do carry the source markup — such as reuse-message and winner-collapse copies — still receive the design as expected.
- Split test variants inherit the source campaign's design, falling back to the campaign's own stored content on the first split. Nothing is inherited when the markup differs.
- Content remapping uses the campaign's stored markup as the source, so compliance links are preserved. The target template's footer prevents unsubscribe and sender-info tags from appearing twice.
- Opening an unchanged campaign no longer triggers an autosave or updates the modified timestamp.
- Saving skips the write when every message already contains exactly the same HTML; edits to subject lines or preheader text still save as expected.
On accounts with HQ template sync enabled, HQ-synced templates and Active Intelligence templates were appearing in both the "Synced from HQ" and "Local templates" sections. Each template type now appears only in its correct section.
Four gaps that could cause content to be lost, overwritten, or only partially updated are now closed.
Unsupported campaign types are caught upfront. Raw-HTML, plain-text, and legacy designer campaigns are refused with a clear explanation rather than producing an error mid-process.
Unsupported content blocks are reported, not silently dropped. If a block can't be represented in the target layout, the remap is refused with a specific explanation of which blocks are the problem — so you know what to address before trying again.
Concurrent changes no longer overwrite each other. If two changes to the same campaign happen at the same time, the second one fails with a clear conflict message rather than silently overwriting the first.
All variants of a split campaign are updated. Previously only the first variant was remapped. Split campaigns with a shared design are remapped once and the result applied to all variants; split campaigns with per-variant designs have each variant remapped independently.
Two issues are resolved. First, a failure from the content hosting service could cause an external, unhosted URL to be saved under a logo entry instead of the hosted one. Second, uploading a batch of logos could silently discard logos you'd already uploaded by replacing the full set with only the ones in the current upload.
A hosting failure now raises an error instead of saving an external address. Logo URLs are verified before use. The upload path adds to your existing logos rather than replacing them.
Known limit: Brand kits already holding HTTP (non-secure) logo addresses are not repaired by this change and require a separate data fix.
The folder and automation filters in the Automations Performance report search server-side instead of loading your entire account's data into the browser first. The filters load the first 100 results immediately and update as you type, matching the behavior already in place on the Campaigns Performance and Predictive Content reports.
Previously, the report could attempt to load up to 10,000 automations into the browser at once, which could slow the page or exhaust browser resources on large accounts.
A selected automation stays pinned in the list even when a search term doesn't match it.
This applies when the updated reports experience is enabled for your account.
Automation share links update when you edit an automation's steps or actions — not only when you rename it. Previously, content edits left the shared link pointing at the old version until a rename triggered a refresh, meaning child accounts could receive stale content.
Status-only changes (activating, deactivating, or drafting an automation), copies, and Active Intelligence-generated automations don't trigger an update, so the receiving side isn't asked to process a change that doesn't affect content. Non-franchise accounts are unaffected.
The completion rates and stats in the contact automations report are accurate when you filter by tag and sort by subscriber ID. Previously, a query error caused approximately 1,100 errors per day, and every affected request returned a completion rate of 100% regardless of actual data.
Previously, a single contact record with an unreadable stored date caused the entire activity log page to fail for that account. Rows with an unreadable date now display the raw stored value, and all other rows are unaffected.
When you ask Active Intelligence to check a contact threshold and take action only if it's met, it evaluates the condition and reports the outcome without surfacing unrelated information. Previously, it would sometimes mention email notification capabilities even when the threshold wasn't met and no notification was ever needed.
This is an addition only — existing tag fields are unchanged.
Images in Active Intelligence-generated campaigns were being cropped in ways that cut off the main subject — a portrait product shot in a wide hero slot, for example, would lose most of the subject.
Images are sized to their slots with the subject in mind. When a slot's shape is close to the image's natural proportions, the image crops to fill as before. When the shapes are further apart, the image keeps its own proportions rather than being forced into the slot. Images are never enlarged beyond their natural size, and resolution scales back automatically when enlarging would introduce visible artifacts.
Brand kit images are also matched to slots by closest aspect ratio, so the image most likely to fit well is placed first — the panorama goes in the hero, the portrait in the tall block.
When you asked Active Intelligence to build an automation referencing an existing campaign by name — without selecting it as a chip — the automation steps used to become uneditable, and the automation builder would fail to load them.
Active Intelligence now looks up campaigns by name before building the automation. Exact matches are resolved to the correct campaign automatically. If a name can't be matched, Active Intelligence asks you to clarify before proceeding. A safety net also ensures a campaign name can never be saved in place of a campaign ID, even if one slips through.
Unsubscribe rate was previously missing from the reporting response.
The account detail page has a tighter, more consistent layout across its cards and the email composer.
Card headers: The Contacts card header buttons are the same size as those on the Deals card. The Deals card filter dropdown is better aligned with deal content. The Recent Activity header matches the style of other card headers. The Deals loading state uses a centered spinner.
Email composer: The recipient area runs edge to edge. The subject line is a full-width input with a cleaner, more compact appearance. Action buttons — tracking, saved responses, attach file, personalize, automate — appear in the toolbar alongside formatting controls. Cancel and Send buttons sit below the editor in the composer body.
The "Last Contacted" timestamp on a deal page updates correctly after you send a 1:1 email, whether you send via SMTP or a connected inbox. Previously, the timestamp could stay stale after sending, making your deal activity look out of date.
This period's work centers on Active Intelligence earning more trust: it now asks permission before acting, learns your brand's voice, and lets you send campaigns without leaving its canvas. Alongside those headline additions, a run of fixes tightened admin reliability, contact data accuracy, and everyday composer polish.
Highlights · 5 of 25 updates
- Active Intelligence asks first. Active Intelligence requests your permission before taking any action in your account, with options to skip, allow once, or always allow — and your choices carry across sessions, giving you direct control over autonomous behavior.
- Campaigns in your brand's voice. Active Intelligence can learn your brand's voice from past sent campaigns and apply it when generating new content, so output sounds consistent with what you've already published.
- Send campaigns from the canvas. You can review and send a campaign directly from the Active Intelligence canvas, removing the need to step through the classic campaign flow.
- Personalized automation blueprints. When you open Automations for the first time, Active Intelligence generates three blueprint cards tailored to your industry, goals, and Brand Kit, each with a ready-to-use prompt to build the automation immediately.
- 15 fixes. Smaller corrections and repairs across Contacts & segmentation, AI & agents, Admin & permissions and 2 more areas.
25 updates: 7 new · 3 improved · 15 fixed, across 7 areas.
When saving user settings fails, the error toast shows the specific reason from the API — for example, that a CRM seat can't be removed from a user who still has open deals — instead of a generic message. Error toasts are also styled distinctly so they're easy to spot.
When you upload a file that Active Intelligence can't parse, the error message appears in your account language. Previously it appeared in English only.
Two pagination issues on the segments list are resolved: changing the page-size dropdown takes effect immediately, and typing a page number outside the valid range lands you on the nearest valid page instead of showing an empty state.
When you ask Active Intelligence how to preview a scheduled task, it correctly points you to the "Run now to preview" button on the scheduled-tasks page.
Previously, Active Intelligence applied a "no immediate run" rule too broadly and told you that scheduled tasks couldn't be previewed at all — even though the button was right there. The instruction has been corrected, so you get accurate guidance every time.
You can review and send a campaign directly from the Active Intelligence canvas, skipping the classic campaign flow entirely.
Subject and preheader sit above three trigger controls: Recipients (list, segment, contact count), Send (immediately, scheduled, or predictive send in your account time zone), and More settings (sender and verification, tracking, physical address, campaign archive). Split campaigns add a variant strip and split-test trigger, with settings following the selected variant.
Deeper flows open as sub-screens with a back arrow rather than stacking modals: manage tracked links, add address, create segment, translations checklist. Test & Preview walks linearly through test send, spam check, desktop preview, and email-client previews. The send gate checks all 24 conditions from the classic page and names each unmet one.
The "Ideas to try" prompts in the reporting widget's Customize panel, and the default prompts shown to new users, have been replaced with ones the widget can fulfill.
Previously, several suggestions — including "Unengaged contacts," "Revenue by campaign," and "Upcoming send schedule" — caused the widget to decline the request and show nothing.
The new prompts are: Open rate by campaign, Contacts by status, Contacts per list, Click rate trend, and Campaign performance. Default prompts for new users have also been updated. "Deals by stage" was already working and stays as-is.
The updated prompts appear automatically in the Customize panel.
Dragging a field to a new position on the Settings > Fields page saves all position changes at once instead of one at a time. For large field groups, this eliminates the multi-second delay that previously locked the row while each save completed in sequence.
When you open Automations for the first time, Active Intelligence generates three personalized automation blueprint cards tailored to your industry, goals, and brand kit. Each blueprint includes a title, description, trigger, actions, and a ready-to-use prompt you can send straight to Active Intelligence to build the automation.
The three suggestions are designed to cover different lifecycle stages, so you get meaningfully distinct starting points rather than variations on the same idea.
The Expert Migration banner is shown only to accounts with 10 or fewer contacts. It had been appearing for any new account that wasn't a reseller, regardless of contact count.
The timestamp is set by the widget service on every generate, refresh, or seed operation. The 6-hour auto-refresh staleness calculation also uses this timestamp instead of the client-authored creation time, so a cosmetic save can no longer make stale data appear fresh.
If a widget predates the new field, the "Updated x ago" label is hidden and staleness falls back to the creation time, preserving existing behavior until the backend change is in place.
Group list access settings save correctly.
Two issues in the email composer are resolved. Accounts that were rate-limited and required a CAPTCHA challenge see the challenge appear correctly, and the Send button unblocks as expected. Accounts with more than 200 saved responses see all categories populated; previously, categories beyond the first 200 rows appeared empty.
When you delete a user, the modal reassigns everything they own — lists, accounts, default account owner, and deals — before completing the delete. If any of those steps fail, you see a descriptive error toast naming exactly which step didn't complete, and the modal stays open so you can retry. The user isn't deleted if any handover fails, so nothing is left without an owner.
Deal reassignment also reaches the API correctly.
When saving a field group before its group type has finished loading, the modal stays open and shows an error so you can try again, rather than silently discarding your work.
Switching between the Accounts, Contacts, and Deals tabs in custom field settings no longer blanks the header and tab strip while the next tab loads. The header and tab strip stay in place; only the tab content changes.
Additional visual fixes: the header stays on the light theme correctly, a continuous background fills the area between the header and filter bar, table rows no longer scroll through a gap between the two sticky elements, and spacing in the Contacts tab header is consistent with Accounts and Deals.
Prompt card titles in the contacts first-run experience are visible. They were previously rendering as white text on a white card, making them impossible to read.
SMS lists appear in the Lists widget on the contact record alongside email lists. Previously, SMS list memberships were missing because the list lookup was returning email lists only.
Note excerpts on the contact record also display correctly — characters such as & appear as written rather than as escaped code.
Previously, these events had no labels at all, so there was no way to tell from the activity feed that an SMS double opt-in message had been sent. The labels appear automatically on any contact activity feed.
The send-configuration popovers — Recipients, Translations, Add address, More settings, and Manage links — hold a fixed width as you move between them. More settings also locks its height while the main panel is visible, so the popover no longer jumps in size mid-flow.
On narrower screens, layouts adjust automatically: Translations uses a single column at every width, address fields stack when space is tight, and tracked-link cards collapse to one per row with URLs wrapping in full rather than truncating.
The Agent Availability report is accessible directly from the WhatsApp Reports section in the side navigation, between "By Agent" and "By Tag," so permitted users can reach it without typing a URL.
Active Intelligence can learn your brand's voice from your recent sent campaigns and apply it when generating new content, so new campaigns sound like you wrote them, not like a generic template.
The system reads your recent sends, strips out boilerplate, and builds a structured voice profile that flows into every new campaign it drafts. Validation across real accounts scored voiced composition 7 wins out of 8 in blind judging.
This capability is off by default and requires your account to have the feature enabled. Until it's turned on, campaign generation works exactly as it does today.
Previously, Active Intelligence would attempt multiple planning passes, retrieve records it didn't need, and eventually return a generic error message that revealed nothing useful.
Repeated requests for the same restricted action within a session are answered from memory, with no additional processing.
Active Intelligence requests your permission before taking actions in your account, so you stay in control of what it does on your behalf.
When a permission is needed, a card appears inline in the chat with three choices:
- Skip — declines the action. A declined request won't resurface as pending, and Active Intelligence receives a clear signal to stop.
- Allow — permits the action this time.
- Always allow — saves your decision so future requests of the same kind proceed without asking again.
The chat composer pauses while the card is unanswered. Once you respond, the card collapses to a small chip that persists if you reload the page. Your "Always allow" decisions are enforced on the server, so they hold across sessions.
Known limit: In a conversation where you decline by typing a response rather than selecting Skip, the refusal may not be recorded. A follow-up fix is in progress.
This feature is being rolled out gradually and may not be available in your account yet.
When you attached a campaign template and asked Campaign Agent to create a campaign like it, the agent rejected the template and ignored it, responding that the design was from an older editor and couldn't be reused.
The agent correctly recognizes an attached template and uses it as the starting point for your new campaign. A real campaign that matches by name still takes priority over the attached template; ambiguous name matches still ask for clarification rather than substituting silently.
Three improvements to the account record page:
Add notes from a slide-out drawer. You can add notes to an account from a drawer without leaving the page. After saving, the note appears in the notes panel immediately.
Contact search shows email and phone. When adding a contact to an account, search results display the contact's email address — and phone number when your account is configured for phone-only — matching the behavior of the previous version.
Upgrade prompt when you've reached your contact limit. When an account has reached its contact limit and the search field is empty, the Add Contact button is replaced with an upgrade prompt that opens the plan expansion modal.
This period's work centers on Active Intelligence controls and trust, with meaningful polish across SMS onboarding, Campaigns, and CRM data integrity. The most consequential additions give administrators direct authority over what Active Intelligence can create or change, and surface a structured approval step before destructive actions proceed.
Highlights · 4 of 20 updates
- Active Intelligence per-resource permissions. A new Permissions section on the Active Intelligence customization page lets administrators set rules, resource by resource and operation by operation, for what Active Intelligence is allowed to create or change — a direct expression of earned autonomy tuned to each business's own boundaries.
- Approval card for destructive actions. When Active Intelligence proposes a plan that includes destructive steps such as deleting Contacts, a structured approval card appears in chat showing each step, a color-coded chip, the number of affected records, and the first eight affected record IDs.
- Campaign review status in the list. Campaigns awaiting review show their audience size and send date directly in the Campaigns list, and clicking "View details" opens a progress drawer with review status, audience count, send window, and a first step labeled "Pending review."
- 9 fixes. Smaller corrections and repairs across Campaigns & email, CRM & deals, Reporting & analytics and 3 more areas.
20 updates: 4 new · 7 improved · 9 fixed, across 9 areas.
Clicking a web copy link in the preview of an already-sent campaign opens the live link. The explainer message still appears correctly for unsent test previews.
On the deal sales performance report, the custom-range Start and End date inputs share the same bottom edge as the filter pills on the toolbar row, so the toolbar looks consistent.
The SMS opt-in walkthrough used to advance to the next step the moment you clicked Continue, before your opt-in status was actually confirmed. It now waits for real confirmation before moving forward.
A waiting screen appears while confirmation is in progress, and the tour advances automatically once opt-in lands.
The walkthrough shows one or two screens depending on your account's configuration. The step counter is hidden when there's only one screen.
During the SMS trial demo guided tour, the content editor hides options that aren't available in trial — personalization tags, the image attachment button, and sender warning banners. You see only what you can actually use. Accounts outside the trial demo are unaffected.
The SMS tour experience has two improvements that make it easier to follow and less likely to lose your work.
The tour dims and highlights one control at a time instead of blacking out the whole panel. Each step shows a spotlight on the relevant control, with the rest of the interface dimmed, so it's clear exactly what you're working with at each stage.
When you leave the builder to return to the tour, your draft saves automatically instead of being discarded. The return banner saves before navigating back and disables its button while saving is in progress. Scheduled sends and send-now still go to the SMS index as before.
The SMS Performance nav item is highlighted correctly when viewing any report URL, and the nav item label is consistent with the page heading.
Six report pages — automations performance, campaigns performance, conversion attribution, conversion performance, contacts form submission, and contacts tag trends — were showing a native interface strip that should have been hidden. All six display consistently with the rest of the reporting experience.
The custom reports page is intentionally left unmasked, matching its original behavior.
Specific improvements across embedded reports:
- Dropdown labels on automation reports use the standard inline style.
- Toolbars are right-aligned across automation, conversion, deals, sales, and revenue report pages.
- The deals task overview toolbar is no longer obscured by the loading overlay.
- Dropdown menus in the deal forecast report appear above other content correctly.
- Forced uppercase text is removed from automation toolbar dropdowns.
- Padding and border-radius values are consistent across affected report pages.
When creating a contact directly inside the Add Deal modal, the phone number field previously accepted any text with no format checking and no country prefix.
Phone entry in this form uses the same validated widget as the standalone Add Contact form: a country-prefix selector, region-aware format validation, and an inline error message for invalid numbers that blocks submission. Email validation on blur is also included, covering invalid format and missing email when your account requires one. The same "Remove validation" escape hatch available in the contacts form is included here too.
The full option row — including the input and remove button — moves with the cursor as a ghost during a drag, and a highlight marks the drop position between rows. Keyboard reordering via the space bar and arrow keys is also available.
Saving a dropdown custom field whose options contain duplicate labels is now blocked with a validation error on accounts and deals. This matches the behavior already in place for contact fields.
The rule applies only on save. Fields that already have duplicate options stored load and edit normally — you can resolve any duplicate by editing the option row directly.
For each resource type, you can choose Allow, Ask, or Deny for Create and Update/Delete independently. Changes save as soon as you adjust a control, and each change affects only that resource-operation pair. Resources without an explicit rule follow the wildcard setting. Where only creation applies — such as contact lists and campaign creation — the Update/Delete column shows "Not available." Bulk copy actions always ask before proceeding.
When a permission rule is added, changed, or removed, the event appears in the activity feed with a title and description. Clicking a permission-related feed row opens the Permissions section directly, both on the full page and in the Active Intelligence sidebar.
The pagination bar was appearing beside the table rather than below it, pushing the rows-per-page control and other options to the right side of the page. The table fills the full page width and the pagination bar sits on its own row underneath.
Campaigns awaiting review show their audience size and send date directly in the list row, the same information you see for scheduled campaigns. Clicking "View details" opens a progress drawer that explains the campaign is under review, and shows the audience count, send window, and a first step labeled "Pending review."
Schedule-editing and the "Contact support" handoff are available for stopped campaigns. Both are hidden for campaigns that are scheduled or pending review, where they don't apply.
The preview screen was timing out before generation had finished, so you'd see an error even when everything was working. The preview waits long enough for generation to complete before reporting a problem.
The card shows a title for each step, a color-coded chip indicating whether the step is read-only, a creation, or a change or deletion, the number of affected records formatted for your locale, and the first 8 affected record IDs. Preflight warnings and the assumptions behind the plan are also shown.
Read-only or create-only plans show no card.
Known limit: Approve and Cancel buttons are not part of this release. You confirm by replying in chat.
Active Intelligence prompt headers on overview pages match the styling used on the contacts overview.
Other routes retain sidecar persistence and fullscreen flows are intact.
Two display issues on the account detail page are resolved.
- Contact field widths: Job Title, Phone Number, and Email Address fields in the row-edit popover display full-width with labels above the input, matching the intended layout.
- Delete confirmation pluralization: The delete-account confirmation message correctly uses singular or plural wording based on the number of contacts associated with the account.
These fixes apply when the updated account detail page is enabled for your account.
The updated label makes the action clearer: it's an offer to apply your brand to the campaign you're looking at, not a separate setup task to complete first. For accounts with no brand kit, it opens the same brand-import experience as before and runs the repaint automatically once the import succeeds.
This change applies to this prompt only; other places that used the previous label are unchanged.
This period's work advances Wavelength's earned-autonomy foundation: Active Intelligence gains sharper, more trustworthy outputs across brand monitoring, industry insights, and campaign creation, while a new admin onboarding tour makes those capabilities discoverable. Alongside that, a broad sweep of fixes and improvements tightens the reliability of Campaigns, Automations, Contacts, and CRM day-to-day.
Highlights · 5 of 71 updates
- Wavelength onboarding tour. Admins get a four-step opt-in walkthrough covering automations monitoring, Brand Kit and competitor scanning, and two scripted chat sessions — making Wavelength capabilities immediately explorable after launch.
- Brand Kit built during campaign creation. Active Intelligence offers to build a Brand Kit from your website right inside the campaign creation flow, so a first campaign comes out on-brand without a separate setup step.
- Brand monitoring speaks plainly. Brand monitoring insight cards no longer surface internal technical terms, so the language you see is clean and ready to act on.
- Manage duplicate automation runs. When a contact has multiple active automation runs, you can resolve them directly from the automation contacts list, choosing to keep the newest, keep the first, or end all — with a confirmation step before anything changes.
- 33 fixes. Smaller corrections and repairs across Campaigns & email, CRM & deals, Contacts & segmentation and 8 more areas.
71 updates: 11 new · 27 improved · 33 fixed, across 12 areas.
Labels on the Your Plan page — including questions about contact count, additional email sends, additional users, and user management — now show the correct text instead of placeholder copy.
A four-step opt-in walkthrough is available to admins to explore Wavelength capabilities. The tour covers automations monitoring, brand kit and competitor scanning, and two scripted chat sessions — one that creates a tag and one that walks through creating a scheduled task.
After the numbered steps, an optional overlay walks through the task creation form field by field. "I've got it" skips it; completing the task ends it. "Not now" dismisses the tour for the session; completing it is remembered permanently.
When Campaign Agent generates a WhatsApp template draft, the result now includes the full component data — buttons, headers, body, and footer — needed to render a rich visual preview in the chat, matching what you see when you validate a template.
Toggling a locked message variable to unlocked from the edit form now saves correctly. Previously, saving an unlock from the edit form never took effect — the save would fail before the unlock could run, leaving the variable stuck in its locked state.
Admin users can now unlock a locked message variable directly through the edit interface by setting it to unlocked. Non-admin users still can't unlock variables this way, and locked variables where unlocking isn't explicitly requested remain protected.
The "View" and "Complete" buttons in Task Manager were invisible when the app used its default dark theme, appearing absent even though they were functional. Both buttons are now visible regardless of the shell theme.
Previously, the counter left the signed-in user out of its total while still showing their row as checked — a 5-user account read "1 of 4" and a solo account read "0 of 0." The counter includes the signed-in user in both halves of the count. This is a display-only change and does not affect which tasks are assigned or synced.
You can now edit tags through a combobox control, and tag labels display correctly in all supported languages.
Two sorting issues in forms and tags are resolved.
Forms: Clicking a column header a third time to remove a sort previously left the data sorted while the header showed an unsorted state. The display and the underlying data now stay in sync — clicking a third time clears the sort completely.
Tags: Shift-clicking a second column to add a multi-column sort previously applied the sort only to the first column. Both columns are now sorted as expected when you use shift-click to add a second sort.
The resend option for split campaigns is now hidden in the campaign list actions dropdown, the preview modal, the calendar event drawer, and the single campaign report page. Attempting to resend a split campaign via the API now returns an error.
Resending a split campaign after a winner is decided doesn't work correctly — the winner content and targeting aren't preserved — so the option has been removed rather than left available. Standard campaigns are unaffected. Error messages shown by the resend guard now display correctly in all languages.
In account records with two or more contacts that have email addresses, the "To:" menu in the 1:1 email drawer opens and stays open so you can select a different recipient. Previously, clicking the chevron did nothing useful — the menu opened and immediately closed, locking the recipient to the default contact.
The "current day of the week" segment condition has a new "is one of" operator. When selected, the day picker becomes a multi-select, letting you choose any combination of individual days in a single condition.
Selections are stored in the same format already used by the Weekdays and Weekends grouping options, so existing segments are unaffected.
The Segment Library inside Segment Builder loads your first 20 segments immediately and fetches more as you scroll, instead of loading everything at once. On accounts with hundreds of saved segments, this means the library opens faster and stays responsive.
Segments are sorted by most recently used. A loading indicator appears as the next page fetches; if a page fails to load, an error message appears with a retry option and already-loaded segments stay visible. Searching re-fetches from the beginning with your search term applied.
The SMS Demo Tour's Trial Opt-In confirmation step now responds in under a second instead of making you wait 10 seconds for a result.
During the SMS product tour, you can send a real SMS to your own phone. After you text the trial keyword to the opt-in number, a Send test button activates and delivers a pre-built campaign to that number — so you see an actual message arrive while you're exploring. Once it sends, an Add SMS button appears so you can move straight to adding SMS to your plan.
A one-send limit per browser session means the test won't fire twice by accident. The button stays locked until your opt-in is confirmed.
The SMS opt-in flow now displays the correct translated message when an already-subscribed contact attempts to subscribe again. The contact's membership isn't changed, and no subscribe event fires.
The goal success bar color in reports previously differed from the application's standard palette. It renders in mint green, matching the color used elsewhere in the app.
In the reports showcase view, filter pills applied by clicking a tag, list, or completion-time entry now include a dismiss button. Clicking it clears only that filter while leaving the rest in place.
The "Resend Opt-in" action is now available in the contact row menu within reports, completing the full set of five row actions: Email, Add a deal, Add a task, Add a note, and Resend Opt-in.
The action appears for a contact when they have at least one unconfirmed list membership and belong to at least one email list. It's disabled when the contact has no email address.
This is currently available in test environments only and is being rolled out gradually.
Eleven report pages that were missing their parent breadcrumb segment now display it correctly. For example, the Predictive Content report shows "Campaign Reports / Predictive Content" rather than just "Predictive Content," matching the navigation that was already present in the previous version of the app.
This applies to: form submission, tag trends, all automations, automations overview, automations performance, deals overview, deal task metrics, deal task overview, deal sales performance, predictive content, and revenue performance reports.
This change is active when the updated reports experience is enabled for your account.
A red alert banner appears with the message "Action required: reconnect your connectors," explaining that connectors set up by teammates no longer work for your account. A red dot on the connectors button gives you an at-a-glance signal that something needs attention.
Follow the banner prompt to reconnect the apps you use.
Previously, a newly created SMS draft was invisible after creation — the SMS index showed a blank state even though the draft existed. Drafts you create now appear immediately in the list.
What's new
Each contact row in the automation contacts list has an expanded set of actions. A dropdown arrow next to "View Run(s)" reveals two options:
- End Current Run(s) — stops all active runs for that contact immediately.
- Manage Duplicates — opens a confirmation step where you choose how to reconcile the duplicate runs before anything is applied.
How Manage Duplicates works
When you select Manage Duplicates, a confirmation screen asks you to pick one of three options:
- Keep newest — keeps the most recently started run and ends the rest.
- Keep first — keeps the original run and ends any that started after it.
- End all — stops every active run for that contact.
Your choice is confirmed before any action is taken, so there's no risk of ending the wrong run by accident.
How to use it
Open any automation, go to the contacts list, and look for the dropdown arrow next to "View Run(s)" on any contact row.
All three pages now show a loading indicator during page changes, sorting, and filtering. Custom Email Headers also has a retry button when the page fails to load. List Exclusions now shows a prompt to create a list when your account has none, rather than a blank table.
The Integrations page shows expiring-soon alerts with 7 days' lead time again, giving you enough time to renew before a credential lapses. The alert also displays the service name in bold as intended, rather than showing literal HTML tags.
Industry trend, seasonality, and regulatory queries often have no fresh coverage within 7 days. The broader default window means well-formed queries return results rather than a dead end.
This change applies only to Industry Intelligence. Brand monitoring and competitive intelligence are unaffected.
In the Forms list, the On-Submit Action column tooltips now display inline as intended, so rows are the right height and the list is easier to scan.
Five navigation controls in the file manager's preview modal — close preview, previous, next, hide thumbnails, and show thumbnails — were labeled in English only, making them difficult to use for screen-reader users in other locales. All five are now translated across supported languages.
Row-level "End Current Run(s)" (kebab menu on each contact row): Ends every active run for that contact in the automation in one click. Useful when a contact has duplicates and multiple active runs need to be closed together.
Per-run "End Run" (button in the expanded child table): Ends only that specific run, leaving other runs for the same contact untouched.
The header in the email editor has been redesigned. You can rename your campaign directly from the breadcrumb at the top of the editor without navigating away.
Previously, the header showed a plain back button and a static title. The updated header replaces these with editable breadcrumbs: the campaign name is editable in place, and a campaign-type breadcrumb links back to the campaign type selection page. Toolbar actions (undo, redo, version history, code editor, preview, test email, settings, and campaign analyzer) are icon buttons.
Two display issues were also resolved: the Campaigns breadcrumb displays correctly in all languages, and renaming a campaign then navigating away and back shows the updated name rather than the previous one.
The updated delete-list modal gives you a clear choice for contacts who exist only on the list you're removing — keep them (with their list relationship dropped) or delete them. The modal also spells out everything that will be affected: campaigns, preference centers and forms, reports and segments, and subscription history.
Note: This updated modal is behind a feature flag. If it isn't on for your account yet, you'll see the existing modal.
Date pickers on six report pages — automations performance, custom field overview, deal forecast, deal task metrics, deal task overview, and sales performance — match the standard style. The sales performance page's distinct layout, including its visible label, calendar icon, and popover placement, is preserved.
When you work through the database sync setup, the "Next step" and "Save" buttons display a spinner while each step's request is in progress. This applies to the connection test step, the field discovery step, and the save step. The fields step has no request and shows no spinner, which matches its existing behavior.
Each step of the database sync setup now checks that required inputs are present before letting you move forward.
- Connection step: the button stays inactive until you've entered a sync name, source user, source host, and chosen a target list.
- Tables step: you must select a table or type something into the custom query field.
- Fields step: every required ActiveCampaign field must have a mapping assigned.
- Rules step: there are no required fields here, so the button is always active.
If something is filled in but wrong — for example, localhost as the host, a custom query that isn't a SELECT statement, or a duplicate field mapping — you'll still need to click to see the specific error message. Disabling the button in those cases would hide the reason rather than explain it.
Several visible improvements to the custom fields settings pages across contacts, accounts, and deals:
- Page layout: The header and tab band run edge to edge, and the page surface fills the full height of the scroll container.
- Text-area field editor: Choosing "Text area" as the field type in the Add Field modal on accounts or deals, or editing an existing text-area field on contacts, previously caused the page to stop responding. This is fixed.
- In-modal dropdowns: Every dropdown inside a field-settings modal opens in front of the dialog.
- Partial reorder feedback: When a field reorder only partially succeeds, a toast notification appears instead of a browser alert dialog.
- Option label parity: When you rename a custom field option, the saved label matches what you typed.
- Row actions and personalization tags: Row action buttons are consistent across all three tabs. Personalization tags are truncated to one line with the full tag shown in a Tool Tip.
- Loading states: All three tabs render the page heading and tab band above the loading indicator, so the page structure is visible immediately.
In Settings → Users & Groups, the success confirmation now displays correctly after a bulk delete. The Delete button in the toolbar also disappears once deletion succeeds, and stays visible if the delete fails so you can retry.
When you add an SMS action from a connected third-party app in the Automations builder, the action now shows that app's own label — for example, "Easify SMS - Send SMS" — instead of the generic "Send an SMS."
You can tell at a glance which connected app each action belongs to. Native SMS actions continue to show "Send an SMS" as before.
This affected five related scenarios and is now resolved across all of them. No changes needed on your part.
The pagination bar on the campaigns list page was appearing beside the table instead of below it, pushing the rows-per-page dropdown and other controls to the right side of the page. The table fills the full page width and the paginator sits on its own row underneath.
- The incomplete badge reads "Incomplete" — matching the style of Draft, Scheduled, Sending, Sent, Paused, and Stopped.
- The incomplete sub-label reads "Some emails weren't delivered" — a complete phrase, like every other sub-label.
- The Tool Tip for legacy sends reads "This send isn't eligible for detailed sending progress" — shorter and consistent with the contraction style used elsewhere.
Opening the progress drawer on a scheduled or stopped campaign gives you meaningful detail about where that campaign stands and what to do next.
Scheduled campaigns: The drawer highlights the Scheduled step, shows the recipient count and send window, and — if you have permission to edit the campaign — offers an Edit schedule button.
Stopped campaigns: Stopped campaigns are clickable. The drawer explains why the campaign stopped — a setup problem before send, a sending limit, a delivery failure, or a partial delivery — and offers matching advice. The stage is described in plain language rather than repeating the status chip.
Audience size: Both scheduled and stopped campaigns show audience size (matching the count in the campaign builder) next to the chip in the table. Stopped campaigns show audience size; the delivered number shows as — until a send completes.
View report: A View report button appears when a report exists. It's hidden if nothing was sent, and only shown to users who have permission to view reports.
Automation emails created by Active Intelligence were sometimes generating call-to-action buttons whose links pointed at a personalization tag that resolves to plain text — like an account URL field — rather than an actual web address. Clicking those buttons went nowhere useful.
Active Intelligence now correctly identifies which personalization tags are valid link destinations and which are text-only values. When no link-destination tag is available, it writes the call to action as plain text instead of a broken button. This applies across all paths Active Intelligence uses to generate email content.
No action is required — emails generated going forward will have correct links.
Clicking into a campaign in the updated campaigns experience navigated to a literal placeholder URL instead of the actual campaign page, landing on the default dashboard. Campaigns open to the correct editing page.
Users in the non-condensed campaigns flow had the same issue: visiting a campaign URL navigated to a literal :id placeholder instead of the actual campaign. Both affected redirects now substitute the real campaign ID correctly.
You can assign multiple labels to a campaign approval policy in Partner Hub, instead of being limited to one. The label selector has changed from a single-choice dropdown to a checkbox list, and all selected labels are saved together. The "notify on send" option has been removed — it wasn't part of how approval policies actually work.
The recipients card in the campaign send-progress drawer previously showed a bare percentage figure beneath the delivered/total count, with no label. It now reads "{percent}% delivered" — for example, "64% delivered" — matching the design. The percentage is shown as a whole number, clamped to 100.
When Active Intelligence can't work from a campaign's saved design, it now tells you the specific reason so you know what to do next.
Two related issues are also resolved. If you asked again after a refused edit, the agent was silently rebuilding the email without telling you. And if the refusal was because the design was ordinary saved markup, the agent was incorrectly telling you it could only edit emails it had built itself — that message now accurately describes what happened and offers two paths forward.
If you haven't set up a Brand Kit yet, Active Intelligence offers to build one from your website right inside the campaign creation flow. Accept the offer and a kit is created from your site before the first email generates, so your very first campaign comes out on-brand.
The offer appears in the campaign intake form or as a standalone step, depending on your account setup. Either way, the generated email picks up your brand.
- This feature is rolling out gradually and isn't available to all accounts yet.
- Resold accounts are excluded.
- If your website can't be read, Active Intelligence continues and generates an unbranded campaign rather than stopping.
If the offer appears, you can accept or decline it.
On accounts with CRM seat entitlements, the owner and assignee pickers across Deals — including the list view, the Deals CRM pipeline view, the add-deal modal, the task modal's Assigned To field, the bulk-edit Deal Owner picker, and the contact-deal Deal Owner picker — show only users who hold a CRM seat. Search works normally within the filtered list.
If the entitlement is missing, still loading, or returns an error, the pickers fall back to showing all users, so no one is ever hidden due to a configuration issue. Deep-linked owner and assignee names continue to resolve correctly.
Accounts without CRM seat entitlements see no change.
Brand monitoring insight cards were showing internal technical terms — words like "snapshot," "scrape," and "live sync" — in their titles and body text. That made live content look stale or confusing.
Both phrases are removed from every customer-facing string in the brand monitoring tool: card titles, body copy, the consent note, and the tool description. "Live sync" is also added to the enforced banned-vocabulary rule in the insight prompt, so it stays out going forward.
The language in your insight cards updates automatically.
Brand monitoring insights sometimes cut off mid-sentence when they hit the output limit, delivering a draft that ended abruptly. The insight is trimmed back to the last complete sentence before the summary and title are generated, so what you see is always coherent and ready to use.
This applies to brand monitoring insights. Other insight types are unaffected.
The automations overview page holds its position correctly while content loads. Previously, the page jumped during the loading state as the skeleton shifted before content appeared.
The automations folder view is now fully translated for all supported locales. If you use ActiveCampaign in a language other than English, the folder view now displays in your language.
Triggers that include subscribe, unsubscribe, form submit, link click, and similar actions now render correctly on the automation import screen instead of disappearing silently.
When you use the "Add contact to automation" option from a contact note, the search box now searches across all your automations — not just the first 20.
Previously, the dropdown loaded only the first 20 automations and the search box filtered only those 20, making any automation beyond position 20 completely unreachable. Search now goes to the server, handles special characters in automation names correctly, and your selection is preserved across search results.
The warning shows up as you configure the schedule, giving you a clear heads-up before committing the setting.
Accurate completion rates in automation contact reports
If you were filtering automation reports by tags and sorting by subscriber, every contact was showing 100% completion — regardless of where they actually were in the automation. Completion rates and completion times now reflect what's actually happened for each contact.
Correct type label for SMS automation sends
On the SMS report details page, sends triggered by an automation were showing a blank "Type" field. That field now correctly reads "Automation," consistent with how campaign-type SMS sends are labeled.
Neither change requires any action on your part.
When you add a "Wait Until" date condition to an automation, the time field now defaults to 8:00 AM instead of midnight.
If you set a date without picking a specific time, your automation now triggers at a reasonable hour rather than in the middle of the night. Existing "Wait Until" steps are unaffected — this only changes the default for newly added steps.
Add Task is now available as the fourth action in the contacts list row menu, alongside Add Deal.
The deep-link that other parts of the product use to open the task modal directly also now works correctly on the contact detail page — previously it was silently ignored.
Note: The URL parameter isn't cleared after the modal closes, which matches how the email and note drawer parameters already behave.
The "Add Field" modal was showing raw HTML tags — for example, <strong>email</strong> — instead of formatted text. Bold markup now renders correctly in both the visible labels and the accessible names used by screen readers.
When you add a contact manually, the phone number field accepts landlines, mobile numbers, toll-free numbers, and other valid formats.
The field uses the same validated widget as the standalone Add Contact form: a country-prefix selector, region-aware format validation, and an inline error message for invalid numbers that blocks submission. Email validation on blur is also included, covering invalid format and missing email when your account requires one. The same "Remove validation" escape hatch available in the contacts form is included here too.
Phone validation errors also clear correctly when you turn off phone validation for a contact.
Active Intelligence's industry and competitive intelligence tools were generating and publishing full insight cards even when the underlying data returned nothing useful. A name-matching issue meant the "skip on no data" logic never fired, so the tools kept producing cards that then failed quality evaluation. The fix corrects the name matching so the skip logic fires correctly, and low-quality cards are suppressed before they're ever published.
Note: This change depends on a companion update that finalizes how account context influence is recorded. Both parts need to be in place for the tooltip to behave correctly.
When Active Intelligence creates an automation that hits its step limit and then exhausts its available editing passes while the automation is still truncated, the chat shows either an "exhausted hops" message or a "keep prompting" prompt. Previously, the chat showed misleading copy suggesting the leftover edits had been applied.
This applies when the multi-step edit feature is enabled. When the feature is off, behavior is unchanged: capped creates keep their existing keep-prompting disclosure.
Industry Intelligence scheduled insights no longer surface sources that share terminology with your business category but aren't actually about it. Previously, a story from an unrelated field could pass the relevance filter and appear in your Sources section — even when the insight text itself noted the source wasn't applicable.
The relevance filter has been updated with an explicit rule distinguishing "shared vocabulary" from "shared subject matter," along with a new example that teaches it to drop off-topic items.
Also, Active Intelligence's industry intelligence tool searches the past month by default instead of the past week. Industry trend, seasonality, and regulatory queries often have no fresh coverage within 7 days, especially for niche verticals or non-US markets. Previously, 21% of industry intelligence tool calls — 7,315 of 34,489 over 30 days — were returning an empty "No recent industry signals were found" result.
When a campaign send is taking longer than expected, you'll now see a clear Delayed indicator instead of a generic "Sending" status. In the campaigns list, the chip turns yellow and is relabeled "Delayed." In the progress drawer, a caution alert appears with a direct link to contact support, the delivery bar turns yellow, and the active step shows a warning icon.
This only appears while a campaign is actively in a scheduled, preparing, or sending phase that has run long. Completed, stopped, or paused campaigns keep their own status badges.
If a send is running late, you'll see it automatically — nothing to set up.
When you ask Active Intelligence a reporting question in chat, each answer includes an inline disclosure telling you what data was used: the time period covered and whether the source was Campaign Reports or contact activity. The disclosure is collapsed by default so it stays out of your way, but you can expand it any time to check the details.
If a single question pulls from both campaign and contact data, you'll see two separate disclosures in the order the data was fetched. The same labels and sources appear when you reload the conversation, not just during the live stream. If a response carries no date range or source note, nothing is shown.
When a campaign shows a "Delayed" status in the sending progress drawer, the Contact support button now opens Active Intelligence with the conversation already started — for example, "Can you diagnose what's going wrong with this campaign: May Newsletter - 183." You don't have to describe the problem, look up an ID, or wait in a queue. The progress drawer closes as the chat opens.
If your account doesn't have access to Active Intelligence, the button continues to open the help-center form, exactly as before. Nothing else about the delayed-send experience changes — same button, same placement, same "Delayed" chip.
The Active Intelligence Dynamic Variable block is now available in the current email editor.
Drop the block into your email, pick a variable from the settings panel, and see a live preview on the canvas before you send. The exported email uses the standard merge tag format, so deliverability is unaffected.
The page is fully translated. English is live; all other supported languages are populated automatically.
Clicking the "To:" chip or caret in the Deals email drawer opens the recipient picker correctly. You can select any emailable contact as the recipient.
Separately, in account records with two or more contacts that have email addresses, clicking the "To:" chevron in the 1:1 email drawer also opens the recipient picker correctly, so you're no longer locked to the default contact.
The "Send an email" action is back in the Contacts card header on the account detail page, sitting beside "Add a Contact." It's available to read-only users as well — who keep "Send an email" even when "Add a Contact" isn't shown.
If the account has no contacts, an informational message appears. If the account has contacts but none have an email address, a prompt to add one appears.
The row action that uses Active Intelligence to duplicate a campaign has been renamed from "Create similar" to "Duplicate with AI" in the campaigns list.
The label now says directly what the action does. Nothing about how it works has changed.
This period's work spans Active Intelligence depth, campaign reliability, and API reach. The most consequential changes sharpen how Active Intelligence surfaces intelligence and takes action, while a broad sweep of campaign, reporting, and platform fixes tighten everyday reliability.
Highlights · 4 of 52 updates
- Scheduled tasks, one-time reminders. You can ask Active Intelligence to set a one-time future reminder as a scheduled task, and it creates a task that runs once at the specified time and marks itself done — a direct step toward autonomous task handling that underpins the Wavelength earned-autonomy story.
- Competitive intelligence, signal only. Competitive intelligence results now exclude a competitor's own product pages, pricing pages, legal notices, and other evergreen content, keeping only results that report a specific action such as a launch, announcement, or pricing change.
- Insights lead with findings. Competitive intelligence, industry intelligence, and brand monitoring insights now open with the actual takeaway instead of hedging language, and when there is genuinely nothing to report, the insight says so plainly.
- 24 fixes. Smaller corrections and repairs across Reporting & analytics, Campaigns & email, AI & agents and 6 more areas.
52 updates: 9 new · 18 improved · 24 fixed · 1 faster, across 13 areas.
The Top Contacts widget in contact reports no longer shows an unintended border and rounded corners, so it looks consistent with the other widgets on the page.
As you scroll through the template or past-campaign picker, the next page of results loads automatically. If a fetch fails while results are already on screen, the list stays visible and an inline retry option appears. A full-page error only shows when the list is completely empty.
Settings pages — including Referrals, SMS Quiet Hours, and Subdomain Management — no longer show a permanent vertical scrollbar when there's nothing to scroll.
Previously, Active Intelligence treated every scheduled task as recurring and asked you to choose a recurrence pattern even when you wanted a single reminder. You can now ask for a one-time future reminder — for example, "Dec 1, 9am: reminder of next year's publishing schedule" — and Active Intelligence creates a task that runs once at that time and then marks itself done.
Their contact data is still collected when they submit the form. SMS list membership is added once they opt back in by replying START. No action needed on your part.
The SMS Performance Report has an Automations tab alongside the existing one-time sends view, showing your SMS automations with their performance metrics and a snapshot of key totals.
Filter toolbars across 12 report pages share a consistent appearance and behavior.
Dropdown labels use the standard inline style on the automations reports. Single-line toolbars are right-aligned across automations, conversion performance, conversion attribution, custom field overview, deals task metrics, deals task overview, sales performance, deal forecast, predictive content, and revenue performance. On the deals task overview report, 14 filters wrap at wide viewports; right-aligned wrapping is the expected behavior at that width.
The deals task overview toolbar is no longer hidden behind the loading overlay. Dropdown menus in the deal forecast report appear above other content; the same fix was applied to deal task metrics, sales performance, and revenue performance. Uppercase text that was overriding dropdown values in the automations toolbar has been removed.
Padding and border radius are consistent across custom field overview, deal forecast, sales performance, deal task overview, and deal task metrics.
The following are corrected on goal and contact report pages:
- The Completion Status filter renders at the correct size and style.
- Key statistics display in a properly bordered strip with correct alignment.
- Showcase panels use card-style containers with scrollable bodies.
- The export bar has its background restored.
- Row-action buttons are the correct size.
- The goal-list search bar includes a search icon, a styled clear button, and a consistent toolbar band.
- The no-results state is centered with appropriate visual treatment.
Two date display issues in reports are resolved.
On the goals jump-to report and the per-automation goal list, every row was showing the same wrong timestamp. The correct date and time now appear on each row.
A separate issue was causing the date component to be dropped from certain timezone-formatted displays. That's also corrected.
Previously, only Standard campaigns redirected correctly when you picked a past campaign on the layout screen. All other campaign types — split, series, responder, Classic, HTML, and Text-only — now open the designer as expected.
Two separate fixes reduce how long pages take to load.
Every page in the application was fetching a critical startup resource twice on load — a misconfigured hint meant the browser's cache wasn't being reused. That duplicate request is eliminated. Testing showed a median improvement of around 0.7 seconds.
The campaign editor was also at its initial-load size limit. The Test Preview modal now loads only when you click "Test Preview," rather than being included upfront. A loading indicator appears while it loads.
Cards that were hidden at account creation because the condition wasn't met yet never appeared later when the condition became true. Any missing records are now filled in automatically.
Four new read-only API endpoints bring campaign report data into the v3 API:
- Campaign forwards — lists who forwarded a campaign, to whom, and how often, including forward count and last forward date. Supports pagination and filtering by split-campaign message.
- Campaign unsubscribes — lists contacts who unsubscribed from a campaign, with reason and date. Note: unsubscribes driven by automations with no associated message are excluded, consistent with existing behavior.
- Report totals by message — returns campaign report totals filtered to a specific message.
- Report totals by list — returns report totals for the most recent sent campaign on a given list.
All four endpoints use the same access controls as the existing campaign report totals endpoint and return a 404 for campaigns you can't access without disclosing campaign IDs.
The new GET /api/3/campaigns/{campaignId}/reports/clicks endpoint lists tracked links in a campaign along with click counts and the contacts who clicked.
Supported parameters: messageid (optional; 0 or absent returns the whole campaign), limit (maximum 1,000), offset, and includeBotClicks (true/false/1/0, default true).
The response includes a campaignLinks array with each link's id, url, name, tracked, uniqueClicks, totalClicks, and a contacts array containing each clicking contact's id, email, clicks, and lastClickDate.
If your account has list filters or list restrictions configured, the monthly Open/Read trend report was returning completely empty results. This affected 15 occurrences across 13 distinct accounts in the week of August 24–31, 2026. The report returns accurate results in all cases, including when list-based filtering is active.
Toggle a locked variable to unlocked from the edit form and save — the change now takes effect correctly. Previously, saving an unlock from the edit form never worked; the save would fail before the unlock could run, leaving the variable stuck.
Non-admin users still can't unlock variables this way, and locked variables where unlocking isn't explicitly requested remain protected.
The integrations error panel now correctly shows an empty error list for custom API integrations that have no prior connection history, instead of displaying a server error.
The illustration picker in the form builder had stopped responding to selections. Choosing an illustration now works as expected.
Contact list pages within reports — goal and automation contact views — include a per-row action menu, matching the experience on the main contacts page. Each row offers three actions: Email (falls back to a plain profile view when no email address is present), Add Deal (shown when your account has deals access), and Add Note.
Previously, declining a campaign could leave behind temporary resources and a stale send reference under certain conditions — meaning the campaign might behave unexpectedly the next time you tried to send it. Both the leftover resources and the stale reference are now cleared at decline time.
Campaigns that were previously declined are not affected retroactively.
The Deals CRM spreadsheet view has a revised column set.
- Deal Name is renamed to Deal Title; Contact is renamed to Primary Contact and links directly to the contact's page.
- An Account column and a Status column (open/won/lost chip matching the Deals CRM pipeline view's color palette) have been added.
- Win Probability and Forecasted Close columns have been removed.
- The new column order is: Deal Title, Primary Contact, Account, Value, Pipeline (All Pipelines view only), Stage, Status, Owner, Created, Last Updated.
The Primary Contact, Account, and Status columns can also be sorted — previously these columns were display-only and could not be sorted, unlike the list view.
Only the content below the filter bar scrolls. Spreadsheet pagination is also pinned to the bottom of the page, so it's always in reach.
The kanban view was already unaffected and is unchanged.
The date picker trigger used across report toolbars — including deals overview, tag trends, form submission, conversion, automations overview, revenue performance, contacts filter bar, and campaign filter bar — now matches the visual style of adjacent controls, with slightly more rounded corners, a consistent border, and updated icon buttons.
When creating a custom contact field via the API, you can now include its list relations and all option values in the same request. Previously, creating a dropdown field with options and list relations required three separate calls.
The POST /api/3/fields endpoint now accepts optional relations and options arrays in the field payload. Options support a value, an optional label (defaults to the value), and an optional display order. All validation — payload shape, duplicate option values, type compatibility, and list permissions — runs before anything is written. If the payload is invalid, you get a 400 response and no partial field is created.
Existing field creation calls and response formats are unchanged.
Copy-to-clipboard actions in account management were completing silently, with no confirmation toast appearing. The toast now shows as expected after every copy action, and toast colors display correctly.
Your rows-per-page preference is saved per user and syncs across devices, with a local cache for fast restore. If you navigate to the contacts list with a ?limit= parameter in the URL, that value takes precedence over your saved setting.
Known limit: Cross-device restore hasn't been verified against a live account in all scenarios, and first-ever visits (before any preference is saved) keep the default of 20 rows.
Filtering your contacts by list and sorting by last-updated date was returning zero contacts every time. The query returning results correctly now affects roughly 11,000 searches per day that were previously coming back empty. Your contacts list sorted this way works as expected.
The contact usage meter in the navigation menu now changes color as your usage rises:
- Below 75%: standard color
- 75–99%: warning color
- 100% and above: red, with an "Over your limit by {n}." line shown directly under the bar
The tooltip also now states any overage plainly — "Used X out of Y; N over your limit." — instead of showing "0 left." This matters because campaign sending is suppressed when you're over your contact limit, and the meter is often the first place you'd notice.
No changes needed on your part — the updated meter is on for all accounts.
CSV contact imports that include an Account column complete as expected even when account names contain emoji or other characters outside the standard range. Previously, those imports would stall at 0% and never progress.
Account names are normalized before the lookup: invalid byte sequences are dropped and characters outside the standard multilingual range are stripped, while common characters such as ™ and curly quotes are preserved. This applies to both CSV and API imports.
The Archive Contact action continues to work exactly as before — counts now just reflect the result immediately. No action needed.
No action needed. The change applies to all three insight types automatically.
Competitive intelligence results used to include a competitor's own product pages, pricing pages, Terms of Use, Privacy Policy, cookie notices, sitemaps, "About Us" pages, and other evergreen content — because results from a competitor's domain were automatically kept, regardless of what they said.
Every result is now judged by the same standard. A result is kept only when it reports a specific competitor action: a launch, announcement, pricing or policy change, funding event, leadership change, or press item. Standing pages and administrative content are dropped.
Results also no longer include sources about companies that happen to share a word or substring with the competitor you asked about. Sources that reach the answer only through a coincidental name overlap are dropped before the response is generated, so they don't appear in citations or in the body of the answer.
Campaigns using predictive content tags are no longer held on the legacy sending path. The current sending engine already supports them — the only remaining obstacle was a feature flag gate, which has been removed and confirmed absent from all related infrastructure.
Previously, campaigns built from uploaded HTML rendered at their full pixel width in the preview, making the preview misleading. Responsive campaigns whose content is already 340 px wide or narrower are unaffected. No changes needed on your part.
Two independent issues with conditional content in campaign email previews are fixed. Neither change affects your stored email markup.
Conditional blocks weren't resolving in previews. The editor matched %IF%/%ELSE%/%/IF% blocks but never applied the result, so conditional markup passed through as raw text while ordinary personalization tags like first name resolved normally. Previews now run the same conditional resolution used at send time. Because the preview uses a dummy contact with no field data, an unconditioned %IF $FIRSTNAME% takes the ELSE branch — matching what a contact with no data would actually receive.
%ELSE IF% (with a space) was being sent as literal text to recipients. The personalization engine handled %ELSEIF% and editor-mangled variants but had no rule for the plain-space form, so it survived into the template and shipped verbatim. The normalization step now runs before the content scan, so the spaced form is both checked and rewritten. Prose containing the words "else if" and quoted strings are unaffected.
The "Daily Read Trend" chart now shows exactly one data point per calendar day, including on US Daylight Saving Time fall-back dates. Previously, dates like November 2, 2025 could appear twice — once with the correct count and once as zero.
Personalization tags like %UNSUBSCRIBELINK% and %SENDER-ORGANIZATION-NAME% now survive when you attach an HTML, EML, or ZIP file and ask Campaign Agent to use it as a template. Previously, those tags were stripped because the agent was routing template attachments through a path that rewrites copy rather than one that preserves them.
Several related improvements shipped at the same time:
- Plain-text
.emlfiles are now accepted and used to supply your campaign's wording (up to 50,000 characters). - When you attach a file in a conversation with earlier attachments, the most recent file now correctly takes precedence.
- The confirmation shown after import is accurate: it no longer claims your layout was kept when the design may change, and it notes when a plain-text EML supplied the wording.
No action needed — this is on for everyone.
Stage names are now pulled directly from your account's deal stage configuration. If a stage ID can't be resolved, the agent leaves it blank rather than guessing. No action needed.
Card bodies were showing phrases like "The tool returned the latest live content" or "not a change comparison" in English and several other languages. Card bodies now use a structured presentation layer that determines framing from the change status directly, so the model's raw prose is no longer the source of the card's text. The prompt was also rewritten to explicitly forbid narrating tool mechanics in any language.
When Active Intelligence scrapes your website to set up a Brand Kit, it retrieves the full branding information it needs. Previously, a content-filtering step was stripping branding details during scraping, and the scraper used a fixed approach that failed on sites with stricter access controls. Both issues are resolved: branding content is preserved during scraping, and the scraper automatically escalates to a more capable approach for sites that block basic fetches.
When the AI campaign agent offers to set up your Brand Kit from your website and you accept, you now see a "Setting up your Brand Kit from your website" status step while the setup runs. Previously this step was blank, so it looked like nothing was happening.
Once setup completes, your Brand Kit appears automatically across all relevant surfaces — no page reload needed.
A new setting (off by default) lets you prevent automated link scanners from recording unsubscribes against real contacts when they hit campaign unsubscribe links. When on, requests that score as bot traffic are shown the unsubscribe form with a session token instead of being recorded — so a real person who was misclassified can still opt out by submitting the form. One-click unsubscribes (RFC 8058 POST requests) are never affected.
This setting is off by default. Contact support if you believe automated traffic is affecting your unsubscribe counts.
The automation builder was failing to load for accounts that didn't have an API key configured. It now opens correctly regardless of your API key setup.
The pipeline dropdown in the "Create Form" modal now searches all your pipelines as you type. Previously, only the first 20 pipelines were available, making it impossible to select a pipeline further down the list without a workaround.
Specific improvements to the agency overview table filters:
- Selecting no items in a filter returns zero results rather than the full list.
- The select-all checkbox cycles correctly through all states.
- Plan tier filters work the same as Status filters, and you can select multiple tiers together.
- Rows stay visible while a new filter loads.
- Switching back to a recent filter combination is instant.
If Google Ads isn't connected, you'll see a "Connect your Google Account" card. Once it's connected, that card is replaced by "Create a Google Ads campaign." A "Create Google Ads" filter pill also appears in the recommendations surface whenever a Google Ads card is present.
If your Google Ads connection is in an error state, the connect card shows so you can fix it. The homepage recommendations surface now shows up to 10 cards (previously 8) to accommodate these additions.
You can ask Active Intelligence for an order status summary for a store over a date range you specify. The summary includes completed, pending, and canceled order counts, along with completion rate, abandonment rate, and their percentage equivalents.
Agent responses now appear in your account's configured language instead of always defaulting to English. This restores behavior that was interrupted when the underlying infrastructure was updated.
No action needed — language behavior is restored automatically for all accounts.
The guided walkthrough for Active Intelligence plays a scripted demo conversation during its chat steps. It shows a typed prompt, a thinking delay, and an assistant response rendered as a continuous thread — giving you a realistic preview without requiring a live interaction. The composer stays visible but is disabled during the demo. The walkthrough ends with a scheduled task card in interactive mode, and the "Create a task" call-to-action opens the scheduled tasks page with the creation form ready. The AI drawer stays open through the handoff.
279 additional deep link entry points have been added to Active Intelligence, bringing the total from 156 to 435. Each new deep link routes you directly into a relevant agent conversation with appropriate context pre-loaded.
Previously, the account details form required you to fill in every field before you could save. Now only genuinely required fields are marked as such, so you can complete the form with just what's relevant to your account.
The delete user endpoint accepts an optional reassignment parameter. Pass it a user ID and the endpoint deletes the user and queues reassignment of their contacts to the user you specified — one call instead of two.
What to know before using it: - Reassignment runs in the background. A successful response means the delete happened and reassignment is queued, not that reassignment is complete. - If the background process doesn't start, contacts remain owned by the deleted user. - Only contacts are moved. Lists, accounts, and deals are out of scope for this parameter. - Invalid values — non-IDs, negative numbers, the user being deleted, unknown users, and the default contact owner — return a validation error.
Without the reassignment parameter, the endpoint behaves exactly as before.