Changelog

Stay up to date with the latest improvements, new features, and fixes in DealJourney.

August 2026

Quotes and contracts that speak in the cadence you priced in, an Outlook add-in rebuilt around who is actually on the email, Dealy you can talk to, threads that only interrupt the people in them, and a customer card you arrange the way you work. The second half of the month adds prepaid hour banks drawn down from your accounting system, email that always addresses the right person, dates that save as the day you picked, and automations that can act on a customer going quiet. The final week brings a customer health score built from real signals, costs that repeat on the cash-flow timeline, your own objects on the map, and search that finds a company by its registration number however it is written.

Quote margins

2.1121.1
  • Typing a gross margin on a quote line now moves the offer price and the discount, leaving the list price as the catalogue fact it should be.

Meeting invitations

2.1126.0 – 2.1131.0
  • An invitation template you have written is now the invitation that gets sent, with the meeting's date, time, place, link and guests filled in.
  • You can also invite another company's contact people by picking the company, rather than having to know the name to type.

Your own records

2.1125.0 – 2.1138.0
  • A record of your own object can now be created straight from its detail page, the same way built-in records work.
  • A link field can copy the contact's phone and email onto the record, so choosing a person brings their details with them.

Dashboards

2.1132.0 – 2.1133.0
  • When you share a dashboard with both an access level and a team, you can now choose whether someone needs to match one or both.
  • The sales template is rebuilt around what a rep opens it to ask, with amounts in your own currency and rows that link to the record.

Meetings on the record

2.1132.2
  • A meeting booked in Outlook or Google now shows on the customer, contact or lead it involves, not only in the calendar.

Campaign goals

2.1135.0 – 2.1136.0
  • A campaign can now carry its own goals, measured live, instead of only inheriting a quarterly target.
  • A new Pipeline tab lists the deals attached to a campaign and lets you attach more.

Smaller refinements

2.1127.7 – 2.1136.5
  • Dropdown lists follow your scroll wheel precisely.
  • Create dialogs open blank after a save or a cancel, and logged emails are readable in dark mode.

Faster lists

2.1135.1 – 2.1135.3
  • Sorting a list now responds to the click straight away rather than after a visible pause.
  • Customer search is far quicker on large accounts, and matches names with or without Nordic characters.

Orders stay editable

2.1122.0
  • An order can now be corrected right up until it is actually sent, rather than locking the moment the customer confirms.
  • Changing a product, price or discount still asks the customer to confirm again.

Menu icons

2.1130.0
  • A link you add to your own menu can now carry an icon you pick, so four shortcuts no longer look like four copies of the same row.

Assigning documents

2.1077.0 – 2.1081.0
  • Linking documents to a customer is now one screen with what is already linked on the left and search-first picking on the right, so nothing is done blind.
  • When we look for an existing folder for a customer, the page now says so and says what it found, rather than looking empty while it works.

Why a deal was lost

2.1107.0 – 2.1110.0
  • Marking a deal lost now asks why, from a list you configure, with room for detail and the competitor who won it.
  • The sales report gains ranked loss reasons with the money attached, and a breakdown by team.

Customer health score

2.1113.0 – 2.1115.0
  • The customer health score is built from engagement, relationship depth, commercial momentum, payment behaviour and support pressure.
  • A customer with too little history says so instead of being scored, and the card shows the trend and what is driving it.

Invoicing

2.1105.1 – 2.1108.0
  • Invoice lines show the quantity you set, with only the unit price adjusted to the period the invoice covers.
  • Invoices generated from a subscription can now reach your accounting system on their own, always as a draft, and only show as sent once they have.

Incoming calls

2.1110.2 – 2.1121.0
  • The incoming-call card shows once per call and clears when you answer.
  • The card shows the contact's email and the account manager alongside the name and company.

Task dependencies

2.1118.0 – 2.1119.0
  • What a task is blocked by, and what it is blocking, now sit inside the task rather than behind an overflow menu.
  • On the timeline you can draw a dependency by dragging between two bars, and hovering one highlights everything it touches.

Marking chat unread

2.1063.10 – 2.1076.0
  • A message or a whole conversation can be marked unread again, so something you looked at but could not deal with stays in your queue.
  • Conversations now have their own address and can be linked to, and typing # in the composer tags one inline.

Company lookup on leads

2.1071.0 – 2.1073.2
  • Creating a lead now offers the same company lookup the customer form has, filling in name, registration number, address, website, phone and industry in one go.
  • For Danish companies you can pick which branch you mean, when there is more than one.

Calendar privacy

2.1089.2 – 2.1095.0
  • A connected calendar can be set to hide event details by default: colleagues see that you are busy, but not the title, notes, location or guests.
  • Privacy now travels both ways with Outlook and Google, and Block out time reserves a slot without telling the office why.

People on a deal

2.1082.0
  • An opportunity now lists only the people actually on it, name first with their role underneath, instead of an empty slot for every role you have defined.

Getting around

2.1078.0 – 2.1092.0
  • Building your own menu now has a searchable page picker instead of one long dropdown.
  • Invoices, Products, Subscriptions and Goals remember the tab in the address, so a menu entry or a shared link can open the right one.

Calling lists

2.1052.1 – 2.1054.0
  • Lists can be uploaded as Excel files, not only CSV.
  • Searching an address now returns every named resident rather than one, so switching to whoever actually answered is a single click.

Search

2.1063.3 – 2.1073.10
  • Global search is dramatically faster on large accounts, so results come back complete even on very big datasets.
  • A company can now be found by its registration or VAT number however it is written, with or without spaces, dots or a country prefix.

Finding documents

2.1076.2 – 2.1079.0
  • Searching your document storage now returns folders as well as files, ranks name matches above passing mentions inside a document, and shows where each hit lives.
  • Libraries are listed under the name you see in SharePoint rather than an internal English one.

More file types

2.1076.4
  • Outlook emails, HEIC photos, scans, archives, OpenDocument files, video and more can now be attached to a deal, customer, contact, lead or project.

Chat that keeps up

2.1055.3 – 2.1057.2
  • Images and thread replies are remembered, so re-entering a busy conversation paints straight away instead of downloading everything again.
  • One signal now drives both the online dot and who is reading a conversation, and a row of faces above the composer shows who has it open right now.

Recurring costs in the forecast

2.1059.0 – 2.1075.0
  • A manual entry in the cash-flow forecast can now repeat monthly, quarterly or yearly, so a recurring cost is one entry instead of twelve.
  • Removing a single payment leaves a faded marker in its place rather than hiding it, and one click brings it back.

Documents and signing

2.1058.0 – 2.1062.0
  • The document list now answers what needs you today: who it is with, how long it has been waiting, and what is about to expire.
  • A contract records its own term and notice period, saved versions can be compared, and parties and pricing are edited exactly as they will print.

Objects on the map

2.1070.0
  • Records you have modelled yourself, such as machines or installations, can appear as pins on the map, filtered by a date window.
  • That makes it possible to plan a service route from the map, or gather several visits into one trip.

Follow-ups after a sale

2.1066.0 – 2.1067.0
  • Winning a deal can now book a follow-up per product sold, with the date worked out from the sale: a service check two years on, winter tyres before October.
  • Date-based automations can act on those follow-ups, and on your own objects generally.

Companies involved

2.1068.0
  • A project can now list every company on the job, not only the one being billed, each with an optional contact and a role you word yourself.
  • A company's own card shows the projects it is involved in, not just the ones it is billed for.

Filters in words

2.1048.1 – 2.1051.2
  • Number and currency filters now read as words rather than maths symbols: is at least, is greater than, is not equal to.
  • Report filters lost their technical wording too, so is null is now is empty and in is now is any of.

Hide the KPI bar

2.1051.0
  • The row of stat cards above a list can now be collapsed, per person and per page, on customers, leads, opportunities, subscriptions, invoices, orders and your own objects.
  • The choice follows you across devices rather than living in one browser.

Tidier lists

2.1049.2 – 2.1051.1
  • Every list toolbar now runs in the same order, so search and filter sit where you expect on every page.
  • Teams appear alphabetically everywhere, including immediately after you create or rename one.

Custom reports

2.1048.4
  • A metric whose formula cannot be read is now named above the chart, and every other metric in the report still renders.

Dashboard sharing

2.1050.0
  • The sharing dialog now states its rule in plain words: anyone who matches any one of the things you tick gets the dashboard.

Prepaid hour banks

2.1034.0 – 2.1042.0
  • Agencies sell a block of hours up front and draw it down as the work happens, and the CRM had no concept of it — nobody could see the balance and nobody was told when it ran out. The agreement now lives on the customer card and the hours are drawn down from PowerOffice against the projects you explicitly link, so a fixed-price website does not eat the bank. Only billable time counts.
  • Top-ups are an append-only history rather than one number. Selling the same customer 20 hours three times used to say 60, with no record that it was three sales, when, at what price or by whom.
  • A balance now has a rate of change, so '6 hours left' becomes '6 hours left, about nine days at your current pace'. The burn rate is measured over the last eight weeks and says nothing at all until there is a week of history, because a run-out date built on three days of data is worse than no date. A bank expiring with hours still on it is its own alert — those hours are already paid for.
  • A dashboard widget lists every bank that needs attention across all customers, most urgent first, so the question is not answered by opening forty customer cards. An unsynced balance always reads as unknown rather than zero, so nobody phones a customer to sell hours they already have.

Projects, and what your accounting system already knows about them

2.995.0 – 2.1037.0
  • Projects won in the CRM were being pushed into PowerOffice and nothing came back. The project number, status, progress, approved value, invoiced to date and left to invoice now appear on the customer card. A missing figure shows as a dash rather than zero, because 'no agreed value' and 'nothing left to invoice' are different answers, and a time-and-materials job with no agreed budget reports no budget rather than a growing overrun against one nobody agreed.
  • Closing a project in the accounting system now fires the same automations as closing it in the CRM. A rule such as 'when a project completes, raise a hosting and support opportunity' would previously only ever fire for projects somebody closed by hand here.
  • Projects gained a type you can manage yourself, pickers for linking work to them, and an email can now be associated with a project — or with an activity, which had never worked.
  • Elsewhere in the accounting integrations: Visma Business NXT products now import with their price, cost and stock, which had never returned a single row, and webCRM tick boxes and multi-select fields arrive as their actual values rather than as 'Yes'/'No' in English or a bracketed list of numbers.

A customer going quiet is something an automation can act on

2.1027.0 – 2.1043.0
  • Automations could react to things happening — a deal moving, an invoice going overdue, a ticket opening — but not to something not happening, which is the shape of every churn signal: nobody has spoken to this customer since April and nobody has noticed. A nightly check now fires when a customer has been quiet for as long as you specify, so 'warn me at 30 days for key accounts and 90 for everyone else' is two ordinary rules. Contact with anyone at the company counts, so an email to a person there does not leave the company looking quiet.
  • Dates in automation templates understand calendar anchors, not just offsets. You can write the start of next month, the end of the year, or the 15th, and chain them — anchored in your workspace's own timezone, because the first of the month differs by a whole month for something firing at half past midnight.
  • A workflow action that cannot possibly run can no longer be switched on. An action with none of its fields filled in was indistinguishable from a configured one at save time, so a rule could sit active and fail on every matching record. It is now treated as a draft, and a new workflow can be saved before an action has been added at all.

Signing requests from your own domain, with attachments under the seal

2.1021.0 – 2.1028.0
  • A contract for signature always arrived from a DealJourney address, which reads as phishing to a counterparty who has never heard of us and earns you no sender reputation of your own. The sender name becomes yours immediately with no setup at all, and the domain becomes yours once it verifies. Anything short of verified keeps the shared domain rather than being downgraded quietly.
  • Files can be attached to a signing request — terms, a price annex, a data-processing agreement, a drawing — and they are genuinely covered by the seal: each attachment's fingerprint is recorded when the request is sent and printed in the certificate of completion. The set is frozen once the document leaves draft, so what the certificate describes is exactly what a signer could download, and every attachment can be opened from the signing page before signing.

The Outlook add-in reads the email and proposes what to create

2.1033.0
  • The pane can now read the open email and propose what it implies — the company, the people on the thread, a follow-up — and create only what you tick.
  • Everything it proposes is checked against the CRM first, so anything already there offers 'open' rather than 'create'. A duplicate created from a suggestion is the one failure that would make the feature untrustworthy, so the model is never the thing deciding whether a record already exists.
  • An unknown sender is offered as a contact first, with lead one click away. Most of the time a new address is simply a person at a company, often one of several on the same thread, and pushing that through the lead pipeline creates work nobody asked for.

Invoices straight to Riverty for factoring

2.1044.0
  • The daily loop of exporting a file, emailing it to yourself and dragging it into Riverty is replaced by a direct connection. Riverty answers asynchronously, so an order is tracked as sent and then confirmed, and the invoice is only raised once they accept it.
  • Automatic pushing is opt-in per workspace and bounded by invoice age, so switching it on cannot dump your invoice history into a live factoring contract, and a retry after an interruption re-addresses the same order rather than factoring the same receivable twice.

For anyone building against the API

2.1020.9 – 2.1031.3
  • Five tools the MCP server advertises — pipeline stages, custom field definitions, audit entries, email templates and documents — were never granted the access they need, so a model could see the tool, call it and get a permanent refusal. Two of them are how it learns your valid stages and field names, so without them it guessed.
  • List responses no longer carry the entire raw payload of every webCRM-synced row, which across a hundred rows was most of the response, and amounts come back as numbers rather than quoted strings.
  • A manual order created through the API now keeps the contact you named. It was accepted and then ignored in favour of whichever contact on that customer was oldest, with the phone and email possibly taken from a different person again.

Smaller things

2.1026.2 – 2.1040.1
  • A file whose name contains æ, ø, å or any other non-English letter can be uploaded again. Storage rejects those outright in a file key, so an ordinary Danish or Norwegian filename was failing across chat attachments, task attachments and import drafts.
  • The setup guide can be turned off for good. Anyone who never finished it was dropped on it at every login, before they could reach the dashboard, and the only way out marked it as completed, which was not true. Dismissing is now its own choice, saved to your account so it survives a new browser or a second device, and it stops the follow-up emails too.
  • Team chat installed as an app gets its unread badge and push notifications back. Billing and plan move onto Company Profile, next to the company and invoice details rather than among the behaviour toggles. And OKR groups are now the same teams you manage in Settings, rather than a second list that drifted from the first immediately.

Every email addresses the right person

2.1000.0 – 2.1033.2
  • A message sent to several people resolved its merge fields once, against whichever record the page happened to be showing, so everyone on the To line was greeted by the first recipient's name. Fields describing the person are now rebuilt for each recipient; fields describing the deal or the company still come from the page, which is what you want when writing to several people about one deal. The same fix covers bulk send from the Customers and Leads lists, where ten selected rows received ten copies of the first company's details.
  • Merge fields can now be inserted into a subject line. Subjects already filled them in when sending, but there was no way to insert one short of typing the raw token from memory, and your own custom fields were never offered in that composer at all.
  • Emailing a contact from a customer's Contacts tab now knows who it is writing to, so the template's merge fields fill in and the email is logged against the person rather than the company. A campaign template written with the ordinary field names now sends, too — marketing segments were producing a different form of the same names, so those templates resolved nothing and the recipient was rejected outright.

The date you pick is the date that gets saved

2.1016.1 – 2.1016.3
  • Every date picker hands back midnight in your own timezone, and converting that to a universal time rolls it back a day for everyone east of London — which is every DealJourney customer. A deal closed on the 15th was stored as the 14th, and a deal won on the 1st booked its revenue into the previous month.
  • Corrected across close dates, subscription start and effective dates, activity deadlines, invoice and due dates, billing periods, renewal dates, planner and liquidity buckets, and the dates in exported file names. The Outlook add-in's suggested dates were a day early for the same reason and now land correctly.

