The bot that lied to cricket fans with a straight face: Temporal x San Francisco Unicorns

This post details the implementation of a fan engagement bot using Temporal Workflows to manage stateful operations like reminders, live-score polling, and post-match summaries. It highlights the use of four distinct Workflows (`conversationTurnWorkflow`, `matchReminderWorkflow`, `matchScoreSubscriptionWorkflow`, `postMatchSummaryWorkflow`) to handle different aspects of the bot's functionality. The post emphasizes how Temporal's durable execution ensures these operations continue seamlessly even if Workers fail, a critical requirement for a system operating across time zones and during live events. It also discusses challenges and solutions related to WhatsApp's messaging platform constraints, such as the 24-hour messaging window and webhook verification. A specific failure mode is described where a hardcoded free-tier limit caused the bot to stop fetching live scores, leading to stale data, and how this was resolved by correcting the limit and ensuring the recovery mechanism itself didn't become a blocker.