Sports betting line movement watcher with Slack alerts

By General Input

Log every odds snapshot to Google Sheets every two hours and get a Slack ping the moment a line moves sharply across major books.

Integrations

  • The Odds API
  • Google Sheets
  • Slack

Type

Agentic Task

Categories

  • Operations
  • Personal Productivity

Build me an agent workflow that watches sports betting line movement and logs every odds snapshot to Google Sheets, then alerts Slack when a line moves sharply. Run it on a cron trigger every 2 hours.

Inputs to expose as workflow config (with sensible defaults):

- Sport keys (default: americanfootball_nfl and basketball_nba) - Markets (default: h2h, spreads) - Region (default: us) - Odds format (default: american) - Google Sheets spreadsheet ID and tab name for the odds log - Slack channel for alerts - Sharp move thresholds: spread shift in points (default 1.5) and implied probability swing in percentage points (default 8) - Lookback window for movement (default: last 24 hours)

On every run, the agent should:

1. Call The Odds API "Get Odds" once per configured sport with the configured markets and region. Skip any event whose commence_time is in the past (already started).

2. For every remaining event, append one row per bookmaker per market outcome into the Google Sheets log via "Append Values". Columns, in order: timestamp (run time, ISO 8601 UTC), event (away @ home), commence_time, sport, bookmaker, market, outcome (team name or Over/Under), line/point (for spreads and totals), price (American odds), implied_probability (computed from American price). If the sheet is empty, write the header row first.

3. After writing, call Google Sheets "Get Values" to read back the log (all rows in the configured tab), then compute line movement per event + market + outcome over the lookback window. For each (event, market, outcome) group, compare the most recent snapshot against the earliest snapshot inside the window. For spreads, movement = current point minus earliest point. For h2h, compute implied probability from American odds and take the consensus across the major US books (DraftKings, FanDuel, BetMGM, Caesars, BetRivers) at each end of the window.

4. Flag a move as sharp if any of these are true inside the window: - Spread point moved by the configured threshold or more in the same direction across at least 3 of the major US books. - Consensus implied probability for an h2h outcome swung by the configured threshold or more across the major US books. Ignore moves where the earliest snapshot is less than 1 hour old (not enough history).

5. For each flagged move, post one Slack message via "Send a Message" to the configured channel. The message should name the event, the market and outcome, the direction of the move (e.g. "Chiefs spread shortened from -3 to -4.5"), which books moved first, and the time window the shift happened in. Group multiple flagged moves for the same event into one message when possible. If nothing is sharp this run, do not post anything.

Operational notes for the agent: be conservative with The Odds API credits — one Get Odds call per sport per run, not per event. Always include timestamp on every appended row so the movement calculation works. If the same event already moved enough to trigger an alert in the last 6 hours, skip re-alerting on the same direction so the channel does not get spammed. Keep the implied probability formula standard: for positive American odds p = 100 / (odds + 100); for negative odds p = -odds / (-odds + 100).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageWin back LiveChat visitors whose chats went unansweredLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seats