Deal credit and win probability each say one thing

2.1009.0 – 2.1020.8
  • Contribution percentages are now stored exactly as typed. Every saved split was being rescaled to total 100, so adding a third person silently rewrote the two shares that had already been agreed. A split may now legitimately total 60 or 120, an Unassigned row shows where the remainder went rather than leaving it looking like a rounding error, and revenue reporting can never credit more than the deal is worth.
  • A deal now quotes one win probability everywhere. With manual probabilities switched on, the same deal could show three different percentages at once — the stage's on the board column, the rep's own on the card, and a third in the stage dropdown. This also closes a split nobody had reported: the dashboard and the liquidity forecast were quoting different money for the same pipeline.
  • A probability supplied through the API is now honoured rather than being overwritten with the stage default.

Editing from the list, the same way in every column

2.1011.0 – 2.1015.1
  • The same click used to mean different things in adjacent columns: text needed a hover pencil while dates and dropdowns turned the whole cell into an editor. The cell now always opens the record, and editing is always a deliberate second target.
  • Number columns can be edited in place, and they accept the '1 234,50' and '1.234,50' forms a Nordic keyboard produces rather than emptying the field. Opportunities gains name, follow-up date, close date and win probability; Activities gains the headline.
  • 'Load 20 more' on a record's timeline now delivers the twenty it promises. The filter was being applied after the page arrived, so a page of twenty could render as one entry, or none, while the button still offered twenty more.

Search that ranks, and that admits what it could not reach

2.999.2 – 2.1010.0
  • Results were ordered by category and then alphabetically, so a weak lead beat an exact customer match every time. One scale now scores every result — exact matches, word beginnings, how much of what you typed is covered, and which field it matched on — and what you open often breaks ties without ever overruling a clear winner.
  • Pages are searchable now, which is why 'user' could never find User Management, and only pages you can actually open are offered.
  • A category that ran too long used to vanish from the results with no signal, which is why search seemed to find different things each time. It now says which categories it could not reach — and it is considerably faster, so it rarely has to. Search also applies each area's own permission rule, so someone with full access to Activities no longer finds nothing in the search bar for activities they can open perfectly well from the Activities page.

Custom records grow up

2.1000.1 – 2.1026.6
  • The built-in status was a free-text box, so everyone spelled it differently and nothing could be grouped or filtered by it. An administrator can now define the allowed values, and they hold on the record page as well as the create form.
  • You can nominate the field that IS the record. For a coffee machine, the serial number is its identity, and typing a name into a separate box as well is duplicate data entry that starts drifting immediately. Nominate that field and the Name box disappears.
  • Pickers for linked records now open with a first page of results instead of a blank list, sorted alphabetically rather than by whatever was touched most recently, and a linked record shows its name as a link rather than an internal identifier in an editable text box. A new record defaults to whoever created it, and choosing Unassigned now sticks.
  • The list and record pages are properly translated into Norwegian, Swedish and Danish, having been hardcoded English. A field can also be derived from a multi-select answer rather than only constrained by one — people tick Reasons and the Risk Level falls out of them, with an administrator setting which value wins when several apply.

Subscriptions and agreements on your own terms

2.1006.0 – 2.1020.0
  • Notice periods, invoice intervals and agreement lengths can now be defined yourself, the way payment terms already could. A customer on 45 days' notice or a four-month invoice interval simply could not be recorded before — and a four-month interval carried over from a won deal was being billed monthly.
  • A subscription can start more than 90 days after the deal is won. Contracts signed a year before go-live are ordinary, and nothing behind the scenes needed the limit; anything up to five years out is accepted, with a note saying when it starts.
  • The user agreement can renew on a fixed calendar date — never, monthly, yearly, or on a specific date each year so the whole workspace re-signs together — with the existing 'ask again after N days' rule kept exactly as it was for anyone already using it.

Contract templates: more of the document under your control

2.1013.4 – 2.1030.0
  • Text sections can be placed below the line items as well as above them, so a delivery clause can sit under the numbers it refers to. Numbering stays continuous across the split, so a customer never sees a contract jump from 3 back to 1.
  • Each quote column's printed width is adjustable, which is what stops a heading truncating to three letters while the description column has room to spare. One setting moves the online offer, the exported PDF and the printed contract together.
  • General and Current User fields — today's date, the deal owner's name for the signature block — now resolve in a generated contract. They were reaching the customer as raw placeholder text. Each row in the details block (Created, Expires, Contact and the rest) can also be switched off, and the section-order setting is now two readable cards rather than a dropdown that opened as a page-wide strip.
  • A contract can be generated from the quote tab itself, rather than only from the Contract tab.

Meetings: where it is, who is coming, and an invitation from your own template

2.1012.3 – 2.1025.0
  • Booking from a company card gave a blank Location box. Two quick picks now fill in the customer's address or your own in one click, and the form lists every company involved rather than only the record you started from.
  • Every way into booking now offers the same list of people. Booking from a company's Meetings tab offered your colleagues but none of that company's own contacts, and searching for attendees now searches everyone rather than filtering the first thousand names alphabetically.
  • Invitations can come from your own email template, subject line included, and the merge fields for a meeting finally include when and where it is — date, time, duration, location, meeting link, organiser and attendees. You can also send an ordinary email straight from a meeting, pre-addressed to the attendees.
  • A meeting deleted in Outlook now stays deleted. Microsoft sends only the properties that changed, and every property it did not mention was being written as empty — so a cancellation could be undone and a meeting could lose its title, description, location or guest list.

Import, in your language and with your own fields

2.1015.0 – 2.1021.1
  • The import page is translated: the step rail, the data-type cards, the tabs and the whole recent-imports table down to its status labels were English regardless of your language setting.
  • A contact import now keeps birthdays and your own custom fields, both of which were silently dropped while the row still reported as created, and Scandinavian date formats no longer fail the row.
  • A single 'Full name' column can be mapped onto a contact. The import could already split one, but the option was never offered — and the untouched original is kept on the contact in case the surname has more than one word.
  • The duplicate-review table is readable in dark mode, where matched rows had been painting near-white behind near-white text.

Mail sent through Microsoft 365 reads as mail

2.1020.2 – 2.1020.7
  • Every message sent through Microsoft 365 previewed in the Emails tab as a fragment of stylesheet rather than the greeting, showed no message at all when opened, named 'microsoft' as the sender and said 'To: unknown'. All four now read correctly.
  • Email rows on a record's timeline can be opened and read, which was never possible before — the row showed a two-line preview and nothing else.
  • An email logged from the Outlook add-in now looks like any other. The two rows for the same message looked nothing alike: the one from the add-in showed a list of addresses and not a word of the mail.

A pass over speed and small irritations

2.987.0 – 2.1020.4
  • The app no longer downloads the whiteboard editor, the map library and the spreadsheet parser before it draws anything: the code fetched up front drops from around 12.5 MB to 5.2 MB, and each of those loads only when you open the page that needs it.
  • Sorting the Customers list is roughly twice as fast, and the same fix applies to Contacts, Opportunities, Leads and Subscriptions. Signing in is faster too, with the three startup requests now running together rather than one after another.
  • Long dropdowns scroll normally instead of creeping a few pixels at a time under the cursor. The time picker opens as a small panel rather than filling the screen, the dashboard's sticky header is no longer see-through, and the customer card's tab strip sits at a fixed height with anything that does not fit moving into More instead of being clipped.
  • The browser tab now says which page — or which record — you have open, rather than ten tabs all reading 'DealJourney CRM'. And an error you see now says something useful: a blanket rule had been replacing deliberately written guidance with 'Internal server error'.

Any date, without scrolling for it

2.978.2 – 2.981.3
  • Every date field without its own range refused anything more than fifty years old, which made most birthdays impossible to enter. A full lifetime is now selectable.
  • That left a dropdown of around 170 years, which was worse. Years are now typed: enter 1953 and the list is one row. Arrow keys, Enter and clicking all work, and phones keep their native picker.

Quotes: the columns you want, at the size you want them

2.983.0 – 2.992.2
  • There are now two independent sets of columns — the ones you work with while building the quote, and the ones the customer receives — each reorderable by dragging, and each overridable for a single offer without changing the template behind it.
  • Text size and margins are adjustable as bounded presets, so a quote that runs just over a page can be made to fit without redesigning the template.
  • The offered price per unit is now typed directly, with the discount as the figure that moves and gross margin following from what the customer actually pays. Two pricing bugs were fixed alongside it: a fixed '200 off' line was being applied as 200% off, and editing two fields in a row kept only the last.

Dashboards: a library instead of a dropdown

2.984.0 – 2.1013.0
  • Choosing a dashboard opens a searchable library with a thumbnail of each layout, grouped into yours, ones you have published and ones shared with you. The old dropdown mixed choosing with nine unrelated actions and grew a row per dashboard, which stopped working the moment you held more than a handful.
  • Sharing is now one question with one answer: only me, everyone, or specific people, access levels and teams. It used to be split across two menu items, and the one holding teams and named people was the one nobody found.
  • Switching dashboard while editing used to leave the previous dashboard's widgets on screen under the new name. It now asks whether to save, discard or stay, and nothing is thrown away silently.
  • Widgets no longer leave a hole in the middle of an oversized card — eight of them were pushing their content to the top and bottom edges with a void between. The tasks widget is also renamed Upcoming activities, which is what it lists, and activity charts now count the day work is due rather than the day the record was created, which for imported data meant everything landed on the import date.

Birthdays

2.988.0
  • Thousands of contacts already had a birthday stored and there was no way to see one without opening that contact on that exact day. There is now a widget showing today and the next thirty days, a badge on the contact card, and a heads-up in the bell before the working day starts.
  • Colleagues have birthdays too: an optional birth date on your own profile, which you set and can clear yourself, with the age hidden when the stored year is a placeholder.
  • Contacts with an owner notify their owner; everything unowned collects into a single daily digest rather than one alert per person per colleague. Both channels have their own notification preference, and the whole feature can be switched off for a workspace that would rather not act on birth dates at all.

AI credits, out of the way until they matter

2.986.0 – 2.989.0
  • The chat header carried a balance that ticked down on every prompt, which made Dealy read as expensive at a rate a CRM conversation does not actually burn. It now shows nothing until there is something to act on: below your own threshold, empty, or frozen.
  • The balance, top-ups and the warning level live in Dealy's settings, and you choose how low the balance gets before it says anything — set per person, in whole credits, or zero to never be warned.

Talking to Dealy

2.981.1 – 2.1004.0
  • Dealy changed language mid-call, sometimes mid-sentence, because nothing pinned a language for a conversation. It now decides once from your first sentence and holds it for the whole call, translating anything it looks up before speaking it. The voice is male, matching how Dealy is presented everywhere else.
  • Names are what voice gets wrong, and a wrong name cascades into researching the wrong company and saving the wrong thing. When Dealy is unsure it now puts the candidate spellings on screen as a card, says out loud that they are there, and waits — with a box for 'none of these, it is actually this'. A single confident match is still just used, because confirming every lookup is its own kind of annoying.
  • A call now leaves a real conversation behind: spoken turns land in the Dealy thread as ordinary messages you can scroll back through. The full-page assistant is also usable on a phone, where the bottom navigation bar had been sitting directly on top of Send, Attach and the call button.
  • Voice can now do the work rather than just answer: quick lookups, capturing a note or an activity while your hands are busy, and creating customers, contacts, leads and opportunities. Calls draw on your AI credits, with spoken audio metered separately from text.

Dealy writes to the timeline you actually read

2.998.1 – 2.999.3
  • A note saved by Dealy was written somewhere the customer page does not read from, so it reported success and then did not appear. Dealy read that same place back, so it could quote its own note while you looked at an empty timeline. Notes now go where the timeline is, and Dealy can finally read the notes a person wrote — including in entity summaries and meeting briefs.
  • Saying 'AS' after a company name no longer stops Dealy finding it. Searching for a company with the legal form spoken on the end, where the record is stored without it, returned nothing and Dealy would then offer to create a duplicate, which happens constantly in voice because people say the legal suffix out loud far more often than they type it.
  • Dictation now transcribes the language you spoke rather than the language of your interface. Most Nordic users run DealJourney in English, so Norwegian speech was being translated into English on the way in, and the reply then carried on in English.

An automation that is failing tells you so, in words you can act on

2.967.7 – 2.973.0
  • A workflow that failed on every event used to look exactly like one that failed twice last spring: no notification, and a counter with no sense of time. A rule that is failing now carries a badge saying so, with when it started and what went wrong, and the first failure of the day raises a notification — one per rule, so a rule firing against fifty records does not raise fifty.
  • Errors were written for whoever reads a log. Each one now leads with the cause in plain language and says whether it is something you can fix, a problem with the record it ran on, or a problem at our end, with a 'What to do' line and the original text kept behind a toggle.
  • Test run in the rule editor now matches the same records a live run would. Rules that react to something changing — a stage moving, a field being edited — could never match while being tested, so a rule could look broken when it was fine, or fine when it was broken.

The Outlook add-in gets easier to actually use

2.967.2 – 2.976.1
  • 'Create lead' looked dead. The form was rendering below the fold of a narrow pane, so clicking the link appeared to do nothing at all. Forms now cover the pane, with a back arrow and Escape to close.
  • Names now fill themselves in for everyone on the email rather than only the sender, handling both the 'first last' and 'last, first' forms Exchange emits — and falling back to the address rather than leaving the field blank.
  • A domain match is a suggestion, not a fact. Adding someone as a contact now asks which company, pre-selected to the suggestion with the reason spelled out, and a colleague on your own domain is no longer matched to a customer account at all.

Tags across many tickets, longer messages, and a search box that remembers

2.966.2 – 2.978.1
  • Bulk actions on tickets gained tags, which they never had, and each attribute now opens its own submenu instead of stacking every status, priority and teammate in one long column. Tags are tri-state across the selection so you can see what applies to all, some or none, the assignee list is complete and searchable rather than capped at ten, and your own custom statuses are offered instead of a fixed six.
  • Chat messages can now be 100,000 characters rather than 5,000, so ordinary pasted content stops being rejected.
  • Text typed into a list-page search box now survives the browser discarding and reloading a tab, for up to twelve hours.
  • A custom navigation menu built for one access level no longer replaces the sidebar for everybody, a heading is no longer left standing over a single item once features are switched off, and a menu that ends up empty falls back to the standard sidebar rather than leaving a blank column.

A knowledge base that reads the same everywhere

2.979.3
  • An article now looks identical in the editor, the in-app preview and the public help centre, rather than three variations on the same content.
  • The editor's toolbar gained the buttons it was missing — links, tables with real borders and resizable cells, inline code, code blocks, headings, strikethrough and undo — all of which the editor already supported but never offered a way to reach.
  • The article tree holds its width instead of collapsing to a sliver, remembers what you expanded, and reveals the branch of whatever you are reading.

Reusable product groups, offer revisions, and price per unit

2.937.0 – 2.940.1
  • Define a named group of products with default quantities once, then add all of them to a quote in a single click instead of re-adding the same five or six lines on every offer. Groups store no prices, so they always expand at today's catalogue rates.
  • Regenerating an offer now keeps the previous one as a numbered revision with its line items and totals, so the version a customer actually received is still there to look at. Editing lines does not create a revision; publishing does.
  • Quotes gain a price-per-unit column showing what one unit costs after the line discount, and editing gross margin now moves the selling price while holding your cost — which is the direction a rep actually works in.

Threads that only interrupt the people in them

