The flow
Starts it 2Model 4Logic 15Service 20
The steps in the order they run, from what starts it.
- 1When Every Day at 10:30 AMSchedule triggerStarts it
- 2On WhatsApp Message ReceptionWhats App triggerStarts it
- 3Google Gemini ClassifierLm Chat Google GeminiModel
- 4Parse AI ResponseOutput Parser StructuredModel
- 5Maintain Chat Memory in RedisMemory Redis ChatModel
- 6Retrieve Absent Students from SheetsGoogle SheetsService
- 7Set Message DetailsSetLogic
- 8Classify Absence ReasonAgentModel
- 9Check If Reason is MissingIfLogic
- 10Verify Message Contains TextIfLogic
- 11Assess If Reason Is GivenIfLogic
- 12Send Absence Notice on WhatsAppWhats AppService
- 13Confirm Message is Text TypeIfLogic
- 14Update Student Data in SheetsGoogle SheetsService
- 15Request Reason ClarificationWhats AppService
- 16Store Notice in RedisRedisService
- 17Verify Dedup Key in RedisRedisService
- 18Warn Non-Text Message on WhatsAppWhats AppService
- 19Dispatch Confirmation MessageWhats AppService
- 20Free Lock After ClarificationRedisService
- 21Determine Message DuplicationIfLogic
- 22Release Lock Post ConfirmationRedisService
- 23Ignore Duplicate Message EntryNo OpLogic
- 24Log Dedup Key in RedisRedisService
- 25Retrieve Message Buffer from RedisRedisService
- 26Save Message to BufferSetLogic
- 27Store Message Buffer in RedisRedisService
- 28Log Message Timestamp in RedisRedisService
- 29Pause 1s for DebounceWaitLogic
- 30Retrieve Latest Timestamp from RedisRedisService
- 31Verify Latest Message StatusIfLogic
- 32Check Processing Lock in RedisRedisService
- 33Abort Stale Message ProcessNo OpLogic
- 34Detect Active Processing LockIfLogic
- 35Cancel Locked ProcessingNo OpLogic
- 36Gain Processing Lock in RedisRedisService
- 37Acquire Final Buffer from RedisRedisService
- 38Create Combined Message BufferSetLogic
- 39Remove Buffer from RedisRedisService
- 40Read Student Data from SheetsGoogle SheetsService
- 41Check Student Reason PresenceIfLogic