Daily
Get your SES quota and volume each morning
Each day you see how much of your quota you used and whether the account is still in the sandbox.
- Runs
- Daily
- Apps
- Amazon SES
- AI
- Not needed
- Access
- ses:GetAccount
Send this to your assistant
Create a ClickRuntime automation: every day at 7am, email me my Amazon SES sends in the last 24 hours, my daily quota and whether I'm still in the sandbox.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Amazon SES gives every account a daily sending quota and a maximum send rate, and a new or growing sender is never far from one of them. A product that sends receipts, password resets and a weekly newsletter can pass its quota on the day of a big announcement, and from that moment SES rejects messages until the 24-hour window moves on. Customers do not get their reset links, nobody on the team is told, and the first sign of trouble is a support ticket saying that the app never sent the email.
Each day, the automation asks SES for your account's send quota and sending status, works out how much of the quota the last 24 hours used and emails you the figures. A healthy day is a short message with a comfortable percentage, and a day near the limit is easy to see.
Developers, small SaaS teams and marketers who send through their own AWS account will find it most useful while their volume is still growing.
What you get out of it
You see the ceiling before you hit it
A report that says you used 82% of the daily quota gives you time to request an increase from AWS. Quota requests take time, so early notice matters more than a perfect forecast.
Transactional emails keep flowing
Password resets, receipts and sign-in codes are the messages customers cannot do without. Protecting quota for them means a big campaign never crowds out the emails a user is waiting for.
Campaign sizes can be planned
Knowing how much room is left helps you decide whether a newsletter should go to everyone at once or be split across two days, which also lowers the risk of throttling.
Paused sending is spotted
The report includes the sending status of the account. If AWS has paused or restricted sending, you find out from your own inbox the same morning, not from an unhappy customer.
A usage history for cost and capacity talks
Daily volumes in your mailbox form a record of growth. When you ask AWS for a higher limit or budget for next quarter, you can show real numbers instead of an estimate.
How it works
What happens, step by step
Every day, ClickRuntime checks your Amazon SES account.
It reads how many emails went out in the last 24 hours, your daily quota and whether the account is still in the sandbox.
You get one email with those figures and the sent count in the subject.
Before it runs live
- Connect Amazon SES
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 Amazon SES steps into one automation
Under the hood
The code that runs this automation
from requests_aws4auth import AWS4Auth
from clickruntime import on_trigger, credentials, http, notify
REGION = "us-east-1"
@on_trigger
def run(event):
auth = AWS4Auth(credentials.secret("AWS_ACCESS_KEY_ID"), credentials.secret("AWS_SECRET_ACCESS_KEY"), REGION, "ses")
resp = http.get(f"https://email.{REGION}.amazonaws.com/v2/email/account", auth=auth)
resp.raise_for_status()
acct = resp.json()
q = acct["SendQuota"]
sandbox = "no (production access)" if acct["ProductionAccessEnabled"] else "yes, still in the sandbox"
notify.email_me(f"SES: {q['SentLast24Hours']:,.0f} sent in 24h",
f"Sent last 24h: {q['SentLast24Hours']:,.0f}\nDaily quota: {q['Max24HourSend']:,.0f}\n"
f"Max send rate: {q['MaxSendRate']:.0f}/s\nSandbox: {sandbox}")
return {"sent": q["SentLast24Hours"], "quota": q["Max24HourSend"]}FAQ
Common questions
What is the SES sending quota?
Does the report cover every AWS region?
What permissions does the AWS key need?
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 warned before SES pauses your sending
You hear once when bounces or complaints pass your limits, while there's still time to act.
See how it worksGet a weekly list of suppressed addresses
Every Monday you see which addresses SES stopped sending to last week, and why.
See how it worksKnow the moment your website goes down
Your team hears in Slack when the site stops responding or slows down, and again when it's back.
See how it worksKeep exploring
Set up “Get your SES quota and volume each morning” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.