Monthly Docker Hub access review against your HR roster

On the first working day of each month, compare who can reach your Docker Hub organization with your active staff list and post the gaps to Slack.

Agentic Task
Docker HubBambooHRSlack BotEngineeringOperationsAI ReportsNotifications & Alerts
PromptCreate

On a cron schedule, on the first weekday of each month at 9am, run an access review of my Docker Hub organization and post the findings to Slack. This is a report only review: never remove a member, never cancel an invite, and never change anyone's role. Revoking registry access is a decision a human should confirm.

Start by building the current Docker Hub roster. Use List Organization Members to get everyone in the organization along with their role and their email where one is available. Use List Organization Groups to get the organization's groups (teams), then use List Group Members for each group so you know which teams each person sits in. Use List Organization Invites to get invitations that have been sent but not yet accepted, including when each one was sent.

Then pull the active employee roster from BambooHR using Get Employee Directory. Treat the employees the directory reports as active as the source of truth for who currently works here.

Reconcile the two lists to find people who still hold registry access but are no longer active employees. Match on work email first, since that is the reliable signal. If a Docker Hub account has no email attached, or its email does not appear anywhere in the directory, fall back to matching on full name. Docker Hub IDs are frequently personal handles that will not resemble an HR record, so do not guess. If you cannot confidently match an account to a person in the directory, report it under "needs a human look" rather than concluding that the person has left. The same applies to accounts that match more than one employee, or that look like bots, CI runners, or shared build accounts.

Post one summary using Slack Bot Send a Message to the channel I specify, grouped by severity in this order: departed employees who still have access; accounts you could not confidently match; invites that have been sitting unaccepted for more than 30 days; and members holding owner or admin roles. For each person include their Docker Hub ID, their email if known, their role, and the teams they belong to, followed by a short plain English recommendation such as remove from the organization, confirm with their manager first, cancel the stale invite, or no action needed. If a section has nothing in it, say so in a single line rather than dropping the section, so the reader can see the check actually ran.

Optionally add a short closing section that lists the organization's access tokens using List Organization Access Tokens, flagging long lived or apparently unused ones as part of the same monthly hygiene pass. Do not describe this as covering every member's personal access tokens: personal tokens are only visible for the connected account, not across the organization.

Two scope notes to respect. There is no way to read which repositories each team is allowed to access, so do not claim to audit per repository permissions; team context should come only from the organization's group list and each group's members. Also note that member, group, and invite data requires a Docker Hub organization rather than a personal Docker account.

What does this prompt do?

  • Checks your Docker Hub organization on the first working day of every month and lines up every member, team, and unaccepted invite against your active employee list in BambooHR.
  • Flags people who have left the company but still hold registry access, so container registry cleanup stops slipping through the cracks at offboarding.
  • Separates confident matches from uncertain ones. Docker usernames are often personal handles that look nothing like an HR record, so anything it cannot match confidently lands in a "needs a human look" list instead of being labelled a leaver.
  • Posts a single Slack summary sorted by urgency with a short recommendation for each person, and never removes anyone on its own.

What do I need to use this?

  • A Docker Hub organization, meaning the shared account your team's images live under rather than a personal Docker account, plus a login that can view its member list.
  • A BambooHR account with permission to view the employee directory.
  • A Slack workspace and a channel for the review to land in. A private security or ops channel works well.

How can I customize it?

  • Change the cadence. Monthly is a common review rhythm, but quarterly or fortnightly works exactly the same way.
  • Send the review somewhere else, such as a different channel or a direct message to whoever owns access reviews.
  • Adjust how old an unaccepted invite has to be before it gets flagged. It starts at 30 days.
  • Add a section covering the organization's shared access tokens as part of the same monthly tidy-up.

FAQs

Will this remove anyone from Docker Hub automatically?
No. This is a review only. It reports what it finds and recommends what to do, but it never removes a member, cancels an invite, or changes a role. Taking away someone's access is a call a person should confirm.
What happens if someone's Docker username looks nothing like their name?
That account goes into a separate "needs a human look" section. The review matches on work email first and falls back to full name, and when neither gives a confident match it says so plainly rather than guessing that someone has left the company.
Does this work with a personal Docker Hub account?
No. Member lists, teams, and invites only exist for a Docker Hub organization, which is the shared account a company sets up for its team. A personal account has no roster to review.
Can it tell me which repositories each team is allowed to open?
No. It reports who is in the organization, which teams they belong to, and what role they hold. Per repository permissions are not something it can read, so it does not report on them.
We use a different HR system. Can we still run this?
Yes, as long as the system holding your active staff list is one we support. The review works the same way: pull the active roster, compare it with the registry roster, and report the difference.

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 letting former employees keep registry access.

Run a standing monthly review that reconciles your Docker Hub organization against your HR roster and lands the findings in Slack.