2.941.4 – 2.965.11
  • A reply in a thread used to count as unread for every member of the channel, so a conversation between two other people, on a message you never touched, lit up your sidebar. Unread now follows the thread — you wrote it, you replied, or you chose to follow it — while a mention still reaches you regardless. Opening a thread does not subscribe you to it.
  • Threads you follow appear as rows under their channel, so the count points at something you can act on, and the 'N replies' line shows who is in the thread and when the last reply came.
  • Messages from the same person group over half an hour rather than three minutes, so an ordinary back-and-forth stops being a stack of repeated name headers, and each person now leaves one read receipt on the newest message they have seen instead of one on every message. Chat also respects the 24-hour clock setting, which it had simply never read.

The Outlook add-in, rebuilt

2.946.2 – 2.961.0
  • The pane now resolves everyone on the email — sender, recipients and anyone copied — rather than just the sender, and tells you for each whether they are a contact, a lead, or unknown. If nobody matches but the sender's domain belongs to exactly one of your customers, it says which company they are at.
  • It does things now, too: log the email, or create a task, note, deal, ticket or lead, or add the person to the company they were matched to. Logged email lands on the customer's real timeline, and logging the same message twice does not duplicate it.
  • It also works while you are writing. Before you send, you can see who the recipients are in the CRM, and insert a saved email template with its merge fields already filled in — with any that could not be filled named for you, so gaps are visible before the message goes rather than after.
  • The whole pane is rebuilt on the same design as the rest of DealJourney. Note that re-uploading the add-in will ask users to consent again, because it now needs permission to write into the message you are composing.

Arrange the customer card the way you work

2.952.0 – 2.965.0
  • The customer card carries more than fifteen tabs and most people use a handful. You can now pin the ones you want on the bar and everything else moves under 'More', one click away — nothing becomes unreachable, which is what makes hiding a tab a safe thing to do. The choice is yours rather than an administrator's.
  • The layout editor now shows what you actually get: blocks and groups measure identically whether you are editing or viewing, so leaving edit mode no longer shifts the layout you just arranged. It has an Undo button, and both halves autosave the same way instead of one saving automatically and the other waiting for a button.
  • Custom tabs can pick an icon rather than all being created alike, and tab layouts now work for opportunities, contacts and your own custom records rather than customers alone.

Automations that fire on a date, and a menu you decide

2.951.0, 2.953.0, 2.954.0, 2.944.0
  • Every automation trigger until now was an event — somebody saved a record and the engine reacted. Nothing fired from time simply passing, so 'three days before the close date' could not be expressed at all. Pick any date field, standard or custom, set an offset in days, and choose whether it fires once or keeps going until the record no longer matches. Subscriptions become a trigger for the first time, since renewal and end dates are the whole point.
  • Two custom fields can be kept in step with each other, so a record cannot claim a high risk level while carrying only low-risk reasons. You state which dependent options each controlling value allows, and anything you leave out stays unconstrained.
  • The main menu is yours to arrange: reorder it, group it, hide pages, add your own links, and build more than one menu assigned to different access levels or teams. Hiding is presentation only — it never grants or revokes access, which stays entirely in access levels.
  • A deal's win probability can optionally be set by hand rather than following its stage, and an override survives being dragged to another stage.

A contract editor that looks like the contract

2.955.0 – 2.964.0
  • The interactive editor now draws each block the way the counterparty will see it, on a wider page, with the block controls moved into their own margin instead of sitting on top of the card's edge.
  • Contract bodies can carry tables, page breaks and text alignment, so a schedule, an annex or a salary band can go straight in — the thing people paste in most and previously could not.
  • There is undo across the whole document, not only inside a text block, so deleting a clause or reordering the contract is recoverable. Blocks can be inserted anywhere rather than only appended and dragged up.
  • Signing invitations now come from an address that can be replied to. A counterparty who hits Reply to ask a question or say the link will not open reaches a person, and when nothing is configured that person is whoever created the document.

Marketing journeys that actually branch

2.960.1, 2.962.0
  • A branch step now sends people down different paths depending on whether they opened or clicked, and 'did not open' and 'did not click' join the conditions you can branch on.
  • The journey is laid out as a tree rather than a flat list, so both arms of a branch are visible and editable side by side, each able to end the journey on its own. Steps nothing points at are collected into a warning rather than sitting in the list looking live.

Custom records, checklists and a signed user agreement

2.909.9, 2.933.30, 2.936.0, 2.946.0
  • Custom records now use the real Activities module rather than a separate copy of it, so an activity on one appears in Activities like any other, and they can be linked to tickets and invoices as well as the record types they already reached.
  • Checklist steps can drive automations. 'A checklist step was completed' was already available as a trigger, but the two checklist actions were missing from the picker, so a checklist could start an automation that was unable to touch a checklist back.
  • A workspace can require a signed user agreement before anyone reaches the CRM. Paste the text, optionally ask for a re-signature each year, and get a report of everyone in the workspace including those who have not signed yet — a report showing only signatures cannot answer the question it exists for.

Talk to Dealy like a phone call

2.928.0
  • Speak to Dealy hands-free and it goes and does the work while you are still on the line, then tells you what it found. 'Catch me up on the customer I'm about to visit' is the case it was built for.
  • A deep lookup takes ten to thirty seconds, and that is designed for rather than hidden: it says something while it waits, keeps listening so you can carry on talking, and delivers the answer when it lands.
  • It reaches the CRM through exactly the same permissions, approvals and workspace boundaries as the Dealy you type to.

Dealy remembers, searches and reads

2.922.0 – 2.925.0, 2.933.0
  • Conversations name themselves in your own language instead of showing the first 200 characters of what you typed, and search across them now tolerates a typo, a reordered phrase and two words sitting apart — including company names Dealy looked up for you that appear nowhere in the conversation text.
  • A long answer keeps running after you navigate away, and now tells you when it is done rather than leaving you to go back and check.
  • With an admin's permission, Dealy can also open the documents in a record's own folder in SharePoint, OneDrive or Google Drive — useful if most of what you know about a customer predates the CRM and lives in Word and Excel. It only ever reads the folder bound to a record you can already see, and the capability is off until it is switched on.

Open things in a new tab, and share a dashboard properly

2.933.13, 2.936.2, 2.945.0
  • Table rows, cards and board tiles were not real links, so middle-click did nothing and Ctrl-click navigated in place. They behave like links everywhere now — 21 lists, every card view, all four boards, search results and dashboard widgets — with right-click 'open in new tab' and the hover preview that comes with it.
  • A dashboard can be shared with any combination of access levels, teams and named people, rather than only the three built-in membership roles. Anything already shared the old way keeps working.
  • In chat, the thread, linked work and members panels now share one resizable shell and one at a time, instead of the thread silently winning.

Every email we send you, in your own language

2.918.1 – 2.929.0
  • The emails the platform itself sends — sign-in codes, trial and welcome messages, team invitations, password resets, payment requests and automation alerts — each had their own hand-built design, in four visual styles and four different shades of our own purple.
  • They now share one restrained layout with no decorative banners, and the customer-facing ones read in Norwegian, Swedish, Danish or English depending on who is receiving them. Dates follow the reader's own conventions rather than the server's.
  • Every one of them also now carries a plain-text version alongside the formatted one, which is a small thing that meaningfully helps mail reach the inbox.

Read the changelog without leaving DealJourney

2.916.0
  • Clicking the version number under the logo now opens this changelog inside the product. It reads the same feed as our website, so there is only ever one copy of it.
  • Entries are deliberately not filtered by what your plan includes — reading about something you do not have is more useful than not knowing it exists.

Channels you can recognise, and presence that means something

2.918.0, 2.920.0, 2.929.6
  • Channels sort newest-first rather than alphabetically, so the conversation that just moved is the one you see. Each can carry its own icon, so ten channels stop being ten identical hashes.
  • Names are free-form now. A channel named after a customer can respect how that customer spells their own name rather than being forced into lowercase and dashes.
  • The presence dot means availability — whether the person is in DealJourney at all, not whether they happen to be looking at chat — and a direct message shows 'Active now' or when someone was last around. Clicking it explains all three states, and losing window focus for ten seconds no longer marks you away.

Bring someone from outside into a conversation

2.906.0, 2.910.0
  • You can now invite a person who has no DealJourney account into specific channels by email. They get a link straight into the conversation — no signup, no password, no seat, and no access to the CRM around it.
  • Conversations can also span workspaces, so a shared channel with a customer behaves like any other channel on both sides, unread badges included.

Route incoming tickets by rule

2.915.0
  • Default assignment used to be one setting for the whole workspace — a single person or a single team, with no conditions — so anyone running several shared mailboxes had to send everything to one place.
  • Assignment now resolves in order: an explicit assignee, then the first matching rule, then the receiving inbox's own default, then the workspace default. The common case, 'everything sent to support@ goes to Anna', needs no rule at all.
  • Assigning to a team finally means something, with a choice between a shared queue and true round-robin that skips anyone who has left. A rule can also target the customer's own account manager rather than a named person.

Document templates, VAT, and the order your contract reads in

2.909.0, 2.913.0, 2.941.0
  • Documents & Signing gains a template library: create, rename, duplicate, set a default and archive, with an editor for a template's contents and a set of starters including an onboarding form.
  • Contracts can show VAT — nothing, a short 'all prices exclude VAT' note, or a full breakdown with subtotal, VAT by rate and total including VAT. Rates are taken from each product and frozen onto the contract when it is generated.
  • A template can also decide which product section comes first, for anyone who sells the one-time product as the headline and the subscription as the add-on.

Quotes and contracts speak in the cadence you priced in

2.904.11 – 2.904.16
  • Everything recurring used to be presented per month, whatever cadence the product was actually priced in. A product sold at 875 kr a year now reads as 875 kr a year — in the draft, the online offer, the contract and the PDF alike — with the wording following the products rather than assuming months.
  • Quarterly and half-yearly pricing gains proper wording in all four languages, where previously only monthly and yearly existed. A quote mixing several cadences falls back to a monthly basis and labels each line with its own.

Calls land on the timeline with a summary

2.905.0 – 2.905.4, 2.914.0
  • Incoming and outgoing calls now log themselves against the right person, with the recording found, transcribed and summarised onto the record automatically, and the pop-up arrives while the phone is still ringing rather than after you have answered.
  • Because live logging deliberately ignores callers who are not in the CRM, a new 'Hent samtaler' button on a contact goes back and fetches their past calls. It shows you what transcribing them would cost first, and files each one at the date the call actually happened.
  • Very short recordings are skipped rather than transcribed, since a few seconds of near-silence is a misdial or a voicemail beep and not a conversation worth putting on a customer's record.

Hide archived rows on contacts and products too

2.907.0
  • Customers could already hide rows archived in your accounting system. Contacts and products could not, so an archived company's contact person still appeared as active and products you had archived stayed in the picker.
  • A contact counts as archived either on its own or when every company it belongs to is archived — one live company keeps it visible.

Dealy gets to the point

2.875.0 – 2.879.7
  • Dealy used to open almost every request by publishing a plan and then stopping, so a plain 'create a lead for Jane Holm at NordicTech' cost a whole extra round-trip before anything happened. It now acts straight away, and never spends a turn on a checklist alone.
  • Work it notices but does not do is parked as a card you can act on later instead of being buried mid-answer, and you can highlight part of a reply to quote it into your follow-up.

A performance pass on the largest accounts

2.892.1 – 2.904.2
  • The activities list, the customer list total and the opportunity board's notes lookup were each doing far more work than the page needed. On an account with 271,006 activities a single export page went from 5.8 seconds to 9 milliseconds.
  • Opening a ticket used to transfer 2.22 MB where the text was about 5 KB, because images from the original email were written into the page itself; they are now stored as attachments and fetched the way images normally are.

Define for yourself who is responsible for a deal

2.900.0 – 2.902.0
  • Rather than hard-code somebody else's organisation chart, the roles around a deal are now fields each workspace defines for itself, including a new field type that holds a real DealJourney user with an avatar picker wherever fields appear.
  • The opportunity overview gains a People card showing avatar, role and name.

Clicking an email address opens our composer

2.891.0 – 2.892.0
  • The address itself used to hand off to whatever mail program the computer has, while the icon immediately beside it opened the composer inside DealJourney — two controls that look the same behaving differently. They now agree, on every record type.

Tidier ticket lists

2.899.6 – 2.901.16
  • Rows were four lines tall because status and priority each took a badge on a line of their own, and both read the same on nearly every row — status is implied by the tab you are already in, and medium is the default.
  • Rows are now three lines, with status as a small dot and priority shown only when it is actually high, so an urgent ticket stands out instead of everything being coloured equally.

The Activity feed reads like the messages it points at

2.865.11 – 2.904.3
  • Every item is now a card that looks like the message itself — sender, avatar, the channel and the message properly rendered — grouped by day, with anything new since you last looked marked.
  • An item is marked read when you actually open it rather than the moment the feed appears, and opening one shows that thread beside the feed rather than navigating away.

Exports contain everything you filtered for

2.874.9 – 2.892.1
  • Past about 1,500 records the list loads a page at a time, and the export button was taking whatever was on screen — roughly 25 rows — producing a plausible-looking file with nothing marking it partial. Opportunities, leads, activities, products and subscriptions all now fetch the whole filtered set.
  • Every export also shares one set of rules for quoting values, so a line break pasted in from Outlook can no longer end a row early and push the following columns under the wrong heading.

You find out when an integration breaks, not your customer

2.884.0 – 2.887.2
  • Most integrations never re-checked a credential after setup, so a revoked token or a downgraded licence sat behind a green badge indefinitely — one customer had a healthy-looking phone connection for a week while two of their four users could not place a call.
  • Marketplace cards now show the real health of a connection, and a banner explains what actually went wrong and who can fix it, in your own language.
  • Telavox, Gmail and Fortnox are per-person connections, so their cards say so and show admins how many of the team are set up.

Your own custom fields as merge fields in email

2.883.0 – 2.887.6
  • Custom fields already worked when an email was sent — they were simply never listed, so you had to know they existed and type them by hand. They are now offered everywhere they should be, limited to the record type the template is for.
  • Opening a template also lives in the address bar now, so Back closes the editor rather than leaving the page, a refresh reopens what you had, and a template can be linked to.

Filters and dropdowns handle your imported fields

2.887.5 – 2.887.7
  • Filtering on a custom field imported from another system asked the database for a column that does not exist and quietly did nothing. It now works across customers, contacts, leads, opportunities, subscriptions and activities.
  • A dropdown whose saved value differed from the configured option only by capitalisation rendered as though nothing had been chosen; it now matches regardless of casing.

Video calls are recorded against the CRM

2.878.0 – 2.882.0
  • A call only left a trace if it was started from a record, so ad-hoc calls were ghosts and the Meetings tab sat conspicuously empty. Every call now creates a meeting record with transcription, so summaries, action items and transcripts reach the customer.
  • Rooms and invite links work properly, the shared action-item list is genuinely shared, and everyone in a call is told plainly when recording is happening.

Deadlines can carry a time of day

2.866.0
  • 'Call them back Thursday at 14:00' used to have to live in the headline, because a deadline could only hold a date. An activity's deadline now takes an optional time alongside it.

Split the credit for a deal

2.870.0 – 2.871.0
  • A deal can record any number of contributors, each with a percentage of how instrumental they were, always adding up to 100 — deliberately separate from the sales rep slots, because somebody can be central to a deal without sitting in one.
  • The money appears where it belongs instead: on the customer's record and in sales reporting, both drillable.

Scheduled report emails actually send

2.874.0 – 2.903.0
  • The Schedule email dialog had been there since May and had never sent a single email — schedules could be created and shown as active, but nothing behind them ever read them.
  • They now run daily, weekly, monthly or quarterly in their own timezone, so 'Monday 08:00' survives the clocks changing, and render to email, PDF, spreadsheet or CSV.
  • Reports also gained Excel export with column selection, and the emails are branded and readable in dark mode.

