Daily litigation watchlist sweep from Airtable to Slack
Every morning, check your Airtable watchlist for new court filings on the organizations and people you track, log the hits, and post a prioritized Slack digest.
Build an agent workflow that runs every weekday morning at 8am ET and produces one Slack digest of yesterday's court activity for the people and organizations on my litigation watchlist.
Source of truth is Airtable. I have a base with a Watchlist table whose rows hold a name (organization or individual), an optional party type (organization or person), and an optional jurisdiction filter (a court name or jurisdiction code). Each watchlist row is linked to a Hits table that records past activity. The agent should ask me once for the base id, the Watchlist table id, the Hits table id, and the Slack channel to post to, then store those for future runs.
On each run, the agent should:
1. Use Airtable List Records to pull every row from the Watchlist table.
2. For each watchlist entry, use the CourtListener Search operation across dockets and RECAP filings, scoped to the entry's name (and jurisdiction filter if present), filtered to filings from the last 24 hours via date_filed. Use the same query language as the CourtListener website.
3. For every docket that matches, call CourtListener List Docket Entries to pull the actual new filings from yesterday and capture docket number, court, filing date, filing type (e.g. complaint, motion, order, opinion), and the entry's short description.
4. For each new filing, append a row to that entity's linked Hits table in Airtable via Create Records, with columns for docket number, court, filing date, filing type, a one-line summary the agent writes, and a link to the docket on CourtListener. Batch creates (Airtable accepts up to 10 records per call) and dedupe against existing Hits rows so a filing is never logged twice.
5. Summarize what changed per entity in plain English: did a new case open, was a motion filed, did a judge issue a ruling. The agent should use judgment to separate material updates (new cases, rulings, dispositive motions) from procedural noise (routine scheduling orders, certificates of service).
6. Post a single Slack digest to the configured channel via the Slack Bot Send a Message operation. Lead with the most material updates as bold bullets calling out the entity, the court, and what happened. Collapse minor procedural activity under an "Other activity" bullet list at the bottom. If nothing material happened, say so in one line rather than skipping the post.
Use Slack mrkdwn formatting (asterisks for bold, angle-bracket links). Keep the digest short enough to read on a phone. If a watchlist row has no hits for the day, do not mention it. If CourtListener returns nothing for any row, still post a one-line "No new activity today" message so the team knows the sweep ran.
This is agent-shaped because the judgment call about which filings are material vs procedural noise is the whole point — a flat data dump would be useless to the legal team.
Additional information
What does this prompt do?
- Sweeps your Airtable litigation watchlist every morning and looks up yesterday's court activity for every name on it.
- Logs each new case, motion, or ruling back into a Hits table in Airtable so you keep a clean paper trail.
- Posts one Slack digest to your legal channel with the most material updates called out first and minor activity collapsed below.
- Uses judgment to separate real news from noise instead of dumping a raw filings list on your team.
What do I need to use this?
- An Airtable base with a watchlist table (name, optional party type, optional jurisdiction) and a linked Hits table for filings.
- A free CourtListener account for the API token that lets us search dockets and RECAP filings.
- A Slack workspace and the channel where your legal or compliance team already operates.
How can I customize it?
- Change the time the sweep runs or how far back it looks, for example 24 hours, 7 days, or a Monday-morning weekly cadence.
- Edit what counts as material, like only new cases and rulings on the digest top section and motions collapsed below.
- Swap the Slack channel, add jurisdiction filters per row, or extend the Hits table with extra columns the agent should populate.
Frequently asked questions
Do I need a paid CourtListener plan?
What kinds of court activity does this cover?
Can I limit each watchlist entry to a specific court or jurisdiction?
Will it spam Slack when there is a busy day?
Who is this useful for?
Related templates
Stop refreshing PACER every morning.
Connect Airtable, CourtListener, and Slack once, and Geni runs the watchlist sweep for you every day.