Weekly
List last week's new Square customers every Monday
Every Monday you get a count of the customers added last week with their names and emails.
- Runs
- Weekly
- Apps
- Square
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am, email me the Square customers created in the last 7 days with their name and email, and the total count.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A local business on Square collects customers every day: regulars who give an email at the till, a new client who books a haircut, a family who signs up for a loyalty program. These people go into the Customer Directory, and then nothing happens. The owner has no regular view of who joined this week, so welcome offers are never sent, friendly staff cannot recognize a new face, and growth is measured only by sales. Opportunities to build loyalty are missed.
Every Monday, ClickRuntime searches Square customers by created date for the previous week, counts them and emails you the list with names and contact details. You see exactly how many new people arrived and who they are, in one message.
Salons, cafes, studios and shops that value personal relationships with customers benefit the most.
What you get out of it
New customers receive a proper welcome
With the list in hand, a short thank-you email or a first-visit offer can be sent within days, when the experience is fresh and the customer is most receptive. A warm first message makes a second visit more likely, which is where loyalty begins.
Growth is measured directly
A weekly count of new customers shows whether marketing is bringing in people or only serving existing ones, which sales totals alone cannot tell you. It also reveals seasonal patterns, such as new customers arriving in bursts around holidays.
Staff can recognize newcomers
Sharing the list with the team helps them greet a new client by name on the next visit, which is a small gesture that builds loyalty. Being recognized on a second visit is memorable for customers.
Mailing lists stay up to date
Instead of exporting the whole directory, you add the week's new contacts to your email tool, avoiding duplicates and keeping the list current without a large job. A short weekly addition takes minutes, and a yearly export takes hours.
Campaigns can be evaluated
After a promotion or an event, the next Monday's count shows how many new customers it brought. That is a clear measure of whether it paid off. Over time, you spend more on what works and less on what does not.
How it works
What happens, step by step
Every Monday, ClickRuntime finds the customers added to your Square account last week.
It counts them.
You get an email with the total and a line for each new customer with their name and email.
Before it runs live
- Connect Square
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 Square steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timedelta, timezone
from clickruntime import on_trigger, credentials, http, notify
API = "https://connect.squareup.com/v2"
def square_headers():
return {"Authorization": f"Bearer {credentials.secret('SQUARE_ACCESS_TOKEN')}", "Square-Version": "2024-10-17"}
@on_trigger
def run(event):
since = (datetime.now(timezone.utc) - timedelta(days=7)).strftime("%Y-%m-%dT%H:%M:%SZ")
customers, cursor = [], None
while True:
body = http.post(f"{API}/customers/search", headers=square_headers(), json={
"limit": 100, **({"cursor": cursor} if cursor else {}),
"query": {"filter": {"created_at": {"start_at": since}}}}).json()
customers += body.get("customers", [])
cursor = body.get("cursor")
if not cursor:
break
lines = [f"- {c.get('given_name', '')} {c.get('family_name', '')} <{c.get('email_address', 'no email')}>"
for c in customers]
notify.email_me(f"{len(customers)} new Square customers this week", "\n".join(lines) or "No new customers.")
return {"new": len(customers)}FAQ
Common questions
Does the list include customers without an email address?
Are customers added by import included?
Can the digest be sent to my team as well?
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 each location's Square sales after closing
A nightly email breaks down the day's Square sales per location with tips, fees and card versus cash.
See how it worksSee your top Square items and how today compares
A daily email names the three best-selling items and compares the day's total with the same weekday last week.
See how it worksGet a Slack alert when Square stock runs low
When an item's count falls below 5, a Slack message names the item, location and count left.
See how it worksKeep exploring
Set up “List last week's new Square customers every Monday” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.