Skip to content

A sales CRM with calls and booking built in

Deals, calls, chat messages and meetings live in one Dynamics 365 Sales record, with AI lead scoring, call sentiment and a public booking page.

Example project

Based on a project our team built. Client details are left out or changed, and the demo uses invented data.

Sector
B2B distribution and field services
Typical duration
10 to 14 weeks
A deal form in a sales app with a four-stage process bar, an AI lead score of 87 with its reasons, and a timeline showing a call with sentiment and next step, plus Viber and WhatsApp messages.

Typical client situation

A B2B distribution or field-service company with a field and inside sales team of 15 to 60 people. Deals are tracked in the CRM, but calls happen on a separate phone system, customers write on Viber and WhatsApp, and meetings are arranged by email.

Challenge

Reps call customers from their own phones or a desktop VoIP client, then type a note into the CRM when they remember. Recordings sit in the phone system, and a manager who wants to know what was promised has to ask the rep.

Prospects who want a conversation write an email and wait for an answer. Leads are disqualified without a stated reason, so nobody can tell why deals are lost. Discounts for early payment are agreed by phone and applied by hand.

Solution

The solution customises Dynamics 365 Sales as a model-driven app: a deal process with Discover, Fit check, Pitch and Sign-off stages, a Drop deal action that requires a reason, and stage fields that must be filled before the next step. A C# plugin applies the conditional early-payment discount the moment payment terms change.

A VoIP desktop bridge turns every phone number in the CRM into a click-to-call link. Calls are recorded, transcribed and summarised by AI, and each call lands on the timeline with its duration, summary, sentiment and the next step extracted from the conversation, which becomes a task in one click. Viber and WhatsApp messages sit on the same timeline next to the calls. A public booking page built with Node and Express shows a rep's free 30-minute slots, creates the meeting in the CRM and attaches it to the deal.

AI scores every lead from 0 to 100 and lists the reasons behind the score, such as a confirmed budget, repeated offer opens or a decision maker who has not joined a call yet, together with a confidence value and a suggested next step. Managers see the hot leads on the dashboard.

  • AI lead score with the reasons behind it, a confidence value and a suggested next step

  • Viber and WhatsApp messages on the deal timeline next to recorded calls

  • Call transcripts with sentiment and the next step extracted into a task

  • Click-to-call from any phone field, with the call logged on the timeline

  • Public booking page that creates the meeting and links it to the deal

Stack

  • Dynamics 365 Sales
  • Dataverse
  • C# plugins
  • Node.js and Express
  • VoIP desktop bridge
  • Azure AI services
  • Power BI

Screens from the demo

We rebuilt this solution as a demo with invented data, so you can see how it works without exposing any client system. Click through it yourself.

Open the interactive demo
A table of recent calls with the rep, duration, sentiment, an AI summary and the next step extracted from each conversation.
Fig. 1Every conversation gets an AI summary, a sentiment and an extracted next step that reps can turn into a task.
A public booking page where a visitor picks a 30-minute call slot and enters contact details, with a summary of the booked call.
Fig. 2The public page lets a prospect pick a free 30-minute slot, and the booking is created in the CRM and linked to the deal.

What it is built to deliver

for every call, message and note on a deal
One record
with the reasons visible to every rep
Scored leads
booking, with no email back and forth
Self-service

Recognize the situation?

Tell us where your process is stuck. We will tell you honestly whether we can help.