Start inputs
Weekly policy acknowledgements
Passed by the calling system
Operations & Compliance package
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.
About this package
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.
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
Weekly run
On Monday morning the latest current policy that needs acknowledging is picked (or the one passed in).
Issue to everyone
Each active person not yet asked gets a Pending row, an email with the link and deadline, and a tracker task.
Record confirmations
The policy owner records each confirmation on its tracker task: Acknowledged, Exempt or Refused.
Remind the rest
Anyone still pending gets a reminder email every week, and the count is kept on their row.
One chase list
A consolidated task lists everyone outstanding, with a reminder and escalation to the owner's manager.
Forms
The inputs a caller passes when it starts a run, and the forms people complete when the process needs a decision.
Start inputs
Passed by the calling system
User Task
Chase {{pending_count}} outstanding: {{policy.title}} v{{policy.version}} · 2-column grid · own header and theme
User Task · Record acknowledgement
Acknowledgement: {{staff_name}} · {{policy_title}} v{{version}} · 2-column grid · own header and theme
From your code
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
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
usertasks workflows inputs <workflow id> # the start form: keys, types, required
usertasks workflows run <workflow id> --input policy_code= --waitWhat's included
| Type | Name | Details |
|---|---|---|
| Email template | Please acknowledge a policy | Sent to each person the first time a policy version is issued to them. |
| Email template | Policy acknowledgement reminder | The weekly reminder for anyone who has not acknowledged yet. |
| Data table | Acknowledgements | One row per person per policy version: Pending until it is acknowledged, with the date, method and how many reminders were sent. |
| Data table | Policy register | The policy register: each policy, its current version, where staff read it and whether staff must acknowledge it. |
| Data table | Staff | People who must acknowledge policies. Untick Active for leavers; Department and Manager appear on the tracker tasks. |
| Workflow | Record acknowledgement | 5 steps — One per person and policy version: a tracker task for the policy owner to record the acknowledgement, which updates the Acknowledgements table. |
| Workflow | Weekly policy acknowledgements | 29 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
Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.
Nothing: it installs complete.
Install
Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.
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.yamlVerify the download
shasum -a 256 policy-acknowledgement-tracker-1.0.1.utpkg should print the file SHA-256. How gallery packages are signed.
Versions
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
Operations & Compliance Official
Monthly SOC 2 / ISO 27001 evidence run: automated controls are pulled from your systems, owners of manual controls are asked for a link, all logged for the auditor.
Needs:REST APIAssigneesEmail
Operations & Compliance Official
A daily check of your contract register: owners are reminded 60, 30 and 7 days before each notice deadline and asked to renew, renegotiate or terminate.
Needs:AssigneesEmail
Operations & Compliance Official
A daily stock check finds items at or below their reorder point, raises an Approve order / Skip task for each and emails the supplier a purchase order.
Nothing to configure: works as soon as it is installed