# Documentation ownership register for your Confluence wiki

> See every page in your Confluence spaces with its last editor, revision count and review date, then assign owners that save onto the page itself.

- Workflow type: app
- Services: Confluence, Google Sheets, Slack
- Categories: Operations, Engineering
- Published: 2026-08-17

## What it does

- Lists every page in the Confluence spaces you choose, showing who edited it last, how long ago, how many times it has been revised, whether anyone owns it, and when it is next due for review
- Flags the pages that need attention with one-click filters for no owner, review overdue, and untouched in over a year
- Opens any page in a side panel with its recent edit history and comments, so you can judge whether it is still trustworthy without leaving the review
- Records the owner and next review date onto the page itself in Confluence, logs every decision to a Google Sheets audit register, and tells new owners in Slack what they just picked up

## What you'll need

- A Confluence account with permission to view the spaces you want to review and to edit page details and labels
- A Google Sheets spreadsheet to hold the audit register, with a tab ready for the logged decisions
- A Slack workspace, so newly assigned owners can be told which pages are now theirs
- A short list of the people who can be named as owners, with their Slack handles

## Prompt

Build me a documentation ownership register for our Confluence wiki. We have thousands of pages with no recorded owner and nobody knows which ones are still trustworthy. This is an app I open during a governance review session, work through a list of pages, and assign owners as I go. It is a review surface, not a scheduled report.

The main screen is a space picker followed by a table. Load the available spaces with Get Spaces and let me select one or several. For each selected space, load pages with Get Pages in Space, following the cursor pagination until I have what I need, and fetch in batches as I scroll rather than pulling every page up front. Spaces can hold thousands of pages, so keep the initial load bounded and let the filters do the narrowing.

Every page gets one row in the table with these columns: page title linking out to Confluence, the space it lives in, the last editor, how long it has been since the last edit expressed in plain language like 14 months ago, how many times the page has been revised, whether an owner has been recorded, and the next review date. Use Get Page by ID to fill in the last editor and current version details where the space listing does not already carry them, and read the recorded ownership back with Get Content Properties for Page.

Rank the table by a staleness score so the worst offenders float to the top. Important constraint: Confluence page view analytics are a Premium and Enterprise only feature and we do not have access to them, so do not build anything that depends on view counts or on knowing which pages get read. Rank on the signals available to every plan instead. Those are edit recency as the dominant factor, revision count as a supporting signal, and comment activity. Read the signals this way: a page last edited two years ago with only one or two revisions was probably written once and abandoned, a page with many revisions that then went quiet was once important and is now drifting out of date, and a page with recent comments is still alive even if the body has not changed. Show me the score with a short plain reason next to it, for example untouched 19 months, 2 revisions, no comments since 2024.

Give me three one-click filters above the table: no owner recorded, review overdue meaning the stored next review date is in the past, and untouched in over a year. They should combine, and I want a running count of how many pages match so I can see the size of the problem.

Clicking a row opens a side panel so I can judge the page fast without leaving the table. The panel shows the recent version history from Get Page Versions, listing each revision with its author, date and change message, and the recent comments from Get Footer Comments for Page. It also shows the current labels via Get Labels for Page and whatever ownership record already exists on the page. Keep the table visible behind the panel so I keep my place in the list.

From the side panel I assign an owner and a verdict. The verdict is one of current, needs update, or archive candidate. Assigning an owner writes a content property onto the page itself, so the record travels with the page even if it is moved or reorganized. Store a single JSON content property holding the owner name, the owner Slack member ID, the next review date, the verdict, who ran the review and the date it happened. Use Create Content Property when no property exists yet and Update Content Property when one does. Update Content Property requires an incremented version number, so read the current property first with Get Content Properties for Page and increment from what comes back.

Also stamp the page with a label reflecting the review outcome using Add Labels, for example reviewed-2026 or needs-update. When a page carries a superseded review label from an earlier cycle, clear that one with Remove Label so the labels never contradict each other. Both label operations are on the v1 API.

The next review date defaults to twelve months from today, and I want to be able to override it per page and change the default for the session. Anything with a next review date in the past is what the review overdue filter catches.

Decisions accumulate into a review session rather than firing one at a time. Show me a session tray with everything I have decided so far and let me correct an entry before committing. When I finish the session, append the whole batch to a Google Sheets audit register with Append Values, one row per page containing the date, space, page title, page URL, assigned owner, verdict, next review date, and who ran the review. I configure the spreadsheet and tab once and the app remembers them.

Finishing the session also notifies the newly assigned owners in Slack. Group the decisions by owner so each person gets exactly one message rather than one per page, open the direct message channel with Open a Conversation using their Slack member ID, and send with Send a Message. The message lists the pages they just picked up with links, the verdict recorded against each, and the review date they are working towards. Let me preview the messages and deselect anyone before they go out. Because Slack has no way here to look someone up by email, keep a small owner roster in the app holding each person's name, email and Slack member ID, which I maintain and pick from when assigning.

This app must never delete anything. It does not delete pages, it does not delete content properties, and archive candidate is only ever a recommendation recorded for a human to act on. The single exception is Remove Label, used solely to clear a superseded review label from an earlier cycle. Everything else is additive.

Remember my selected spaces, my session defaults and my owner roster between visits, so reopening the app puts me back where I was. Confluence enforces a points based rate limit, so batch the per page detail calls sensibly, back off on a 429 using the Retry-After header, and show partial results rather than blocking the whole table when one page fails to load.

## How to customize

- Change the review cycle length, so an owner assigned today is next due in six months, a year, or whatever your policy says
- Adjust what counts as stale, including the untouched cutoff and how much weight recent comments carry
- Pick which spaces appear by default, and choose whether new owners get a direct message or a note in a shared channel

## FAQ

### Can it show me which pages people actually read?

No, and that is deliberate. Page view analytics are only available on Confluence Premium and Enterprise plans, so an app built on them would not work for most teams. This ranks pages on how recently they were edited, how many times they have been revised, and whether anyone is still commenting on them, which are signals available on every Confluence plan.

### Will it delete or archive our old pages?

Never. The app only records who owns a page and what was decided about it. If you mark something as an archive candidate, that is written down as a recommendation for a human to act on later. Nothing is removed.

### Where does the owner actually get saved?

The owner and the next review date are saved onto the Confluence page itself, so the record travels with the page even if it gets moved or reorganized. A copy of every decision is also appended to your Google Sheets register so you have a dated history of the whole review.

### Will this cope with thousands of pages?

Yes. You pick which spaces to review rather than loading the entire wiki at once, pages load in batches as you scroll, and the filters let you jump straight to the unowned or overdue pages instead of working through everything.

### Do the owners need to log into the app?

No. Owners are told in Slack which pages they picked up, with links to each one. Only the person running the governance review needs to open the app.

Use this prompt in General Input: https://www.generalinput.com/prompts/documentation-ownership-register-for-your-confluence-wiki