Operations & Compliance package

Policy acknowledgement tracker

Every week, issue the current policy to every active person, track who has acknowledged it, remind the rest and give the policy owner one chase list.

OfficialNo integrations neededScheduledIntermediate~15 min setupv1.0.1

About this package

What it does

Policy acknowledgement tracker turns "please read and confirm" emails into an auditable register. The Policy register table holds each policy, its version, link and whether staff must acknowledge it; the Staff table lists who has to confirm.

Every Monday at 09:00 the workflow picks the most recently effective current policy that needs acknowledging (or the one you name) and goes through every active person. Anyone not yet asked gets a Pending row in the Acknowledgements table, an email with the link and the deadline, and a tracker task (through a Record acknowledgement sub-workflow) where the policy owner records the confirmation with Acknowledged, Exempt or Refused buttons. Anyone still pending gets a reminder and their reminder count goes up.

After the round the policy owner gets one consolidated Chase outstanding acknowledgements task listing everyone outstanding, with a reminder and escalation to their manager if it sits. Staff have no app accounts, so every task goes to the person who installed and activated the package. Everything is built in.

Scheduled

Weekly on Monday at 09:00 (Pacific/Auckland). You can also start it any time from the Run dialog, the API or the CLI.

Runs on a schedule (daily, weekly, monthly) in your time zone.

The flow

Step by step

  1. 1

    Weekly run

    On Monday morning the latest current policy that needs acknowledging is picked (or the one passed in).

  2. 2

    Issue to everyone

    Each active person not yet asked gets a Pending row, an email with the link and deadline, and a tracker task.

  3. 3

    Record confirmations

    The policy owner records each confirmation on its tracker task: Acknowledged, Exempt or Refused.

  4. 4

    Remind the rest

    Anyone still pending gets a reminder email every week, and the count is kept on their row.

  5. 5

    One chase list

    A consolidated task lists everyone outstanding, with a reminder and escalation to the owner's manager.

Weekly policy acknowledgements — Every Monday: for the latest current policy that needs acknowledging, issue it to every active person not yet asked (email + tracker task), remind everyone still pending, and give the policy owner one chase task with the outstanding list. The same canvas you get in the designer after installing.

Sub-workflow: Record acknowledgement

One per person and policy version: a tracker task for the policy owner to record the acknowledgement, which updates the Acknowledgements table.

Forms

Inputs and task forms

The inputs a caller passes when it starts a run, and the forms people complete when the process needs a decision.

Start inputs

Weekly policy acknowledgements

Passed by the calling system

Policy code policy_code · textOptional: the policy to track (e.g. POL-HR-03). Leave empty for the most recently effective current policy that needs acknowledging.

User Task

Chase outstanding acknowledgements

Chase {{pending_count}} outstanding: {{policy.title}} v{{policy.version}} · 2-column grid · own header and theme

Managers contacted managers_contacted · boolean
Next step next_step · choice
Wait for next weekRaise with department headsReport to the risk committee
Notes notes · textarea
Followed upClose this round

User Task · Record acknowledgement

Record the acknowledgement

Acknowledgement: {{staff_name}} · {{policy_title}} v{{version}} · 2-column grid · own header and theme

Acknowledged on * acknowledged_on · datePrefilled: {{=TODAY()}}
How did they confirm? * method · choice
Email replySigned in personLearning systemTeam meeting
Notes notes · textarea
AcknowledgedExemptRefused

From your code

Start a run over the API

Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.

REST

shell
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
  -H "Authorization: Bearer $USERTASKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"workflow_id":"<workflow id>","variables":{"policy_code":""}}'

CLI

shell
usertasks workflows inputs <workflow id>          # the start form: keys, types, required
usertasks workflows run <workflow id> --input policy_code= --wait

What's included

7 assets, ready to adapt

