Skip to content

Monthly

Update recurring text in a Doc each month

Text that changes on a schedule, like the month name, is updated in your Doc for you.

Runs
Monthly
Apps
Google Docs
AI
Not needed
Access
read+write

Send this to your assistant

Create a ClickRuntime automation: on the 1st of each month, replace last month's name with this month's in my Monthly Report doc and email me how many changes were made.

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 property manager's welcome letter says "Rent due on the 1st of January 2026" and quotes a parking fee of $85. Every month, someone remembers, or does not, to change the month, update the price list and correct the contact name after a staff change. A guest packet for a holiday rental still shows last season's rates because the owner forgot. Wrong dates and prices in a document that tenants rely on cause calls and disputes.

On the schedule you set, ClickRuntime works out the old and new values, such as this month's name or an updated price, runs a replace-all text request on your Google Doc, and emails you how many replacements were made. No AI is involved, only exact text matches, so results are predictable.

It suits price lists, schedules, newsletters and standing letters that repeat with small changes.

What you get out of it

  • Documents stay current without effort

    The month, price or name is updated on time every cycle. Readers see the right information from the first day, so nobody phones to ask whether last month's figure still applies.

  • Wrong prices stop reaching customers

    A forgotten price edit can cost money or cause a dispute. Because the change is made by rule on a schedule, the document does not depend on someone remembering to update it.

  • You get a count to verify

    The email reports how many replacements were made. A count of zero warns you that the text changed shape and the rule needs attention, before the stale document is sent to anyone.

  • One-time setup for a repeating chore

    A monthly job that takes ten minutes is easy to forget and annoying to do. Setting the rule once removes it from your list permanently, with the replacement logic written down in one place.

  • Consistent wording everywhere

    Replacing every occurrence at once avoids the Doc where the header says February and the footer still says January. Partial updates look careless, while a full replacement looks professional. A partial update, with one stale mention left behind, creates more confusion than not updating at all.

How it works

What happens, step by step

  1. On the first of each month ClickRuntime works out last month's name and this month's name.

  2. It replaces every mention of last month with this month in your Google Doc, such as a monthly report.

  3. You get an email saying how many replacements were made.

Before it runs live

  • Connect Google Docs

What you get

RunsMonthly
Update recurring text in a Doc each monthtoday, 9:00Succeeded
Email · Monthly Report updatedReplaced September with October 7 times.

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 Google Docs 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.
scheduled_find_and_replace.pyexample
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, notify

DOC_ID = "monthly-report-doc-id"

@on_trigger
def run(event):
    this_month = date.today().replace(day=1)
    last_month = this_month - timedelta(days=1)
    docs = build("docs", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
    resp = docs.documents().batchUpdate(documentId=DOC_ID, body={"requests": [{"replaceAllText": {
        "containsText": {"text": f"{last_month:%B}", "matchCase": True}, "replaceText": f"{this_month:%B}"}}]}).execute()
    changed = resp["replies"][0]["replaceAllText"].get("occurrencesChanged", 0)
    notify.email_me("Monthly Report updated", f"Replaced {last_month:%B} with {this_month:%B} {changed} times.")
    return {"changed": changed}

FAQ

Common questions

How does it know the new value to use?
The new value is calculated by rule, such as the current month name or a date formula, or taken from a number you set in advance. For prices that change irregularly, you can update the target value when needed and the next run applies it.
What if the old text is not found?
If nothing matches, zero replacements are made and the email says so. That usually means someone already edited the text or changed its wording, so you can check. Nothing in the document is altered when no match is found.
Is the match case-sensitive, and can it replace parts of words?
Matching can be set to be case-sensitive or not, and it replaces exact text wherever it appears, including inside longer words. Use distinctive markers such as [MONTH] to avoid accidental matches, which is the safest approach for recurring text.
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 runs (monthly). 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 “Update recurring text in a Doc each month” from your assistant

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