Group your chat channels into categories you make yourself

2.872.0 – 2.882.3
  • Create categories, drag channels between them, reorder within a group and collapse the ones you are not working in. Categories are shared with the team, with your own filing, ordering and collapse state layered on top.

Import files with Norwegian characters in them

2.859.1 – 2.859.3
  • One customer could not import their customer list until they had replaced every æ, ø and å in it — a workaround that corrupts the legal names of the very customers being imported.
  • The importer now works out the file type, character encoding and column separator deliberately instead of guessing, so names stay intact and columns cannot slide sideways. Norwegian column headings map themselves.
  • Column matching also stopped confidently suggesting the wrong field: on a real 1,888-row export it went from five wrong suggestions out of ten to five, all correct.

Build a dropdown by pasting the whole list at once

2.858.0
  • Options for a dropdown or multi-select field can be pasted straight from a spreadsheet instead of typed one at a time. Commas are left alone, since real labels contain them, and anything already in the list is skipped and reported rather than silently dropped.

Pause an accounting sync without disconnecting it

2.862.0 – 2.865.9
  • Connecting an accounting system used to mean everything synced every fifteen minutes forever, with no way to pause short of disconnecting — so nobody could hold their data still long enough to check something against it.
  • There is now a switch per system per workspace, honoured by every scheduled job, while every Sync now button keeps working.

Suppliers stop filling up your customer list

2.864.1 – 2.879.5
  • Every accounting system stores suppliers alongside customers, and on some workspaces they were between 40% and 80% of what you were looking at.
  • They are now hidden by default with a toggle to show them, they are no longer pulled across unless you ask for them, and every count on screen agrees with the list underneath it.

Automations you can see into

2.856.11 – 2.904.0
  • A new Runs view lists every run across every automation, newest first and filterable by outcome. A failed run says which step it stopped at, of how many, and why.
  • Automations can be saved as half-finished drafts, activity triggers can be narrowed by headline and status, and the per-automation figures stopped counting the nightly health check as real activity.

Tidying a field off a record no longer switches it off everywhere

2.860.0 – 2.861.1
  • Hiding a field from a customer or contact sidebar also removed it from custom tab layouts, forms, imports and automations, because there was only ever one setting behind both. Hiding from the sidebar is now its own thing.

Easier to use on a phone

2.854.2 – 2.854.3
  • The small icon buttons in toolbars, the actions at the end of a table row and the X that closes a dialog were all sized for a mouse pointer. They now respond across a noticeably larger area on phone-sized screens while looking exactly the same.
  • Fields and pickers that search for a customer had been returning no matches at all, whatever you typed; they work again.

July 2026

A month of foundations: documents you build and send for signature, a marketing module reaching from a landing page through to attributed revenue, custom objects, questionnaires, three more accounting systems, and the main lists rebuilt so they stay fast at any size.

Products can carry a picture, and it shows on the quote

2.846.0
  • A product can hold an image that appears as a thumbnail while the seller edits the quote, as a column on the offer the customer opens, and on the generated PDF.
  • The picture is copied onto the quote line, so a signed document keeps showing what the customer actually saw even if the product changes later.

An accepted quote creates the order in your accounting system

2.847.0 – 2.848.0
  • Accepting or signing a quote now creates the sales order too, for e-conomic, PowerOffice, Tripletex and Visma Business NXT.
  • It stays off until you switch it on, can only ever create one order per accepted quote however many times acceptance is triggered, and every attempt shows on the deal's timeline with a retry if something went wrong.

Marketing, end to end

2.849.0 – 2.854.0
  • Forms and hosted landing pages capture leads from your own website, with visitor tracking and submissions arriving in an inbox.
  • Lead scoring splits the way marketers think about it — a grade for who somebody is, a score for what they have done — with lifecycle stages from Subscriber through to Customer, so conversion can be measured rather than guessed.
  • A content studio for composing newsletters properly, attribution under eight models at once, and everything needed to send bulk email responsibly: a suppression list, a preference centre, confirmed opt-in and one-click unsubscribe.

A security pass across the platform

2.845.1 – 2.845.4
  • A review closed twelve places where a query could have returned another company's rows, three endpoints that revealed anyone's roles and workspaces, an email hook that accepted unsigned calls, and sixteen database-maintenance endpoints reachable by any signed-in user.

Pipeline totals count open deals only

2.845.5
  • The KPI cards were adding won and lost deals into the pipeline figures, so the totals grew every time a deal closed and booked revenue was reported back as forecast.
  • They now show open pipeline, value per open deal and a win rate, reading won and lost from your own stage settings rather than from fixed English names.

Work a calling list one customer at a time

2.833.0 – 2.844.0
  • A focus view shows one customer at a time with click-to-call, a call timer and buttons to log the outcome, and scheduling a callback creates a follow-up for whoever should get it.
  • The set of outcomes is yours to define, sellers can be limited to their own customers, and the whole thing can be started from the territory map over the pins you have been assigned.

Half-finished work survives a reload

2.838.0 – 2.845.7
  • Browsers quietly discard background tabs when memory runs low and reload them blank. Tasks, tickets, contracts, emails, notes, customer creation, portal replies and the planner now offer to restore whatever you had typed.

The liquidity forecast reads your real bank balance

2.824.4 – 2.836.1
  • Day-zero cash is now read from whichever accounting system you have connected rather than being a figure somebody typed once, and you can see which account it came from and when it was measured.
  • Money the company legally cannot spend, such as withheld employee tax, is excluded, and the cost side of the forecast now carries your supplier invoices — it had been revenue-only for everyone.

Projects get a proper cockpit

2.818.0 – 2.823.0
  • A project's Overview now shows progress, tasks done, hours against budget and the deadline at a glance, with milestones, an activity feed and links to the customer, deals, goals and team.
  • Projects can have their own storage folder created automatically, and can be turned into a delivery document sent for digital sign-off.

Order automation, hardened

2.807.0 – 2.815.9
  • The order bot runs two jobs at once, the Orders page gains a queue showing what is waiting, running or failed, and orders can be sent in bulk.
  • It now records the evidence around each submission and gives a definite verdict on whether an order actually reached the provider, so a retry cannot quietly create a duplicate.

The planner, day to day

2.804.0 – 2.812.0
  • Deleted tasks can be restored, rows drag into the order you want, tasks and whole projects can be duplicated, and files attach to any task.
  • Assignees get a reminder when a task is due today and again when it goes overdue — recurring tasks also start being created automatically, which had quietly never run.

Signing in, invitations and password resets, rebuilt

2.734.0 – 2.736.0
  • Password resets no longer break when an email scanner opens the link first, invitations can be declined, resent and accepted again safely, and there is a page listing the invitations waiting for you.

Documents & Signing

2.722.0 – 2.795.0
  • Build a document in a full-width editor with rich text, merge fields that fill themselves from the deal, and your own branding, then send it for signature.
  • Signers fill in fields as they go — text, dates, checkboxes, dropdowns, initials and signatures — and clauses can be set to appear only when they apply, so one template adapts to whoever is signing it.
  • Owners and signers can discuss a document in a comment thread, and a signed or declined document can trigger an automation.

Team chat catches up

2.751.0 – 2.803.0
  • Search, polls, link previews, user groups, guest access, voice huddles and webhooks, plus forum-style channels and threads that track their own read state.
  • A new Activity feed collects mentions, replies and quotes of your messages in one place, and Dealy answers questions right inside a conversation.

Tools for accounting firms

2.708.0 – 2.836.0
  • Period-close checks, an anomaly engine and a missing-documents list, plus a client portal where your clients upload what you have asked for and follow progress without an account.
  • A reporting calendar tracks the statutory deadlines for Norway, Sweden and Denmark — VAT, payroll, tax and annual accounts — across all your clients.

Native bookkeeping

2.673.0 – 2.841.0
  • Keyboard-driven voucher entry with remembered supplier accounts, Norwegian payroll rules, departments and projects on ledger lines, budget against actual, and an opening balance imported from your previous system.
  • Produces proper SAF-T 1.3 and MVA-melding files in Skatteetaten's own formats.

Dashboards you build yourself

2.688.0 – 2.800.0
  • A much larger widget library, ready-made starting layouts to pick from, and an editor to arrange your own — now the default dashboard for everyone.
  • Every widget only ever shows the figures you are allowed to see.

Projects and tasks, rebuilt as editable grids

2.703.0 – 2.717.0
  • Tasks and projects are now Excel-like grids you edit inline, with hours tracking, roll-ups per project, filters, per-column menus and reusable task templates.

A developer portal for the people building on DealJourney

2.697.0 – 2.699.0
  • Integration builders get a self-serve area with a sandbox, scoped API keys, webhook monitoring and guides.
  • Partner integrations can subscribe to real-time webhooks for leads, contacts, customers, opportunities and activities, with signed delivery and retries.

Questionnaires

2.706.0 – 2.723.0
  • Build a questionnaire visually, send it as a branded invitation, and collect answers through a link that needs no login.
  • Describe what you want in plain language and Dealy drafts the whole thing for you.

Documents where the work is

2.660.0 – 2.672.0
  • Every customer gets its own SharePoint folder linked from their record, ticket attachments file themselves there, and deals can optionally get a folder of their own.
  • Office documents can be edited in place and shared as links without downloading them first.

Private meetings, and calendar events that find their own contacts

2.639.0 – 2.656.0
  • Individual calendar events can be marked private so their details are hidden from other people in your workspace, and meetings link themselves to the matching CRM contacts automatically.

Customers archived in your accounting system stay out of the way

2.642.0 – 2.698.0
  • Customers marked inactive or archived in Tripletex, Fiken, e-conomic, Fortnox and the rest are now hidden from your default customer view, with a toggle to bring them back when you need them.

VAT and sales accounts on your products

2.622.0 – 2.631.0
  • Products can carry a Norwegian MVA code with gross and net prices worked out for you, plus the sales account they should be booked to — both read from your accounting system rather than typed in twice.

Three more accounting systems

2.609.0 – 2.661.0
  • Visma.net, Uniconta and Unimicro join the systems DealJourney syncs customers, contacts, suppliers and products with.

See who's calling before you pick up

2.628.0
  • When a call comes in through Telavox, a popup identifies the caller from your CRM, so you know who you are talking to before you answer.

Custom objects — build the parts of the CRM we didn't

2.638.0 – 2.652.0
  • If your business tracks something DealJourney has no page for, you can now define it yourself: your own fields, your own records, its own list and detail pages, and a place in the sidebar.
  • Custom records can point at each other, carry a full activity timeline, and be described to Dealy in plain language to have the fields drafted for you.

Four new ways to look at your work in the planner

2.589.0 – 2.607.0
  • Switch tasks between a table, a kanban board, a month calendar you can drag things around in, and a Gantt timeline with dependencies.
  • Tasks can have subtasks and a time estimate, and time off can be requested and approved without leaving the planner.

A marketing module, from the ground up

2.592.0 – 2.598.0
  • Build campaigns and audience segments directly in DealJourney, with reporting that ties them back to the revenue they produced.

Lists that stay fast, however much data you have

2.589.0 – 2.624.5
  • Customers, contacts, activities, invoices, orders, leads, subscriptions and products now load a page at a time from the server, so the big lists stay quick on accounts with hundreds of thousands of records.
  • Advanced filters run on the server too, which means a filter answers across your whole account rather than only the rows that happened to be loaded.

June 2026

200+ improvements through June 2026 — a browser-based Power Dialer, build-your-own dashboards, a rebuilt reports engine, a full help desk, two-way SMS and calling, and a wave of new integrations.

Booking links: double opt-in and more control

2.550.0 – 2.581.1
  • Booking links can now require double opt-in — invitees confirm by email before a meeting is locked in, so you only hold slots for people who genuinely intend to show.
  • Duplicate an existing booking link in one click to spin up a new one, and choose whether each host's profile is publicly visible.

Team Chat, now an installable app

2.520.0 – 2.549.1
  • Team Chat can be installed as its own desktop and mobile app, so your team's internal chat is one click away — separate from the browser.
  • Ask Dealy inside any conversation and watch answers stream in live, @mention records for rich hovercards, react to messages, and search the full history. A "Note to self" space keeps your private reminders in the same place.

Build landing pages right on the canvas

2.500.0 – 2.519.0
  • The landing-page builder now lets you edit directly on the page — click to change text, drag to reorder sections, and drop in new sections from an insert bar.
  • Add a contact form to any page and watch submissions arrive in a dedicated inbox, then publish to a public URL in a click.

Projects: a real workspace for delivery

2.464.0 – 2.474.11
  • Projects get a full workspace — task management, a rich project view, a stage editor, and cross-links back to the deals and customers they came from.
  • Allocate your team across projects and see who has capacity at a glance.

Power Dialer: call straight from your browser

2.450.0 – 2.463.0
  • Turn any calling list into a guided dialing session — dial in the browser, log outcomes, schedule callbacks, and build campaigns from your CRM segments.
  • Calls are logged automatically, and Dealy can summarise and transcribe each one so your notes write themselves.
  • Prefer click-to-call? A new in-app dialer connects to Telavox for one-click outbound calling from any record.

Make the workspace yours

2.450.0 – 2.463.0
  • New workspace customization: pick an accent color, choose comfortable or compact density, set your landing page, and tune deal-rotting thresholds.
  • A light and dark mode toggle now lives right in the top bar.

Quieter, smarter notifications

2.450.0 – 2.463.0
  • SMS notifications now respect quiet hours, so your customers aren't pinged at unsociable times.
  • Sales sequences pause automatically when they hit an out-of-office or a bounce, and a workflow action can enroll the right contacts for you.

Cash-flow forecasting you can steer

2.420.0 – 2.449.0
  • Liquidity forecasting weighs expected inflows by pipeline probability, lets you save named scenarios, and adjusts for how each customer actually pays.
  • Drag the cash-flow timeline to model a decision and watch the projection update in real time.

Resource planning across the Nordics

2.420.0 – 2.449.0
  • The resource planner now understands Nordic public holidays and absences, adds a projects Gantt view, and makes the capacity board far easier to read.
  • SharePoint storage gains a custom root-folder picker so documents land exactly where you want them.

A website chat widget that does the work

2.400.0 – 2.419.1
  • The embeddable chat widget can now capture leads, book meetings, and check ticket status through Dealy — with quick replies, CSAT ratings, sound, mobile full-screen, and your own branding, colors, and corner radius.

Connect your email — any provider

2.400.0 – 2.419.1
  • Set up email sync with generic IMAP and ready-made provider presets, alongside Microsoft. Unified Mail & Calendar settings keep every account in one place.

Use Dealy from Claude, Cursor, and more

2.400.0 – 2.419.1
  • DealJourney now offers a secure connection (MCP) so you can drive your CRM from AI tools like Claude and Cursor — click connect, sign in, done. Manage connected apps from your AI settings.

Stronger account security

2.400.0 – 2.419.1
  • Workspace admins can now enforce two-factor authentication and set session timeouts across the whole team.

Help desk grows up: SLAs, business hours & canned replies

2.358.0 – 2.399.0
  • Tickets now track SLAs against your business hours, with canned responses, per-agent signatures, tenant-custom statuses, saved-view tabs, and automated reply rules.
  • Reply from email aliases, search by case number, and connect a separate inbox per account.

Two-way SMS and calling on every record

2.358.0 – 2.399.0
  • Send and receive SMS directly on contacts, leads, and deals.
  • With Telavox connected, inbound calls pop the matching record, calls log themselves, and recordings get an AI summary the moment you hang up.

Custom reports, rebuilt

