Skip to content

Daily

Post yesterday's Lemon Squeezy sales each morning

A morning Slack post with yesterday's order count, revenue and best-selling product.

Runs
Daily
Apps
Lemon Squeezy
AI
Not needed
Access
API key

Send this to your assistant

Create a ClickRuntime automation: every day at 8am, post to #sales in Slack how many Lemon Squeezy orders I had yesterday, the total revenue, and which product sold the most.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A solo founder selling software or templates through Lemon Squeezy gets plenty of emails and almost no clear picture of yesterday's sales. The Lemon Squeezy dashboard has the numbers, but checking it is one more tab to open, and after a busy week of launching or support, the question of whether a campaign actually produced sales goes unanswered until the monthly payout.

Each morning, ClickRuntime lists your Lemon Squeezy orders, newest first, until it reaches ones older than yesterday. It adds up the totals, groups them by product and posts a short summary to Slack with the order count, revenue and a breakdown per product, so you know where the money came from.

It works for indie makers as well as small teams who want a shared view of sales.

What you get out of it

  • You know what a campaign produced

    A newsletter on Tuesday, a post on social media on Wednesday: the following morning's summary shows whether sales moved. That feedback guides where you spend promotional effort next. That feedback loop is how a small shop learns quickly.

  • Product mix is visible every day

    Grouping revenue by product shows which of your offerings is carrying the business and which one barely sells. That helps with pricing decisions and with deciding what to update or retire.

  • A slow day is noticed immediately

    If a normally active product has no sales for a day, the summary makes the gap clear. You can check whether the checkout link broke or a price changed by mistake.

  • No tab-hopping to get the number

    Opening the dashboard just to read a total interrupts work. Having it appear in Slack where you already are removes the habit and keeps the figure in front of the whole team.

  • A dated record accumulates in Slack

    After a few months, the channel holds a day-by-day record of sales. It is easy to search when you prepare a tax summary or want to compare this launch with the last one.

How it works

What happens, step by step

  1. Every morning, ClickRuntime collects yesterday's orders from your Lemon Squeezy store.

  2. It counts them, adds up the sales and works out which product sold best.

  3. A one-line summary is posted to your #sales Slack channel.

Before it runs live

  • Connect Lemon Squeezy

What you get

RunsDaily
Post yesterday's Lemon Squeezy sales each morningtoday, 9:00Succeeded
Slack · #salesLemon Squeezy 2026-10-18: 26 orders, $1,012.00. Top product: Icon Pack Pro

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 Lemon Squeezy steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
daily_sales_summary_lemon_squeezy.pyexample
from collections import Counter
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, notify

STORE_ID = "12345"

@on_trigger
def run(event):
    headers = {"Authorization": f"Bearer {credentials.secret('LEMONSQUEEZY_API_KEY')}",
               "Accept": "application/vnd.api+json"}
    day = (date.today() - timedelta(days=1)).isoformat()
    url, params = "https://api.lemonsqueezy.com/v1/orders", {"filter[store_id]": STORE_ID, "page[size]": 100}
    revenue, products, done = 0, Counter(), False
    while url and not done:
        body = http.get(url, headers=headers, params=params).json()
        for o in body["data"]:
            a = o["attributes"]
            if a["created_at"][:10] < day:
                done = True  # newest first, so everything after is older
                break
            if a["created_at"][:10] == day and a["status"] == "paid":
                revenue += a["total"]
                products[a["first_order_item"]["product_name"]] += 1
        url, params = body["links"].get("next"), None
    count = sum(products.values())
    best = products.most_common(1)[0][0] if products else "none"
    notify.slack(f"Lemon Squeezy {day}: {count} orders, ${revenue / 100:,.2f}. Top product: {best}", channel="#sales")
    return {"orders": count, "revenue": revenue / 100}

FAQ

Common questions

Does the total include refunds and taxes?
The summary adds up the order totals that Lemon Squeezy returns for the day. Whether tax is included depends on the fields used, and refunds are reported on their own events. If you want net revenue, say so and the post can show tax and refunds separately.
How does it know which orders were placed yesterday?
Lemon Squeezy returns orders newest first, so the automation reads through them until it reaches an order created before yesterday and stops there. Yesterday is counted in the time zone you set, which avoids mixing up orders that arrive near midnight.
Is it useful if I only sell one product?
Yes, though the per-product breakdown will be a single line. You still get the daily count and revenue. Many single-product sellers ask to add a comparison with the previous day or a month-to-date total, which is easy to include.
What permissions does it need?
API key. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (daily). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Post yesterday's Lemon Squeezy sales each morning” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.