Daily sports betting morning digest in Slack

A 9am Slack briefing with today's marquee matchups, biggest favorites and dogs, line disagreements between books, and a recap of how yesterday's headline lines settled.

Agentic Task
The Odds APISlack BotPersonal ProductivityDaily DigestsAI ReportsResearch & Monitoring

Every day at 9am in my configured timezone, build me a sports betting morning briefing and post it to a Slack channel I configure. Use a cron trigger.

Inputs I want to configure: the Slack channel to post to, my timezone, and a list of leagues to cover. Default the league list to NFL, NBA, MLB, NHL, EPL, and UFC, but make it easy to change.

How to gather the data from The Odds API:

1. Call List Sports first to see which of my configured leagues are actually in season today. Skip any that are not. This call is free and costs no credits.

2. For each in-season league, call Get Odds for that sport with regions us,us2 and markets h2h,spreads,totals. Use American odds format. Only keep games whose commence time is within the next 24 hours in the user's timezone.

3. For each in-season league, also call Get Scores with daysFrom=1 so we have yesterday's completed results to recap.

What the digest should contain, written as a Slack message using Slack mrkdwn (single asterisks for bold, not double):

- A header line with today's date and a one-line summary of how many games are on the slate across covered leagues.

- One section per league that has games today, in this order: NFL, NBA, MLB, NHL, EPL, UFC, then any others. Skip leagues with no games rather than printing an empty section.

- Inside each league section: call out the marquee matchups (use your judgment based on the names, the tightness of the line, and whether they are nationally notable), the biggest favorite of the day by implied probability from the moneyline, and the most interesting underdog. Quote the line and which bookmaker has it.

- A 'Shop the line' callout listing any game where two bookmakers disagree by a meaningful margin: 1 point or more on spread/total, or 20 cents or more on the moneyline in American odds. Show both books and both prices so the reader knows where to bet.

- A one-paragraph 'Yesterday' recap that picks out 2 to 4 headline results from the prior day across covered leagues, noting whether the favorite covered and whether the total went over or under when that information is available.

Tone: short, opinionated, sharp. Sound like a friend who watches every line, not a wire service. No hedging filler. Do not give betting advice or tell the reader to wager. Keep the whole message scannable in under a minute.

Post the finished message with the slackbot Send a Message operation to the configured channel. If a league errors out or returns no data, just skip it silently and continue with the rest of the digest.

Additional information

What does this prompt do?
  • Posts a daily betting briefing to a Slack channel every morning before games start
  • Calls out the day's marquee matchups, the biggest favorites by implied probability, and the longest shots worth a look
  • Surfaces games where two major sportsbooks disagree enough on the line to be worth shopping
  • Recaps how yesterday's headline games actually settled against the closing number
What do I need to use this?
  • A Slack workspace and a channel where the digest should be posted
  • A subscription to The Odds API (the free Starter plan works to try it out)
  • A short list of leagues you care about, for example NFL, NBA, MLB, NHL, EPL, UFC
How can I customize it?
  • Pick the leagues you want covered and skip the ones you don't follow
  • Change the post time and timezone to fit when you actually read your morning Slack
  • Adjust which Slack channel or DM the digest goes to, and tweak how opinionated the commentary should be

Frequently asked questions

Do I need a paid bookmaker account to use this?
No. The digest only reads public odds and scores from The Odds API. You do not need a DraftKings or FanDuel account, and nothing places bets for you.
Will it post empty sections for sports that have no games today?
No. Leagues with nothing on the slate are skipped entirely so the message stays short and readable.
Can I run it for just one sport, like NFL Sundays?
Yes. You can narrow the list of leagues down to a single sport and even change the schedule so it only runs on the days that league plays.
Which sportsbooks are included?
By default the digest pulls US and US2 region books from The Odds API, which covers the major operators like DraftKings, FanDuel, BetMGM, Caesars, and several others. You can narrow it further if you only care about specific books.
How much does The Odds API cost to run this daily?
A small daily digest across a handful of leagues fits comfortably inside the free Starter plan for most users. If you cover many leagues or many regions every day, you may want to move to a paid plan.

Wake up to a sharper sports betting board.

Connect Slack and The Odds API once, and Geni delivers a clean, opinionated betting brief to your channel every morning.