IT & Security package

IT equipment loans

Staff borrow laptops, phones and headsets from a loan pool: manager approval, availability tracking, a return check with reminders and a full loan log.

OfficialNo integrations neededStarts from a formStarter~10 min setupv1.0.1

About this package

What it does

IT equipment loans replaces the spreadsheet and the sticky notes on the IT desk. People open the Equipment loan request form, pick a device from the Loan pool table (only devices whose status is Available are offered), say when they need it and pick their manager. The serial number, type and pick-up location fill in by themselves.

The Form submitted trigger logs the request in the Loans table and gives the manager an approval task with Approve and Reject buttons, a reminder and escalation to their own manager after two days. On approval the device is checked again (someone else may have taken it), marked On loan, and the borrower is emailed where to collect it.

Each loan then starts a Return check sub-workflow: IT gets a check-in task due on the return date, with a reminder the day before. Checking it in records the condition and puts the device back in the pool (or into Repair when it is damaged); Extend moves the date and Not returned marks the loan overdue and chases the borrower. Everything is built in, so it works as soon as it is installed.

Starts from a form

Starts from a form page: share the Equipment loan request form (/f/<id>); each request starts the Equipment loan workflow.

Someone fills in a form to start it: the workflow start form (Run dialog in the app, or your own portal posting to the API) or a standalone form page (/f/<id>) whose Form submitted trigger starts the workflow. People complete User Task forms along the way.

The flow

Step by step

  1. 1

    Request a device

    The form lists available devices from the Loan pool; serial, type and pick-up location fill in, and the requester picks their manager.

  2. 2

    Manager approves

    The manager gets an Approve / Reject task and can shorten the loan; it reminds and escalates if left alone.

  3. 3

    Device goes out

    The device is re-checked, marked On loan, the loan is recorded and the borrower is emailed where to collect it.

  4. 4

    Return check

    A sub-workflow gives IT a check-in task due on the return date, with a reminder the day before.

  5. 5

    Back in the pool

    Checking it in records the condition and makes the device Available again (or Repair); overdue loans are chased by email.

Equipment loan — A loan request from the form: logged, approved by the requester's manager, the device is re-checked and marked on loan, the borrower is emailed and a return check starts. The same canvas you get in the designer after installing.

Sub-workflow: Return check

Started for each approved loan: IT gets a check-in task due on the return date (with a reminder the day before), records the condition and releases the device, or extends the loan or chases the borrower.

Forms

The start form and the task forms

People start it from a form page (/f/<id>) with its own header, theme and buttons; submitting it starts the workflow. User Tasks show their fields and outcome buttons to the assignee.

Form page · /f/<id>

Equipment loan request

Borrow IT equipment · 2-column grid · own header and theme · Its own page: share the link or open it on a tablet

Your name * borrower_name · text
Work email * borrower_email · emailname@company.com
Team team · text
Your manager * manager · user
Device * device · lookup
Type device_type · text
Serial number serial · text
Pick up from pickup_location · text
Needed from * start_date · dateYYYY-MM-DD
Return by * due_date · dateYYYY-MM-DD
Why do you need it? * purpose · choice
TravelOwn device under repairNew starter waiting for kitEvent or presentationProject or testingOther
Anything else IT should know details · textarea
I will look after the device and return it with its accessories by the due date * agree · boolean
Request loan

User Task

Manager approval

Approve loan: {{device}} for {{borrower_name}} · own header and theme

Approve until * approved_until · datePrefilled: {{form.due_date}}
Comment for the borrower comment · textarea
ApproveReject

User Task · Return check

Check the device back in

Check in {{device}} ({{asset_tag}}) from {{borrower_name}} · 2-column grid · own header and theme

Serial number matches {{serial}} serial_checked · boolean
Charger and accessories returned accessories · boolean
Condition condition · choice
GoodMinor wearDamagedMissing parts
Device wiped / reset for the next loan wiped · boolean
New return date (for Extend) new_due_date · dateYYYY-MM-DD
Notes notes · textarea
Checked inExtend loanNot returned

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":{"borrower_name":"Grace Kim","borrower_email":"grace.kim@example.com","team":"Marketing","manager":"$owner","device":"LT-1050","start_date":"2026-11-02","due_date":"2026-11-20","purpose":"Event or presentation","details":"Video editing for the product launch.","agree":true}}'

CLI

shell
usertasks workflows inputs <workflow id>          # the start form: keys, types, required
usertasks workflows run <workflow id> --input borrower_name="Grace Kim" --input borrower_email=grace.kim@example.com --input team=Marketing --input manager=$owner … --wait

What's included

8 assets, ready to adapt

TypeNameDetails
Email templateLoan approvedSent to the borrower when the loan is approved.
Email templateLoan not approvedSent to the borrower when the loan is rejected or the device is no longer free.
Email templateLoan overdueSent to the borrower when IT records a device as not returned.
Data tableLoan poolLoanable IT equipment. The request form only offers devices whose status is Available; the workflow sets On loan / Available / Repair as devices go out and come back.
Data tableLoansEvery loan request and its outcome: who has which device, until when, and how it came back.
formsEquipment loan requestBorrow a laptop, phone, headset or other device from the IT loan pool. Only devices that are available right now are offered.
WorkflowEquipment loan27 steps — A loan request from the form: logged, approved by the requester's manager, the device is re-checked and marked on loan, the borrower is emailed and a return check starts.
WorkflowReturn check14 steps — Started for each approved loan: IT gets a check-in task due on the return date (with a reminder the day before), records the condition and releases the device, or extends the loan or chases the borrower.

Loan pool · 9 sample rows

Asset tagDeviceTypeModelSerial numberStatusPick-up locationNotes

Loans · 2 sample rows

Loan referenceAsset tagDeviceSerial numberBorrowerBorrower emailTeamPurposeFromDue backStatusApprover commentReturned onCondition on return

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 to configure: install it and share the Equipment loan request form from Forms.
  2. Replace the sample devices in the Loan pool table with your own (asset tag, device, model, serial, status, pick-up location). Only rows with status Available appear on the form.
  3. Return check tasks go to the person who installed the package (the IT desk). Change the assignee on the "Check the device back in" step to route them to someone else or a group.
  4. Optional: set EMAIL_PROVIDER so borrower emails are delivered (the console provider logs them).

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 it-equipment-loans-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/it-equipment-loans-1.0.1.utpkg
usertasks packages inspect it-equipment-loans-1.0.1.utpkg       # offline: checksum, hashes, signature
usertasks packages install it-equipment-loans-1.0.1.utpkg --dry-run
usertasks packages install it-equipment-loans-1.0.1.utpkg       # prompts for each requirement
usertasks packages install it-equipment-loans-1.0.1.utpkg --keep-incomplete --yes   # in CI; finish with:
usertasks packages complete it-equipment-loans -f values.yaml

Verify the download

File SHA-256
b1a5a3db00b780cf3c7d99c4b64e00922fe040f3550f83c7031cc6c9c6e11ed4
Package checksum (what is signed)
sha256:5401c2b059b48c9dfe07aef45e70da4d259b3dc044a1af674fa6f422b99cdeb5
Signer
Unsigned preview build — compare the SHA-256 above

shasum -a 256 it-equipment-loans-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