TypeNameDetails
Email templatePlease acknowledge a policySent to each person the first time a policy version is issued to them.
Email templatePolicy acknowledgement reminderThe weekly reminder for anyone who has not acknowledged yet.
Data tableAcknowledgementsOne row per person per policy version: Pending until it is acknowledged, with the date, method and how many reminders were sent.
Data tablePolicy registerThe policy register: each policy, its current version, where staff read it and whether staff must acknowledge it.
Data tableStaffPeople who must acknowledge policies. Untick Active for leavers; Department and Manager appear on the tracker tasks.
WorkflowRecord acknowledgement5 steps — One per person and policy version: a tracker task for the policy owner to record the acknowledgement, which updates the Acknowledgements table.
WorkflowWeekly policy acknowledgements29 steps — Every Monday: for the latest current policy that needs acknowledging, issue it to every active person not yet asked (email + tracker task), remind everyone still pending, and give the policy owner one chase task with the outstanding list.

Acknowledgements · 1 sample rows

KeyPolicy codePolicyVersionStaff emailNameDepartmentStatusIssuedDueAcknowledged onMethodReminders sentNotes

Policy register · 5 sample rows

CodePolicyVersionPolicy ownerEffective fromLink to the policyStatusStaff must acknowledgeDays to acknowledgeWhat changed

Staff · 6 sample rows

EmailNameDepartmentManagerLocationActive

Requirements

What you connect it to

Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.

Needs

  • Email (optional) — Email delivery configured for the instance (EMAIL_PROVIDER), used for notifications.

After installing

  1. Nothing is required: install it and the weekly schedule starts. The installer (the policy owner) receives the tracker and chase tasks.
  2. Fill the Policy register table with your policies (link, version, Staff must acknowledge, days to acknowledge). Set status Current on the version in force; a new version gets fresh acknowledgements.
  3. Replace the sample people in the Staff table (or import a CSV); untick Active for leavers.
  4. Optional: change the day, time and time zone on the trigger, and set EMAIL_PROVIDER so the emails are delivered.

Asked for on install

Nothing: it installs complete.

Install

Install it in your workspace

Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.

In the app

  1. Download policy-acknowledgement-tracker-1.0.1.utpkg.
  2. Open Automations → Packages and drag the file onto the page (or choose Import package). Browse gallery there lists every gallery package without downloading by hand.
  3. Pick the file. The wizard verifies the checksum, every file hash and the signature, and shows the readme.
  4. Review the changes (what is created) and the data rows.
  5. Fill in the requirements, or tick Keep incomplete and finish later with Complete setup.
  6. Done: the workflow is published and active once setup is complete.

With the CLI

shell
curl -fLO https://usertasks.com/gallery/policy-acknowledgement-tracker-1.0.1.utpkg
usertasks packages inspect policy-acknowledgement-tracker-1.0.1.utpkg       # offline: checksum, hashes, signature
usertasks packages install policy-acknowledgement-tracker-1.0.1.utpkg --dry-run
usertasks packages install policy-acknowledgement-tracker-1.0.1.utpkg       # prompts for each requirement
usertasks packages install policy-acknowledgement-tracker-1.0.1.utpkg --keep-incomplete --yes   # in CI; finish with:
usertasks packages complete policy-acknowledgement-tracker -f values.yaml

Verify the download

File SHA-256
71d1df82addc2760dfaa23fe7a53525f1ce902a5de5ae4db8fedae16e3fa986a
Package checksum (what is signed)
sha256:21d234339196def33c91721c25c60e9723332113d86bc297930720cc45d1f283
Signer
Unsigned preview build — compare the SHA-256 above

shasum -a 256 policy-acknowledgement-tracker-1.0.1.utpkg should print the file SHA-256. How gallery packages are signed.

Versions

Version 1.0.1

  1. v1.0.12026-10-28Steps for the coordinator who set the package up are assigned to the workflow owner (workflow_owner_id), now that workflow_started_by names the person who started the run.
  2. v1.0.02026-10-28First release.

Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work

More packages

Related

Browse the whole gallery