Skip to content

Daily

Get a morning email of balances and new transactions

Each day starts with every linked account's balance and the transactions that posted since the last email.

Runs
Daily
Apps
Plaid
AI
Not needed
Access
Transactions + Balance products; Item access_token

Send this to your assistant

Create a ClickRuntime automation: every day at 7am, email me the current balance of each Plaid-linked account and all new transactions since yesterday, with date, merchant and amount.

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

Anyone who manages money across a couple of bank accounts, whether a founder separating business and personal spending or a household watching a shared budget, tends to check balances only when something feels wrong. By then a duplicate subscription charge has run for two months, a client payment never arrived, or the account is closer to overdrawn than anyone realized. Logging in to each bank every day is tedious, so it simply does not happen.

Each morning, new transactions are pulled from Plaid using a stored cursor, so only activity since the last email is included, and current balances are fetched for the linked accounts. Everything arrives in one email: yesterday's debits and credits by account, followed by the balance of each. Nothing is written back to your bank.

It suits small business owners, freelancers and couples who want a short daily look at their money without opening a banking app.

What you get out of it

  • Odd charges are caught within a day

    A charge you do not recognize is far easier to dispute the morning after it posts. Banks and card issuers tend to be more helpful on fresh transactions, and you avoid paying for something twice. Fresh disputes are simpler.

  • Know your balance before spending

    Seeing each account's balance next to the previous day's activity gives you an honest sense of what is available. That prevents overdraft fees and the awkward moment of a declined card at the till.

  • Expected income actually shows up

    A client payment due on Tuesday should be visible by Wednesday. If it is missing from the email, you can chase the invoice while the conversation is current rather than weeks later.

  • No double counting, no gaps

    Because a cursor marks where the last email ended, each transaction appears exactly once. You can trust that the daily emails add up to the full picture without repeated lines or missing days.

  • A running record by email

    Each morning's message becomes a dated record of what happened in your accounts. When your bookkeeper asks about a particular week, you can search your inbox instead of downloading statements from several banks.

How it works

What happens, step by step

  1. Every morning ClickRuntime checks your bank accounts linked through Plaid.

  2. It picks up only the transactions that posted since yesterday's email, so nothing is listed twice.

  3. It gets the current balance of each account.

  4. You get one email with every balance and the new transactions underneath.

Before it runs live

  • Connect Plaid

What you get

RunsDaily
Get a morning email of balances and new transactionstoday, 9:00Succeeded
Email · Daily bank summaryBusiness Checking: 18,240.55 USD 2026-10-18 Acme Cloud: 129.00

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 Plaid 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_transactions_and_balance_email.pyexample
from clickruntime import on_trigger, credentials, http, notify, state

PLAID = "https://production.plaid.com"

def plaid(path, **body):
    auth = {"client_id": credentials.secret("PLAID_CLIENT_ID"), "secret": credentials.secret("PLAID_SECRET"),
            "access_token": credentials.secret("PLAID_ACCESS_TOKEN")}
    resp = http.post(f"{PLAID}{path}", json={**auth, **body})
    resp.raise_for_status()
    return resp.json()

@on_trigger
def run(event):
    cursor, added, more = state.get("cursor"), [], True
    while more:
        page = plaid("/transactions/sync", cursor=cursor) if cursor else plaid("/transactions/sync")
        added += page["added"]
        cursor, more = page["next_cursor"], page["has_more"]
    accounts = plaid("/accounts/balance/get")["accounts"]
    lines = [f"{a['name']}: {a['balances']['current']:,.2f} {a['balances']['iso_currency_code']}" for a in accounts]
    lines += ["", "New transactions:"] + [f"{t['date']}  {t.get('merchant_name') or t['name']}: {t['amount']:,.2f}" for t in added]
    notify.email_me(f"Balances and {len(added)} new transactions", "\n".join(lines))
    state.set("cursor", cursor)
    return {"transactions": len(added)}

FAQ

Common questions

How current is the data?
Plaid returns transactions as the bank reports them, which is usually within a day. Pending transactions can appear first and later change in amount when they settle, so the email is a good daily snapshot, not a ledger.
Can I include only some accounts?
Yes. The linked accounts are listed by name, so you can limit the email to a business current account and leave out a savings or credit card account. Give your AI assistant which ones to keep.
Does it let anyone move my money?
No. The connection is read-only for transactions and balances, and the process never initiates transfers. Your Plaid credentials and access tokens are stored as secrets in ClickRuntime, not in the email or the logs. It is a read-only view.
What permissions does it need?
Transactions + Balance products; Item access_token. 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 “Get a morning email of balances and new transactions” from your assistant

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