Daily RunPod spend and idle pod digest in Slack

Every weekday at 9am, get a clear breakdown of your RunPod spend, your worst offenders, and the pods you can safely shut down, posted straight to Slack.

Agentic Task
RunPodSlackEngineeringFinanceDaily DigestsAI ReportsNotifications & Alerts

Build me a daily RunPod spend and idle-pod digest that posts to a configured Slack channel every weekday at 9am ET.

Trigger: cron, every weekday at 9am ET.

On each run, the agent should:

1. Call RunPod's Get Billing Information to pull current period spend across Pods, Serverless endpoints, and network volumes.

2. Call RunPod's List Pods to enumerate every currently provisioned pod, including uptime, status, machine type, and cost per hour.

3. Call RunPod's List Serverless Endpoints with includeWorkers=true to enumerate endpoints and their current worker counts and configuration.

Then, using that data, the agent should reason about and produce:

- A short header with current period total spend and the split across pods, serverless, and volumes.

- The top three spend drivers across all resources (pod, endpoint, or volume), each with name/ID, machine type or config, and dollar amount.

- A flagged list of any pod that has been running longer than 12 hours, comparing uptime and cost-per-hour against recent activity so genuinely-idle pods stand out from intentionally long-running ones.

- A flagged list of stopped pods that are still incurring network volume storage charges.

- A final recommended action list, ranked by impact, in plain imperative form (e.g. "stop pod m5z8e1q2vy9wo3", "shrink endpoint vllm-prod from 4 to 2 workers", "delete unattached volume vol-abc123").

Post the formatted digest as a single message to a configured Slack channel using Slack's Send a Message. Format the body in Slack mrkdwn (use *bold*, not **bold**), with clear section headers and short bullet lists so it reads cleanly on both desktop and mobile.

The summarization, prioritization, and idle-vs-intentional judgement is what makes this an agent rather than a static report; the agent should explain its top recommendations briefly so the on-call owner can act without re-checking the console.

Configurable inputs: the Slack channel ID, the cron expression and time zone, and the long-running-pod threshold (default 12 hours).

Additional information

What does this prompt do?
  • Pulls your current period RunPod spend across pods, serverless endpoints, and storage volumes so you start the day knowing the number.
  • Highlights the top three line items driving your bill and flags any pod that has been running longer than 12 hours.
  • Surfaces stopped pods that are still being charged for storage, so you can clean them up before they add up.
  • Ends with a short, ranked action list (stop this pod, shrink that endpoint) and posts the whole digest as one message to your chosen Slack channel.
What do I need to use this?
  • A RunPod account and an API key with read and write access.
  • A connected Slack workspace and the channel (or person) you want the digest sent to.
How can I customize it?
  • Change the schedule. Default is weekdays at 9am Eastern, but you can run it daily, only Mondays, or twice a day.
  • Tune the idle threshold. Twelve hours is the default for flagging long-running pods; pick whatever matches your team's norm.
  • Swap the destination. Post to a different channel, a private channel, or a direct message to whoever owns the GPU budget.

Frequently asked questions

Will this stop or delete any pods for me?
No. The digest only reports and recommends. You stay in control of what actually gets stopped, shrunk, or deleted.
Does it cover serverless endpoints too, or only pods?
Both. The digest pulls spend and usage for pods, serverless endpoints, and network volumes, so nothing on your bill is hidden.
Can I change which Slack channel it posts to?
Yes. Pick any channel you have access to, or send it to yourself as a direct message. You can change it later without rebuilding the workflow.
What if my team works in a different time zone?
The schedule is fully configurable. Pick the time and time zone that match when your team actually looks at Slack.
Can I run this more often than once a day?
Yes. You can run it twice a day, hourly during a crunch, or trigger it on demand whenever you want a fresh snapshot.

Stop finding out about runaway GPU spend at the end of the month.

Connect RunPod and Slack once, and Geni posts a clean spend and idle pod digest every weekday at 9am.