A simple yet effective lead management tool with AI assistance

How I engineered an AI lead management system that makes it all trivial

Continue reading...

Featured Project
case study

Meet Nibby: The AI Concierge Revolutionizing Health Insurance Support

May 03, 2025

Nibby, an AI helper created for NIB Health Insurance, that answers questions and saves money while letting staff help with tricky problems.

Project
case study

Why AI Chatbots Fail

May 03, 2025

I explore how AI chatbots can improve customer support for businesses, while also highlighting their common problems and how to make them better.

From the Firehose

About

I built a smart tool for myself, business owners and marketers that automates lead management, making scheduling calls and tracking leads quick and easy.

One of AI's blessings is its automation potential, but how do you use it to automate the various steps in lead management? And how will it make lead management less time-consuming for both business owners and marketers?

Today, I want to address these questions with a lead management automation I built, where the only thing a small business owner/ marketer has to do is handle the calls and make the final decision about lead status.

The tool I built has scheduling and notification functionalities, as well as lead management in the form of lists in a website page.

Let's start with the scheduling, once a website visitor decides to take the next step, they can click a schedule call button like this one from a landing page:

 

Article content

Two website buttons

The button then takes them to this call scheduling page:

Article content

Call scheduling web app

In the project I built, this app only shows the scheduling date field when a valid email is entered above. Once the valid email is entered, you can schedule a call in the next 30 days.

And then once a date is selected, there is an API call to Google calendar to check whether the date selected has available slots, the available slots are then separated by 30 minutes where each call is given 30 minutes time.

 

Article content

Scheduling a call

Once a call is scheduled, an event is created in google calendar for both the admin and the lead. And this takes into consideration timezone differences and is properly calculated on the backend.

Article content

Call scheduled in Google calendar

This same call is also saved in the database of the website. And on the admin's side, it looks like this:

 

Article content

Call management on the website

This allows the deletion of cancelled calls, stores the call's scheduled date in UTC and notes the lead's timezone as well in IANA format. So implementing extensions or changing to a different calendar API shouldn't cause too much of a hassle

To make rescheduling as simple as possible (avoid spam as well) and without contacting the business owner or the marketer, if an email that already scheduled a call that didn't happen yet is entered in the scheduling app, this happens:

Article content

Rescheduling functionality

Rescheduling changes the time stored in the database and changes the scheduling time for the already created event in Google calendar.

Article content

Rescheduled call in Google calendar

 

Article content

Rescheduled call on the website

Now let's visit the AI part of this system. In the following page, Lead and call details are saved in the form of lists under spoilers to avoid cluttering up the page:

Article content

Lead management page

We've already seen how scheduled calls look like, now let's look at the list of calls past their scheduled date:

Article content

List of calls done

During a call, an external tool is invited to transcript the call. The transcription is sent through an API to the AI model used in the backend of the website with instructions to organize, format and fix any inconsistencies in the transcription recorded.

The processed transcription is then used to create a summary of the call. The summary is then used to get AI to suggest a Lead status, as shown above. However, if the lead didn't join the call, all of these steps are skipped and the suggested status is no show.

Handling no shows is a whole automated process of its own that sends periodic messages to the lead to get their attention back. But I won't get into the details of that one here.

Clicking the transcript button shows this window:

Article content

A part of an AI organized transcript

Clicking the call summary button shows this window:

 

Article content

AI generated summary of the call

And now last but not least, the list of leads. Once a lead schedules a call, their information is stored in the database as a warm lead.

However, if the lead status is marked unqualified and remains unchanged, all personal information about this lead will be deleted automatically in 90 days to stay compliant with privacy laws such as GDPR. If a lead in EU requests to have their info deleted, the admin can do so by clicking the trash can icon.

Here's how the list of leads looks like:

 

Article content

List of leads on the website

The Analysis section here is handled by AI based on the summaries of all the calls done with the lead. This section provides insights about the lead, their needs, their expected results and an action plan proposed by AI. Here's how it looks in its own window:

Article content

Lead analysis

For this lead management tool, AI documents and organizes everything, but its role is assistive. The final decision of the lead status is for the admin of the tool, who can pick the lead status from the following options:

Article content

Lead status options

Here's the flowchart of this automation:

 

Article content

Lead Management Flowchart

So in summary, this automation handles scheduling, email notifications, Zoom call creation, Zoom call link distribution, call transcription, call summarization, lead analysis, suggested lead status and automatically handles "no show" leads in an attempt to bring them back to the fold.

I built this application along with the website it is on using 4 programming languages (Primarily Python, JavaScript, HTML and CSS). Most functionalities are in-house and there are only two APIs used, Google Calendar API and OpenAI o4-mini.

To address operational cost, If you host 100 calls every month, Google calendar API will remain within the free tier. For OpenAI, summarizing 20 to 30 minute calls 100 times and offering lead analysis after every call should cost approximately $0.084 to $0.126 per month.

This is a very cost-effective automation that is literally almost free to run, even if it scales, but offered great value to a client of mine nonetheless. This is not otherwise achievable with no-code tools. And the only way for this not to work properly is if Google servers go offline, how often does that happen?

Imagine how much time and money you can save with a system like this, want one? Let me help you create it to your specific needs

Schedule a call


Hungry for more? Let me introduce you to my exciting project that makes social media management easy and fun for small businesses! I created an AI-powered tool that helps businesses automatically post on social media. This tool is smart enough to know the day of the week, the current season, and even holidays! This means every post is special and connects with customers in a fresh way.

This project not only saves time but also keeps businesses looking good online. Imagine having unique and colorful posts made just for your brand without lifting a finger! If you want to learn how this magic works and see how it can change your social media game, stick around for the details. You're going to love it!

Learn More

About

I built a smart tool for myself, business owners and marketers that automates lead management, making scheduling calls and tracking leads quick and easy.