Daily
Get reminded which orders still need shipping
Each morning an email lists unfulfilled orders, oldest first, with how long each has waited.
- Runs
- Daily
- Apps
- Squarespace
- AI
- Not needed
- Access
- Orders read
Send this to your assistant
Create a ClickRuntime automation: every morning at 8, email me my Squarespace orders still pending fulfilment, oldest first, with order number, days waiting and items.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
On Squarespace, a paid order stays in the Pending state until someone marks it as fulfilled, and the Orders panel is not something owners check often during a busy week. A custom-made order placed on Tuesday is forgotten while you handle a larger one. The customer receives no shipping email, and a week later writes an unhappy message or disputes the payment. Nothing in Squarespace itself nudges the person who is supposed to ship.
Each morning, ClickRuntime lists orders with a fulfillment status of PENDING, sorts them by creation date so the oldest come first and emails you the order number, how old it is and the items. Orders drop off the list once they are marked as fulfilled.
Makers, drop-shippers and small teams where one person handles shipping use it as a daily checklist.
What you get out of it
Nobody is left waiting
Customers who paid and heard nothing become anxious quickly. A daily list ensures each order is picked up in reasonable time, and keeps shipping promises to the people who paid.
The oldest orders come first
Sorting by creation date puts the most overdue orders on top, so shipping time goes to those who have waited longest and not to whatever happens to be most convenient.
Disputes and chargebacks are reduced
Many payment disputes begin with a customer who never received an order. Shipping or refunding promptly removes the usual reason for them, and saves the fees that come with each dispute.
Items are listed for packing
Because the email shows the items on each order, the person packing can gather products in one pass, and plan a batch for the courier pickup. It also lets you spot orders that need special wrapping.
Time away is covered
If the person who ships takes a day off, a colleague can use the same list to see what is waiting, without having to learn the owner's system of notes or folders. Handovers become simple, which matters for a business with one or two people.
How it works
What happens, step by step
Once a day, ClickRuntime looks for Squarespace orders that have not been fulfilled yet.
It sorts them so the oldest come first.
You get an email listing each order with its number, how many days it has waited and what needs to be packed.
Before it runs live
- Connect Squarespace
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
- Run it at a different time, more or less often, or only on weekdays
- 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 Squarespace steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timezone
from clickruntime import on_trigger, credentials, http, notify
@on_trigger
def run(event):
resp = http.get("https://api.squarespace.com/1.0/commerce/orders", params={"fulfillmentStatus": "PENDING"},
headers={"Authorization": f"Bearer {credentials.secret('SQUARESPACE_API_KEY')}",
"User-Agent": "ClickRuntime"})
resp.raise_for_status()
orders = sorted(resp.json()["result"], key=lambda o: o["createdOn"])
if not orders:
return {"pending": 0}
now = datetime.now(timezone.utc)
lines = []
for o in orders:
days = (now - datetime.fromisoformat(o["createdOn"].replace("Z", "+00:00"))).days
items = ", ".join(f"{i['quantity']}× {i['productName']}" for i in o["lineItems"])
lines.append(f"- #{o['orderNumber']}, {days} days: {items}")
notify.email_me(f"{len(orders)} orders waiting to be fulfilled", "\n".join(lines))
return {"pending": len(orders)}FAQ
Common questions
What does pending mean on Squarespace?
Are digital product orders included?
Can I receive the list at another time?
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
Get a daily Squarespace low-stock email
Each day you hear which products have only a few units left.
See how it worksGet yesterday's Squarespace sales each morning
A short email gives yesterday's order count and revenue.
See how it worksPost new Squarespace orders to Slack
Within about five minutes of checkout, each order appears in Slack, never twice.
See how it worksKeep exploring
Set up “Get reminded which orders still need shipping” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.