2.357.0 – 2.357.3
  • Custom Reports v2 is a multi-metric builder with filter groups, powered by a new metrics engine you can extend with your own formulas.
  • Schedule report delivery, compare periods, and cast a report to a TV display for the sales floor.

Dashboards you design yourself

2.295.0 – 2.357.0
  • Build your own dashboards with a drag-and-drop widget engine and a growing library — pipeline, MRR movement, renewals, leaderboards, customer health, conversion funnels, and more.
  • Start from a template gallery with visual previews, set per-widget colors and spacing, and add a Dealy daily-brief widget. Admins can assign dashboard templates by role, with per-user overlays.

Find and merge duplicate contacts

2.295.0 – 2.330.0
  • Contacts now flag likely duplicates as you work, with a one-click manual merge.
  • Track email and SMS consent in a dedicated column (and bulk-edit it), and tag contacts with per-organization roles.

Smarter booking links

2.245.0 – 2.294.0
  • Booking links now check your real external calendar for conflicts, support multiple hosts, round-robin across a team, and embed anywhere as a widget. Add intake forms and routing rules, and let invitees reschedule or cancel themselves.
  • A confirmed booking can auto-create the lead, contact, and opportunity, advance the deal stage, and send email and SMS reminders with country-aware routing.

May 2026

150+ updates across May 2026 — including the 2.0 major release, a new Pipeline Builder, Calendar v2, in-app tutorials, and platform-wide performance gains

Win probability on every deal

2.211.0 – 2.244.0
  • Opportunities now show a per-deal win-probability prediction, with an optional AI narrative that explains the score.

Microsoft Teams meeting intelligence

2.211.0 – 2.244.0
  • Connect Microsoft Teams to sync meeting transcripts, then let Dealy enrich them — AI summaries, follow-ups, and meeting cards land on the deal's timeline, matched to the right opportunity.

Company lookup across the Nordics

2.180.0 – 2.210.0
  • Start typing a company name on a lead or customer and autofill the rest from the Norwegian, Danish, and Swedish business registries. ProspectFinder adds richer B2B prospecting on top.

Import everything — the new way

2.180.0 – 2.210.0
  • Import v2 turns messy spreadsheets into clean CRM data: map columns with AI assistance, create and link several related records from a single row, save mapping templates, and run large imports as durable background jobs you can resume.
  • Bring in support tickets, activities, and more — with a guided practice import to learn the ropes.

Bring your webCRM data with you

2.180.0 – 2.210.0
  • A new webCRM integration imports organizations, contacts, opportunities, activities, and cases, with field mapping and a dry-run preview so you can see exactly what will sync before it does.

Dealy knows the product now

2.158.0 – 2.179.5
  • Dealy gained a built-in product knowledge base, company-intelligence lookup, and an analytics suite — forecasting, churn risk, and retention.
  • AI change proposals let Dealy draft updates that you approve before anything is written to your CRM.

Accounting sync: preview before you push

2.158.0 – 2.179.5
  • Tripletex, PowerOffice, and e-conomic syncs now show a preview and a clear "see what synced", detect drift, and respect per-tenant rules — so pushing customers, products, and invoices to your accounting system is predictable.

A reports hub with scheduling and TV displays

2.156.0 – 2.157.0
  • A new Reports hub brings periods, compare mode, and user filters together, with scheduled delivery and a TV-display route for the sales floor.

Onboarding that gets you to value fast

2.156.0 – 2.157.0
  • A refreshed Getting Started checklist walks new workspaces through importing contacts, connecting accounting, and logging a first deal — with industry-tailored pipeline presets and a persistent progress button in the top bar.

Calendar v2 is now the default

2.113.0 – 2.118.0
  • The rebuilt Calendar is live for everyone: unified two-way sync, an edit mode, drag-select to create events on the week grid, and per-viewer color preferences.
  • Draw custom sales territories as polygons on the map to plan coverage and assign areas.

Dealy: dictation overhaul + a new notification center

2.112.0
  • Dictation gets a real waveform view, a floating dictation island, and a docked sidebar so you can keep talking while Dealy thinks. A success toast with a one-click clipboard hint confirms each capture, and saved dictations live in AI settings — with local backup and automatic retry if a transcription fails.
  • A new notification center brings every alert into one place, so you stop missing context switches between tabs.

Document Monitor: smarter activity creation per source

2.111.0 & 2.111.1
  • Each monitored source now has its own activity policy — create automatically, preview first, or skip entirely. Headlines and recency cutoffs are configurable per source so the activity feed only fills with what matters.
  • Vitest is back on green so CI can keep pace with the daily ship cadence.

Friendlier no-access page + fresh customer logos and testimonials

2.108.0 – 2.110.1
  • When a user lands on a page they can't open, the page now leads with the Dealy mascot, a softer message, and a clear note about which access level is required. Page access stays in sync as feature toggles change, with no reload needed.
  • New customer testimonials from Angel Johan Meyer and Jens Harald Jenssen, plus Lotek Drift and Polyfemos company logos, are now on the marketing site.
  • Feature-request checklist on the platform admin side switches from cycle-on-click to a proper status picker — fewer clicks, more discoverability.

Drag-and-position the Dealy chat button + push-mode sheet

2.106.0 & 2.107.0
  • The floating Dealy button can now be dragged anywhere on screen and remembers its position across sessions — perfect if it was covering something you needed.
  • Push-mode chats open in a sheet layout for more breathing room, and Dealy's dictation gets a docked-sidebar option for longer captures.

In-app spotlight tutorials — starting with Pipeline Builder

2.99.0 & 2.98.0
  • A spotlight-based tutorial system now walks users through key flows. The first walkthrough covers the new Pipeline Builder; the system is wired so any page can ship its own guided tour.
  • Document Monitor and Referat Inbox are now feature-flag gated so tenants can opt in when they're ready.

Team Chat: streaming AI, mute, search, group read receipts, admin DMs

2.96.0 & 2.97.0
  • Asking Dealy in Team Chat now streams responses live so you see thinking as it happens, instead of waiting for a wall of text.
  • New: mute conversations, group read receipts, admin-only DMs, and full chat search.
  • Document Monitor is wired into Team Chat as a Dealy tool — pull meeting context directly into the conversation.

Pipeline Builder 2.0 — live previews, per-stage layouts, diff confirmation

2.90.0 – 2.95.4
  • The new Pipeline Builder lets you preview against a real opportunity, pick from layout presets, target different variants per stage, and persist per-tenant card layouts.
  • Stages and card layouts now save together, with a clear diff dialog that shows exactly what's about to change before you commit to live.
  • Renderer performance is on par with the V1 pipeline even with custom fields and per-stage layouts in play.
  • A correctness pass from code audit + a Content-Type fix tightens the last write-path edge cases.

Calendar v2: redesigned create-event flow with draft preview

2.87.0 – 2.89.0
  • The new event creator drives the v2 Calendar APIs end-to-end. A draft preview sits alongside the full form so you can see the event taking shape as you type, and provider sync fires the moment you save.

Document Monitor: referat intelligence desk

2.86.0
  • Meeting notes are now scored, deduped to the latest version per source, and refreshed automatically every hour. Finding the right summary takes seconds, even across dozens of sources.

Workflows + Public API improvements

2.84.0 – 2.85.1
  • Workflow conditions that target multi-select custom fields now use a proper multi-choice picker. Dialog drafts also survive outside-clicks and Esc, and the editor stays open after save instead of bouncing back to the list.
  • Public API gains opportunity-contacts and subscription-links sub-resources, so partner integrations get richer relationships out of the box.

Calendar v2: unified API, edit mode, per-account privacy

2.81.0 – 2.83.2
  • The Calendar backend is rebuilt around a single unified API with robust de-duplication, sync attribution, and per-account privacy toggles.
  • The new Calendar page ships with an edit mode, a 12/24h time-format preference, per-account privacy controls, and a clean v2 wrapper with all-day slot click-to-create.

ERP push: safer, smoother, faster

2.80.0
  • Per-tenant push locks prevent simultaneous syncs from stepping on each other, a token-bucket rate limiter throttles outbound calls within ERP-friendly bounds, and an auto-preview cache makes the preview flow noticeably snappier.

Templates: one home for email and checklist, Simple + Advanced modes

2.79.0
  • Email and checklist templates now live together under /templates with two builder modes — Simple for quick edits, Advanced for the full control surface. Pick the mode that matches the depth of edit you need.

Platform-wide performance: faster pages, lighter backend, smarter caching

2.74.1 – 2.105.11 (perf bundle)
  • 25+ targeted performance improvements across the platform — list pages, dashboards, calendars, custom fields, the email composer, the import flow, customer analytics, currency formatting, real-time updates, CSV export, and more all got measurably faster.
  • Search on 12 list pages is now debounced, the data table cuts cross-page React renders, currency rendering uses a cached formatter at 35 call sites, real-time updates are batched, list endpoints stream CSV row-by-row, and global search runs entity queries concurrently.
  • Bulk export, bulk delete, and bulk import all scale to larger jobs without spiking memory, and per-row savepoints mean one bad row no longer aborts a batch.
  • Customer analytics batch endpoint now runs as a single SQL query — large dashboards open noticeably faster.

SMS: live merge-tag preview while composing

2.78.0
  • When composing an SMS to a contact, a preview panel above the textarea now shows the exact text the recipient will see — rendered against their data. Tags with no value for the recipient are flagged in red before you send, so you never deliver an unrendered {{tag}} placeholder.

Integration Marketplace: connected vs available

2.77.0 & 2.77.1
  • Connected integrations now sit in their own section above a divider, with the rest below. Your existing wiring is obvious at a glance, no more scanning every card for a badge.
  • Several rate-pulling endpoints now stale-while-revalidate, so the marketplace and downstream pages feel instant even on a fresh load.

PowerOffice: bulk push with preview-and-select

2.76.0 & 2.76.1
  • Customers, suppliers, products, and contacts can now be previewed and pushed to PowerOffice as a curated batch. Each row uses its own transaction so one bad row doesn't abort the whole push, and bulk pushes share a single PO entity fetch across the loop for speed.
  • The Integration settings URL now persists the active tab, entity, and direction — deep links and dev-server reloads land where you expect.
  • List endpoints now show every row your access level allows by default; the UserFilter dropdown is the only place that narrows the list.

Inventory & stock tracking on products

2.75.0
  • Products now expose per-row inventory: on-hand stock, reorder points, reserved and incoming counts, available stock, stock location, barcode/EAN, weight, supplier reference, and a low-stock chip in the products list.
  • The product modal gets an Inventory & shipping card; products page rebuilt on the shared DataTable with column visibility controls, sticky headers, and a row-action overflow menu.
  • Item-number generator now fills gaps instead of running away after an ERP import — the next manual product is "4" instead of "251".

Onboarding skip now sticks + Knowledge Base shortcut

2.26.0 & 2.26.1
  • Clicking "Skip setup" on Getting Started now persists your choice, so you go straight to the dashboard on later visits instead of being routed back through onboarding.
  • Knowledge Base links on the marketing site now jump straight to the Getting Started section.

Workflow tasks can be linked to opportunities, customers, and contacts

2.25.0
  • Workflows that create tasks can now set optional fields like the linked opportunity / customer / contact, tags, and status using template variables, so generated tasks land fully wired up instead of needing manual cleanup.

Home dashboard refreshed

2.24.0
  • The home dashboard now leads with a metrics row, recent-activity feed, pipeline snapshot, upcoming schedule, tasks list, and an onboarding banner — fully localised in English, Norwegian, Swedish, and Danish.

Unified password input across every sign-in surface

2.23.0
  • Sign-in, sign-up, profile, onboarding, and reset-password screens now share a single password input with a consistent show / hide eye toggle. Dark mode also inverts the native Edge / Windows reveal icon so it stays legible.

Smarter post-login routing

2.22.0
  • Returning users go straight to the dashboard while first-time users still land on Getting Started — based on whether onboarding has actually been completed.

Team Chat composer refresh + Admin pages restructured

2.21.0 & 2.21.1
  • Team Chat's sidebar, message area, content renderer, composer, and thread panel have been reworked together. The composer now uses a rich-text editor with markdown shortcuts.
  • Admin pages are reorganised around a new shared layout primitive — Company Profile and User Management get dedicated pages with cleaner section dividers.

Unified detail sidebars + 2,066 translation keys filled

2.20.0 – 2.20.2
  • Lead, Contact, Customer, Opportunity, Subscription, and Activity sidebars now share one set of primitives — labels, drag ordering, sticky behaviour, and per-field auto-save behave consistently across every record type.
  • Quote subscription terms rebuilt on a clean 3-column grid (start / agreement / interval, payment / termination / auto-renew, order reference).
  • 2,066 missing translation keys filled across all 16 namespaces in English, Norwegian, Swedish, and Danish.

Workflow draft autosave

2.19.0
  • The workflow graph editor now keeps a local draft of unsaved work and restores it after a reload or accidental tab close, with a toast offering to discard it.

CRM-alternative landing page redesigned

2.18.0
  • The /crm-alternative landing page is rebuilt around three new visuals and a fresh pillar set focused on "no lock-in" and honest pricing. Copy refreshed in English, Norwegian, Danish, and Swedish.
  • Testimonials carousel now shows a peek of the next card behind the active one.

Managed blog CMS

2.17.0
  • The marketing blog is now backed by a database. Super-admins compose posts in a block-based editor, with drafts, version snapshots, and preview links for unpublished work. The public website pulls posts and slugs from the CMS instead of bundled markdown.

Trial end date on tenants

2.16.0
  • The super-admin tenant table now shows trial end dates with an inline date picker, and a dedicated Trials tab filters to tenants currently on a trial plan.

Admin sub-routes — every tab is its own URL

2.15.0
  • Every Admin tab (Company, Entity Fields, Users, Teams, Page Access, Tenancy, Chatbot Takeover, API Keys) now lives at its own deep-linkable URL with a persistent Admin sidebar. Legacy /admin?tab=… URLs redirect automatically.

View-as-role preview for DJ admins

2.14.0
  • DJ admins can preview the CRM as a tenant admin or any tenant access level via a picker in the tenant switcher. A persistent outline reminds you when a preview is active. New entitlements cover Checklist Templates, Integration Marketplace, Document Storage, Telavox, Chatbot Settings / Inbox, and Sales Sequences.
  • Top nav and the mobile bottom bar now respect per-page access, hiding entries the user can't open.

webcrm-alternative landing page

2.13.0
  • New campaign page at /webcrm-alternative targeting users looking to switch CRM, with a hero lead-capture form, solution cards, testimonials carousel, and a bottom CTA. Fully localised in en / no / da / sv.

@-mention notifications in Team Chat

2.12.0
  • Mentioning a coworker with @Name in tenant or super-admin chat now fires an in-app (and optional email) notification with a direct deep link to the message. Notification preferences for team-chat mentions added under a new Team Chat group.

Templates consolidation + integration sync auto-refresh

2.11.0 – 2.11.6
  • Sidebar Templates entry replaces the standalone Email / Contract Templates links — SMS, Email, and Contracts now live as tabs on a unified Templates page. Legacy routes still work for bookmarks.
  • Customers, contacts, products, and invoices refresh automatically after a PowerOffice or e-conomic sync, instead of waiting for a manual reload.
  • Ticket widget embed snippet now documents every theming CSS variable inline, so embedders see the customisation hooks on copy-paste.
  • PowerOffice contact phone numbers now also populate the mobile-number field, so dialer and SMS links work immediately.

Bigger mass-updates, Document Storage access, /terms-of-service rename

