Daily ShipStation postage balance check, posted to Slack

By General Input

Every weekday morning, get a Slack alert for any ShipStation carrier projected to run out of postage in the next 5 business days.

Integrations

  • ShipStation
  • Slack

Type

Agentic Task

Categories

  • Operations

Build me an agent workflow that runs every weekday morning at 9am ET and warns our operations team in Slack before any ShipStation postage account runs dry.

Use a cron trigger scheduled for weekday mornings. When the workflow runs, the agent should call ShipStation's List Carriers operation to pull every connected carrier and read each carrier's current balance. For each carrier that exposes a balance (typically prepaid USPS and Stamps.com style accounts), look at how fast we're burning postage by calling ShipStation's List Labels operation filtered to that carrier_id over the last 7 days. Sum the shipment_cost amount values across those labels and divide by 7 to get an average daily spend per carrier. Carriers that don't expose a balance (e.g. negotiated UPS or FedEx accounts) should be skipped silently.

For each balance-tracking carrier, divide the current balance by the average daily spend to compute estimated days of runway. Flag any carrier whose runway is 5 business days or less. If a carrier has no labels in the last 7 days, include it with its current balance but mark it as 'no recent activity' so we don't divide by zero and don't pretend it's at risk.

Post the result as one Slack message using Send a Message into a channel the user picks at setup (default suggestion: #shipping-ops). The message should lead with any at-risk carriers, one block each, showing the carrier name, current balance, the 7-day average daily spend, and the estimated days of runway. End with a single-line 'OK' footer listing the remaining healthy carriers and their balances so the team gets a daily confirmation the check ran without flooding the channel.

If no carriers are at risk, still send the daily recap so the team knows the check ran successfully. If List Carriers returns nothing or the call errors out, post a short error notice in the same channel instead of going silent. Keep the message in Slack mrkdwn formatting (single asterisks for bold, plain currency strings).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes