Collects as they arrive, acts daily
Get a 6pm count of shipped orders and postage
Every evening you know how many orders left today and how much the shipping cost altogether.
- Runs
- Collects as they arrive, acts daily
- Apps
- ShipStation
- AI
- Not needed
- Access
- API key + secret
Send this to your assistant
Create a ClickRuntime automation: keep track of each ShipStation shipment as it happens, and every day at 6pm email me how many orders shipped and the total shipping cost.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
At the end of a busy day in a small warehouse, the owner asks how many orders went out and what the postage came to. Nobody knows without opening ShipStation, filtering by ship date and adding up the shipping costs by hand. So the number is guessed, or checked only on Friday, and a day where only half the usual orders shipped passes without comment. The backlog builds overnight, and customers who were promised next-day dispatch find out when the tracking never moves.
Throughout the day the automation stores each shipment as ShipStation reports it. At 6 pm it totals the orders shipped and the postage paid, and emails you the count and the cost. Collecting as events arrive means the figures are complete when the summary is sent. Small fulfillment teams and online sellers use it as an end-of-day check on what actually left the building.
What you get out of it
A slow shipping day is noticed that evening
If only 40 orders shipped against a normal 100, the summary shows it at 6 pm. You can arrange extra help for the next morning before customers start asking where their orders are.
Postage cost tracked daily
The daily postage figure makes a jump from, say, $2.10 to $3.40 per order visible quickly. That might mean a wrong carrier default or a pile of heavy parcels, and it is cheaper to fix on day one.
Staff productivity in plain numbers
Orders shipped per day gives a fair basis for staffing. Owners can see whether a new packing process improved throughput, rather than relying on how busy the warehouse felt. A packer who moved from 60 to 90 orders a day after a layout change has numbers to show for it.
A dated record for reconciliation
Each summary records the count and cost for a specific day. When the carrier invoice arrives, you can compare it day by day and identify discrepancies promptly. If the carrier invoice differs from your daily totals, you can find the specific day that disagrees.
Peace of mind at close of business
Knowing what shipped lets you end the day without wondering. Managers who leave at 6 pm know whether the promises to customers were kept, and what tomorrow's starting backlog looks like.
How it works
What happens, step by step
Each time ShipStation reports that orders have shipped, ClickRuntime notes the order numbers and shipping cost.
At 6pm it adds up how many orders shipped today and the total shipping cost.
You get one email with both figures, and the tally then starts fresh for tomorrow.
Before it runs live
- Connect ShipStation
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other ShipStation steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, on_trigger, credentials, http, state, notify
@on_event
def handle(event):
body = event.json or {}
if body.get("resource_type") != "SHIP_NOTIFY":
return {"skipped": True}
auth = (credentials.secret("SHIPSTATION_API_KEY"), credentials.secret("SHIPSTATION_API_SECRET"))
shipments = http.get(body["resource_url"], auth=auth).json()["shipments"]
today = state.get("today") or {"orders": [], "cost": 0.0}
for s in shipments:
today["orders"].append(s["orderNumber"])
today["cost"] += s["shipmentCost"] or 0
state.set("today", today)
return {"stored": len(shipments)}
@on_trigger
def run(event): # 6pm daily
today = state.get("today") or {"orders": [], "cost": 0.0}
count = len(set(today["orders"]))
notify.email_me(f"Shipped today: {count} orders, ${today['cost']:,.2f}",
f"{count} orders shipped with ${today['cost']:,.2f} in shipping.")
state.delete("today")
return {"orders": count}FAQ
Common questions
How does it collect shipments during the day?
What if a shipment is voided after it was counted?
Can I change the time of the summary?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Post each new ShipStation order to Slack
Your team sees every new order in Slack with its number, items and total as soon as it reaches ShipStation.
See how it worksGet a morning list of orders waiting over 48 hours
Each morning you get the orders that have sat in awaiting shipment for more than two days, so none are forgotten.
See how it worksCollect unsubscribes and bounces for your list
Unsubscribe requests and bounced emails are labelled, and you get the addresses once a day to clean your list.
See how it worksKeep exploring
Set up “Get a 6pm count of shipped orders and postage” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