2.10.2 – 2.10.4
  • Mass-update background jobs now accept up to 50,000 rows in one go, instead of capping out at 2,000.
  • Document Storage and Google Drive settings are now reachable for tenant admins.
  • Marketing-site terms page renamed to /terms-of-service to match the URL used in contracts. Old /terms paths redirect.

Team Chat mobile UX + thread permalinks

2.10.0
  • Team Chat is now genuinely usable on phones: full-screen channel list vs conversation on small screens, swipe-from-left to return to the list, and a touch-friendly composer, message area, thread panel, and search dialog. Thread reply permalinks for notifications and chat search hits.

PowerOffice supplier sync + correct paid status

2.6.0
  • Organisations tagged as suppliers now push to PowerOffice's Supplier entity alongside the existing customer sync, with their own settings card and per-entity direction.
  • PowerOffice paid status now read from the customer ledger, so finalised invoices reflect payment correctly even when their internal status stays "Sent".

Header chat icon + unread badge polish

2.5.0
  • Sidebar Team Chat unread count now combines team-chat unread with admin-chat unread for DJ admins. A direct chat-icon link in the header opens the right inbox in one click.

Line-item diffs on the opportunity timeline + Knowledge Base affordances

2.4.0
  • Opportunity timeline events now render added / removed / modified line items as a clean diff per change, with a per-line qty × price = total summary.
  • Knowledge Base sidebar shows a globe icon on public collections and a lock on private ones, so it's clear at a glance which pages are exposed in the help centre.

Platform-issue updates fan out to linked team chat channels

2.2.0
  • When a platform issue's status, assignee, or priority changes, the system posts a human-readable message into channels linked to that issue — so a single channel can carry a live narrative of an issue's lifecycle.

Dealy in Team Chat

2.1.0
  • Dealy (the CRM agent) now knows when it's invoked from a chat channel vs a sheet or full-page surface, and adapts its phrasing and behaviour. Pill-style frozen / empty-credit indicators on the Dealy chrome give a clearer at-a-glance status.
  • Knowledge Base pages refresh automatically when Dealy edits content, instead of needing a full reload.

Admin Chat, slash commands, and issue-feed channels (major release)

2.0.0
  • 🎉 A major release landing the third of three transformative branches in the 2.0 cut — together with the Calendly-style booking links from 1.199.0 and the Knowledge Base / AI bundle from 1.200.0, this completes a body of work that reshapes scheduling, AI, and internal communication into first-class surfaces.
  • New Admin Chat module — a super-admin-scoped chat surface alongside Team Chat, with channels, members, messages, reactions, and typing all scoped to platform admins.
  • Slash command parsing — /ai, /invoke, /help — and an HTTP bridge so /ai prompts flow through the CRM agent.
  • Team Chat gains channel kinds (standard, issue feed, AI-assisted, automation log), categories, and link / unlink-issue endpoints, so a channel can carry a live narrative of a specific issue.

Pipeline Builder v2 (experimental preview)

1.204.0
  • A founders-only preview of a flexible Kanban card layout designer: three-zone card layout (Title / Body / Footer), click-to-edit popovers on every preview field, per-field icon / label / width / text-size overrides, and side-by-side A/B compare. Currently a sandbox — the live Kanban isn't wired to this configuration yet.

End-to-end DJ → e-conomic invoice push

1.203.0 & 1.201.0
  • Push DJ-native invoices to e-conomic per invoice, in bulk by opportunity, or all at once — with a draft-vs-finalize toggle, so the caller decides between a draft and an actual book-and-send.
  • Bulk header mirror + on-demand line backfill: tenants with thousands of invoices can now backfill without timing out.

Knowledge Base, AI chat (Dealy), embeddable chatbot, AI credits (major bundle)

1.200.0
  • 🎉 Second of three transformative branch landings — the Knowledge Base, an in-app AI assistant (Dealy), and an embeddable chatbot widget for customer sites all become first-class.
  • Embeddable AI chatbot widget with Knowledge-Base-backed answers, ticket escalation, and human takeover. Rate-limited and gated for safe embedding on customer sites.
  • Dealy (CRM agent) tooling expansion — lead conversion + opportunity-won tools, AI thread context preservation, persisted multi-draft AI replies in the ticket sidebar, AI-enhanced import column mapping.
  • AI Credits system — per-tenant tracking across all 16 AI endpoints, a super-admin management UI, corrected pricing for production models.
  • AI feature catalogue expansion — lead scoring, churn prediction, account briefing, duplicate detection.

Calendly-style booking links (major)

1.199.0
  • 🎉 First of three transformative branch landings — public booking pages with Calendly-style scheduling. Booking approval flow, team attendees, email confirmations, calendar sync, reschedule, cancel, and custom slugs.
  • Calendar UI redesigned for consistent theming across the new booking surfaces and the existing calendar pages.

Workflow execution context + smarter issue priorities

1.198.0 & 1.198.2
  • Workflow execution log now shows step-by-step context — failures point at the exact step and resolved variable values, instead of a single top-level error message.
  • Graph editor centres and zooms-to-fit when opening a saved workflow.
  • New platform issues default to Backlog priority instead of Medium, so new asks get triaged deliberately. The priority picker shows three short heuristics per level.

PowerOffice "Push & Send"

1.197.0
  • Create a PowerOffice invoice and immediately send it to the customer through their configured PowerOffice delivery channel — without ever opening PowerOffice. Partial success (draft created, send rejected) is reported explicitly so the UI can warn instead of silently leaving stuck drafts.

Gmail-style page-scoped select-all

1.196.0
  • List header "select all" now toggles only the rows on the current page. When every row on the page is selected and the filter has more rows on later pages, a banner offers to "Select all N matching rows".

Inline SMS chat composer + SMS in the timeline

1.195.0
  • SMS conversation surface now has an inline chat composer pinned to the bottom, instead of bouncing through a separate send dialog.
  • Outbound SMS is now logged to the contact timeline alongside other interactions, with distinct icons for sent vs received messages.

Quieter recovery from backend blips

1.194.0
  • When the backend is briefly unavailable (deploy, network blip), the app's data stores no longer flood the console with retries. A single probe loop pings /health on an escalating cadence and flips everyone back to healthy at once.

Tenant switcher: pin a workspace + Manage feature access

1.193.0
  • Tenant switcher gains a "Pin to top" action so frequently-switched workspaces stay above search and filter results, and a "Manage feature access" entry for tenant admins. Your home workspace and the currently active one are now always at the top with a crown badge.

Customer-driven feature requests tracker

1.192.0
  • A new sibling tracker to the internal roadmap, for customer-driven feature asks that need a scope and a quote. Same FAQ + comments shape, plus customer and pricing fields. Status workflow from new → gathering info → pricing → quoted → accepted / rejected → in progress → shipped / parked.

Shared integration sync UX + scheduled cron split

1.191.0 & 1.191.1
  • e-conomic and PowerOffice settings pages now share one IntegrationSyncTab component — same per-entity sync card UX across both providers.
  • Cross-tenant cron entrypoints split from in-app admin tools — GitHub Actions can drive sales-sequences, scheduled-emails, and workflow-automation processors directly via dedicated service-key endpoints.

Per-table page sizes persisted + clear-search button

1.190.0
  • Each list table's chosen page size now sticks across reloads, wired into the Error Log, Issue List, and Tenant tables.
  • Search inputs on the issue tracker gain an X to clear the query in one click.

Unified linked-contacts card + ERP cross-system dedup

1.189.0 & 1.189.1
  • Opportunities, Activities, and any future entity type share one EntityContactsCard with drag-to-reorder, add, remove, and primary-contact behaviour. Pinned entity headers now stay truly fixed across every detail sidebar.
  • ERP push now checks three places before creating a new customer: the local mapping, the ERP-side organisation number, then the ERP-side email — preventing duplicate creates when a customer exists in the ERP but hasn't been pulled into DJ yet.
  • Preview-customers only matches on emails that are one-to-one on both sides, so finance teams that share one invoicing inbox across many customers no longer get mass-matched. Preview-contacts defaults to showing only contacts whose parent customer has been imported.

Composer pending images + Outlook reply threading

1.188.0 & 1.188.1
  • Pasted images in the composer stay visible during in-flight send, instead of flashing away before the upload returns.
  • Outlook reply threading hardened with Microsoft Graph immutable IDs, so quick back-to-back replies don't end up in a new thread.

Inline images in ticket replies

1.187.0
  • Paste an image into a ticket reply and insert it inline (mid-text, positionally) instead of only as an attachment. Pick per paste — Inline or Attachment — via a dialog with "remember this choice", or set a default in Ticket Settings (Ask / Always inline / Always attachment). Works across Gmail and Microsoft Graph outbound paths.

e-conomic active/inactive filter + faster customer saves

1.186.0 & 1.186.4
  • e-conomic customer preview now has an active / inactive / all status filter, with active/inactive counts in the header.
  • Customer saves are near-instant again when the company name hasn't changed — connected storage providers (Google Drive, OneDrive, SharePoint) no longer trigger a folder-rename round-trip on every save.

PowerOffice: bidirectional dedup, accounting adapter, invoice push

1.185.0
  • PowerOffice push side gains 3-tier deduplication (organisation number / email / SKU) so an existing PO record is linked + updated instead of duplicated.
  • Preview side surfaces a 4-tier status — `mapped`, `match`, `duplicate_in_erp`, `new` — so users can spot when PO has a redundant copy of an already-mapped DJ entity.
  • PowerOffice tenants now flow into the same Accounting page (income statement, balance sheet, trends) as e-conomic.
  • DJ-native invoice push to PowerOffice is now available, mirroring the e-conomic equivalent.
  • Connection page: full-width sticky-nav layout, env selector with auto-fallback when demo isn't configured, saved-key reconnect banner, pre-flight checklist before Test & Connect.

Reporter / area / updated-at filters on platform issues

1.184.0
  • Platform-admin issue list now accepts reporter, affected-area-contains, and updated-after / updated-before filters, so admins can slice the tracker by who reported, what area, and when it last moved.

Order locking after customer confirmation

1.183.0
  • Once a customer has confirmed an order, the items, address, contact, and comment fields freeze. Only workflow status fields (order status, bot status, SMS status) remain editable so salespeople can still move it through fulfillment.
  • Stale links to the customer-facing confirmation page now show a clear "this order has changed — please request a new link" message instead of letting the customer confirm an outdated order.

Tenant-scoped PowerOffice field mapping

1.182.0
  • Per-tenant field mapping for customers / contacts / products / invoices, with explicit "do not map" semantics. Per-mapping sync direction lets a single field be one-way or two-way independently.
  • Manual PowerOffice sync now updates the "Last synced" timestamp on the config card immediately, instead of waiting for the next hourly cron.

Link Mobility: single-row sync + hourly full sync

1.180.0 & 1.181.0
  • Sync a single lead or contact to Link Mobility from the marketing tab, without having to wait for the hourly cron.
  • Scheduled full Link Mobility sync runs hourly so newly added contacts and leads end up in the marketing system without per-row triggers.

Team scope merged into the user filter

1.179.0
  • Teams are now part of the user filter (with persisted preferences), and the standalone Team Filter is removed from Customers, Contacts, Activities, and Opportunities. Users without a user filter but with team membership still get a team-only control.

Faster first login + unified empty-state primitives

1.178.0
  • The app shell now renders as soon as user + tenant resolve, with role and tenant settings hydrating in the background — eliminating the 2–4 second blank screen on first login.
  • New AppTransitionScreen and EmptyState primitives roll out across loading and empty surfaces.

Accounting page (e-conomic adapter)

1.177.0
  • New /accounting page with income statement, balance sheet, KPI cards, trend charts, account pinning, filters, and a manual sync trigger. Source-agnostic — the e-conomic adapter is the first implementation; PowerOffice follows later in May.

Workflow triggers for contacts and activities

1.176.0
  • New workflow events: lead/updated, customer/updated, contact/created, contact/updated, activity/created, activity/completed. Workflows can now respond to changes on any entity type, not just opportunities.

Urgency pills on Lead date columns + smoother deploys

1.175.0 & 1.175.2
  • Lead-list next-contact-date now uses the same red / amber / green urgency pills as Activities (red overdue, amber today, green future). Last-contacted-date is always a neutral gray pill.
  • Stale-bundle reload loops are gated behind a 5-second throttle, and route prefetch covers every sidebar nav target plus common deep links.

Upcoming events sheet refocused on today + tomorrow

1.174.0
  • Only the next meeting renders as a prominent hero card now, followed by later-today and tomorrow sections. Compact rows expand inline on click with an "Open full details" escape hatch. The badge count reflects today's events only instead of all future events.

Per-participant rows for shared meetings

1.173.0
  • Calendar API now returns one row per (event, participant) for shared meetings, so multi-user views show each attendee's view of a shared meeting in their own column.

Per-user colors in the weekly calendar

1.172.0
  • Events can now be coloured by their organiser / owner in team calendar views, layered on top of the existing source-based (Gmail / Outlook) and event-type colours.

Meetings tab on every entity detail page

1.171.0
  • Customer, Lead, Opportunity, Subscription, Contact, and Ticket detail pages all get a new Meetings tab showing meeting cards (title, date/time, location, attendees, video badge), with a "Schedule Meeting" affordance and auto-refresh on calendar events.

All related companies' data on Customer detail

1.170.0
  • The Customer detail page now renders collapsible sections for the root company and each related organisation, so activity, contacts, and other data for the entire org group are accessible from one view — no more navigating to each company separately.

Calendar booking: single "book on behalf of" target

1.169.0
  • Event creation is simplified to a single Select dropdown for "book on behalf of" instead of a multi-select. The calendar overlay (viewed users + per-user colour pickers) persists to localStorage and restores on next open.

SMS history as a chat-style timeline

1.166.1
  • SMS messages now group by day with localised "Today" / "Yesterday" / weekday labels, and status renders as compact icons (queued / sent / delivered / failed) with tooltips instead of badges. Reads like a conversation rather than a table.
  • Bulk SMS modal correctly pluralizes: "1 recipient" / "N recipients".

Avatar crop dialog on the Profile page

1.165.0
  • Pick a region of your uploaded image instead of getting a stretched centre crop. The unedited source is uploaded alongside the cropped image so re-cropping later doesn't require re-uploading.
  • Rich-text surfaces (descriptions, FAQ answers, comments) now correctly render em-dashes and other punctuation entities instead of showing the raw entity string.

FAQ section on roadmap items

1.164.0
  • Roadmap items now carry a list of FAQ entries, so the context behind a long-running theme survives months of inactivity. Editable inline on the roadmap detail view.

Tenants page filter bar + fuzzy search

1.163.0
  • Tenants page now has status / plan / billing-state filter chips and a fuzzy search that tolerates typos, swapped words, and partial matches. View tabs (active / archived / sandbox / all) preserve filter state across tabs, and the table is server-paginated.

Developer portal: usage stats + in-place key edits

1.162.0
  • Overview card now shows 24h request count, error rate, by-status breakdown, and top endpoints across a tenant's API keys.
  • Logs page lets partners expand any log row to see the request and response bodies that crossed the wire.
  • Edit existing API keys in place — rename or add scopes without rotating. Rotations are now reserved for actual key compromises.

Sandbox guard for developer tenants

1.161.0
  • Partners building integrations against developer sandbox tenants now get a clear 403 on endpoints that would touch the outside world (third-party ERP APIs, real email / SMS sends, outbound webhooks). Sandbox users see a persistent banner so the mode is visible.

Public API: bulk endpoints, cursor pagination, idempotency

1.160.0
  • POST /batch on /leads, /customers, /contacts, /opportunities, /activities accepts up to 100 items per request, returning per-item success or error rows.
  • Cursor pagination on /v1/leads via meta.next_cursor; the legacy offset mode still works.
  • Idempotency-Key header support — replays within 24 h return the cached response instead of re-executing the handler.
  • OpenAPI docs page includes SDK-generation snippets for Python, TypeScript-axios, and Go.

Multi-currency product display fixes

1.159.0
  • Non-primary-currency products are now converted using the right source-to-display rate. Verified end-to-end: a €2 500 product correctly displays as ~18 657 DKK at the live rate.
  • Synced e-conomic products now appear in the opportunity / quote line-item picker. Existing rows are repaired by an idempotent backfill on every list and sync.
  • Every Product list row now shows an explicit currency code (e.g. 999 NOK, 100 EUR, 684 DKK) instead of an ambiguous "kr". When a row was auto-converted, the source price renders beneath in a muted style.

e-conomic Contacts API + dedup-on-push + bigger page sizes

1.156.0 – 1.158.0
  • Contacts preview is now 5–6× faster after switching to e-conomic's bulk Contacts surface.
  • A pagination fix lifts a long-standing cap that silently limited every e-conomic list to the first page — affecting customer / product / accounts / contact previews on tenants with larger collections.
  • Customer push now does a find-or-create check (corporate ID, email, exact name) before creating, so a retried push no longer creates duplicates.
  • Contact sync now auto-syncs the parent customer if it's not already in DJ, and surfaces the parent name in the contacts preview instead of just `#2000`.

April 2026

78 updates, April 1 to April 30, 2026

Activity detail redesigned

1.155.0
  • Activity detail now uses the shared detail-page layout with a drag-and-drop sidebar (inline-editable field values) and a prev / next navigator matching the other entity detail pages. Form state now tracks activity_type and priority so sidebar edits round-trip with the rest of the unsaved-change flow.

Workflow update_field action: per-field enum picker

1.154.0
  • The update_field action config now renders a dropdown of valid values for fields like lead_status, lead_source, customer_type, payment_health, etc. — so users can no longer save a value the engine silently rejects.

e-conomic integration redesigned to match PowerOffice

1.152.0
  • Full UI rewrite with 6 tabs (Connection / Configuration / Sync / Invoices / Accounting / Logs) matching the PowerOffice look-and-feel.
  • DJ invoice → e-conomic draft push — pick DJ-native invoices in the Invoices tab and push to e-conomic as drafts. The e-conomic customer is auto-created when unmapped.
  • Selective invoice sync from e-conomic — pick which booked + draft invoices to import.
  • Accounting tab — Trial Balance, Chart of Accounts, Transactions per accounting year, VAT Codes, Customer Ledger.

Notifications emitter + developer portal + organisation hierarchy

1.150.0
  • All workflow events now flow through a single notifications emitter with per-user preference enforcement at emit time — so muted channels actually drop the message rather than just hiding it from the bell icon.
  • Customer parent / child relationships are first-class now: an organisation can be a parent, subsidiary, partner of, or related entity, and the customer detail page surfaces the relationship tree.
  • New developer portal lets external builders create API keys, browse playground requests, view logs, and request production access.

Onboarding banner auto-hides when complete

1.148.1
  • The dashboard onboarding banner now hides itself once the checklist is finished, instead of staying parked.

PowerOffice demo mode + multi-country SMS sender

1.147.0
  • PowerOffice now picks test app / subscription keys automatically when a tenant connects in demo mode, instead of routing test connects through production credentials.
  • Tenants can now configure a separate sender number per destination country; the SMS path picks the right MSISDN based on the recipient's country, with libphonenumber validation.

Opportunity create-mode polish

1.146.0
  • Pipeline stage bar shown in create mode too, so the starting stage is picked in the same place it's later edited.
  • Every tab is visible in create mode — tabs that need a saved opportunity show a lock placeholder explaining what they unlock, instead of being hidden.
  • "+ Create" affordance inside the customer / contact picker, so creating a new opportunity doesn't require bouncing out to another page.
  • Stage editor: inline color picker next to the name field, instead of a separate dialog.
  • Meeting scheduling: changing the start time no longer resets the duration, and quick 15 / 30 / 45 / 60-minute buttons sit next to the duration input.

Opportunity create-mode lives on the detail page

1.145.0
  • Creating an opportunity now opens the regular detail page in a "create" state instead of a separate modal. The detail page becomes the single source of truth for the opportunity form, so any layout / field improvements automatically apply to creation. The in-flight create state is persisted, so an accidental tab close doesn't lose work.
  • Ticket detail shows attachments as inline rows under the message they belong to, and opens an in-app preview modal for images / PDFs instead of forcing a download.
  • Subscriptions tied to a won opportunity auto-activate immediately when invoice approval is disabled, and scheduled subs flip to active once their start date passes.

DB-only avatars, dynamic lead filters, per-list page sizes

1.144.0
  • Profile pictures no longer revert to your Google one on session restore — the canonical source of truth is the avatar you own.
  • Lead source / status filters now read from tenant config, so renames and additions to the lead-source list propagate to the filter UI without a redeploy.
  • List page size persists per list view (opportunities, customers, leads, contacts, subscriptions). Refreshes and route changes keep your chosen size instead of snapping back to 25.
  • Ticket pipeline: inbound tickets de-duplicated by Message-Id so a single email no longer creates the same ticket twice, and inline cid: images in inbound email now render in the ticket viewer.

Email tenant favourites + inline attachments

1.143.0
  • Composer now has a Saved attachments surface for hot files (logos, one-pagers, standard contracts) so they're one click away instead of re-uploading per send.
  • Inline-attachment path lets <img> tags reference embedded images so they render in the recipient's client without a second round-trip.
  • Opening the composer from any entity passes the originating customerId through, so the recipient picker is pre-filled and the resulting thread is stamped with the right customer link.

Multi-user calendar overlay + per-user event creation

1.142.0
  • Calendar can now overlay multiple users' events at once with per-user colour bands. The event modal accepts an explicit organiser_id so admins can create events on behalf of a teammate without first impersonating.
  • Weekly calendar view rebuilt with proper side-by-side layout for overlapping events, plus a "now" line that auto-scrolls into view on first paint.

Cadence-aware quote flow

1.141.0
  • Opportunity quotes now treat per-product billing cadence as a first-class input — when line items have mismatched cadences, the UI shows an explicit conflict modal instead of silently coercing. The Net Revenue field auto-sets from the resolved cadence so the operator never has to compute it by hand.
  • Per-product cadence is respected in MRR / ARR aggregation across frontend and backend, sharing a single normalisation rule.

Scheduled email sending with attachments

1.140.0
  • Composer popover now lets you draft an email now and dispatch it at a chosen time, including any attached documents.
  • Document picker on contact / opportunity / lead / subscription detail pages now includes the parent customer's documents, so operators don't have to bounce to the customer page to find shared collateral.
  • Opportunity CSV import resolves stage names against the tenant's configured opportunity_stages, so imports survive renames.
  • Two extra fields — additional_mrr and additional_one_time_value — on opportunities, for cases where the headline pricing ladder doesn't capture every revenue stream.

TV Displays: public-share URLs + slideshow rotation

1.139.0
  • Compose dashboards (KPI tiles, leaderboards, charts) into a slideshow rotation for an office TV. Each display gets a tokenised public-share URL that bypasses the normal auth wall (read-only, scoped to the chosen widgets, revocable from the admin UI).
  • Slideshow rotation cycles widgets at a configurable interval so a single screen can carry several views without anyone pressing arrow keys.

PowerOffice supplier sync + integration health probes

1.138.0
  • Organisations tagged as suppliers now push to PowerOffice's Supplier entity alongside the existing customer sync.
  • New integration health probes ping OpenAI / Resend / Link Mobility every 5 minutes and render a recent-history sparkline on the Integrations Health card, so operators can spot flapping before users complain.
  • Issue tracker matures with a long-range roadmap, mood-board gallery, and inline @mentions in comments.

Admin SMS tooling + Public API custom-field validation

1.137.0
  • Super-admin SMS tooling: bulk-create up to 200 numbers per request, send a self-describing test SMS to verify the pipeline, and view per-number inbound / outbound history for delivery triage.
  • Public API custom_fields are now validated: keys must match the tenant's custom-field definitions, and values must match each definition's field_type — instead of silently persisting junk.

Bulk-approve subscriptions + hide any field per tenant

1.136.1
  • Bulk-approve action on the Subscriptions page lets tenants drain a backlog of "waiting for approval" subs in one click.
  • Tenant admins can now hide any field (standard or custom) from record views via an Eye toggle in the Field Labels dialog. Hidden-field count is surfaced in an amber banner with an expandable list, so nobody is surprised by a missing field.
  • Custom payment-term values — admins running non-preset terms (e.g. 8-day) can now define their own.
  • "Add Subscription Item" now opens the product picker directly instead of requiring two clicks.

MRR / ARR correction for non-monthly subscriptions

1.136.0
  • Annual and other non-monthly subscriptions previously reported inflated MRR / ARR figures. Totals now normalise each line by its billing cycle length, matching the backend logic. A tenant-scoped backfill corrects existing rows. No invoices were ever generated at the inflated amounts.

Massive e-conomic + PowerOffice expansion

1.135.0
  • Closed the biggest gaps in both ERP integrations: 11 new e-conomic modules (orders, invoices, accounts, accounting periods, attachments, contacts, customers, currencies, products, VAT accounts, payment terms, layouts, journals, notes) and 9 new PowerOffice modules (employees, inbound / outbound invoices, product groups, contact tags, plans, and more), bringing the two integrations to rough feature parity.

Faster list and opportunities pages

1.132.0 & 1.133.0
  • List pages (Opportunities, Customers, Leads, Contacts, Subscriptions) load noticeably faster after a backend tuning pass that collapses permission lookups into a single query per request.
  • The Opportunities page now only warms its data cache once you signal intent to create a new deal, saving bandwidth on pages where you're just browsing.

Marketing site hero CTA polish

1.131.1
  • "Try free", "Watch demo", and "Get started" buttons on the Ticketing and Features pages now navigate to the free-trial sign-up, the contact form, and the Getting Started docs respectively.
  • Light-mode "Learn more" outline button is now legible against the gradient background below it.

Pricing page auto-selects currency from locale

1.131.0
  • Norwegian visitors see NOK, Danish visitors see DKK, Swedish visitors see SEK, and English visitors see EUR by default. The currency picker still lets you switch manually.

PowerOffice product sync: per-row recurring classification

1.130.0
  • Product preview now shows an explicit "Recurring?" checkbox per row instead of a single bulk dropdown. Since PowerOffice has no product-level recurring flag, per-row classification is the only correct fit for mixed catalogues.
  • Already-synced products show their current classification so re-syncing never quietly overwrites a manual edit.

Saved views remember sort order; follow-up toggle clears the date

1.129.0 – 1.129.2
  • Multi-column sort (primary, secondary, tertiary) now persists with saved advanced-filter views. A view like "Overdue tasks, oldest first" opens the same way every time. Wired through Activities, Contacts, Customers, Invoices, Leads, Opportunities, and Subscriptions.
  • Sort chips render alongside filter chips in the bar; one click toggles direction, one click removes.
  • Switching the inline follow-up toggle off on an opportunity now clears the saved follow-up date so stale reminders don't quietly persist.

Excel (XLSX) export

1.128.0
  • Every list export dialog now offers a Format toggle: CSV or XLSX. Excel exports preserve numeric and boolean cell types, so totals and filters work in Excel without having to retype column formats.

Organizations card on contacts

1.127.0
  • Contact detail page now has a dedicated Organizations card showing every linked company with mailto and tel shortcuts, role / industry / city subtitles, and a primary-star toggle.
  • Inline search popover lets you attach new organizations without leaving the contact page.

Opportunity overview polish, clearable numeric inputs, calendar UX

1.126.0 – 1.126.5
  • New inline follow-up toggle per opportunity (off by default, remembered per deal). When on, the date picker and quick chips render inside the note composer so follow-ups are one click away.
  • Past Meetings card on the opportunity Overview surfaces meetings whose deadline has passed, so you can review what happened without leaving the tab.
  • Order Number (used as "orderreferanse" in Fiken) is editable directly from the opportunity overview.
  • Unit price, quantity, and discount inputs on product, subscription line, and invoice line editors now accept a blank value instead of snapping to 0 every time you retype a multi-digit price.
  • Billing interval is now required on recurring products, preventing ambiguous "every undefined" pricing.
  • Date pickers on contact and contract forms now close the popover the moment you pick a date. Calendar renders month and year as dropdowns (1900 to current year) so jumping to a birthday or contract date is one click.
  • Delete control on timeline entries is now restricted to admins, keeping non-admins from removing other people's notes and calls.

Per-user default tab on detail pages

1.125.0
  • Lead, Contact, Subscription, Opportunity, and Customer detail pages can now be pinned to open on a specific tab per user. Click the star next to a tab while Edit Layout is on to set your default. A shareable ?tab= link still wins when someone sends you one.
  • Opportunity detail gains an Activities tab alongside Overview, Quotes, and Contract.

Contracts: show recurring items as yearly; optional signature

1.124.0
  • New template option displays recurring prices and line totals as yearly figures instead of monthly. The grand-total math is unchanged — only the display flips, which is useful when pitching annual contracts.
  • New "Require customer signature on accept" toggle. When off, a customer can accept a contract with a single click and skip the typed-signature form.

Drag-and-drop contact ordering and Activities tab on opportunities

1.123.0
  • Linked contacts on an activity can be reordered by drag-and-drop; the top contact becomes the primary and drives the email, calendar, and phone CTAs.
  • Opportunity detail gets a new Activities tab showing everything related to the deal, with the same drag-and-drop ordering.

Smarter contact-import matching

1.122.0
  • CSV import now matches contact rows to existing customers with a fuzzy-match fallback, so trivial name variations (trailing punctuation, casing, spacing) no longer create duplicate customers. The preview shows exactly which contacts will link to which customer before you commit.
  • "Create missing companies" toggle is now honoured uniformly for contacts — previously contact imports always auto-created companies.

PowerOffice: correct product pricing and contact linking

1.121.0
  • Product sync now reads the correct PowerOffice v2 price fields and inherits from the product group when a per-product price is blank. Prices now match what you see in PowerOffice.
  • New "Sync new products as" picker on first sync (Non-Recurring, Recurring, or Subscription template); manual classifications are preserved on every re-sync.
  • Contact person's parent reference (customer vs supplier) is resolved more defensively, restoring the "linked" badge in the preview.

Activities: save-unsaved-note prompt

1.114.0
  • Typing a note in the Activity editor and then navigating to a different activity now prompts you to save the draft against the previous activity or discard it — mirroring the same behaviour on opportunities. No more quietly lost notes.

Send-on-behalf: scoped permissions dialog

1.113.0
  • The Send-on-behalf permissions dialog now only shows users with an active mailbox, flagged per provider (Gmail or Microsoft). Previously-granted users with no connected mailbox are flagged so admins can clean them up.

Relationships: searchable organization picker

1.112.0
  • The relationship dialog now has an inline searchable picker, so you don't have to scroll through every organisation to pick one.

Opportunity and activities UI polish

1.111.0 – 1.111.4
  • New / Modify / None subscription-type toggle is now on the Overview tab's products card, so it can be changed without opening the full modal.
  • Opportunity number renders as a copy-to-clipboard badge in the page header.
  • Activities table: multi-value contact, email, and phone columns now render the first value inline with a "+N" badge whose tooltip lists the rest, keeping rows compact.
  • Copying an opportunity now refreshes the list cache, so the duplicate appears in the list without needing a hard refresh.

Quotes tab opens straight into the editor

1.110.2
  • Removed the redundant overview card that used to sit in front of the Quotes tab. The tab now opens directly into the line-items editor — one click saved on every visit.

Email templates: searchable merge-tag dialog

