myDial: A Dialer With an AI Sales Coach

  • ai-sales-coach
  • sales-dialer
  • ai-agents
  • crm

myDial is a sales dialer I'm building that puts a call queue, a lightweight CRM, email follow-up and an AI sales coach in one web app. You work through a list of leads, log how each call went, and myDial lines up the retries and follow-up emails. The coach helps you prep before a call and reviews it after.

It's an early build. Here's what it does today and how it's put together.

The problem it solves#

Outbound calling is mostly bookkeeping. Who's next. Who didn't pick up. Who said never call again. When that lives in a spreadsheet and someone's memory, things slip.

The other half is getting better at the calls. Prep and feedback usually depend on someone having time to sit down with you. I wanted both built into the tool.

How the dialer works#

Leads come in by CSV import or one at a time. Each lead sits in a queue. Hit dial and myDial opens Google Voice with the number ready, and it can copy the number to your clipboard if the new tab gets blocked.

myDial leads directory listing sample leads with company, phone, stage, dials and score columns

The leads directory, where imported leads wait to be queued. Sample data shown.

When the call ends, you pick one of five outcomes with a single key:

  • Interested
  • Not interested
  • Voicemail
  • No answer or busy
  • Do not call

Each outcome decides what happens next. No answer and voicemail stay in the queue and come back later. Not interested leaves the queue. Do not call leaves the queue and can't be put back.

myDial analytics and history page with summary cards and a table of past calls, their outcomes and durations

Every call and its outcome is logged in the history view. Sample data shown.

Campaigns, cadence and flows#

Leads can belong to a campaign. A campaign has a calling window, an option to skip weekends, a cap on attempts and a wait time between retries. If a lead isn't due yet, the queue says why.

For more control there's a visual flow builder. You drag together steps like dial, email and wait, and branch on the call outcome. A voicemail can lead to an email, and no answer to a wait and another dial.

Each campaign can also have a call script, broken into sections, with saved answers to common objections.

Email follow-up#

After a voicemail, myDial can draft a follow-up email for that lead. It sends through your own mail server, and conversations live in a built-in inbox, threaded by lead. Once a lead is marked not interested or do not call, their automatic follow-ups pause.

myDial email outreach inbox with mailboxes for replies, automated triggers and follow-ups, plus outgoing mail server settings

The built-in inbox, with folders for no-answer and voicemail follow-ups. Sample data shown.

How the AI sales coach works#

This is the part I'm most interested in. The coach lives in a chat panel next to each lead. Before you dial, you can ask it how to open, what to watch for, or how to handle an objection. It works from the lead's details, the campaign script, the saved objection answers and past calls with that lead. Its instructions say not to invent scores, win rates or facts that aren't in front of it. And it never talks on the call. It writes to you.

myDial power dialer with a sample lead loaded and the Open Google Voice and Dial button

The power dialer, with the next lead ready to call. Sample data shown.

The coach can also look things up in the CRM, check the inbox or past calls, add a line to the lead's notepad, or save something to remember for later calls.

When you log the outcome, the coach writes a post-call review: what went well and what to change next time.

How it learns#

If a suggestion is wrong, you mark it and say why. myDial saves that correction with the context of the call. On later calls, the coach searches its saved playbooks, reviews and corrections and pulls in the ones that fit the lead and the situation.

myDial coach settings page with the coach persona, playbooks and custom message actions

The coach page, where the persona, playbooks and message actions are set. Sample data shown.

What it's built on#

myDial is a Node.js app on Express with SQLite for storage, packaged to run in Docker. By default the coach points at local models running through Ollama, so your data can stay on hardware you control. It can also be switched to leading AI models like OpenAI and Claude.

There's a REST API with docs, plus webhooks for events like a lead being dialed or an email being sent, so it can plug into the tools you already use.

Where it's headed#

I started myDial in mid-October and added the coach a day later. It's still early, and I'm refining it as I go.

It's the outbound side of the same idea behind my AI phone agent, which handles inbound calls. There, the AI answers the phone. Here, a person makes the call and the AI helps with prep and review. If you want the background on how agents like this work, start with what an AI agent is.

If your team makes calls and you want something like this built around how you sell, get in touch.

Frequently asked questions

What is myDial?
myDial is a web app I'm building for outbound calling. It combines a call queue, a lightweight CRM, email follow-up and an AI sales coach that helps you prep calls and reviews them afterward.
Does the AI coach talk to the prospect?
No. The coach only works with you, in its own chat panel. The person on the phone is always the one talking.
Which AI models does myDial use?
By default it points at local models running through Ollama. It can also be switched to leading AI models like OpenAI and Claude.
Does the coach get better over time?
It can learn from feedback. When a suggestion is wrong, you mark it and say why. That correction is saved and pulled back in on later calls, along with past reviews and playbooks.
Is myDial finished?
No. It's an early build that I'm actively working on. The dialer, CRM, email and coach are all in the code today, and I'm still refining them.