Back to projects
Telegram / Mini CRM

LeadFlow

A Telegram CRM for capturing leads, managing customer records, scheduling follow-ups and coordinating a team in chat.

TYPECommercial project
LeadFlow — Telegram bot screen 1
01 / About the project

About the project

LeadFlow is a commercial Telegram bot with a public lead form and staff-only CRM commands. It stores leads, roles, notes, reminders and unfinished conversations in Supabase PostgreSQL, without requiring a separate web interface or database server.

02 / The challenge

The challenge

Make lead intake accessible in Telegram while keeping customer management role-restricted and preserving conversation and reminder state across bot restarts.

03 / What we built

What we built

A public guided flow collects a name, contact, company, request, source and preferred follow-up time; users review and confirm the details before saving.

CRM commands require a Telegram ID and role that match both the server-side allowlist and an active Supabase staff record.

Browse lead lists and records, filter by status, and manage the lifecycle: new, contacted, qualified, proposal, won and lost.

Edit lead details, add notes, assign an owner and schedule follow-up reminders.

Summary statistics report total leads, today's leads, upcoming contacts and counts by status.

PostgreSQL stores leads, roles, conversations and the reminder queue; APScheduler dispatches reminders and Docker packages the service.

04 / Technology stack

Technology stack

PythonaiogramSupabasePostgreSQLAPSchedulerDocker

Architecture & technology roles

Python
Data processing, automation and server-side components.
PostgreSQL
Relational storage of connected data and transactional consistency.
Docker
Reproducible environments and container-based component startup.
05 / How it works

How it works

  1. A user starts the bot and completes the guided lead form, or a staff member creates a lead with /new.
  2. The bot previews the submitted details for confirmation before saving; public submissions have a daily limit.
  3. A staff member opens a lead, updates its status or details, adds a note, or schedules the next contact.
  4. The scheduler sends reminders to assigned staff; lead data and unfinished conversations persist in Supabase.
THE NEXT STEP

Have a challenge? Let’s solve it.

Tell us what you need. We’ll clarify the details and suggest the next step.

Discuss your project