1.109.0
  • The in-editor "Merge Tags" button now opens a searchable, category-grouped dialog instead of a scroll-only dropdown. Finding a specific customer or opportunity merge field is instant, even with 100+ tags available.

Sales report: tenant stage labels, translated chart axes

1.108.0
  • Pipeline-stage breakdown now respects each tenant's custom stage names, colors, and ordering instead of falling back to generic defaults.
  • Win / loss summary now reports separate averages for won and lost deals.
  • Chart axis labels (Best / Worst / Forecast, Won / Lost) now translate through every locale.

Many-to-many contact organizations; real names in timelines

1.107.0 & 1.107.1
  • A contact can now belong to multiple organizations, with inline add and remove from the contact detail sidebar. Consultants working across multiple clients, and sellers following a buyer between jobs, no longer need to be duplicated.
  • When an opportunity's customer, contact, lead, or owner changes, the timeline now shows real display names on both sides of the change instead of long identifier strings. Legacy entries from before this change are resolved on demand.

Send-on-behalf: grant mailbox-send permissions

1.106.0
  • A tenant admin can now grant user A the right to send email using user B's connected Gmail or Microsoft mailbox.
  • The composer's From dropdown lists the caller's own mailboxes plus any granted to them, so delegation is explicit and scoped per user.

Marketing blog localized

1.104.0
  • Blog moved under the locale routing, so /no/blog, /da/blog, and /sv/blog serve localized versions alongside /blog (English).
  • Five Nordic-native posts (Tripletex, Fiken, AV Signage, Plast Nordic, ProspectFinder) preserve their original-language writeups and add English defaults, with real customer logos on the cards.

Knowledge base rewrite

1.103.0
  • Placeholder knowledge base is replaced with substantive documentation across ten categories: Getting Started, Pipeline & Opportunities, Leads, Contacts & Companies, Subscriptions & Invoicing, Tickets, Reports & Analytics, Automations, Integrations & API, and Admin & Access Control. Every article has a lede, multi-paragraph body, and searchable bullet lists.
  • This changelog itself is now written in plain English — every user-facing release from April 1 onward is in the list.

Marketing site translated into Norwegian, Danish, and Swedish

1.102.0
  • The public marketing site now has full translations for Norwegian (Bokmål), Danish, and Swedish. English stays at the root (/); Norwegian at /no, Danish at /da, Swedish at /sv. Existing English URLs and backlinks are preserved.
  • Self-referential canonical tags and hreflang alternates on every page and in the sitemap, so Google routes each language variant to the right audience in search results.
  • The site auto-detects browser language on the first visit and remembers the choice via a cookie.

Mobile-responsive detail pages and modal polish

1.94.0
  • Entity detail sidebars (Lead, Opportunity, Contact, Subscription) now open as a left-side slide-in sheet on mobile with a backdrop and close button, instead of pushing tab content down in a collapsed panel.
  • The back button and pagination (for example "← Leads 1/14 < >") are now pinned at the top of the sidebar so they never scroll away.
  • Every dialog, popover, dropdown, and select clamps to the viewport on narrow screens — no more popups that spill off-screen or modals that touch the edge.
  • Filter, notifications, and upcoming events sheets now go full-width on mobile instead of forcing a 400-pixel panel onto 375-pixel phones.
  • Subscription line editors, product forms, create-event pages, new-lead modals, and the NRR summary all stack cleanly on mobile instead of cramming into narrow columns.
  • Timeline rows now show the timestamp inline with the event title and let the body text flow at full width, fixing premature wraps on desktop.

e-conomic accounting integration

1.93.0
  • Full parity with PowerOffice. Customers, contacts, products, and invoices now sync both ways with e-conomic.
  • New one-click Connect with e-conomic flow, so no more manually pasting API tokens.
  • Accounting endpoints expose the chart of accounts, trial balance, VAT accounts, customer balances, and unpaid items, so finance can pull everything they need from DealJourney.
  • Invoice mirroring wraps each line-item write in a savepoint, so one bad invoice can't poison the whole batch.

PowerOffice integration launched

1.91.0
  • Full PowerOffice integration covering customers, contacts, accounting, invoices, and subscription billing. Closing a deal as Won now creates a draft invoice automatically.
  • ERP-sourced invoices from PowerOffice, Fiken and similar systems now appear on the Invoices page alongside native invoices, so you see the full billing picture in one place.
  • Customer and contact edits now propagate to the list view without a hard refresh.
  • Tenant admins can now rename built-in system fields, and the CSV importer respects tenant-customised dropdown values.

Plan tiers renamed and unsaved-changes protection

1.90.0
  • Subscription plans renamed to Startup, Scaleup, and Premium.
  • Closing a template editor or a note with unsaved changes now prompts you to save or discard instead of silently losing work.
  • New Copy opportunity action for quickly duplicating a deal with the same line items and terms.
  • Company profile now captures VAT number, invoice address, and billing contact for use in invoicing flows.
  • Fixed OneDrive and SharePoint OAuth hijacking the login redirect, so you no longer get bounced to the login screen after connecting document storage.
  • Kanban columns now scroll independently instead of forcing the whole page to scroll.

Permission fixes and login polish

1.89.0
  • The four role-based access levels (full, limited, view-only, no access) now propagate end-to-end, so limited and view-only settings finally behave correctly.
  • Limited-access users now see only Me in user filter pickers on list pages, reducing confusing filter options they can't meaningfully use.
  • Post-login Processing hang fixed. Password login boots from the fresh sign-in token immediately.
  • Marketing site now defaults to the visitor's system theme and uses real provider logos on the integrations grid.
  • Tenant currency settings and cost conversions now read manual exchange rates correctly, and product cost prices convert to the active currency without flashing the default.

Theme picker and navigation polish

1.88.0
  • Pick light, dark, or system theme directly from User Settings.
  • Previous and next arrows on detail pages now survive a full page refresh, so the navigation context is preserved within the same browser tab session.
  • Tightened up authentication token handling with 30 seconds of clock-skew leeway, so refreshes no longer cause spurious 401s.
  • Reconnecting an email account that was previously used as a ticket inbox now resets the inbox fields, preventing stale configuration from persisting.

Customer relationships and entity field fixes

1.87.0
  • New Relationships tab on customer detail pages for managing inter-company links.
  • Editing dropdown options on a global field now scopes the change to your tenant instead of changing it for every tenant on the platform.
  • Report builder field selectors now use a searchable combobox instead of a plain dropdown.
  • Creating a contact or lead now requires at least one identity field (name, email, or phone) to stop empty records from sneaking in.
  • Company profile changes now persist to the backend correctly.

Lead conversion preview and opportunity polish

1.86.0
  • Lead form now previews the entity that will be created on conversion.
  • Follow-up date presets update instantly without waiting on the server, and roll back on failure.
  • Custom pipeline stage names now sync across the pipeline board, the opportunity card, and the detail page.
  • Creating a new contact from the opportunity sidebar immediately selects and associates it.

Follow-up quick actions and richer contact info

1.85.0
  • New inline date picker with presets (tomorrow, next week, next month) for quickly setting follow-ups on opportunities, contacts, and leads.
  • Opportunity sidebar now shows the linked contact's role flags (champion, decision maker, invoice recipient), LinkedIn URL, and direct phone.
  • New timezone-aware helpers for calendar and scheduling components.

Contract generation hardening

1.84.1
  • Contract preview works again after a SQL column-name fix that was blocking all contract preview and generation.
  • Customer email, phone, organisation number, address, and contact phone are now available as merge fields in contract templates.
  • Contracts correctly distinguish recurring vs one-time items by looking up each product in the catalog instead of relying on a flag that was never set. Fixes contracts showing wrong totals.
  • Contract preview text is now readable in dark mode.
  • Non-quote edits (notes, follow-up dates) no longer trigger false contract-is-outdated warnings.

Detail sidebar overhaul

1.84.0
  • Contact, customer, lead, and subscription sidebars redesigned with richer context, contact role flags, and LinkedIn support.
  • Opportunity sidebar shows stronger deal information, a financial summary, and stage context.
  • Quotes tab separates recurring and one-time items with MRR and ARR totals.
  • Creating or updating an opportunity now automatically links the contact to the customer organisation.

Storage OAuth and dropdown scoping

1.83.1 – 1.83.3
  • SharePoint and OneDrive OAuth on staging now works. The redirect URI was always pointing to production.
  • Editing a dropdown option on a global standard field (like Industry) no longer silently changes it for every tenant on the platform. A tenant-specific copy is created on first edit.

Entity navigator and Contact overview tab

1.81.0
  • New previous and next arrows on every entity detail page let you jump through a list without going back. The next entity renders instantly because list data is pre-seeded into the cache.
  • Contact detail page now has a combined Overview tab with the activity timeline and quick-action cards, matching leads and opportunities.
  • Schedule Meeting on contact and lead detail pages now opens a full meeting modal with calendar sync.
  • ProspectFinder dark mode fixed.

Note view modal

1.80.0
  • Clicking any note in the activity timeline opens the full rich-text content (images included) in an inline dialog, instead of navigating away to a separate Notes tab.

Edit Layout mode and unified sidebar footer

1.79.0
  • All entity sidebars now have an admin-only Edit Layout toggle that reveals drag handles for reordering fields, keeping the sidebar uncluttered in normal use.
  • A unified footer across every entity sidebar shows auto-save status, the Custom Fields button, and the Edit Layout toggle.
  • First Name and Last Name are now inline-editable fields on the contact sidebar.

Public API expansion

1.78.0 – 1.78.2
  • Public API grows from 9 to 16 modules (45 to 79 endpoints), adding webhooks, pipelines, custom fields, users and teams, email templates, documents, and audit trail. The API documentation page is fixed too.
  • Recurring-product toggle in the Quotes tab now reads from the database correctly and is shown as a clearer checkbox.

Customer and lead experience redesign

1.77.0 – 1.77.2
  • Customer overview rebuilt to match opportunities: inline note composer, interaction timeline, subscription metrics (MRR, ARR, lifetime value, next renewal), upcoming activities, and quick links.
  • Lead overview with a clickable stage bar (New, Contacted, Qualified, Converted), inline note composer, and booking and conversion actions in the side panel.
  • Customer sidebar now auto-saves on a 1-second debounce with an inline status indicator, replacing manual Save and Cancel buttons.

Company Profile settings

1.76.0
  • New Company Profile tab under Admin settings for configuring display name, logo, and branding. Used as fallbacks in contract generation and email templates.

Stale contract warnings and login reliability

1.75.0 & 1.75.1
  • When a quote is edited after a contract was generated, the Overview and Quotes tabs now show an amber warning and promote Regenerate Contract as the primary action. Prevents reps from sending outdated contracts to customers.
  • Fixed a race condition between password login and Supabase auth that could leave the UI stuck on Processing indefinitely.

Branding moves to tenant level, plus contract and trial fixes

1.74.0 – 1.74.4
  • Organisation branding (name, logo, website, email, phone) moved from per-user profile to tenant-level settings, so it applies consistently across the whole workspace.
  • New Department field on profile, available as a merge tag in email templates.
  • System-wide default contract templates are now available to every tenant as fallbacks; tenant-specific templates still take priority when present.
  • Profile avatar now loads reliably on refresh and updates immediately after upload.
  • Free trial reactivation now works when an admin extends a deactivated trial.

Email template merge fields

1.73.0 & 1.73.1
  • All entity merge fields (contact, customer, lead, opportunity) now resolve correctly in template previews.
  • Live preview updates as you edit, instead of requiring a manual refresh.
  • Drag-and-drop emails built in Unlayer now preserve their original table layout, inline styles, and backgrounds when previewed and sent.
  • Organisation name and logo URL now available as merge tags across email templates.

Quotes tab

1.72.0 & 1.72.1
  • Products tab on opportunities redesigned as a unified Quotes view, with separate sections for recurring and one-time items, inline editing, and clear MRR and ARR totals.

Timeline internationalisation

1.71.0
  • Timeline labels, relative timestamps, and change descriptions are now fully translatable across English, Norwegian, Danish, and Swedish.
  • Opportunity overview uses smarter urgency indicators based on follow-up dates and deal stage, with locale-aware date formatting throughout.

Smarter change tracking

1.70.0
  • Field-level change tracking now normalises values before comparing, so cosmetic changes (like reordering a multi-select) no longer show up as edits in the timeline.

Marketing site refresh

1.69.0
  • Pricing page rewritten with real plans (299, 499, 699 NOK), multi-currency support, and a feature comparison table.
  • Integrations section updated with real partner logos; new FAQ section with structured data for search engines.
  • Five blog posts migrated from the previous site.

Autosave on Products and email fallbacks

1.68.0 – 1.68.2
  • Products and line items on opportunities now save automatically with a debounced autosave and visual status indicators.
  • Tenant-specific values (company name, branding) now take priority over generic defaults in every email context. Fixes templates that used to show Your Company instead of the actual organisation name.
  • Public contract pages use neutral colours that work in both light and dark mode.

Timeline filters and structured changes

1.67.0
  • Interaction timeline now has a filter bar to show only specific types of activity (notes, emails, calls, meetings, changes).
  • Field-level edits in the timeline show the specific fields that changed, with before and after values in a clean scannable format, replacing the generic record-updated message.

Field-level change tracking

1.66.0
  • Every edit to an opportunity is now tracked at the individual field level and shown in the interaction timeline with human-readable labels, the old value, and the new value.

Opportunity overview redesign

1.63.0 & 1.63.1
  • Overview tab rebuilt as the primary landing surface for a deal: inline note composer at the top, interaction timeline, a 5-state contract lifecycle card (none, draft, sent, signed, rejected), a products and totals side panel, and an upcoming events strip.
  • Overview is now the first tab; the standalone Activity tab is merged into Overview.
  • Template preview loads opportunity and customer data correctly for merge tag resolution.

Contract draft vs sent tracking

1.62.0
  • New backend tracking for whether a generated contract has actually been shared with the customer. The opportunity overview card now correctly shows Draft for contracts that only exist in the database and Sent only once the customer has actually received it.
  • New mark contract as sent action for cases where a rep shares the public contract link outside DealJourney, for example over Slack, WhatsApp, or a personal email.

Sidebar autosave and timeline polish

1.60.5 & 1.60.6
  • Opportunity sidebar autosave rewritten so keystrokes during an in-flight save are never dropped. Silent autosave with a visible Save failed indicator and Retry button.
  • Interaction timeline: date group headers now centred between dividers, timestamps moved to the top-right of each entry so long subjects no longer wrap around metadata.

Calendar and SMS reliability

1.64.0 – 1.64.2
  • Unified calendar improvements with better timezone support and more reliable event sync across connected calendar providers.
  • Link Mobility SMS client upgraded with better error handling, retry logic, and configuration validation. 401 errors caused by a missing authentication header are fixed.
  • Calendar events and interactions now correctly show the user who created them instead of always displaying System.

IMAP and SMTP email support, plus auth hardening

1.61.0 & 1.61.1
  • Connect any email provider (Yahoo, iCloud, custom domains) to the ticketing system over standard IMAP and SMTP, alongside existing Gmail and Microsoft OAuth.
  • Authentication tokens are now validated through a single canonical module enforcing signature, expiration, and audience checks everywhere. Fixes endpoints that previously accepted expired or wrong-audience tokens.

Marketing blog and HTML sanitisation

1.60.2 – 1.60.4
  • Full blog system on the marketing website with category filtering, search, reading progress, a mobile-responsive table of contents, share buttons, and related posts.
  • Proper HTML sanitisation across contract sharing, bulk contracts, email previews, and ticket template previews.

Your next customer is waiting.

Start your 14-day free trial and give your team everything they need, from first contact to renewal.