Sell products in Telegram with Flutterwave and Google Sheets
📱 Telegram Trigger
💳 Flutterwave Webhook
🔄 Extract Telegram Data
📋 Get User Session
googleSheets
✅ Session Exists?
🆕 Create New Session
googleSheets
🔗 Merge Session Paths
🗺️ Route by Session State
💬 Route by Update Type
👋 Send Welcome Menu
telegram
🛍️ Fetch All Products
googleSheets
📝 Format Products List
📤 Send Products List
api.telegram.org
🔀 Route Callback Data
📦 Get Product Detail
googleSheets
📊 Product In Stock?
💾 Set State: Selecting Qty
googleSheets
❓ Ask Quantity
telegram
❌ Out of Stock Message
telegram
🔢 Validate Quantity Input
✅ Quantity Valid?
📊 Check Stock for Qty
googleSheets
✅ Enough Stock?
🛒 Add Item to Cart
💾 Save Cart to Session
googleSheets
✅ Item Added to Cart
telegram
❌ Not Enough Stock
telegram
❌ Invalid Quantity
telegram
🧺 Load Cart Session
googleSheets
📝 Format Cart Display
🛒 Cart Empty?
📭 Empty Cart Message
telegram
🛒 Send Cart Display
api.telegram.org
🗑️ Remove Item from Cart
💾 Save Cart After Remove
googleSheets
✅ Cart Updated Message
telegram
🛒 Load Session for Checkout
googleSheets
💾 Set State: Entering Email
googleSheets
📧 Ask for Email
telegram
📧 Validate Email Input
✅ Email Valid?
💾 Save Email to Session
googleSheets
📦 Check for Physical Items
🏠 Need Delivery Address?
💾 Set State: Entering Address
googleSheets
🏠 Ask for Address
telegram
❌ Invalid Email
telegram
🏠 Validate & Save Address
✅ Address Valid?
💾 Save Address to Session
googleSheets
❌ Invalid Address
telegram
📋 Prepare Order Data
📝 Create Order in Sheets
googleSheets
💳 Flutterwave Init Transaction
api.flutterwave.com
📤 Send Payment Link
api.telegram.org
💾 Set State: Awaiting Payment
googleSheets
🔐 Verify Flutterwave Signature
✅ Valid Charge Event?
📋 Find Order by Reference
googleSheets
✅ Update Order Status: Paid
googleSheets
📦 Parse Order Items
📦 Digital or Physical?
🔗 Convert Drive Link
📁 Send Digital File
telegram
🚚 Send Shipping Confirmation
telegram
📉 Update Product Stock
googleSheets
💾 Deduct Stock
googleSheets
⚠️ Stock Now Zero?
🔔 Admin: Low Stock Alert
telegram
🧹 Clear User Cart
googleSheets
✅ Update Order: Delivered
googleSheets
🔔 Admin: New Order Notification
telegram
📋 Fetch User Orders
googleSheets
📋 Format Orders List
📤 Send Orders List
api.telegram.org
🔍 Fetch Order Detail
googleSheets
📋 Format Order Detail
📤 Send Order Detail
api.telegram.org
💾 Set State: Searching Order
googleSheets
📋 Ask Order ID
telegram
🔍 Validate Order Search
✅ Search Valid?
❌ Invalid Order ID
telegram
🔍 Fetch Searched Order
googleSheets
📋 Format Searched Order
📤 Send Searched Order
api.telegram.org
📋 Fetch Track Info
googleSheets
📋 Format Track Info
📤 Send Track Info
api.telegram.org
📦 Update Tracking Status
googleSheets
💾 Reset State After Search
googleSheets
💾 Save Payment Link
googleSheets
🔄 Cancel & Reset State
googleSheets
✅ Cancel Confirmed
telegram
❓ Search Cancelled?
❓ Qty Cancelled?
❓ Email Cancelled?
❓ Addr Cancelled?
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.