Track who has read every onboarding page in Confluence

People Ops sees every new starter's reading progress on one screen, and each new hire gets their own role based list they tick off as they go.

App
ConfluenceBambooHRSlack BotHR & PeopleOnboarding Automation
PromptCreate

Build me an onboarding progress app that two different audiences open: People Ops, who need to see where every recent new starter is in their required reading, and the new starters themselves, who need their own checklist. It runs on Confluence for the content, BambooHR for who the new starters are, and Slack Bot for nudges. Which view someone lands on depends on who is signed in, so be explicit about that split when you build it.

Admin view, for People Ops. One row per person who started in the last 90 days. Get the cohort from BambooHR with Get Employee Directory and filter on hire date, then call Get Employee for each person to fill in department and job title. Each row shows name, department, job title, start date, a completion bar of acknowledged pages over total pages on that person's role based reading list, and how long they have been stalled, measured as days since their most recent acknowledgement. Let People Ops sort by most stalled and filter by department or role, and let them click into any row to see that person's list item by item with the acknowledged ones marked.

Personal view, for a new hire. Only their own reading list, in the order they should work through it, with no cohort data and no other person's progress anywhere on the screen. Each item is a row with the page title and its status. Expanding an item loads the page body inline with Get Page by ID requesting the storage body format, so the person reads the actual content without bouncing out to the wiki.

Reading list setup. Give People Ops a config screen where they define one reading list per role. A list can be assembled from any mix of three sources: Search Content (CQL) to select pages by label and space, Get Pages in Space to take everything in a space, and Get Descendant Pages against a parent page to pull in a whole onboarding tree at once. Save the resolved, ordered set of page ids per role, and let People Ops re-resolve a list so newly added wiki pages get picked up. Lists are role based by design, so an engineer and a salesperson must be able to end up with different required reading drawn from the same wiki.

Acknowledging a page. This has to be an explicit button the new hire presses on each item, never something inferred from them opening or scrolling the page. Confluence exposes no content analytics operation, so there is no way to see who viewed a page and read tracking cannot be inferred. Do not model progress on wiki checkboxes or inline tasks either. When the button is pressed, do two things: record the acknowledgement in the app's own storage as person, page id and timestamp, which is the source of truth for every completion bar and stalled count, and write a footer comment on that page with Create Footer Comment naming who acknowledged it and when, so there is a visible trace inside Confluence for anyone reading the wiki.

Asking a question. On any item the new hire can type a question, which posts to the same page with Create Footer Comment, as a reply to their acknowledgement comment where one already exists, so the conversation stays attached to the page it is about. Show the existing footer comments on each item using Get Footer Comments for Page so the new hire can see what has already been asked and answered.

Nudging. From the admin view, People Ops can press nudge on any stalled row. Resolve that person's Slack account from their BambooHR work email with Look Up User by Email, open a direct message with Open a Conversation, and send it with Send a Message. The message should name what is still outstanding rather than saying something generic, and link back to their list. Record when each person was last nudged and show it on the row so nobody gets pinged twice in the same day.

The app stores acknowledgements, questions asked, nudge history, and the role to reading list config. Enforce that a new starter can only ever reach their own list and never the cohort dashboard or another person's progress.

What does this prompt do?

  • Lists everyone who joined in the last 90 days with their team, job title, how much of their required reading is finished, and how long they have been stuck
  • Builds each reading list from the wiki you already have, choosing pages by label, by space, or by pulling in a whole onboarding section at once
  • Gives every new starter their own ordered checklist, with each page opening inside the app so nobody has to hop back to the wiki
  • Records a confirmation the moment someone presses acknowledge, and leaves a matching note on the wiki page so the trail lives in both places
  • Lets People Ops send a private Slack nudge to anyone who has stalled, without leaving the screen

What do I need to use this?

  • A Confluence account with your onboarding pages already written
  • A BambooHR account you can read the employee directory from
  • A Slack workspace where a bot can send direct messages
  • A way to point at your onboarding pages in Confluence, such as a shared label, a dedicated space, or one parent page they all sit under

How can I customize it?

  • Change the 90 day window that decides who counts as a new starter
  • Set which pages each role reads, so engineers and salespeople get different lists off the same wiki
  • Decide how many days without progress counts as stalled, and what the nudge message says

FAQs

How does the app know someone has actually read a page?
Because they press an acknowledge button. Confluence does not report who viewed a page, so a deliberate confirmation is the only honest signal. It is also a stronger record than a page view, since someone opening a tab is not the same as someone confirming they read the policy.
Can different roles get different reading lists?
Yes, and that is the point. You map each role to its own set of pages, so a new engineer and a new salesperson see different required reading pulled from the same wiki.
Will new hires see everyone else's progress?
No. A new starter only ever sees their own list, in order. The full cohort view with completion bars and stalled days is for People Ops.
Does anything get written back into Confluence?
Yes. Every acknowledgement posts a comment on the page it belongs to, so the trace is visible to anyone reading the wiki. Questions a new hire asks post to that same thread.
Do we have to restructure our wiki before this works?
No. It works with the pages you already have, as long as you can point to them by label, by space, or by a parent onboarding page whose children should all be included.

Related templates

Share of voice dashboard for your brand and competitors

See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.

GDELT
Notion
Slack Bot
App
Approval war room for every social post awaiting sign-off

One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.

Hootsuite
Slack Bot
App
Turn champion job changes into new pipeline in Attio

Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.

Boomerang
Attio
Slack Bot
Agentic Task
Collect social post requests and schedule them in Hootsuite

Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.

Hootsuite
Slack Bot
General Input Database
App
Voice agent QA review board for your Hume EVI calls

Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.

Hume
Linear
Slack Bot
App
Clear your Guru verification backlog in one weekly app

A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.

Guru
Slack Bot
App

Stop guessing whether new starters read the handbook.

Give People Ops one screen for the whole cohort and every new hire a list they can actually finish.