bot flow diagram
start -> free guide -> lead capture -> paid chapters -> intensive -> pre-registration -> followupsBuilt a Telegram bot for phased lead nurturing and product sales: free guide delivery, paid chapters, webinar-style intensive, course pre-registration, followups, and runtime admin controls without redeploy.
The client already had a basic Telegram bot for distributing free materials, but the product needed to evolve into a structured funnel. The goal was to reactivate the audience, deliver a free guide, support paid content, collect leads, and move users toward an intensive and a course offer.
I built a Python-based Telegram bot with phased funnel logic, centralized message configuration, user data collection, followups, admin commands, and payment flow abstraction. The bot guides users through free materials, paid chapters, intensive registration, course pre-registration, and later-stage sales scenarios.
The project evolved from a narrow phase 1–2 MVP into a broader multi-phase funnel. To keep the system manageable without constant code changes, I added runtime phase switching, feature flags, admin controls, a demo mode with mocked checkout, database exports, and operator documentation.
The result is a working Telegram bot that supports free guide delivery, paid chapter upsell, intensive registration, course pre-registration, admin broadcasts, followups, and demo presentations for the client. The implementation includes persistent storage, exportable lead data, runtime configuration, and a live demo environment.
start -> free guide -> lead capture -> paid chapters -> intensive -> pre-registration -> followups/phase set intensive
/feature enable payments
/broadcast draft
/export leads
/demo ondemo mode enabled
checkout: simulated
notifications: test-safe
operators: admin-only controlsfree guide
-> paid chapter upsell
-> intensive registration
-> course pre-registration
-> followupsusers.db
leads.xlsx
segments.csv
fields: source, phase, email, status, paid_flagThe project uses modular Python architecture with separated config, handlers, database layer, payment abstraction, webhook helper, tests, and deployment files. Runtime behavior is controlled through admin commands and database-stored config, which makes it possible to switch phases and enable features without redeploying the bot.