Skip to content

Hourly

Keep a live status message in a Teams channel

One message in your channel always shows the latest status, instead of a new post every hour.

Runs
Hourly
Apps
Microsoft Teams
AI
Not needed
Access
write (ChannelMessage.Send)

Send this to your assistant

Create a ClickRuntime automation: post a status message to our Release channel in Teams, then every hour update that same message with the current text from https://status.example.com/release.txt.

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 deployment dashboard, an incident war room or a shared project board in Teams all share one problem: the status changes, and the channel fills with a long trail of messages saying so. People scroll to find the latest one, trust an old message that is no longer true, or ask in chat whether the system is back up. During an incident, being wrong about the current state wastes real time and money.

On the first run, ClickRuntime posts a status message in your Teams channel and stores its ID. On each later run, hourly by default, it edits that same message with the latest status instead of posting a new one. There is always one message to read, and it is current.

Operations teams, project managers and support leads use it to keep a single live status in a place everyone already looks.

What you get out of it

  • One message that is always right

    People do not have to scroll through twenty updates to find the current one. Whatever they read at the top of the channel is the latest state, which avoids decisions based on stale information.

  • The channel stays readable

    Editing in place keeps the channel clear of repeated status posts. Conversation and the status line do not drown each other, and people can still discuss what is happening below it.

  • Fewer questions in chat

    If everyone can see that the status is up to date, nobody needs to ask whether things are back to normal. That frees the incident lead to work on the problem instead of answering the same question.

  • Pinning makes it a dashboard

    A message that is always current can be pinned at the top of the channel. New members and busy managers find it immediately, without learning where status is kept. Everyone learns where to look.

  • The update rhythm is steady

    Refreshing hourly means the message never gets more than an hour old. People learn they can rely on it, and stop checking other sources for the same information. That trust saves effort during incidents.

  • Fewer duplicate posts to clean up

    Without this, teams end up deleting old updates or arguing about which post is final. A single edited message avoids the clutter and the confusion. The channel stays easy to scan afterwards for later review.

How it works

What happens, step by step

  1. Every hour ClickRuntime reads the latest status from your status page, such as a release in progress.

  2. The first time, it posts the status as a message in your Microsoft Teams channel.

  3. After that it edits the same message instead of posting a new one, so the channel always shows one up-to-date status.

Before it runs live

  • Connect Microsoft Teams

What you get

RunsHourly
Keep a live status message in a Teams channeltoday, 9:00Succeeded
Teams · ReleaseRelease 4.2: deploying to EU region (2 of 3 regions done)

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 Microsoft Teams 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.
post_and_keep_updating_a_status_message.pyexample
from clickruntime import on_trigger, credentials, http, state

GRAPH = "https://graph.microsoft.com/v1.0"
TEAM_ID, CHANNEL_ID = "your-team-id", "19:release-channel-id@thread.tacv2"
STATUS_URL = "https://status.example.com/release.txt"

@on_trigger
def run(event):
    text = http.get(STATUS_URL).text.strip()[:2000]
    headers = {"Authorization": f"Bearer {credentials.connection('microsoft', 'work')}"}
    base = f"{GRAPH}/teams/{TEAM_ID}/channels/{CHANNEL_ID}/messages"
    message_id = state.get("message_id")
    if message_id is None:
        resp = http.post(base, headers=headers, json={"body": {"content": text}})
        resp.raise_for_status()
        state.set("message_id", resp.json()["id"])
    elif text != state.get("last_text"):
        http.patch(f"{base}/{message_id}", headers=headers, json={"body": {"content": text}}).raise_for_status()
    state.set("last_text", text)
    return {"status": text[:80]}

FAQ

Common questions

What happens if someone deletes the status message?
If the original message is gone, the next run cannot edit it. The run will report the problem in the ClickRuntime dashboard, and you can ask for a new message to be created and its ID stored again.
Can the update include a timestamp?
Yes. The message can show when it was last refreshed, such as updated at 14:00, so readers know how current it is. That is useful when the hourly refresh is the only sign that the check is still running.
Can I update it more often than hourly?
Yes. Hourly is a common choice, but you can set a shorter interval if the status changes quickly, for instance every 15 minutes during an incident. Say what you want and approve the change in your AI assistant.
What permissions does it need?
write (ChannelMessage.Send). 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 (hourly). 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 “Keep a live status message in a Teams channel” from your assistant

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