See every open Confluence action item on one board

By General Input

Pull every unfinished task out of your meeting notes and project pages into one screen, sorted oldest first, and tick them off without leaving the board.

Integrations

  • Confluence
  • Jira
  • Slack

Type

App

Categories

  • Operations
  • Engineering

Build me an action item desk: an app that pulls every unfinished task buried in our Confluence pages into one screen. Right now our action items are scattered across meeting notes that nobody ever reopens, so they quietly rot. The whole app is a single board plus a space picker.

Space picker. Let me choose which Confluence spaces the board watches, typically our meeting notes space plus a few project spaces. Populate the picker with Get Spaces and persist my selection so the board comes back to the same set every time I open it.

Read path, and please follow this exactly. Our Confluence catalog has no list tasks or search tasks operation, so do not invent one. For each watched space, list pages with Get Pages in Space, and use Search Content (CQL) when you want to narrow the scan to recently updated pages or pages carrying a label like meeting-notes. Then fetch each page with Get Page by ID requesting the storage body, and parse the task list markup out of the returned body. In storage format the tasks live in ac:task-list elements, and each ac:task carries ac:task-id, ac:task-status which is complete or incomplete, and ac:task-body which holds the task text, the assignee as a ri:user mention with an account id, and the due date as a time element with a datetime attribute. Keep only the tasks whose status is incomplete.

Resolve each assignee account id to a real name with Get User by ID, and cache those lookups so we are not refetching the same handful of people on every scan. Fetching page bodies is the expensive part of this app, so cache aggressively and give me a refresh control rather than rescanning on every render.

The board itself. One row per open action item, showing the task text, the assignee, the page it came from as a link, which meeting it came from using the page title and date, the due date, and how many days it has been sitting open. Sort oldest first so the items that have rotted longest are at the top. For days open, persist the date we first saw each task id and count from there, falling back to the page's created date the first time we scan a page, since the task markup does not carry its own created timestamp.

Tabs. Default to a mine view for whoever opened the app, matching the viewer to their Confluence account so each person lands on their own list. Then a by person tab that groups items by assignee, and an overdue tab showing everything past its due date, oldest first. In the by person tab, give unassigned tasks their own bucket and pin it at the top, because those are exactly the ones that rot when nobody is looking.

Ticking an item. A tick box on each row calls Update Task to mark that task complete, so the Confluence page itself stays correct rather than drifting out of sync with the board. Unticking reverses it and marks the task incomplete again. Completing an item should immediately drop it off the list, so update the board optimistically instead of waiting for a full rescan, and put the row back with an error message if the update fails.

Escalating an item. For anything too big to just tick off, an escalate button creates a Jira ticket with Create Issue, prefilled with the task text as the summary and a description that links back to the source Confluence page. Let me pick the project and issue type once in settings and reuse them. After the ticket is created, show its key on the row so nobody escalates the same item twice.

Nudging someone. A nudge button next to a person direct messages them their overdue items in Slack. Resolve the assignee to a Slack user with List Users, matching on email address, then Open a Conversation to get the direct message channel and Send a Message with a short list of their overdue items and links to the pages those items live on. Keep the message brief and friendly, a handful of bullets rather than a wall of text, and tell me in the UI when a person could not be matched to a Slack account instead of failing silently.

Two rules to bake in throughout: unassigned tasks always get their own visible bucket rather than being filtered away, and completing an item on the board drops it off the list right away.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes