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

What Happens If AI Handles Customer Support? ServiceNow Found Out

May 03, 2025

See how ServiceNow use smart AI agents to answer 80% of customer questions quickly, saving time and making customers happier.

Project
portfolio

Automating Resume Screening: a Game-Changer for Recruitment Efficiency?

May 03, 2025

I created an AI tool to help find the best job candidates quickly and fairly by automatically checking their resumes for important skills.

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? Dive into my latest project where I use AI to make answering questions super easy! This project uses something called Retrieval Augmented Generation (RAG) to help chatbots find the right answers from uploaded documents, making them more accurate and helpful. No more guessing games—my AI knows where it got its info from, so you can trust its answers!

In this project, I show how to upload a PDF and ask it questions. The AI gives you the answer, shows where it came from, and shares the text it used to find the answer. It's like having a smart friend who knows everything in your document! Ready to see how it works? Check it out!

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.