Skip to content

Hourly

Check new rows and set their status

New entries are checked for missing fields and marked Received or Missing info, with a summary sent to you.

Runs
Hourly
Apps
Microsoft Excel
AI
Not needed
Access
read+write

Send this to your assistant

Create a ClickRuntime automation: every hour, check new rows in my Applications table; if Email or Phone is empty set Status to 'Missing info', otherwise 'Received', and email me a count of each.

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

An HR coordinator receives job applications through a form that writes into an Excel sheet, and a loan officer gets a similar flow of requests. Each one needs the same quick check: is the email valid, is the phone number present, is the attachment link there, is the amount within range. Doing it by eye for thirty rows is tedious and inconsistent, and incomplete applications get an answer a week late, or never.

Every hour, ClickRuntime reads the rows that do not yet have a status, checks the required fields against the rules you define, writes accepted or incomplete into the status column and emails you a short report of what it found. Rows already marked are not touched again.

It suits any intake process where a person would otherwise check each new entry before it can move on.

What you get out of it

  • Applicants hear back faster

    An incomplete application is marked within the hour, so the person can be asked for the missing item the same day. Waiting a week for a reply is how good candidates and customers lose interest.

  • The same rules apply to every row

    Human checks vary with mood and workload. A written validation rule treats the first row of the morning and the last row on Friday evening identically, which is fairer to everyone who applies.

  • Staff spend time on real decisions

    Checking whether a field is filled is routine. Once it is automated, the coordinator spends time on evaluating the candidates who passed, which is where their judgment is actually needed.

  • Errors do not travel downstream

    A missing phone number or a malformed email found now is easy to fix. Found later, after a manager has already approved the candidate, it causes delays and rework. That keeps rework low.

  • Status is visible in the sheet itself

    Anyone opening the workbook can filter by accepted or incomplete. There is no separate list to maintain, and the team always knows which rows are ready for the next step.

  • A record of why a row was rejected

    The report lists which field failed, so you can explain the result to the person and spot recurring form problems, such as a question that confuses many applicants. Patterns across rows also guide how you reword form questions.

How it works

What happens, step by step

  1. Every hour, ClickRuntime looks for rows in your Excel table that do not have a status yet.

  2. It checks each one for the fields you need, such as name, email and amount.

  3. It marks each row Received or Missing info in the Status column.

  4. You get an email with how many rows were checked, and which rows are missing what.

Before it runs live

  • Connect Microsoft Excel

What you get

RunsHourly
Check new rows and set their statustoday, 9:00Succeeded
Email · 5 new rows checked4 received, 1 missing info Row 38: missing Email

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

  • Act only on the items that match your own rules, and skip the rest
  • 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 Microsoft Excel 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.
validate_new_rows_and_mark_their_status.pyexample
from clickruntime import on_trigger, credentials, http, notify, report_fetched

TABLE = "https://graph.microsoft.com/v1.0/me/drive/items/01ABCDEF.../workbook/tables/Requests"
REQUIRED = ["Name", "Email", "Amount"]

@on_trigger
def run(event):
    h = {"Authorization": f"Bearer {credentials.connection('microsoft', 'work')}"}
    cols = [c["name"] for c in http.get(f"{TABLE}/columns", headers=h).json()["value"]]
    rows = http.get(f"{TABLE}/rows", headers=h).json()["value"]
    todo = [(i, dict(zip(cols, r["values"][0]))) for i, r in enumerate(rows) if not r["values"][0][cols.index("Status")]]
    report_fetched(len(todo))
    if not todo:
        return {"summary": "Nothing new"}
    missing = []
    for i, row in todo:
        gaps = [c for c in REQUIRED if not str(row.get(c, "")).strip()]
        row["Status"] = "Missing info" if gaps else "Received"
        http.patch(f"{TABLE}/rows/itemAt(index={i})", headers=h, json={"values": [[row[c] for c in cols]]})
        if gaps:
            missing.append(f"Row {i + 2}: missing {', '.join(gaps)}")
    notify.email_me(f"{len(todo)} new rows checked", f"{len(todo) - len(missing)} received, {len(missing)} missing info\n" + "\n".join(missing))
    return {"checked": len(todo)}

FAQ

Common questions

What kinds of checks can it make?
Typical checks include required fields, valid email format, numbers within a range, dates in the future or past, and values that must match a list. Describe your rules to your AI assistant and approve them before they run.
What happens to rows that were already marked?
They are left alone. Only rows with an empty status column are processed, so a decision a person made manually, or a status set at an earlier run, is never overwritten by a later check.
Does it send the applicant an email?
The default setup emails you a summary and writes the status into the sheet. Sending a message to the applicant is possible if the email address is in the row, but that would be a change you approve.
What permissions does it need?
read+write. 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 checks. Checks that find nothing new 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 “Check new rows and set their status” from your assistant

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