One of the biggest challenges in Confluence is keeping content updated. Confluence is often used as a repository for a wide range of documentation and articles that contain valuable information. Unfortunately, this content is not always up to date.

While a coffee machine manual will likely remain the same, information about people, culture, or finance can quickly become outdated. App function descriptions also undergo frequent changes and should be regularly reviewed and updated.

However, these updates can easily be overlooked depending on the content's structure and organization. So, how can we ensure our content remains current? One option is to schedule regular reviews and updates to ensure accurate information.

Another strategy is visually marking older or less relevant content or archiving it if necessary. The principle "If not needed, get rid of it" is valid. Content that is no longer up-to-date or relevant shouldn’t remain in the system to avoid confusion and improve the user experience.

How to visually highlight content

To visually highlight a page's relevance, all it takes is one word: Status. A status can be attached to any page using predefined or custom statuses.

Visually highlight content

This status can then be changed using a rule.

Change page status

Prerequisite for automated content updates

To get started, you’ll need Confluence Premium, which offers a wide range of automation features. These features simplify content maintenance and updating, boosting your team’s efficiency and reducing manual tasks.

Alternative options exist for anyone who doesn’t have access to Confluence Premium, which I’ll note down later in this blog post.

Setting up the automation

1. Define content and timeframe

Let’s imagine we want to review and keep all Confluence pages current. We'll start small, ideally with just three spaces with ten pages each—manageable, even if it seems tedious. Remember: The coffee machine manual is unlikely to change frequently. Nevertheless, external and internal triggers remind us to make regular updates.

So we ask ourselves: Do I want to update my cafeteria menu weekly? Do I need to review and adjust legal workplace safety requirements or training materials regularly? The key is to align the goal of keeping content updated with legal and/or regulatory requirements.

Long story short: Labels.

Labels are a great way to categorize the different "lifecycles" content, as not every content requires the same update frequency. Yes, we can define how often we want to update the content we wish to keep current. We can use labels like "6 months," "12 months," or a custom interval. In our example, we chose the label “keep_current,” which allows us to identify the pages needing regular review, creating a clear overview of our content maintenance.

By strategically categorizing content, we create a structured approach that increases efficiency and ensures we meet the requirements for relevance and compliance. After all, our goal is to ensure that all information available to our employees is always relevant and current.

2. Build rules

In our example, we’re keeping it simple: There’s a clear assignment. Our goal is simply to notify the page creator, and that’s it.

While Confluence automation isn’t quite at the level of Jira automation, new triggers and actions are continuously being added to expand the possibilities. For our example, we chose a time-based execution. We select a daily frequency, which can vary depending on the customer and content.

Build rule
At first glance, this sounds straightforward. But there are still many nuances to consider. When should the notifications be sent? Should an email be triggered for every notification? Do we need to set up different notifications for various types of content? These questions prompt us to optimize further and tailor the automation system.

Schedule

We let the rule run continuously to execute every morning, ensuring employees are notified by the morning. In our example, we don’t include weekly planning or editorial teams. Next, we add a branch to define the conditions:

Branch
Page branch

Two more criteria to address are the author and the creation date. Since these aren’t important to us, we simply choose "Updated" and set the timeframe to six months. Since we don’t want an email to be triggered for every page or content type, we also add an “if block”:

Condition

Here, we check the label. We chose "keep_current":

Page condition

You can also use additional criteria, ranging from "Views" to "Unique Views." This ensures that frequently visited pages are always kept up to date. However, in our example, these are not relevant.

Finally, we define the action—the notification:

Notification

In our example, we use "Send email" since an email address is always available, and we’re dealing with a direct 1:1 relationship (one page, one creator). You could also use group mailboxes, but we’ve opted for Smart Values:

Send email

Under “More Options,” you can customize the sender and similar settings. Of course, our example is quite simple: We send an email when the time and label match. However, there are many other possibilities. We could integrate other messaging services like Teams, Slack, and Twilio or even use a webhook. Creating a Jira ticket is also possible if an editorial team or a project is involved.

More options

What if I don’t have Confluence Premium?

No problem: Workflows for Confluence allows you to use similar automations without relying on Premium features. With this app, you can set up workflows that automate tasks, send notifications, change statuses, and more.

Another app I recommend is Breeze, which analyzes your Confluence instance at set intervals and automatically identifies outdated content based on predefined rules and custom workflows. It then generates reports and notifies responsible individuals of the results.

Published: Dec 13, 2024

Atlassian