Release Notes
Latest releases and changes, newest first.
What's New
Latest releases and changes, newest first. Mirrors the What's New card on your dashboard — bookmark this page to keep up with what's landed.
v1.91 — Paid bookings
2026-10-30
- Visitors pay to book, on your own Stripe. A booking page can ask for the full price or a deposit. Connect Stripe under Settings → Integrations → Stripe (paid bookings) with a restricted key; Karmaflow sets up its own webhook in your account, and the money goes straight to you.
- The time is kept while they pay. Choosing a time on a paid page opens Stripe's payment page; the time is held for 30 minutes, and only a payment Stripe confirms books the meeting.
- Never paid for nothing. If a paid time cannot be booked, the payment is refunded in full and the host is told.
- Refunds under your policy. Each paid page says what a visitor gets back if they cancel (full refund up to a day before by default, any time, or none). When a paid meeting is cancelled, the meeting says what is due and why, and you press Refund; or turn on Refund automatically. If your side cancels, the whole payment is due back.
- The payment where you look. A paid meeting's Payment section links to the payment in Stripe; the contact gets a paid invoice; the Meeting paid for trigger lets a workflow act on it.
- An add-on with 30 paid bookings a month included. Ask us to switch on Paid bookings for your workspace.
How it works →
v1.90 — Booking pages
2026-10-30
- A page where people book a time with one of your team. Under CRM → Daily work → Calendar → Booking pages: choose whose calendar it books, the length and the kind of meeting; times are offered only inside their hours and free on their calendar, in the visitor's own time zone.
- One tap, with undo. The visitor taps a time, then has a few seconds to undo (or ask for more time) before the meeting is written. While they decide, nobody else can take that time.
- Personal links. Send a contact a link that skips the form and shows them more days.
- Ask for consent, never assume it. A page can add an unticked box for news, shown to visitors who arrive by their personal link; what they tick is kept as an opt-in record with the words they saw.
- They can move or cancel it themselves. The confirmation and the reminder email carry a link that moves or cancels that meeting, with no account.
- Your brand and your privacy link. The page carries your help portal's logo, colour and font, and cannot be published without your privacy link.
v1.89 — Your privacy link on the help portal
2026-10-30
- Your privacy policy, terms and privacy contact now show under every help portal screen, the sign-in screen included. Set them under Helpdesk Settings → Customer portal → Privacy. Booking pages, when they arrive, will use the same link.
- No policy yet? Draft a notice writes a short one from what Karmaflow.ai knows about your workspace. Read it, edit it, and publish it at /privacy on your portal. Nothing is shown to customers until you publish.
v1.88 — Opt-in records
2026-10-30
- Keep the evidence of a yes. Each contact now holds opt-in records: the channel, whether they said yes, bought from you or asked about you, where it came from, the date, when it lapses and the words they agreed to. See them on the Communication consent card, and record one by hand with Record consent.
- Recorded for you. A ticked opt-in box on a web form (
kf_consent_email, kf_consent_sms) and a meeting someone books while talking to your agents are recorded on their own; an opt-out adds a withdrawal so an older yes cannot count again, and always wins.
- Campaigns can require one. Under Settings → Agents & AI → Autonomous Campaign Defaults, Require an opt-in before a campaign contacts someone holds campaigns to a live opt-in on each channel, at enrolment and on every touch. Off by default: nothing changes until you turn it on. Replies to someone who wrote to you are never held to it.
v1.87 — Meetings with colleagues, and calls keep to your hours
2026-10-30
- Book with colleagues. Ask an agent to find a time "with Maya and Sam": it offers only times when everyone is free, each inside their own hours and time zone, and invites them when it books. Only colleagues who allow the agent to book them can be included; when someone cannot be, the agent says who can.
- When no time suits everyone, the agent says so and offers the host's own soonest times instead.
- Voice calls now keep to your bookable hours. Until this release a voice agent offered any free time on the calendar, unlike chat, text and campaigns. Calls now offer times only inside the bookable hours and each person's own hours, like every other channel, and a caller asking about meetings hears only their own, as in chat.
v1.86 — Meeting reminders, and task reminders that arrive
2026-10-30
- The people you meet get a reminder. A day before (you choose how long), each contact on a meeting is emailed: an opening the AI writes from the meeting and what you know about them, then the time, place and join link, exactly. Replies go to the host. Set it on the Calendar page under Reminders.
- Never at 3 a.m. Reminders go only during your sending hours (08:00–21:00 in your workspace's time zone, changeable); one that would fall outside goes the evening before.
- Not to the wrong people. No reminder to someone who opted out of email, whose address bounced, or who booked less than that time ahead. The meeting lists every reminder, sent or not, with the reason.
- You get the brief. Fifteen minutes before a meeting, the host gets an alert in the app: who it is with, whether it is your first meeting, and what they said in the conversation it was booked from. It opens the meeting.
- Task reminders now arrive. The reminder time on a task now sends its owner a reminder in the app.
- New times after a missed or declined meeting, on their own if you want. Under Reminders, choose what happens when someone declines or misses a meeting: a draft for the host to send (as before), an email that goes on its own (during your sending hours, once per meeting) with the next open times on the host's calendar, or nothing. When it goes on its own, the meeting and the host's bell say so, and replies come to the host.
v1.85 — Your own hours and time zone
2026-10-30
- Set when you can be booked. On the Calendar page, Your hours shows the hours agents and campaigns book you in and lets you set your own, in your own time zone. Until you do, you follow the workspace's bookable hours.
- Inside the business hours. Your hours count where they overlap the workspace's, so nobody is booked when the business is closed. An admin can let people's hours reach past them.
- Your time zone. Say where you are, or take the one your device is set to. Times are worked out in it.
- Admins see everyone's. Under Settings → Timezone & bookable hours, People's own hours lists each person with the hours in force and who set them. An admin decides who sets their own (everyone, chosen people or only admins), sets anyone's hours, and can lock them.
v1.84 — Bookable hours, and offering new times after a missed meeting
2026-10-30
- Agents offer times only inside your bookable hours. Set them under Settings → Timezone & bookable hours (Monday to Friday 09:00–17:00 until you change them). Every agent and campaign, on every channel, offers a time only when it is inside these hours and free on the person's calendar.
- Times in the visitor's own time zone. The hours follow your timezone; the person booking hears or reads each time in theirs, with yours beside it when they differ.
- Before you change a meeting, the context. A meeting on your calendar opens with one line: whether it is your first meeting with this person, whether they missed one before, how often it has moved, and any open deal.
- After a cancel or a no-show, offer new times. The meeting shows the next three open times and opens your Email or Text with the AI's draft ready to write when you ask. You edit and send.
- How it was picked. A meeting an agent booked says which of the times it offered was taken.
- Meeting notes in your local time on the contact's record.
v1.83 — Move, cancel or mark a no-show from the Calendar page
2026-10-30
- Change your own meetings without leaving Karmaflow. Open a meeting on the Calendar page to move it to a new time (it keeps its length) or cancel it. Everyone on the meeting is told, as if you had changed it in Google Calendar or Outlook, and the change is noted on each contact's record.
- Mark a no-show. Once a meeting has started, mark it a no-show: the meeting says so and the contact's record notes the missed meeting.
- Who can. The person whose calendar holds the meeting, when their role can work meetings (members and managers by default), for meetings on a connected Google or Microsoft 365 calendar. A colleague's meetings show only as busy time. An all-day meeting is moved in the calendar itself.
- Workflows can react. A no-show is a new workflow trigger, Meeting missed (no-show), beside Meeting moved and Meeting cancelled or declined.
v1.82 — Chat agents book meetings
2026-10-30
- Offer times and book, in the chat. A chat agent with the calendar tools turned on now checks a connected Google or Microsoft 365 calendar for free times, and books the one the visitor picks. Until now these tools showed in a chat agent's tool list but did nothing.
- Every booking is traced. A meeting booked in a chat is noted on the record of the contact it was booked with and shows on the Calendar page with a link back to the chat.
- Read more: Creating a Chat Agent.
v1.81 — The Calendly integration is retired on 30 November 2026
2026-10-29
- What changes. On 30 November 2026 agents stop checking Calendly and its settings page is removed. Everyone in a workspace sees a notice once, on whichever device they use next.
- What to do. If your workspace uses Calendly, connect a Google or Microsoft 365 calendar: agents offer its free times, book there, and every booking reaches the contact's record. If you do not use Calendly, nothing changes.
- What is coming. Karmaflow.ai's own calendar: every meeting your agents and team book in one place, with changes that reach the contact, reminders and booking pages.
- Read more: Calendly Integration.
v1.80 — A Workiz job page built for the day's work, and booking from any conversation
2026-10-29
- What needs you, on the left. A Workiz job's page now lists the jobs that need a person: today's and the next two days' jobs with no crew (with who is free then; a job already under way with nobody on it stays until someone is), left open after their day, and marked done by crews, to approve. J and K step through them. Handled for you lists what your agents booked or changed in the last 24 hours. The Workiz Jobs page sums it up in one line.
- The week on top. Each day's jobs as small squares (done, to approve, crewed, no crew), done out of total, and what the week is booked for, has collected and still has to collect.
- One row of actions, with keys. Move (M), Remind (R), Crew note (N), Status (S), Assign (A) and Cancel job (X). Remind opens a text with the goal filled in, for an AI draft you edit and send. A Crew note goes at the end of the job's description in Workiz, with your name.
- Book in Workiz, where the customer is. From the Workiz Jobs page, and from a chat, call or SMS conversation, filled in from what the conversation already says; also from an inbound email or a ticket. Times are the ones your agents would offer, and a booking you make is yours, never counted as the agent's.
- Know who hears about a move before you make it. Move says whether the customer is emailed the new time and that the crew sees it in Workiz, and marks the job's own time. Booking opens on the first day with a free time and says when there is no address yet.
- Read more: Workiz Jobs.
v1.79 — Inventory, filled in: seven stores, your books, your carriers
2026-10-27
- Ship part of an order, take a return, change a line. Each line now has its own stock state: ship what is on the shelf, back-order the rest (it is allocated when stock arrives), record a return with a restock or a write-off, and edit an open order's lines. Packing slips, pick lists, order confirmations and purchase orders print or save as PDF, and a purchase order can be emailed to the supplier.
- What stock is worth. Average or FIFO costing, freight and duty spread onto what you received, and cost of goods on every sale; lots with expiry, serial numbers, bundles that count from their parts, assemblies you build, bins, scanned counts and barcode labels. Price lists, volume tiers and tax rates; inventory reports with CSV.
- Seven stores. BigCommerce, Square, Etsy, eBay and Amazon join Shopify and WooCommerce. Shopify connects with a one-click install. Platforms that cannot send changes are read on your schedule, and the store page says so.
- Your books and your carriers. Inventory → Setup → Accounting & shipping posts orders, purchase orders and returns to QuickBooks or Xero when you choose, and never twice. EasyPost or ShipStation quote and buy labels from the Ship form, and delivery updates mark shipments delivered.
- Inside the CRM. A Sales orders card on the contact page, Products on a deal (turn them into an order), estimates that become orders and orders that become invoices, products and orders in search, and Workiz jobs that can take their parts out of stock.
- Read more: Connecting an Online Store · Accounting and Shipping Partners · Inventory in the CRM.
v1.78 — Test a chat agent on localhost
2026-10-27
- Embed security off, for Development agents only. A chat agent whose Environment is Development can turn off its allowed-origins check and its Content-Security-Policy from the editor's Embed tab, so the widget loads on
http://localhost or any test page without listing each one. Changing the agent to Staging or Production turns the checks back on at once, and the editor, the view page and the Agents page all say when it is off.
- The Agents page reads origins correctly. A chat agent with no allowed origins used to read Any origin on the Agents page. It now reads No origins: such an agent loads on no website.
- Read more: Testing on localhost.
v1.77 — The Platform Assistant knows your workspace
2026-10-27
- Your workspace's own tools, built in. The Platform Assistant now reaches the same tools your MCP connector gives Claude: calls, chats, SMS, contacts, deals, tickets, agents, orchestrations, knowledge and analytics. There is nothing to set up, so you no longer add your own MCP address and an API key under MCP Servers. If you added it there before, the assistant now skips that entry and uses the built-in tools. Keep the entry only if one of your agents uses it.
- You choose who reaches what. Admins get every tool. For everyone else, pick Nothing (the default), Read tools only, or Every tool under Settings → Agents & AI → Platform Assistant. These tools work across the whole workspace and don't apply a person's role limits, so the choice is yours. Someone without access who asks is told an admin can open it.
- Changes say who asked. Where a tool records its source, a change made through the assistant reads Karmaflow Assistant (for the person's name*)*, not MCP client. Each tool the assistant runs shows by name in the chat.
v1.76 — Workiz jobs without leaving Karmaflow.ai
2026-10-27
- Workiz Jobs. Where Workiz is connected, CRM → Daily work → Workiz Jobs shows your jobs a week at a time, or as a list, with the conversation that booked each one. Open a job to move it to a time your agents would offer, cancel it with one of your own reasons, or assign a technician. Each change goes straight to Workiz and is recorded with your name.
- The Workiz v2 API, your choice. Paste a Workiz v2 key under Settings → Integrations → Workiz → API version, compare v1 and v2 side by side, and switch. Your v1 connection stays saved, so switching back is one click. Karmaflow.ai reminds you before the key expires and tells you straight away if Workiz refuses it.
- Money collected. On v2 with invoice access, the AI bookings block on Conversation Insights shows how much the agents' jobs have collected.
- Cancelling with a reason. If your Workiz account requires a reason to cancel, agents now pick one of the reasons your own jobs use.
- Read more: Workiz Jobs · Workiz.
v1.75 — What your agents handled, and what each chat is about
2026-10-26
- What the agents did on their own. The sentence under the headline says how many of the conversations that finished were handled without needing a person (11 of 12 finished without needing a person). Anything a person was asked into is left out.
- One meaning of a chat on the page. Today so far counts what the map counts: conversations started today, live ones included. Each tile says how many are live and how many usually came in by now. Channels you have not used in four weeks are left out.
- AI topics on live chats (opt-in). A tenant admin can turn on a short AI-written line saying what each live chat is about, shown until the chat is titled. Only people who may read chats see it.
- A chime, if you want one. Tick Chime under the map for a soft sound when someone starts waiting on a person or something new lands in Needs you.
- Put this on a screen. Wall mode now says what it is for, and a link button copies the address for a TV or a second monitor.
- Read more: Dashboard Overview.
v1.74 — Products & inventory
2026-10-26
- A new Inventory menu. A product catalog with variants, stock per location with a ledger of every change, sales and purchase orders, and a reorder plan that drafts purchase orders from the real sales pace. On by default; switch it off under Settings → Workspace → Modules.
- Shopify and WooCommerce. Connect a store, decide who owns the count, choose a direction for products, stock and orders; webhooks bring changes in within seconds and a scheduled sync catches the rest.
- Agents sell from the same shelf. Fourteen inventory tools for voice, chat, SMS, email and task agents and MCP: search the catalog, check stock, take an order. Every write links back to the conversation.
- AI where it helps. Draft product copy, suggest categories, map an unlabelled spreadsheet, explain the reorder plan, a stock brief — on demand, once a super admin enables Inventory AI Assistance; two import-time automations you can switch on.
- Triggers and alerts. Low stock, out of stock, back in stock, new orders and a failing sync as workflow triggers and notifications.
- Read more: Products & Inventory Overview.
v1.73 — A home tab you can leave open
2026-10-23
- The tab's title tells you. (2) Needs you · Karmaflow.ai while something waits on you, refreshed every minute.
- Since you last looked. Coming back after a few minutes shows what happened meanwhile, and the new moments carry a dot.
- What they want, and for how long. A live chat shows the visitor's last words and last message 3 min ago; a chat waiting on a person shows waiting 6 min.
- The map follows the place. Choosing a place in the In focus card moves the map there, and a map left somewhere with no lights opens on the conversations instead.
- A calmer wall mode. No greeting by name, no controls, no visitor's words.
- Fewer surprises in the CRM. Deleting a selection asks on the page and says how to restore it; a broken contact link says Contact not found instead of a database error.
- Chats are no longer lost. A chat started with the widget's new-conversation button could be removed after fifteen minutes; it now counts as a conversation and is kept.
- Read more: Dashboard Overview.
v1.72 — A home tab you can trust at a glance
2026-10-23
- Conversations mean conversations. A visitor who opens the chat widget
and has not typed yet no longer counts as a live conversation in the
headline, the hero number, the busy-for-this-hour comparison or the map.
They get their own line instead: 2 with the chat open, not written yet.
- What needs you comes first. Latest moments puts conversations waiting
on a person at the top, then live conversations with a known contact, then
anonymous ones and ended ones. A live chat whose agent asked for a person
counts as waiting right away and links to the operator panel.
- Hide a Needs you card. The × hides a card for you alone. It comes
back if it gets worse, or after a day (red) or a week (amber). The band says
how many you hid, with Show and Unhide.
- Mark a security finding as seen. Tenant admins can mark a finding as
seen on Security findings. It stops asking for attention until it gets
more severe; Karmaflow.ai still reviews it. Findings now say what is usual
(usually about 25 at this hour) instead of a z-score.
- What changed, readable. Record changes are grouped — 3 contacts
created · An agent — and open to the records. Who made a change is named
(a teammate, An agent, An API key) instead of Unknown, and each record
links to its page.
- Read more: Dashboard Overview.
v1.71 — From a report to an answer
2026-10-22
- Themes hold still. A theme keeps its name from one grouping to the next,
so new and ↑ / ↓ mean something week to week. New questions that fit no
theme add themes beside the old ones instead of regrouping everything.
- What no theme holds, said plainly. Two rows under the themes: Left out
by your instruction and No theme fits, each with its questions and its
conversations a click away.
- Pin a theme, watch its trend. A pinned theme always shows, with a small
line of its conversations per week or month (3 → 7 → 12). An Alert me
rule can watch a pin.
- One sentence above the tab. 71 questions in 40 conversations · 4 themes ·
1 you don't fully answer: “Caribbean resorts” (4 of 4).
- Act on a theme. Task turns a theme into a task that links back to the
tab; Explain has Karmaflow.ai's own AI write a few paragraphs about a
theme, a card or the whole tab from its figures, with personal data taken out
first. Explain is off until an admin enables AI Explain (analytics).
- Tidier cards. A themes card gives back the rows it does not use; short
codes read as codes (IDP, not Idp); while your question history is being
filled in, the tab says how many conversations are left.
- Read more: Build your own analytics tabs.
v1.70 — What are people asking about?
2026-10-22
- Every question, recorded. When a conversation is analysed, each
question the customer raised is kept as a short general question, answered
or not, with names, numbers and addresses left out.
- Themes, grouped by AI, counted by Karmaflow.ai. A new Themes chart
on your analytics tabs groups those questions into subjects under your own
instruction (as article ideas for our magazine). Every figure on the card
is counted from the conversations, and new and rising themes are marked.
- Readers never spend. The tab's owner groups the questions when they open
the tab, and the platform does it every night; people you share the tab with
read the latest grouping.
- Describe a widget in your own words. Describe it, at the top of the
widget builder, fills in every choice from a sentence or two using your
workspace's own fields and values; you check, adjust and add it.
- Ask Claude about a card. Ask AI on a card's or a tab's menu copies
its figures as a prompt, or opens them in Claude. You see the prompt first;
only counts and shares leave, personal data is taken out, and if that fails
nothing is sent. ChatGPT and Microsoft Copilot are coming soon.
- Redaction for Claude's connector. The connector added in Claude can now
have personal data taken out of its results too (Tenant API Access → MCP
Server → Redaction for the Claude connector (OAuth)); an API key's own
redaction never reached it.
- Read more: Build your own analytics tabs.
v1.69 — Custom voices
2026-10-21
- Your brand's own voice. Settings → Channels → Custom Voices clones
a person on your team, with their recorded consent, on Cartesia or Google
Gemini, or designs a new voice from a sentence ("a warm, calm voice with a
light accent"). Pick it on any standard voice agent under Your voices.
- Verified once, in about a minute. Apply with your business registration
documents and accept the rules; an AI check approves genuine documents on
its own, refuses clear fakes, and hands anything unclear to Karmaflow.ai.
- Callers always know. An agent on a custom voice goes live only when its
opening says it is an AI and that the call may be recorded.
- Visible when it falls back. If a voice cannot be used, the call speaks
a standard voice and the call page says why.
- Calls in a custom voice add $0.06 a minute.
- Read more: Custom Voices.
v1.68 — Build your own analytics tabs
2026-10-19
- Your own tabs on the dashboard. Dashboard → + New tab adds a tab
beside the built-in ones: start from a question (Service quality, Where
conversations come from, Agents side by side, Busy hours) or from
nothing, then Add widget — one sentence (Show me conversations, broken
down by outcome, compared with the previous period) builds a widget, and
only the charts that fit are offered. Drag, resize, share with the team.
- Analytics on every agent's conversations page. A List | Analytics
strip under the header holds the same tabs locked to that one agent.
- New things to split by. Where a chat ended, how long a conversation
took, how many messages each side sent, which tools the agent used, the
visitor's device, their place, whether they are a new or a returning
contact, and how they arrived.
- For connectors.
list_dashboards and run_dashboard read the shared
tabs over MCP, same figures as the screen.
- Read more: Build your own analytics tabs.
v1.67 — Situations on voice calls, read ahead
2026-10-17
- Voice agents now read their situations. A voice agent's sections load
when the call starts, so
read_instructions answers from memory, with no
pause and no filler line. Until now a voice agent wrote every section into
its prompt in full.
- Read ahead in one read. A section can name the sections that usually
follow it. The map shows them, and the agent reads the situation it is in
plus the ones likely to follow, up to four at a time. A fast classifier only
leaves out the ones that do not apply, and never holds a read longer than
400 ms.
- Read more: Situations.
v1.66 — Situations: instructions your agent reads when it needs them
2026-10-14
- Split a long prompt into situations. At Settings (the gear icon) →
Agents & AI → Prompt Components, a component of kind Section is the
instructions for one moment in a conversation — a path, the words people say,
and what the agent does. Sections marked always are written into the prompt;
the rest are listed in a short map and the agent reads one with
read_instructions only when the conversation enters it, so every call and
chat carries the instructions it needs and no more.
- A Situations tab on every voice, chat, SMS and task agent picks the
sections, previews the map the prompt will carry, and sizes the map and each
read. A lint note on a section says when it reads like knowledge that belongs
in the Tenant Brain instead.
- Platform sections. Sections the platform writes for every workspace appear
in the same map, marked platform.
- Read more: Situations.
v1.65 — Modules: switch off what you don't use
2026-10-14
- Choose which parts of Karmaflow.ai your workspace uses.
- Settings (the gear icon) → Workspace → Modules lists the product
areas you can switch, among them voice, SMS, website chat, campaigns, the
sales pipeline, the helpdesk and web analytics.
- Switch one off, and it leaves the menus, search, the dashboard and
Settings for everyone in the workspace.
- Switch it back on, and everything is where you left it. Nothing is
deleted.
- Hidden areas keep working. Their agents keep answering and their
scheduled work still runs. Their pages open by direct link, under a banner
that says the area is hidden. Tools, triggers and saved view columns already
in use stay where they are.
- New workspaces choose at sign-up. Creating an organization now asks which
modules you plan to use, and you can change them at any time.
- Read more: Modules.
v1.64 — After you send: you choose what happens next
2026-10-12
- Only a reply that means to resolve asks "Did this solve it?" Before,
every reply asked — even "can you send a screenshot?". Now Send & resolve
asks, and the ticket solves itself if the customer doesn't answer within the
days set in Helpdesk Settings → CSAT & auto-close. Send & keep open
waits for the customer and nothing closes on its own. A later reply that
keeps the ticket open withdraws the question, and the thread says so.
- An "After you send" line above the send buttons. Choose whether Send &
resolve asks (and after how many days it solves itself, for this reply) or
solves the ticket now. Then choose what the AI does if the customer replies:
Keep replying, Draft for me or I'll take it from here. It starts
from your workspace settings and the ticket's AI on this ticket, so most
replies need no click. Picking draft or take-it on a ticket nobody owns
assigns it to you.
- The AI asks only when it answers. A holding reply or a question for the
customer keeps the ticket open. The helpdesk agent already knew which is
which; your SMS agents, the portal assistant, task agents and the MCP
connector now say so reply by reply. Replies from chat and phone agents
keep the ticket open for now.
- The AI learns from the customer's reply. When an answer the AI sent on
earned autonomy is followed by a reply it reads as "that didn't work", it
counts against the AI, as I still need help always has. Follow-up
questions and thanks don't count, and the thread quotes the customer's
words each time.
- A new mode when a person owns a ticket: Stay quiet. In Helpdesk
Settings → AI governance → When a person owns the ticket, and in AI on
this ticket: the AI takes no customer-facing action while the owner
handles it. It still triages, and the thread says each time it stood back.
v1.63 — The bell, in every workspace you belong to
2026-10-12
- Your bell shows your alerts in whichever workspace you are in. If you
belong to more than one workspace, the bell used to show in-app alerts only
for the first one you joined; in the others it read All caught up even
while alerts arrived by email. It now lists, counts and clears the alerts of
the workspace you are looking at.
- Each row says what it is about. A row leads with its title — New ticket
#16 has no one assigned — then what happened. The Unread tab lists only
unread rows, Mark All as Read works, and the count on the bell drops as
you mark rows read.
- Staff notifications answers where you clicked. Saving a setting, adding
an address or sending a sample shows its confirmation in that alert's row,
not at the top of the section. A sample says when your quiet hours or a
summary setting are holding its email, and two people with the same name
are told apart by their address.
v1.62 — Fixes from testing replies by text
2026-10-12
- A customer's answer keeps the ticket open. When a customer replied to a ticket that was waiting on them, it moved to Open, and the AI helpdesk agent could then set it straight back to Pending customer, even though nobody had asked the customer anything. The AI no longer sets Pending customer (or New) by itself: a ticket waits on the customer only after a reply actually goes to them.
- Who is handling it, by name. SMS agent paused — … is handling it by text, the SMS agent paused card and Handed back to the SMS agent by … now show the person's name, with their sign-in email beside it in small type.
- One number format. Texted to … under a reply always shows the number in international form (+1 and the number), the same number the text went to, however the phone was typed on the contact.
v1.61 — Reply to a ticket by text
2026-10-11
- Text from the ticket. The composer's Goes to chips are now toggles:
tick Text to send the reply as a text from your helpdesk SMS agent's
number, alongside the portal and email. Untick Email to skip the email
for one reply. Helpdesk Settings → Replying by text sets which start
ticked.
- Never past an opt-out. A customer who texted STOP or is marked do not
contact can't be texted; the Text chip is struck through and says why.
- Quiet hours, your way. Inside quiet hours the composer warns you, holds
the text until morning, or doesn't check — your choice in settings.
- The SMS agent steps back. Your first text pauses the SMS agent for that
customer while the ticket is open, and their texts land on the ticket.
Hand back to the SMS agent ends it early.
- Every text on the record. Under each reply, the thread says whether it
was texted, held for quiet hours, or why it wasn't. In the SMS conversation
and on the contact's SMS panel, the text links back to its ticket.
v1.60 — A composer that shows where a reply goes
2026-10-11
- Goes to, before you send. Above the reply box, chips show where the
reply will land: Portal always, Email unless the customer chose
portal-only updates or has no address on file. A chip that won't go is
struck through, and hovering it says why.
- One line per thing to know. A bounced address, no email on file, a
customer who chose the portal, or a ticket that came in by text each get a
line in the composer saying what happens and what to do. Cc turns off
while nothing is emailed.
- Keyboard shortcuts. ⌘↵ (or Ctrl+Enter) sends; ⌘⇧↵ (or
Ctrl+Shift+Enter) sends and resolves. The tab is now called Reply.
- Reach in the rail. The ticket's Customer section shows how the
customer can be reached by email, text, phone and the portal, and why not
when one is blocked.
- Held AI drafts say where they'd go. A draft waiting for the owner or an
approver shows the same route line.
v1.59 — See everything the AI did on a ticket
2026-10-11
- AI activity on every ticket. A new card at the top of the ticket's
right column lists what the AI proposed, held or did, newest first. Each
item says where it stands: Needs approval, Held for the owner,
Did on its own, Approved by …, Done through MCP or Didn't go
through. It also says why the AI was allowed to act and who was told.
- Approve field changes from the ticket. A held status, priority, team
or assignee change has Approve and Decline right on the card. Held
replies keep their draft card in the conversation; Review takes you
there.
- AI lines in the thread. What the AI did shows as a one-line violet
entry with its basis and a Why link, so you can tell conversation from
machinery without a legend.
- Coming next: Undo for the AI's field changes, and Mark as wrong
for a reply it sent.
v1.58 — Customers choose how they hear about a ticket
2026-10-11
- Email or the portal, per ticket. The portal's new-ticket form asks
How should we tell you about replies?: Email me or Only here in
the portal. The customer can change it from the ticket page, and your
team can change it from the ticket. Each change is written on the thread.
- Every customer email follows it. That covers the confirmation, replies
and Cc, the resolved notice, the satisfaction link and email journeys. A
reply that isn't emailed because of this choice says so in grey on the
thread.
- The composer tells you first. The line under Public reply now says
where your reply will go before you send it.
- Marketing opt-outs don't block ticket email. An email opt-out in the
CRM is about marketing. Do not contact and a texting opt-out still stop
texts, calls, journeys and campaigns.
v1.57 — Every AI action on a ticket is on the record
2026-10-11
- Nothing the AI does goes unrecorded. Actions your AI policy allows
outright (a note, a priority or status change, a reassignment, a task) used
to run without a record of their own. Each one is now recorded with what it
changed, which is what the ticket's AI activity and Undo will build on.
- Voice calls tell the owner too. When a voice agent is cleared to answer
a customer on a call about a ticket a person owns, the owner gets an alert:
The AI said this on a call about ticket #12.
- Approvals through the MCP connector count. Approving or rejecting a
queued action with
approve_queued_action / reject_queued_action now
counts toward earned autonomy, the same as a decision in AI Approvals.
v1.56 — The AI keeps the ticket's owner in the loop
2026-10-11
- The owner is told. On a ticket assigned to a person, the AI keeps
working as before, and the owner gets an alert each time it replies, asks
the customer something, solves the ticket or sends a follow-up.
- Choose how much room the AI has. In Helpdesk Settings → AI
governance, When a person owns the ticket sets a mode per action:
Act, and tell the owner (the default, so nothing changes until you
choose), Hold for the grace period (it goes out on its own unless the
owner steps in) or Wait for the owner.
- Held drafts live on the ticket. The owner sees the draft below the
conversation with Send now, Edit and Dismiss, and a countdown
for a grace period. A held draft is cancelled if the customer writes again
or a person replies first, so it never goes out stale. A reply waiting in
AI Approvals is cancelled too when the customer writes again.
- One ticket can differ. AI on this ticket in the properties rail
overrides the workspace setting, and the change is written on the thread.
v1.55 — A queue that answers "what needs me now"
2026-10-11
- Views with counts. The ticket queue has a rail of views on the left
(chips on a phone), each with a live count: All open, Needs reply,
Mine, Unassigned, Awaiting approval, AI is handling,
Overdue promises and Done. The queue opens on All open; solved
and closed work sits behind Done, and Mine no longer lists closed
tickets. Needs reply is the tickets where the customer is waiting.
- Rows you can read at a glance. A channel icon beside the requester,
priority as signal bars (one for Low to four for Urgent), a thin SLA
progress bar under the SLA chip, and the assignee as an avatar — a spark
for an AI agent, a dashed ring for nobody.
- Keyboard. J / K move down and up the rows, Enter opens,
Escape clears.
v1.53 — Who was told, on the ticket
2026-10-10
- Every ticket alert that matters leaves a line on the ticket. A ticket
waiting with no one assigned, an assignment, an escalation, a ticket still
unassigned, a missed SLA target and an overdue promise each add a line to
the ticket's conversation, saying who the alert actually reached and how:
Escalation alert · alerted 3 on the team (in app, by email). Bulk
changes from the ticket queue send one alert and still write the line on
every ticket.
- Nobody could hear? It shows. When nobody in an alert's audience can see
tickets, or the alert failed to send, the line is amber, and helpdesk
admins get an Open Staff notifications link straight to the fix. A
person who turned an alert off for themselves is shown, not flagged.
- Also send to, counted apart. Addresses under Also send to show as
copied to 1 address, so "by email" always means a person got it.
- Moving many tickets to a team now tells that team once, listing the
tickets.
v1.52 — Escalations, customer replies and tickets nobody picked up
2026-10-10
- An escalation now reaches a person. When the AI agent escalates a
ticket because it needs a human, whoever answers for the ticket is
alerted — in the bell and by email — with the AI's reason. Before this,
the escalation changed the ticket's status and told nobody. Escalate a
ticket you own and your team hears.
- A customer replied on your ticket — in your bell, so you know the
customer is waiting. Turn on email if you work from your inbox.
- One of your tickets was reopened — when a solved ticket comes back.
- Still unassigned. A ticket waiting with no owner for more than 5
minutes alerts the team's lead, else the helpdesk admins. Time spent
waiting on the customer does not count. Change the minutes, or turn it
off, in Helpdesk Settings → Staff notifications.
- The AI gets its first look. When your helpdesk agent works new
tickets, the "no one assigned" alert waits up to two minutes for it. A
ticket the AI solved, or answered and is waiting on the customer, alerts
nobody — and the ticket's conversation says so.
- Moved to a team with nobody on it? The team hears, as it would for a
new ticket. The alert is now called A ticket is waiting with no one
assigned.
- Bulk changes stay quiet. Escalating or reopening many tickets at once
sends one alert per owner or team, not one per ticket.
v1.51 — Ticket alerts, set up where the helpdesk is
2026-10-10
- Staff notifications in Helpdesk Settings. A new section on
Helpdesk → Setup → Helpdesk Settings lists every ticket alert with who
it goes to, the workspace default for the bell and email, how many people
it reaches and how, an Also send to address list and Send me a
sample. Whoever can manage Helpdesk Settings can change these defaults
for ticket alerts — no workspace-wide settings access needed.
- See who your teams' alerts actually reach. The section and the
Teams page show, per team, how many people can receive ticket alerts,
and flag a team where nobody can see tickets — its alerts go to the
helpdesk admins instead.
- Tickets with no team shows who receives them right now, by name.
v1.50 — Ticket alerts that reach the right people
2026-10-10
- Missed SLA targets now alert someone. When a ticket misses its
first-response, reply or resolution deadline, whoever owns it hears — in
the bell and by email straight away. With no owner, its team does, and
with no team, the helpdesk admins. The ticket's conversation records the
miss and who was alerted. The A ticket is breaching its SLA row on
Notification Preferences (now A ticket missed its SLA target) has
always defaulted to email; until this release nothing sent it.
- A warning before the deadline. New A ticket is close to missing
its SLA alert, in the bell by default, at your SLA policy's at-risk
point.
- Assignment email works. Turning on email for A ticket is assigned
to you now sends one. The alert says who assigned it, or that your
team's round-robin did, and is no longer sent when you assign a ticket to
yourself or when only the team changes.
- The bell is a choice. Every row on Notification Preferences has
an In app checkbox beside the email setting, so Any new ticket
arrives can finally reach the bell.
- Easier to find. Notification Preferences is linked from Account
Settings and from the Preferences button on the Notifications page,
for everyone, not only tenant admins.
- New tickets with no team go to the helpdesk admins — the people who
can manage Helpdesk Settings — instead of everyone who can see tickets.
- Clearer alerts. Every ticket alert names the ticket, the customer,
the channel, the priority and the team, and says why you are getting it.
v1.49 — Chats on the map while they are still open
2026-10-09
- Open chats can be placed. A chat used to get its place on the Now
map only once it ended and was summarised, so every open chat counted as
Unplaced. The map now looks up the visitor's connection at city level
while the chat is happening — the same lookup the chat's sidebar shows —
and draws it at the city, or at the region or country when that is all
the lookup knows. A chat whose visitor's connection cannot be looked up
(none was recorded, or it is a private network) still counts as
Unplaced. The address itself is never kept on the map.
- Agent runs sit with their conversation. An agent run that happened
inside a chat or call is drawn where that conversation is — even when the
chat ended before the run — and its card says so, with a link to the
conversation. A run started for a contact is placed where that contact is
known to be.
- Fixed: most website chats could not be placed. The visitor's
connection was recorded with the network's relay addresses attached, and
the lookup read none of it, so those chats stayed Unplaced and the chat
sidebar showed no place. The lookup now reads the visitor's own address
from it — for chats already recorded too.
- Unplaced explains itself. Click or tap Unplaced beside the legend
for what is not on the map and why, in words — for example, emails are
placed only where the contact is known to be.
v1.48 — Weather where you can find it, a quieter map, and the night side
2026-10-09
- Weather for the place in focus. The weather card now describes the
place in In focus at any altitude, planet view included, and says
which place it is. With Everywhere in focus it follows the camera once
you zoom in.
- Switched-off overlays are shown, not hidden. Beneath the map, an
overlay your workspace has not turned on reads greyed as off and links
to Settings → Workspace → Map Layers & Places → Overlays, where a
tenant admin switches it on.
- A quieter, cooler map. The base map is now OpenFreeMap's Positron
— pale grey land, soft water, no shops, railways, airports or highway
shields; buildings and street names appear only when you are close — with
a soft atmosphere around the globe at the planet view. Dark mode keeps
its dark map.
- Fixed: the night side never appeared. Two bugs: the shading was
computed for the wrong side of the planet, and it waited for the map to
stop animating, which a live dashboard never does. Turn on Daylight
and the night side shows, with a twilight band along the dusk line. The
same waiting bug could also keep your own area layers (service areas)
from drawing; fixed with it.
- Fixed: the In focus menu's first option always reads
Everywhere (it showed a city's name twice when all conversations sat in
one city).
v1.47 — The Now tab in the Atlas shape
2026-10-09
- One headline, one number. The Now tab now opens like the design it
was drawn from: a headline that names where the hour is happening
("Colorado, in conversation."), the count of conversations beside it,
and one slim Colour by row — Outcome, Channel, Sentiment, the rest
under More… — with the legend on the same line.
- The stage. The globe fills the frame and turns to face your
conversations, pale at the planet and full colour in the streets, with
your busiest cities named and your pinned places ringed and labelled.
World and your places are pills under the globe; − / + is the
only other control on it.
- In focus. A card over the stage about one place at a time — your
first pinned place or the busiest city of the hour — with its count, a
five-minute sparkline, a bar split by the chosen colour, the latest
moments there, what is coming up, and Explore … to fly in. Selecting a
light reads that record in the same card.
- Everything else moved beneath the stage in one quiet row: overlay and
layer ticks (freshness in the tooltip), the slider across the hour,
Yesterday, Wall mode and the live clock. The weather tile appears
in the stage's corner when the overlay is on.
- Each tenant's own landing. The stage opens where your conversations
are: on a pinned place, else at the altitude of the hour's footprint (city,
region, country, or the planet turned to face you), one step closer for
street-precision workspaces with pins near home. Where you leave the camera
is where it reopens for the rest of your visit. The headline's place word
now ignores one stray row in ten, so a single out-of-state call no longer
flips "Colorado" to "The United States".
- Dark mode gets a dark map, with the light style as the fallback if the
dark one cannot load; and the stage, pills and card lay out for phones.
- Fixed: the map could render into a collapsed frame when the map
library's stylesheet loaded after the page's; the frame is now pinned.
- Fixed: in a browser with graphics acceleration switched off, the map
could not start and took the whole dashboard down with it. Now only the map
steps aside, with a note on how to turn acceleration back on; everything
else on the tab keeps working. The hero number now counts the same
conversations as the sentence beside it (chats, calls and texts; sends and
agent runs are shown beside it), and the opening view frames the place the
headline names instead of drifting toward a stray row.
v1.46 — Yesterday in sixty seconds, wall mode, and asking the person where they are
2026-10-09
- Yesterday in sixty seconds. A Yesterday button on the Now tab
replays the previous day on the map in about a minute, with a sentence
written for each hour of the day and quiet stretches folded. Pause, drag,
restart, or come back to now.
- Wall mode. One click turns the Now tab into a full-screen board that
cycles your pinned places every twenty seconds, with the latest moments
running under the map — the dispatcher's screen and the lobby display are
the same page (
?wall=1).
- Save caller location. A new agent tool records a place the person
states in a conversation on the conversation and on their contact ("stated
in conversation"), at the precision their words allow. Enable it per agent.
- Identity Reveal fills in the map. Accepting a suggestion now runs the
location ladder once for the contact from the linked conversations' own
localities, so "Likely in …" appears the moment the link is made.
- The Demo workspace carries synthetic coordinates for its fictional
Front Range customers, so recordings can show street-level pins without a
real person on screen.
v1.45 — Your own data on the Now Map: layers, places and free context
2026-10-09
- Layers. A tenant admin can put the workspace's own data on the Now Map
beside the conversations, in five shapes: moving points with a trail
(drivers, trucks), fixed points coloured by state (sites, sensors, jobs),
areas (service areas, territories), a value at a place over time (queue
depth, a reading — a colour ramp and a sparkline), and links between two
places (order → warehouse, request → unit). Sources: a file upload (CSV,
JSON, GeoJSON, KML/KMZ) through a column-mapping wizard that pre-fills its
guess, a URL fetched on a schedule, one of your trigger webhook endpoints
as a live stream, your Workiz jobs, or your located contacts. A feed that
stops shows its age on the legend ("trucks · 41 min old · stale") so it
never masquerades as live.
- Uploads improve the core map. Rows with an email or phone are matched
to your contacts through the same resolver as every inbound text and call,
and place those contacts on the location ladder ("Likely in …", source:
your upload). The inspector says which layer placed them.
- Meaning. Tag a layer as a fleet, a service area, a site or fulfilment
and the map reasons with it: select any light and the inspector names the
nearest available unit and its distance (with a driving ETA where Google
Maps is configured, drawn on the map data budget), whether the spot falls
inside a service area or outside every one, and the nearest site.
- Places. Pin the places you want one click away — by address or
coordinates — or accept the suggestions drawn from where your conversations
and contacts come from. They appear in the map's Go to… menu. Places are
bookmarks, never a boundary: every workspace keeps the whole planet.
- Free context, switched off until you say so: weather and air quality at
the place you are looking at (Open-Meteo), the night side of the planet
computed from the clock (it moves with the slider), and today's and the
week's public holidays for your country (Nager.Date). A tenant admin turns
each on under Settings → Workspace → Map Layers & Places; every viewer
then chooses what they show from the map's Layers menu. None of it
touches the map data budget. Read Map Layers &
Places.
v1.44 — The dashboard opens on Now: the hour around this moment, on a map
2026-10-09
- A new first tab on the dashboard, Now. The last thirty minutes of
conversations, calls, texts, emails, forms and agent runs drawn where they
happened, and the next thirty minutes of what is scheduled — workflows due,
campaign sends queued, send-later messages, tasks due, SLA deadlines, held
AI actions, the dial queue, field jobs starting. One sentence at the top
written from the counts, and whether this hour is quiet or busy against
your own weekday-and-hour norm. Colour by outcome, status, channel,
sentiment, agent or campaign; a counted legend with an always-visible
Unlocated figure; a slider across the hour; every light opens its record.
- Every light is only as precise as we truly know. City-level facts are
soft discs the size of the city; exact pins and street zoom appear only
after a tenant admin opts in under Settings → Access & security →
Location & Map Precision, accepts the acknowledgement, and chooses who
sees them. Unconfigured means city scale for everyone.
- Street precision, once opted in, goes all the way down. Viewers the
policy covers can zoom to street level, every exact location is a pin, and
a selected light offers Explore this spot at street level. City-scale
viewers in the same workspace keep the city discs — the server never sends
them a point.
- Live traffic, scoped and budgeted. With street-scoped context
turned on in the same settings row, a Traffic button on the Now tab
draws live road flow around the places you are looking at. It counts
against a new Map data budget on the Billing page — $2.00 a month by
default, paced as a daily share with carry-forward, set by anyone with
billing:manage. When a day's share or the month's cap is spent the map
says so in words and resumes on its own. Read Spend
Limits.
- Five personal bands below the map: Needs you, Your places, Pick up
where you left off, Today so far, What changed. The date-ranged analytics
moved to the tabs beside Now, unchanged.
- Contacts learn where they probably are. A caller's registered city,
a texter's area code, a chat visitor's connection and a location shared in
a conversation now land on the contact as a "Likely in …" line beside the
address you typed — never overwriting it — with a Confirm action, and
territory filters include these contacts. Read Dashboard
Overview and Location & Map
Precision.
v1.43 — Tenant Brain settings on every agent form
2026-10-09
- A Tenant Brain block on the Tools tab of every agent type (voice, chat,
SMS, mail, task, document), under the tools list. It sets, per agent,
whether the brain's map rides in the instructions, lean or full map lines,
the map's budget, one read's budget, how many entries a lookup returns, and
whether a lookup that names no path gets the advisor's pick served or the
shortlist returned. Each value shows its platform default until you set one,
and a Recommended for … line applies the channel's suggestion in one
click: a voice agent wants a smaller map and shorter reads than a task
agent. Read Brain settings for this agent.
v1.42 — The booking funnel is the first thing on Conversation Insights
2026-10-07
- "From conversation to booked job" now opens the tab on a workspace
with Workiz connected: a full-width block with a computed headline (1 in
10 conversations became a booked job.), one stream whose band thins at
each step while the lost share drips away, the drop that matters most
coloured, the gaps between steps as labels, the Where it leaks reasons
as bars, and Booked value in the header. Light and dark; on a phone the
stream turns vertical.
- Every number is still a click. Steps, the drops between them and each
reason list their conversations. A step and the list it opens now always
agree: the Got a price bar used to count more than its list showed.
- "+N assisted" says what it is, and what it is worth: jobs the office
booked within 14 days of an AI conversation, beside the Got a job step
with the Workiz value of those jobs under the count — a different record,
never inside the job count or Booked value.
Read it in Counting the jobs your agents book in Workiz.
v1.41 — Conversation Insights counts every channel, and your team
2026-10-07
- Every card on Conversation Insights now counts web chat, SMS, calls and
email. Until now the tab read web chat only; the other channels were
analyzed the same way and never counted. Figures for earlier dates changed
too, for the same reason. A line above the cards says what the range holds
(N conversations · chat · SMS · calls · email), and a filter row narrows
every card by channel. Read
Reading Conversation Insights.
- Who handled it. The same filter row separates conversations your AI
agents handled alone from the ones a person on your team stepped into — a
call dialed from a contact's page, a text sent inside a thread, an email
sent from the CRM — written from the record, never from the agent's words.
Email threads a person or a task agent wrote are now analyzed too.
- Drill-downs open the right page. The list behind a card shows each
conversation's channel and opens a text thread, a call or an email thread
on its own page.
- Back-fill covers every channel. Analytics & Insights → Processes →
Back-fill recent history now estimates and queues chats, texts, calls and
emails. A platform administrator can also run Insights: stamp who handled
each conversation under the migrations console to mark history.
- The booking funnel absorbs SMS and call bookings into its bars instead
of a footnote.
v1.40 — Bookings counted from Workiz, not from the transcript
2026-10-07
- "From conversation to booked job" on the dashboard. A new funnel
under From your integrations on Conversation Insights: conversations
→ got a price → asked to book → got a job → done, with the job step
counted from Workiz rather than the transcript, one computed sentence
naming the step that leaks and why, and a flag for conversations the
analysis called booked with no job behind them. Read it in
Counting the jobs your agents book in Workiz.
- A booking the tool made is now a fact on the conversation. Chat,
SMS and call detail pages show Booked in Workiz with a link to the job;
the analysis writes booked · verified from that record instead of
deciding from the transcript, and flags a booking the AI reported with no
job behind it as unverified. Lists carry a Job booked chip.
- One Workiz setting: a currency for Workiz amounts, so the funnel and
the Google Ads Lifecycle page can show booked value.
- Fixes to the Insights cards. The Booking pack's rate by service read
0% on every workspace; process-pack stat tiles now divide by the
conversations the pack evaluated; the Resolved tile's hint says it
includes likely-resolved conversations; and agent-booked jobs now count
on the Google Ads Lifecycle page, with an Origin column. A new
Reading Conversation Insights
explains what each card divides by.
v1.39 — Log all your company email in the CRM; form endpoints documented
2026-10-03
- A guide to copying every email into the CRM. One Google Workspace
routing rule or one Microsoft 365 mail flow rule sends a copy of every
message your team sends and receives to your workspace's ingest address;
each lands on the right contact as received or sent. The new
Logging All Your Company Email in the CRM walks
through both consoles, what the CRM does with each kind of message, and
what it does not capture.
- Newsletters, auto-replies and bounces no longer become leads. A
message that declares itself automated, or that comes from a no-reply,
mailer-daemon, postmaster or bounce address, attaches to an existing
contact but never creates one. It is listed on the Email Sending page
under Messages that didn't reach anyone as Automated mail — no
contact created, with the message linked. Stored messages now carry the
sender's own date instead of the time the copy arrived.
- Form endpoints, as they really are. The Forms docs now describe the
feature in the product — a secure address and API key your own website
form posts to, with field mapping, allowed origins, a rate limit,
reCAPTCHA v3 and AI spam scoring — in a rewritten
Forms Overview and a new step-by-step,
Connecting a Website Form.
- A form's workflow runs for that form only. An orchestration built on
Form Endpoint Submission with a form selected used to run for every
form endpoint's submissions. Copy URL on the Form Endpoints list now
copies the working address, and a deactivated form stays in the list so
it can be turned back on.
v1.38 — Voice agents handle forwarded calls; sharper tools
2026-10-02
- Forwarded calls no longer pollute your contacts. When a call is
forwarded to a Karmaflow number from one of your own lines, the caller ID
is often your line, not the caller. On Settings (the gear icon) →
Channels → Phone Numbers, edit the number, turn on Also receives
forwarded calls and list the lines under Forwarded from. Calls from
those lines make the agent ask which number to text instead of using the
caller ID; every other call is treated as direct. The call's page says how
the caller ID was treated on its From row. (Updated 2026-10-03: the
lines moved from a page-wide field onto each number.)
- Voice tools explain themselves better. Every tool a voice agent carries
now describes each of its inputs to the model: phone numbers with the
country code, the recipient's name on emails, a pre-set topic on texts, and
more. Fewer failed texts and emails, fewer "could you repeat your number"
loops.
- Document search on calls is tuned for speech. The agent's document
search returns the six best passages instead of ten, rewrites the question
for retrieval, and gives up on a slow answer instead of leaving the caller
waiting.
- The older document search is retired from the picker. New voice agents
pick Search uploaded documents; agents already using the old search
keep working.
v1.37 — GPT-6 Luna for voice agents; older models retired
2026-10-01
- Voice agents can run on GPT-6 Luna. The AI Model picker on voice
agents now offers GPT-6 Luna alongside Gemini 3.8 Flash (still the
default) and Gemini 3.7 Flash. A voice agent on GPT-6 Luna uses its
Reasoning Effort setting; GPT-6 has no Minimal level, so Minimal
runs at Low.
- Gemini 3 Flash and Gemini 3.5 Flash are retired. They are gone from
every model picker. Agents that used them move to Gemini 3.8 Flash.
- GPT-5.6 Luna and GPT-5.1 are retired. Agents that used them move to
GPT-6 Luna. Each moved agent keeps its effort and verbosity settings.
- Platform features on GPT-6 Luna run at a set effort. Summaries,
classifiers and extraction run at low effort. Agent test grading and the
Platform Assistant run at medium.
v1.36 — Clean links in agent texts
2026-09-27
- Agent texts no longer show markdown. When an SMS agent cited a web
page, the text arrived with the link written out as markdown, like
([site.com](https://site.com/page?utm_source=openai)). Phones print that
literally. Agent-written texts now carry a plain link instead, with every
utm_ tracking tag removed, and the same link is not repeated twice in
one message. Other link parameters are kept as they are. Bold markers, headings and code marks are flattened too.
The conversation shows exactly what the contact received.
- Texts you write go out as written. Messages you send yourself, static
SMS campaigns and a campaign's static opener are never changed.
- Web search shows its sources. Each web search in an SMS conversation
now lists the pages it drew on, where it used to show zero sources.
v1.35 — SMS agents can search, email and text
2026-09-27
- Send email and send SMS work on SMS agents. An SMS agent with
send-email ticked can now email a recap, a quote or a colleague
mid-conversation from the agent's configured From address and signature;
with send-sms it can text another number. Both were offered before and
did nothing on SMS. Every send shows in Sent Emails / Sent SMS with
a link back to the text conversation it came from.
- Web search works on SMS. An SMS agent with web_search in its tools
now searches the web for current information mid-conversation, scoped by
your workspace's search policy where one is set. The conversation shows
each search and what it found. Before this release the checkbox had no
effect on SMS and the agent would say it could not browse.
- Knowledge search on SMS. retrieval_search now runs on SMS too,
searching the agent's vector stores (uploaded documents) with query
rewriting and grounded answers, the same search chat and task agents use.
Agents that had the older file-search option ticked get
retrieval_search automatically; file-search and vector-search are no
longer offered on SMS agents.
v1.34 — GPT-6 Luna for chat, SMS, email and task agents
2026-09-27
- GPT-6 Luna is available. OpenAI's GPT-6 Luna (
gpt-6-luna, released
22 September) can be picked as the AI Model on chat, SMS, task and
document agents and on email strategies — half the input price and under
half the output price of GPT-5.6 Luna, with a May 2026 knowledge cutoff
and the same 1M-token window. Existing agents keep the model they have.
- The reasoning dropdown follows the model. Reasoning Effort now
offers only the levels the chosen model accepts: GPT-6 adds XHigh and
Max and drops Minimal; Gemini 3.8 Flash has no Minimal. Change
the model and an effort the new model cannot take is moved to the nearest
one it can, and the form says so.
- Platform features moved to GPT-6 Luna. Conversation summaries and
titles, the orchestration AI Router node default, email composition
defaults, CRM enrichment and extraction, helpdesk triage and insights, and
the Tenant Brain's authoring tasks now run on GPT-6 Luna.
- SMS agents pick from OpenAI models only. The SMS picker now offers
GPT-6 Luna (the default for new SMS agents), GPT-5.6 Luna and GPT-5.4
Mini. An existing SMS agent on a Gemini model shows it as (legacy) with
a warning; pick one of the three to keep it running.
- Retiring OpenAI models are no longer offered. OpenAI is shutting down
o3-mini and GPT-4.1 Nano (23 October 2026) and the GPT-5, GPT-5 Mini and
GPT-5 Nano snapshots (11 December 2026); they are gone from every model
picker, including the orchestration AI Router node.
Agents still on one keep working until the shutdown date and show the
model as (legacy) — move them to GPT-6 Luna before then.
- Voice agents stay on their current models for now; GPT-6 on voice is
scheduled separately.
v1.33 — Wait for consent and retention in Web Analytics
2026-09-27
- Wait for consent, per site. A new Configure → Settings page on
every Web Analytics site holds a Wait for consent switch, off until
you turn it on. With it on, the tracker sets no cookie and records
nothing until your cookie banner calls
karma('consent', { analytics: true }), then records the page the
visitor is on. See
Privacy, Consent & Retention.
- Declined means gone. A visitor who declines analytics is no longer
recorded on any site, and the tracker deletes its own cookie and stored
ids; declining marketing keeps ad-click ids out.
- Allowed origins you can edit. The same page edits a site's allowed
origins and warns when
www. and the bare domain are not both listed,
the most common reason events are rejected.
- Web analytics retention you can set. Events are kept indefinitely
until a tenant admin sets a window — account-wide on Transcript
Retention → Web analytics events, or per site on the site's Settings
page — and turns Remove automatically on with a typed confirmation.
Preview these settings counts what a window would remove before
anything is saved. See
Privacy, Consent & Retention.
v1.32 — Google Analytics 4, conversation outcomes and Google Ads conversions
2026-09-25
- Send what happens after the click to GA4. Connect a GA4 web data
stream with a Measurement ID and API secret; calls, texts, deals,
tickets, form leads and booked meetings go to your property as events,
joined to the visitor's original session through the client id captured
by the chat widget, the tracker and your forms. Verification is honest:
one live test event you confirm in Realtime. See
Google Analytics 4 & Google Ads Conversions.
- Conversation outcomes as events and as a trigger. When a chat, call,
text or email finishes processing, its outcome type becomes a
conversation_outcome event (and generate_lead for the outcomes you
list), and a new Conversation analyzed (outcome known) trigger lets
workflows act on it. See
Conversation outcomes and custom GA4 events.
- Filters on event triggers. Every event trigger in the builder now
shows Only fire when… with a text box per filter; a comma list means
any of, matching ignores case.
- Send GA4 Event and Upload Google Ads Conversion steps in the builder,
with click-to-copy
{{field}} chips for the workflow's trigger. Offline
conversion upload ships switched off platform-wide until Google approves
the change to Karmaflow.ai's API application; the settings card says so. See
Offline conversions to Google Ads.
- Consent Mode v2 on every GA4 event, from the contact's Do Not Contact
state, with a toggle for workspaces whose consent records live elsewhere.
- New workflows save paused. A workflow goes live when you press
Enable, not when you first save it.
- Approval before any data goes to Google. A Karmaflow.ai admin now
approves each workspace before its events reach GA4 or its conversions are
uploaded to Google Ads, and the same approval will cover the audience
features as they ship. Request it at the top of the Google Analytics 4
page; workspaces already sending to GA4 were approved automatically. See
Connect Google Analytics 4.
- Audience recipes for GA4. The Google Analytics 4 page now lists six
audiences you can build from the events Karmaflow.ai sends: people who talked
to you and did not convert, existing customers, open pipeline, unhappy
conversations, low satisfaction scores and support-only contacts. Each
recipe uses the event names on your map, says when an event it needs is
off, and copies its GA4 steps in one click. See
Build GA4 audiences from your conversations.
- What people search vs what they say. The Google Ads lifecycle page now
compares your paid search terms (and Google's search themes, when
available) with the topics and unanswered questions from your conversations
in the same window, in three columns: searched and said, searched but never
said (negative-keyword candidates), said but never searched (keyword and
ad-copy angles), with suggestions as sentences that carry their evidence.
Report only; nothing is applied to your account. See
Google Ads lifecycle.
- What people said, by ad. The Google Ads lifecycle page gains a table of
the conversations each campaign, ad group or keyword produced: outcomes,
objections and how many were resolved, top intents, drop-off reasons,
sentiment, the questions the agent could not answer, and the pipeline value
of those contacts. Insight cards can group by
session.ad_campaign,
session.ad_group, session.ad_keyword and session.ad_channel. Lead-form
submissions now count as resolved clicks with no extra Google calls. See
Google Ads lifecycle.
- Which ad did this contact click? Google Ads clicks captured by the chat
widget, forms and the tracker are matched nightly to their campaign, ad
group, keyword and ad headline, shown on the contact as an Ad source
card and counted on the Google Ads lifecycle page as Clicks resolved. See
Google Ads lifecycle.
- A value for every outcome, and a tracker health line. On the GA4 event
map, each row's params now take value by rule (when outcome_type =
booked → 250), so booked and qualified leads reach Google Ads with a value
Smart Bidding can bid to, not only closed-won deals. The deliveries section
adds a Last 7 days line with the share of events that had no web
identity, the one number that shows whether the tracker is installed. See
Set up Google Analytics 4.
v1.31 — Agents can read the photos customers text
2026-09-24
- A texted photo now reaches the agent. Pictures and PDFs sent by text
are stored with the message, shown in the conversation, and described in
words to the SMS agent before it replies — what the image shows, how many
items, size and condition cues, any readable text. The agent is told
plainly when a file arrived but could not be read. See
SMS Agents.
- Google Local Services leads included. Files consumers attach to a
Google message lead were previously dropped before they reached the
thread; they now come through the same path. Replies through Google
remain text-only. See
Replying to Google leads.
- Scan for photos. On the Google Ads settings page, Troubleshoot now
counts the attachments on the last 7 days of message leads and checks
that the first few can be downloaded — lead ids and counts only.
- What the agent was told, under the photo. The conversation now shows
the description the agent was given under each image or file, so a
reply can be judged against it. Large photos are downscaled before
analysis (the stored file is untouched), so any JPEG, PNG, WebP or GIF up
to the per-file limit is read. HEIC photos are stored and shown but not
yet read; the agent asks for a JPEG or a screenshot.
- One file-size limit, shown where you look for it. The per-file limit
for customer files now defaults to 10 MB (15 MB at most) and appears on
the Google Ads settings page (editable) and on each SMS agent's page
(read-only), as well as in Helpdesk settings. A file that was not kept
is named under the message in the conversation, with the limit that
dropped it.
v1.30 — Connect any MCP server
2026-09-18
- Strict MCP servers now connect. Servers built on the official MCP SDKs
enforce the whole protocol: an
initialize handshake before any request,
a session id and protocol version on every call, and answers streamed as
events. Karmaflow.ai's connection now does all of that, so servers that
refused it before (typically with 400 Bad Request or not initialized)
list their tools and run them. Servers on the older HTTP+SSE transport
connect too, automatically. See MCP Servers.
- The Tools dialog says what went wrong. In Settings → MCP Servers,
the Tools button (the wrench) now shows the server's own answer when a
connection fails — the HTTP status, its error text and a hint on what to
check — instead of a generic error, and names the transport it connected
over when it succeeds.
v1.29 — One Agents page, and the numbers add up
2026-09-18
- Every agent on one screen. Agents → Agent Types now opens a single
Agents list across voice, mail, SMS, chat, task and document agents,
pre-filtered to the type you picked. Each row shows the agent's volume for
the selected date range with a change against the previous period, its
outcome (resolved share, or signed share for document agents), and its
last activity. Sort by last activity, volume, name, type or status; search
by name, number or sender. View and Edit are where they were.
- Click a row to see its conversations. A row expands to that agent's
most recent conversations in the same range, opening exactly as they do
from the full conversations page, with Open all N → to get there.
- Dashboard cards land on the agents behind the number. Clicking
Chats, Emails, Calls or SMS conversations opens the Agents
list for that channel and the dashboard's date range; the rows add up to
the card, with a "not attributed" line for anything no agent owns. The
dashboard's Agent performance table shows the top five active agents
and links to the full list.
- Two card definitions changed so both surfaces agree. Calls counts
every real attempt and no longer counts test calls or calls a person
dialled; each voice agent's row shows how many of its calls were
answered and unanswered. SMS conversations counts sessions that
opened in the range (it used to count any session touched in the range).
Chats and Emails are unchanged.
v1.28 — You decide where every column goes
2026-09-17
- A mapping step before anything is written. Contact and list imports
now open a Map columns step: every column of your file with sample
values and a target — a contact field, a company field, a consent
column, one of your custom fields, or Skip. Known columns are pre-filled
and say so; columns nothing matched get an AI suggestion you confirm.
The CSV separator is detected for you.
- Custom fields from a file. Pick + Create custom field… on any
column and the field exists and is mapped without leaving the page.
- Import profiles. Save the mapping once and the next file with the
same columns opens already mapped.
- Fill or overwrite. Choose whether a matched contact keeps its values
(the default) or takes this file's. Consent is only ever tightened.
- Consent columns.
SMS Opt-in, Unsubscribed, Do Not Contact and
similar columns record the opt-outs they state, each with the column it
came from on the consent card.
- Vouch for your own list's mobiles. Tick These mobile numbers belong
to the people listed for a customer or sign-up export and campaigns may
text them at once; the attestation is recorded under your name. Lists
also show an Unconfirmed mobiles tile with Confirm all. See
Importing Data.
v1.27 — Contact imports keep everything the file knows
2026-09-17
- Every useful column lands. A contact import now reads the direct
line and the mobile as two numbers, the LinkedIn URL, seniority and
departments, city / state / country, the source's email verification
status, and Do Not Call (which sets the voice opt-out). Apollo exports
are recognised automatically. Columns with no field of their own stay
visible under Imported data on the contact. An imported mobile is
marked from import, unconfirmed — campaigns text it only once the
contact texts from it or you confirm it on the contact.
- Companies come with the people. The new Companies option on the
contact and list import forms creates or matches each row's company by
website domain, links the contact, and copies the company's industry,
headcount and country onto the contact for filtering — so "VP-level
contacts at 51-200 person fintechs" is a saved view.
- Richer company records. Short name (the one emails say), exact
headcount with a derived size range, keywords, technologies, revenue,
funding, founding year, SIC / NAICS codes and buying-intent topics — all
on the company page and all filterable.
- Lists show readiness before you send. A list now opens with verified
emails, bounces, contacts without a phone and opt-outs counted across the
whole list, and its table shows title, company, verification and phone
type. The CSV export carries every one of these fields.
- Details: Importing Data.
v1.26 — Google Ads: leads from every campaign type, several accounts per workspace
2026-09-16
- Message assets text your SMS agent. Point a Search or Performance Max
message asset at your SMS agent's number and the conversation arrives as an
ordinary text, answered like any other. Karmaflow.ai attributes it to the ad by
the starter message you copied into Settings → Channels → Google Ads ·
Local Services or by a number marked Google Ads destination number
under Phone Numbers. Calls forwarded from a call asset or a Local
Services campaign to such a number are attributed the same way.
- Lead forms are imported. Each submission on a Search, Performance Max,
Video or Display ad becomes a contact, a follow-up task and a notification.
On by default for every linked account.
- Several Google Ads accounts per workspace. Add accounts with
+ Add another account, switch between them at the top of the page; the
lifecycle report combines them.
- The per-lead message cap is no longer a dead end. Approving a draft,
replying yourself, or Resume AI on this lead lifts it, and admins are
told when a lead is paused — opt out under notification preferences.
- Details: Google Ads setup and
Answering leads.
v1.25 — Transcript retention, per agent
2026-09-09
- Set how long transcripts are kept. A new page under Settings (the
gear icon) → Access & security → Transcript Retention lets a workspace
admin set a window, in days, after which the content of chat sessions,
calls, text threads, email threads and imported meetings is removed. The
conversation record stays — dates, participants, outcome, counts — and each
one shows when its content was removed.
- Nothing changes until you set a window, and nothing is removed until you
say so. Retention is Off for every workspace, and a blank window
anywhere means kept indefinitely. Turning it on lands in Report only:
once a day the page lists what the windows would remove, and removes
nothing. Review the list under Review and remove, tick conversations or
take the whole report, and type
REMOVE to confirm — every removal is
re-checked against its window as it runs and lands on the Audit Trail with
your name.
- Automatic removal is a deliberate second step. Automatic — daily
removal without asking — can only be chosen from Report only, after at
least one report exists, and by typing
AUTOMATIC. Stepping back down never
needs a confirmation.
- Per channel and per agent. Give a channel its own window on the same
page, or open an agent (chat, SMS, voice or mail) and set Transcript
Retention on its form: inherit, a custom window, or Keep forever.
- Choose what removal means. Content only removes the messages,
transcripts, recordings and attachments and keeps the AI summary; Content,
summaries and quotes also removes the AI-written prose and the quotes
extracted into CRM signals, mentions, commitments and training threads.
- Preview before you save. The page counts what the settings on screen
would flag, and every hand removal and automatic run leaves a row on the
Audit Trail. Details: Transcript Retention.
v1.24 — Voice and Mail Agents get their own URLs
2026-09-08
- The URL now says what the page says. Voice Agents moved from
/campaigns to /voice — the list at /voice, and each agent's
view, edit, calls and use pages under /voice/<id>/…. Call detail stays
at /calls/<id>. Mail Agents moved from /strategy to /mail — the
list at /mail, the quick-start wizard at /mail/wizard, and each
agent's view, edit and list-settings pages under /mail/<id>/…. Nothing
else about the pages changed.
- Every old link keeps working. Bookmarks, notification emails and
in-app notification links to
/campaigns/… redirect to the new address,
including the call you were sent to. There is nothing to update on your
side.
- The last "Campaign" and "Strategy" labels on those pages are gone.
Voice pages now read Edit Voice Agent, Back to Voice Agents, Use Voice
Agent and Agent Name; mail pages read New Mail Agent, Edit Mail
Agent, Back to Mail Agent and Agent Name — matching the menu entries
(Agents → Agent Types → Voice Agents / Mail Agents).
- Send Campaign is unchanged. The one-off email/SMS wizard stays at
Agents → Workflows → Send Campaign (
/campaigns/send).
v1.23 — Workiz bookings tell both sides
2026-09-03
- Your team hears about every agent booking. Two new events under
Settings → Notification preferences — An agent booked a Workiz job and
An agent moved a Workiz job — fire the moment the write to Workiz
succeeds, with the customer, the time window, the address, the crew notes,
a link to the job and which conversation produced it. On for email by
default for anyone who can manage settings; add a dispatch inbox as an
extra recipient.
- Your customer gets a confirmation — in your words. Workiz does not
reliably confirm a job created through its API. In Settings → Integrations
→ Workiz (section 6) choose a sender identity or send as an agent that
already has a from address (its signature comes along unless you pick
another), edit the Booked and
Moved templates with tags like
{{when}} and {{address}}, watch the
live preview, send yourself a test, and turn it on. Sent by the platform
with the values written to Workiz; no AI in the loop; never a price. See
Workiz → Step 7.
- Platform emails are now in the Sent Emails report. Booking confirmations,
billing and verification mail used to be reachable only by direct link;
they now appear under the Platform filter in Sent Emails.
v1.22 — Send a campaign in five steps
2026-09-01
- A campaign wizard for one-off sends. Agents → Workflows → Send
Campaign (also + New → Campaign) sends an email or SMS campaign to a
list: write the message yourself with personalization tags such as
{{first_name|there}} and a fallback for missing fields, or let an existing
email strategy or SMS agent write one message per contact. Add timed
follow-ups, choose a sender identity or borrow an agent's, and schedule it
now, once, recurring, metered, or manual. The wizard compiles to an
orchestration, so pause, stop, log, and builder all work as usual.
- Start from wherever the audience is. Select contacts or leads and click
Send campaign; use the megaphone on any list or the Send Campaign
button on a list page; or take the Send a campaign to this list next
step straight after an import.
- A Recipients tab on every campaign. Per-person outcomes — suppressed,
skipped, failed, sent, delivered, opened, clicked, replied, with bounced and
opted-out flags — in a funnel per step. One click turns non-responders,
clickers, or repliers into a list and opens the wizard on it. Opted-out
contacts never travel into a cohort, and the tab says how many were held
back.
- Honest engagement numbers. Unsubscribe clicks are never counted as
engagement, plain URLs in your body become clean links whose text is the URL
itself, and the funnel carries a caption explaining that some providers
register opens at delivery — opens are an upper bound; clicks and replies
are the firmer signals.
- SMS campaigns pace themselves. Sends are rate-limited per sending number
(default 0.8 messages/second on a long code, adjustable per number under
Settings → Channels → Phone Numbers), carrier rate-limit responses are
retried rather than failed, and multi-part messages are an explicit opt-in
with a live segment counter — recipients still get one continuous text.
- One row per SMS conversation on the timeline. A campaign send, the
agent's replies, and the customer's replies now appear as a single Activity
Timeline row on the contact and the company, with a You: / Them: summary
of the latest message and counts of sends and replies. The reply count on
the contact's vitals includes campaign-thread replies.
v1.21 — Google Ads: Local Services leads, answered and attributed
2026-08-19
- Connect Google Ads and every campaign type reports in one place —
Local Services, Search, Performance Max and Display — with spend,
conversions, impression share and top search terms where each applies.
- Local Services goes further: an SMS agent answers your message leads
through Google's own channel, usually within one poll interval. Every lead — message and phone alike — becomes a CRM contact you
can filter, list and enrol in campaigns. Connecting is self-serve — your
Google Ads account ID and one button at Settings → Channels → Google Ads ·
Local Services, with approval inside 24 hours.
- Reply yourself from the conversation. Local Services threads now carry a
Reply via Google button that appends to the conversation the consumer is
actually reading, rather than sending a separate text.
- Human takeover is yours to configure. When you reply by hand, choose
whether the agent keeps replying, drafts for your approval, or stands down —
per lead, with a one-click undo on the thread. A reply typed in Google's own
dashboard is detected too, and an account-wide setting decides what it means.
It arrives unset and changes nothing until you choose.
- Attribution that names its own method. The Google Ads Lifecycle page
joins daily spend to leads, jobs and paid invoices, and shows which rung
matched each record — a stamped identifier, a person's confirmation, or an
email or phone match. Cards whose data does not exist say so instead of
showing zero.
- Response time measured from Google's timestamp, which is the metric
Google ranks advertisers on — not from when Karmaflow.ai noticed the lead.
- Answering message leads is generally available. Connecting is self-serve
and it runs on customer accounts today.
- Private beta: calls answered by a voice agent — Local Services call
leads, and call extensions on Search and Performance Max. In development,
not available yet.
Request early access.
- Five guides, starting with
Google Ads & Local Services.
v1.20 — Workiz: agents that book field-service jobs
2026-08-14
- Connect a Workiz account and your agents can look up jobs and leads,
check who is free, book appointments, reschedule, assign technicians,
capture leads and record payments — on voice, chat, SMS, email strategies
and task agents alike. Setup is a five-step checklist at
Settings → Integrations → Workiz.
- Booking is guarded. Workiz accepts a double-booked time without
complaint, so Karmaflow.ai re-checks the slot against a freshly pulled
schedule immediately before writing. A repeated booking returns the
original rather than creating a second job.
- A readiness banner tells you what is still off, and what it costs —
not just which steps are incomplete. Because Workiz has no delete, an
unguarded booking is permanent, and the banner says so.
- Payments require explicit confirmation with the customer before an
agent records one: no API can void a payment, and Workiz cannot reverse
one at all after 60 days.
- On voice, agents now speak while they work — "let me check the
calendar" — instead of going silent during a lookup.
- Two guides: connecting your account and
what your agents can do, including the
platform limits worth designing around.
v1.19 — Reply from your inbox, with AI attachment analysis
2026-08-13
- Reply directly from a group inbox thread — correct threading in the
recipient's mail client, CC, signatures, and file attachments. Each inbox
carries a Reply from default (set via Edit on the inbox page), so
replies go out from the address the sender originally wrote to, with the
full sender-profile dropdown available per message.
- Attachments are stored privately and open from the thread — served
through an authenticated download, never a public link.
- Analyze any attachment on demand — one click returns a document-type
badge, a one-line summary, and extracted fields for financial documents
(images, PDFs to 8MB, .docx). Billed per analysis, saved on the
attachment so you only pay once.
- Optional auto-analysis for inbound attachments — tenant admins can
opt in under Tenant Settings → Agents & AI → Attachment Intelligence,
with file-size, file-type, per-inbox, and daily-cap brakes. Off by
default.
- Group Inboxes moved to the CRM menu — find it under CRM → Daily
work, next to My Day.
v1.18 — Route your own email addresses into Karmaflow.ai
2026-08-13
- A new step-by-step guide for getting mail in — point an address on your
own domain at a contact timeline or a shared inbox, with separate recipes
for Google Workspace and Microsoft 365, and for the two cases that
need different handling: a shared address like
support@, versus an
existing person's mailbox that must keep working normally. See
Routing Your Email Into Karmaflow.ai.
- Attachments now arrive with inbound mail to a group inbox. Previously
the message body was captured and its attachments were silently dropped.
- Group inboxes are open to every workspace, no longer hidden behind the
Data Analyst feature, and each inbox can now be renamed, deleted, and loaded
with mailbox history (mbox import) from its own page.
v1.17 — Spend limits you set yourself
2026-08-12
- Cap usage charges, account-wide or per service — a new Spend limits
card on your billing page sets a ceiling on what the workspace can run up in
a period. Reaching it refuses the work it governs until the next period or
until the limit is raised; fixed subscription fees are never counted.
- You can always see which limit is binding — where your limit and your
plan's ceiling both apply, the tighter one wins, and the card says which in
plain words rather than leaving you to compare two numbers.
- Alerts at 80% and 100%, separately for the account-wide cap and for each
service that carries its own limit.
- Billing Admins can reach the page. The seeded Billing Admin role
(
billing:read + billing:manage) now has its own way in via your user
menu → Billing & Spend Limits; a viewer with billing:read alone sees
the same figures read-only. See Spend Limits.
v1.16 — Phone system integration for voice agents
2026-07-26
- PBX pre-call context (3CX-style) — inbound voice agents get a new Phone System tab: your phone system POSTs caller context (like IVR selections) to a per-agent webhook right before bridging the call, and the mapped fields are injected into the agent's context and available as
{{placeholders}} in its instructions.
- Collected call values with a hang-up gate — define the values the agent must gather during the call (text, number, yes/no, or picklist, each optionally required); the agent can't end the call while required values are missing, and caller hang-ups still deliver partial results flagged incomplete.
- Post-call telemetry, pull or push — your phone system can POST after the hangup and receive call telemetry plus collected values in the response (with a safe-to-retry
pending state), or Karmaflow.ai can push the results to your URL — HMAC-signed, with retries and a Send test button. See Phone System Integration.
v1.15 — Page-targeted widget messaging
2026-07-22
- Page-targeted user instructions — the chat widget greeting's guidance line can now change per page. Add instruction variants under Widget → Page-Targeted User Instructions: the first enabled variant matching the visitor's page is shown, and everything else falls back to your default Static User Instruction.
- Point-and-click URL rule builder — nudge (attention message) rules and instruction targeting are now built from dropdowns — Page URL / Page Path / Hostname with operators like contains, does not contain, starts with, ends with, and glob patterns (
/blog/**) — in the style of Google Tag Manager, replacing the old raw-JSON rule fields. Existing rules keep working and open right in the builder.
- Clearer nudge controls — per-message "only show" / "never show" page rules with a condition-count badge on each message, a Never Show On (Global Block Rules) builder that per-message rules can't override, and readable rule summaries on the agent view page. See Widget Greeting & Nudges.
v1.14 — Helpdesk, Tenant Brain & a CRM comms upgrade
2026-07-17
- Helpdesk — a full AI-native support desk — a new Helpdesk module with a ticket queue (triage, assignment, SLA response/resolution timers, and round-robin routing to teams), a branded customer portal where your customers sign in to open and track their tickets, and multi-channel intake so inbound email, SMS/MMS, voice, chat, and web forms all become tickets. AI triages incoming tickets and drafts replies, with a human approval queue so nothing goes to a customer unreviewed.
- Support Knowledge Base & the Knowledge Flywheel — publish help-center articles that serve both your customers and your AI agents. Solved tickets are distilled (PII-scrubbed) into insights that feed a Recommendations review queue surfacing what's worth writing or fixing, and an approved recommendation can be turned into a KB article in one step.
- Helpdesk reports & CSAT — ops, CSAT, SLA, and AI-performance reporting with Trends, Impact, and Team tabs, a custom report builder, and post-resolution CSAT surveys.
- Helpdesk automations (journeys) — milestone-driven outbound over SMS, email, and voice, governed with confidence gates and human-above-the-loop, including in-call confidence routing and voice CSAT.
- Tenant Brain — versioned business knowledge your agents share — a new per-tenant knowledge base in the Open Knowledge Format that every agent type (voice, chat, SMS, task, email, document) can read, search, and propose additions to. Brain Genesis seeds it by crawling your site and scanning uploaded documents and your CRM on a schedule, and published knowledge is embedded across your vector stores so agents answer more consistently.
- Brain browser, graph view & trust controls — browse and edit the Brain under Knowledge → Tenant Brain, see how concepts connect in a graph view, and govern agent-proposed knowledge with graduated autonomy and a trust ledger so proposals earn their way to auto-publish. A content-quality check gates what's allowed in.
- Send emails and texts by hand from the CRM, with AI compose-assist — reply, follow up, or start a new email or SMS straight from a contact, with an AI assistant that drafts the copy for you. A new call dialer adds a slide-over keypad, in-call notes, and DTMF tones.
- Schedule sends for later — queue reply and follow-up emails or texts to go out at a chosen time, track them under CRM → Scheduled Activities, and get alerted if a scheduled send fails.
- CRM attachments & financial records — quick-upload files to any record (with opt-in AI document analysis), mass-upload contacts and companies, and promote uploaded estimates and invoices into first-class financial records on contact, company, deal, and lead pages.
- Agent Prompt Studio — an AI creator/optimizer that writes and refines your agent instructions, plus one-click starter-instruction examples on every agent form and a cleaner, progressively-disclosed Tools tab with a shared recommended tool set across channels.
- Agent performance monitoring — a cross-channel performance rollup on the dashboard with per-agent drill-down (KPIs and lowest-scoring conversations) and periodic AI insight reports on your weakest performers.
- AI access governance & per-surface billing — control which members can use which AI features, with AI usage now metered per surface and consolidated governance visibility.
- Smarter chat & voice agents — a new get_weather tool for chat agents, overridable inactivity check-in and session-ended messages, transcripts that cross-link as a conversation is handed between agents, and Widget Identity Verification so a signed-in visitor's identity is confirmed in the chat widget.
- Reliability & polish — create/save actions are now idempotent and guard against double-click duplicates, orchestrations flag misconfigurations when you save them, list views surface load failures with a retry instead of showing empty, and an in-app Help Center is now reachable from the top navigation.
v1.13 — CRM command center, power-user lists & smarter agents
2026-07-03
- Redesigned CRM detail pages — every contact, lead, company, and deal now opens with a full-width hero (avatar, inline-edit name, inline email/phone, status chips, and grouped action buttons), a deterministic vitals strip below it (last touch, inbound vs outbound responses, a blended cross-channel engagement rate, and a Warming / Steady / Cooling / Dormant trend with a plain-English reason), and collapsible sections your browser remembers.
- Recommended next move — an AI-chosen, prefilled action card sits atop each record, grounded in your own conversation history. The AI picks only fitting actions from a fixed catalog (create task, draft email, log note, new deal, add tag, set lifecycle) and one click opens the right surface already filled in — or shows nothing when there's no clear next step.
- Engagement cadence setting — vitals windows are now tenant-configurable, because cadence is business-model-specific (B2B runs slow, B2C/support fast). Pick a B2B (60d) / B2C (21d) / Custom preset or set explicit base / cooling / dormant day thresholds, with per-pipeline and per-lifecycle overrides.
- Power-user list views — an inline Filter / Sort / Columns toolbar on Contacts, Companies, Deals, and Leads, so you can shape a list ad-hoc without leaving for the Views page. AND/OR/nested filter groups, removable filter chips, your tenant custom fields as filterable/sortable columns, and Save as view / Update view.
- Activity & intent filters — filter records by a related record ("has an email sent after…", "no open task", "has a deal in stage X") and by AI signals (buying intent, sentiment, relationship temperature, confidence) surfaced from Relationship Intelligence.
- Ask AI to build a filter — describe the segment in plain English and the AI turns it into a structured filter, validated against the allowed fields and operators, loaded into the toolbar for you to tweak.
- Segment actions (Organize) — act on the whole filtered segment, not just the visible rows. A select-all-matching banner unlocks add-to-list, new list, tag / untag, assign owner, enroll in a sequence, create a task per record, and delete across everything that matches — not just the current page.
- Your list layout follows you — filter, sort, and column preferences now save server-side per user, so your working view is the same on every device.
- Complete record timelines — every action taken on a contact, lead, or company (not just deals) now writes to that record's activity log: notes, tags, owner changes, contact ↔ company links, lifecycle changes, merges, and more. A unified engagement & activity timeline spans all detail pages, with slide-in drawers to open any row in place, and processed web-form submissions now appear on the contact timeline too.
- Mobile-optimized CRM — below tablet width, list pages render a mobile-native experience: compact rows with activity chips, sticky A–Z headers with a scrubber, filter chips, a thumb-reachable bottom tab bar, and a floating add button. The desktop UI is untouched.
- Refreshed look — dark and light themes realigned to the Karmaflow.ai palette (neutral-charcoal dark mode with clearer surface elevation, a deeper indigo accent, higher-contrast link text), plus a decluttered list-page toolbar with a single primary action and calmer secondary/cleanup buttons.
- Live chat-agent preview — the chat agent editor now previews against the real engine using a sandbox copy of the agent, including your unsaved edits, so replies have full production fidelity — tools, RAG / vector stores, MCP, and memory. A live tool-call inspector shows each call's parameters and result as it runs.
- Agent-to-agent chat handoff — configure, per chat agent, which agents it may hand a conversation to and the circumstances for each. Ownership transfers on the session and every handoff is recorded, so a conversation can move through a chain of specialists with a full history.
- Cross-agent enrichment — give any voice, chat, SMS, or task agent context from a contact's most recent interactions with your other agents, with the set of agent types configurable per agent, plus a tool to pull a full transcript on demand.
- Pick vector stores from a list — agent forms now show your vector stores with name, description, and file count to check off, instead of typing comma-separated IDs. Already-referenced stores are preserved even if they're not in the list.
- Analytics dashboard refresh — a readable AI Account Overview briefing that stitches your sentiment, channel volume, and CRM signals into a short written summary (role-scoped: admins and analytics managers see all accounts, everyone else sees the accounts they own), period-over-period comparison pills on metric cards, a richer landing-pages table, polished zero-data empty states, and hardened chart rendering.
- Per-agent usage in billing — the tenant billing screen now breaks agent-attributable usage down by the agent that generated it, with an Unassigned / unattributed rollup so the totals still reconcile.
- Voice IVR & extensions — a new send-DTMF tool lets voice agents navigate phone menus, and outbound calls dial a contact's extension automatically (from the contact field or trigger context).
- Full prompt for super admins — call and chat detail pages now expose the exact assembled LLM prompt (super-admin only) for debugging.
- Cleanup & fixes — the Apollo (apollo.io) enrichment integration was removed end to end; the CRM activity filter no longer reports Chat and SMS sent as 0; orchestration batch-email no longer reports partial sends as full successes; and several smaller crashes and edge cases were fixed.
v1.12 — Cal.com scheduling, the data analyst over MCP & safer controls
2026-06-17
- Cal.com integration — connect one or more Cal.com accounts so agents can check availability and book meetings. Karmaflow.ai connects through Cal.com's hosted MCP server over OAuth 2.1 and manages token refresh for you, so there are no API keys to copy. Configure it under Settings > Cal.com, then point an MCP server at a specific account.
- Multiple Cal.com accounts per workspace — give each account a name (per team, calendar, or brand), pick a default, disconnect or remove independently, and pin individual MCP servers to the account they should use.
- Ask the data analyst over MCP — a new
ask_data_analyst tool on the built-in MCP server lets external AI agents ask natural-language questions about your communication activity. It's the same analyst behind the embedded chat on the analytics dashboard and returns a written answer, the query it ran, and any chart it generated.
- Hard Stop for orchestrations — alongside the existing soft Pause, you can now Stop a workflow to immediately cancel its spawned-but-not-yet-run work: pending jobs, queued (not-yet-dialed) calls, and a recurring workflow's self-reschedule loop. Calls already in progress finish naturally. Use it to halt a campaign that's actively sending or dialing.
- Global rules always apply — the per-agent opt-out has been removed, so workspace-wide guardrails are now enforced consistently across every agent.
- Permissions enforced end to end — navigation menus, create/edit/delete action buttons, and the underlying routes and APIs now hide and block consistently based on each member's agent and CRM permissions, so members only see and do what their roles allow.
v1.11 — Granular roles & permissions
2026-06-05
- Custom roles — define your own access levels with fine-grained, per-feature permissions, so each teammate gets exactly the access they need.
- Suggested defaults out of the box — start from ready-made Manager, Member, Viewer, and Billing Admin roles (alongside the full-access Admin), then tweak them or build your own.
- Per-object CRM permissions — grant view, create, edit, and delete independently for Contacts, Leads, Companies, Deals, Tasks, and custom objects. Let a rep edit Deals but only view Contacts.
- Per-channel agent permissions — scope access to specific agent types, so you can have, say, a chat specialist who only sees Chat Agents and nothing else.
- Multiple roles per member — stack roles on a person; their access is the combination of everything their roles allow.
- Menus adapt to each role — navigation now shows only the areas a member can actually use and hides the rest.
- Assign roles from the Users page with a simple multi-select.
- No disruption for your team — existing members keep their current access until you assign them roles, so you can roll permissions out at your own pace.
v1.10 — Meetings, smarter enrichment & a wave of refinements
2026-06-03
- Meetings — import meeting audio or paste a transcript (auto-transcribed) and associate it to contacts, leads, and companies with AI-suggested matches. Linked meetings appear on CRM timelines as interactions, alongside calls, emails, and chats.
- Self-service onboarding — sign up, request to join an existing workspace by its URL, and track your request status, with a cleaner request history and resend-invite flow.
- AI web-search enrichment — the Enrich action now pulls live web results for contacts, leads, and companies, on top of your own data.
- Company detail editing — edit a company inline from its detail page, with AI-ranked suggestions for which contacts to attach. New companies seed their name and domain from the originating contact.
- Saved Views, more consistent — switching a view reliably applies its sort and columns across Contacts, Companies, and Deals, plus a new Last updated option for filtering, sorting, and columns.
- Stronger email deliverability — outbound sends flow through a fair-share rate limiter with warm-up ramping and adaptive backoff to protect your domain reputation during big campaigns.
- Streamlined agent models — every agent type (voice, mail, chat, SMS, task, document) offers the Gemini Flash 3 / 3.5 lineup, with new agents defaulting to Gemini 3 Flash.
- Faster voice-agent setup — outstanding configuration items surface as jump-links right in the header so you can finish telephony setup in fewer clicks.
- More reliable orchestrations — recurring triggers no longer self-stall, post-wait steps schedule correctly inside for-each and branch containers, and for-each items carrying a phone or email auto-create or update the matching contact.
- Forecast leaderboard shows owner names instead of IDs.
- Meetings moved into the CRM menu (from Data) for quicker access.
- Duty Schedule fixes — the Notifications tab and SMS delivery no longer break on hidden characters pasted into phone numbers, and on-call replies now include the customer contact so the responder can call back directly.
- Document polish — set tenant default values for document template tokens, manage a replacements dictionary, and drag signing fields across page boundaries.
- Quality-of-life fixes — forgot-password emails now send reliably, the register form no longer loses focus while typing, and the date/time picker icon is visible in dark mode.
v1.9 — Document Agents & built-in e-signature
2026-05-25
- Document Agents — configure AI generators for any business document type (contracts, proposals, quotes, invoices, offer letters) with their own prompt, tools, model (default Gemini 3.5 Flash), output formats, hardcoded boilerplate sections, and signer roles.
- Ten built-in templates ship out of the box and install with one click: Mutual NDA, One-Way NDA, MSA, SOW, Consulting / Independent Contractor Agreement, Sales Proposal, Sales Quote, Invoice, Employment Offer Letter, Letter of Intent. Every template is fully editable once installed.
- Streaming AI generation — pick a template, fill in context, watch sections land one at a time in the editor. Renders simultaneously to PDF, DOCX, and HTML.
- Hardcoded "carbon-copy" sections — paste legal boilerplate (governing law, severability, force majeure) that gets inserted verbatim on every document of that type and is locked from AI edits.
- Global sections library — reusable headers, footers, clauses, and signature blocks shared across many document types, with
{{variable}} substitution at render time.
- Visual signing-field placer — drag and drop signature, initial, date, text, and checkbox fields onto the rendered PDF preview. Per-signer color coding, drag-to-resize, click-to-delete.
- Self-hosted e-signature — no DocuSign, no per-envelope fees. Each signer gets a unique tokenized link and signs in an ESIGN/UETA-compliant portal that captures consent, IP/UA, and either a drawn-on-canvas signature or a typed name.
- Sequential or parallel signer routing — pick per document or lock at the template level.
- Recall + Reset actions for stuck documents — pull an in-flight document back to Approved (resets signers, invalidates old links) or all the way back to Draft for a full rework. Old signing links stop working immediately.
- Final stamping with Certificate of Completion — every signed PDF gets stamped signatures, a cert page with the full audit trail (timestamps, IPs, user agents per signer), and a SHA256 integrity hash so any future tampering is detectable.
- Attach to CRM — Document Agents declare which entity types (contacts, leads, companies, deals) they apply to. Each CRM detail page gets a Documents card with a filtered template picker, and the counterparty signer auto-populates from the attached record.
- Editor with embedded PDF preview tabs (Draft / Place fields / Signed), per-signer status pills, reminder buttons, audit trail, and integrity-hash badge — plus a Documents list filterable by status, agent type, or attached CRM record.
v1.8 — Web Analytics platform
2026-05-22
- Web Analytics platform — privacy-respecting, first-party page-view and event tracking for any site you operate. Drop a snippet, see real visitors live.
- Realtime dashboard — live event stream with per-tenant capped buffer; visitors appear within seconds of loading your page.
- Site Overview powered by daily rollups with auto-fallback to live BigQuery and a freshness pill so you always know when the data was last refreshed.
- Web Performance dashboard with Core Web Vitals (LCP, INP, CLS) measured from real visitors, not synthetic monitors.
- JS error tracking with grouped dashboard — see which JavaScript errors are hitting real users, with stack traces, browser/OS breakdown, and frequency.
- Funnels — multi-step conversion analysis with both event-grouped and user-grouped modes (identity-stitching parity with cohorts).
- Cohort retention analysis with a BigQuery-direct heatmap UI.
- Tag Manager with multi-draft workspaces, version history, and one-click rollback. Container publish replicates the GTM experience without the third-party blob.
- AI tag suggestions (Gemini) — point the AI at your live site, get suggested tags and tracking events, then one-click promote any suggestion to a permanent EventDefinition.
- Preview mode + AI element picker for tag-rule construction — click on your page to pick the element a rule should fire on.
- Identity stitching — visitor_id ↔ user_id resolution feeds both cohort retention and user-grouped funnels.
- First-party CNAME proxy + DNS verification — serve the tracker from your own domain to dodge ad-blockers, with snippet auto-switching when DNS verifies.
- Auto-collected events out of the box — scroll depth, form submissions, web vitals — no custom tags required.
- Server-side event ingest with HMAC-signed auth for server-to-server tracking.
- Live Events debugging table — see every incoming event as it arrives with full payload, useful when wiring up new tags.
- IP → geo enrichment via geoip-lite — country, region, and optional city auto-populated on every event.
- Persistent sidebar nav on every analytics sub-page, plus Web Analytics moved to the top of the Data menu.
v1.7 — Sales velocity & Relationship Intelligence
2026-05-22
- Relationship Intelligence card on every contact, lead, and company detail page — surfaces temperature, intent signals, risks, and the recommended next move grounded in your own conversation history. Extraction now covers signals, snapshots, and lifecycle changes; opt-in backfill rebuilds intelligence for existing records.
- Global "+ New" menu in the top bar — create a contact, lead, company, deal, task, or note from anywhere without navigating away.
- Drill-downs everywhere — Forecast tiles, CRM dashboard widgets, and "Most relevant context" items are now clickable.
- Cross-link actions on every CRM detail page — jump from contact ↔ deal ↔ company in one click with the right context pre-loaded.
- Full deal edit from the deal detail page — stages, dates, value, custom fields all editable inline. No more bouncing to a separate edit screen.
- Email actions + keyboard shortcuts — quick-reply / forward / archive from inbound-email detail, plus
j/k row navigation and g d / g c / g l jumps across the CRM.
- "Log note" button pinned to the top bar of every CRM detail page.
- Call vs meeting outcomes are now visually distinguished from plain notes in the CRM timeline.
- Voice call tool calls render as separate call + result entries in transcripts, easier to scan.
- New Deal modal stability — rebuilt to scroll cleanly on short screens, escape backdrop-blur layers, and stop overflowing the viewport.
- Notes panel uniform across contact, lead, and company pages; lead notes now surface regardless of which entrypoint created the lead.
- Email-related cards on the dashboard grouped into a dedicated "Email & Messaging" cluster.
- Platform Assistant default model switched to Gemini 3 Flash for faster in-app AI responses.
- CRM Tasks card no longer crashes when subtasks signal a refresh; card-view checkboxes no longer hijack the click and navigate.
v1.6 — CRM Tasks, inbound email & record ownership
2026-05-21
- CRM Tasks overhaul — task type, status workflow, recurrence, subtasks, and multi-record associations. A new Task Detail Modal surfaces every field with inline comments and subtasks; a side drawer adds an activity log and Log complete with outcome so closing a task captures what happened alongside done. Tasks now sit above Notes on contact, lead, and company detail pages.
- Inbound email — every workspace gets a dedicated address at
<tenantId>@sys.karmaflow.ai, with the Mailgun route auto-provisioned (no DNS step). Configure a default owner and a pre-filter agent per inbox. Inbound messages auto-associate to every party in from/to/cc/bcc, surface on the contact and company interactions timeline, and open a dedicated inbound-email detail view when clicked. Senders on a tenant-owned domain no longer spawn phantom contacts.
- Email Settings & Notifications — the Mailgun page is renamed Email Settings in the UI and user-visible Mailgun branding is gone. A new Notifications page holds tenant-scoped sender profile settings.
- Assign records to users — contacts, leads, deals, and companies now have an owner. Filter and sort lists by assignee.
- Link contacts ↔ companies from either side — the Add Contacts modal on a company suggests likely contacts to attach, and the relationship can be created from either detail page.
- Limited-time prompts for agents — schedule prompt overrides that activate within a window via
{{limited_time_prompts}}. Useful for seasonal pushes, time-bound offers, and short campaigns.
- Gemini 3.5 Flash is now selectable on every agent type.
- Per-tenant default country code — set once in tenant settings and it's applied across every phone exit point (dialer, voice agents, SMS sends, click-to-call).
- Safer contact importer — unmapped email columns now raise a visible error instead of silently dropping rows. Mail-agent sends with an empty subject or body are skipped rather than dispatched.
v1.5 — Sales OS — pipelines, forecast & AI-grounded sales
2026-05-18
- Forecast page — commit / best / pipeline / weighted tiles, funnel by stage, win-rate by source, and a per-owner leaderboard. Filter by pipeline, owner, and close-date window.
- CRM Dashboards with eight preset widgets (forecast, leaderboard, funnel, win rate, activity per rep, lifecycle ladder, stuck deals, hottest deals). Pin the ones you want — selection persists per browser.
- Configurable pipelines per workspace, each with their own stages, colors, probabilities, and won/lost flags. The Deals kanban gains a pipeline picker so the board renders the stages of whichever pipeline you select.
- Saved views with a visual builder — filter rows where the operator dropdown adapts to the field type (text gets contains, dates get between, selects get is any of), sort by up to three fields with Asc/Desc toggles, choose visible columns and reorder them. Private or shared, with a default-view toggle. An Advanced JSON toggle preserves the raw editor for power users.
- View picker on Contacts, Companies, and Deals lists applies any saved view in one click.
- Spreadsheet view on Contacts, Companies, and Deals — toggle from the toolbar. Inline edit on click (Enter commits, Esc cancels, Tab moves to the next column), sticky header, drag-to-resize columns, multi-select with Shift-click range, and a bulk-action bar with Edit (set one field on every selected row) and Delete selected.
- Global semantic search — the Cmd/Ctrl+K bar searches across calls, chats, emails, SMS, notes, activities, contacts, companies, and deals. Match by meaning, not just keyword.
- Find similar panel on Contact, Company, and Deal detail pages — closest neighbours from your own data. Lookalike accounts, similar deals, similar contacts.
- Most relevant context panel — the top semantically-relevant historical interactions for the current record. Cold-opening a deal? It points you straight at the conversations that matter.
- AI-research custom fields auto-populate from a record's own history plus optional web search, with cited sources. No third-party enrichment account required.
- Conversation-grounded sales coaching — call-by-call comparison against your top-performer transcripts. Returns strengths, gaps, and concrete coaching drills.
- Who else is here — avatar chips show who else is viewing the same record, refreshed every 20 seconds.
- Recently Deleted — single feed across contacts, companies, deals, and tasks with filter chips and one-click restore.
- Detail-page upgrades — paginated Notes timeline with inline add (no more page-load slowdowns on records with hundreds of notes), field-level validation errors inline on every CRM form, redesigned CRM + Agents top-nav as four-column megamenus with per-item descriptions, and a Contact Cleanup merge dialog that scrolls cleanly even for large duplicate groups.
v1.3 — Voice campaigns, editor polish & smarter pacing
2026-05-09
- Self-service verified caller ID for outbound voice agents
- Streamlined campaign editor with tabbed layout across chat, voice, mail, task, and SMS agents
- Voice previews directly on voice campaign create/edit screens
- Automatic language detection for voice agents
- Card-based agent list view replacing dense tables
- Redesigned Tenant Settings with categorized sections
- Per-day pacing schedules and a redesigned send-window editor for email campaigns
- Pronunciation dictionary with per-agent opt-in packs
- Voice billing now split by direction (phone vs voice chat)
v1.2 — Wizards, integrations & a smarter Curator
2026-04-23
- Mail Campaign Wizard — 4-step Quick Start for outbound email campaigns
- Platform Assistant — persistent AI chat widget available across the app
- Google Workspace integration: Gmail, Calendar, Drive, Sheets, Docs, Slides
- Microsoft 365 integration: Mail, Calendar, OneDrive
- The Curator — per-agent feedback review with a tenant-editable prompt
- Tenant-scoped prompt components with sandbox / push-to-live workflow
- Sensitive content redaction (Gemini-powered) configurable per API key
- Email tracking domains with TLS certificate management and DMARC checks
- Contact memories on profile and list pages, plus cleanup, merge & duplicate detection
- Orchestration dashboard redesign with operational metrics
- Cold transfer for direct SIP call transfers
v1.1 — MCP, billing, duty schedules & widget health
2026-03-14
- MCP server with OAuth 2.0 (Claude.ai compatibility) — orchestration builder, agent CRUD, and reporting tools
- Duty Schedule with SMS confirmation escalation, voice-agent duty-check, and Rules & Preferences
- Tenant Billing — packages, per-contract overrides, and a tenant-facing billing page
- Admin tax management with province / state lookup
- For-each iterator and recurring / looping workflow primitives in orchestrations
- AI spam scoring for form submissions plus daily call budget controls
- Widget Health dashboard with hero cards and FAILING / DEGRADED / HEALTHY status
- Tenant P&L screen and platform cost configuration
- Effort / verbosity controls for all agent types; Gemini 3 Flash support
- Tenant-scoped user management and agent revision history
- Configurable dead-air timeout for voice campaigns
v1.0 — Initial release — orchestrations, search & analytics
2026-02-18
- Canvas-based orchestration flow builder with full-screen editing
- Hybrid search engine (exact + fuzzy + semantic) with global Cmd+K search
- Public help center with 39 documentation articles
- Email-to-form submission with AI field extraction and discovery mode
- Campaign-style dashboard with channel delivery stats (opens, clicks, answer rate)
- Orchestration analytics dashboard and Escalations Drill-Down Explorer
- Background-audio toggle for voice campaigns
- Trigger context passed to voice, email, and SMS agents in orchestrations
- CRM contact linking on chat and voice pages