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
portfolio

Extract colors from an image

May 03, 2025

I built a fun tool that helps anyone grab colors from images easily, making it perfect for those who love vibrant design!

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:

 

Two website buttons

Two website buttons

The button then takes them to this call scheduling page:

Scheduling form

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.

 

Calendar to schedule a call on specific date

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.

Call schedule in Google calendar

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:

 

Call schedules management on website

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:

Rescheduling functionality

Rescheduling functionality

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

Rescheduled call on Google calendar

Rescheduled call in Google calendar

 

Rescheduled call on website

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:

Lead management page

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:

Lead management page - AI generated sections

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:

Call transcript

A part of an AI organized transcript

Clicking the call summary button shows this window:

 

Call summary

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:

 

List of leads

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:

Lead analysis

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:

Lead status

Lead status options

Here's the flowchart of this automation:

 

Lead management system flowchart

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


Explore a cryptocurrency data tracking project designed to provide users with up-to-date and historical price information in a structured and efficient way. The system connects to a crypto data API, regularly updates stored data, and maintains a rolling dataset of the past 365 days.

To ensure data completeness, the system also validates missing dates and fills gaps where necessary, resulting in a consistent and reliable dataset. Older records are automatically removed to keep the database optimized while preserving the most relevant historical range.

The data is presented through both a tabular interface and an interactive chart, allowing users to analyze trends and price movements at a glance. This project focuses on data consistency, automation, and efficient storage management.

For a deeper look into the implementation and data handling approach, explore the project further on this website.

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.