Operations & Compliance package

Legal request intake & triage

One front door for NDAs, contract reviews, legal questions and disputes: a stepped intake form, routing to the right queue with an SLA, and a Data table for the legal team.

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

About this package

What it does

Legal request intake & triage gives the business one place to ask legal for help. People open the Legal request form page, four steps with a progress bar: About you, The request, Urgency, and Review & send. The questions change with the request type: an NDA asks who shares information and whose template, a contract review asks the contract type, value and whether personal data is involved, a legal question asks the area of law, and a dispute asks the amount and any deadline. People attach drafts, letters and the other side's paper, and pick an urgency and a needed-by date.

The form is in Application mode with its own Next, Back and Send to legal buttons, and its rules do the checking before anything reaches legal: a contract review must include the contract, High and Critical urgency need a reason (the field only appears then), the needed-by date cannot be in the past, and choosing a dispute raises the urgency to High with a short note.

Submitting starts the workflow. The Legal request routing decision table picks the queue (Commercial, Employment, Privacy & IP, Disputes or General counsel), the SLA in days and whether the general counsel reviews the outcome. The request is added to the Legal requests table, the requester gets an email with the reference and the date to expect an answer, and the lawyer gets a tabbed task: the request on one tab, their outcome on the other. They complete it, ask the requester for more information (the requester answers in their own task and it comes back) or decline it; high-value contracts, disputes and critical questions go to the general counsel before the requester hears back.

The legal team works from the Legal requests page: open requests sorted by SLA with type, urgency and status badges and relative due times, filters by type, status, queue and assignee, and a click on a row for the full details. Assignee and status can be changed in the table and saved back. Everything is built from forms, a decision table, a data table, emails and tasks: no integrations needed.

Starts from a form

Starts from a form page: share the Legal request page (/f/<id>) on your intranet; each submission starts the workflow through its Form submitted trigger.

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.

How forms work

The flow

Step by step

  1. 1

    Ask legal

    Four steps with a progress bar; the questions follow the request type, documents are attached, and rules check the contract, urgency reason and dates.

  2. 2

    Route and set the SLA

    The routing decision table picks the queue, the SLA in days and whether the general counsel reviews; the request is added to the Legal requests table.

  3. 3

    Tell the requester

    The requester gets the reference, the queue and the date to expect an answer.

  4. 4

    Handle the request

    A lawyer works from a tabbed task (the request, their outcome): complete, ask for more information or decline.

  5. 5

    More information

    The requester answers in their own task, with more documents if needed, or withdraws; the request goes back to legal.

  6. 6

    General counsel review

    Disputes, high-value contracts and critical questions are approved by the general counsel or sent back.

  7. 7

    Close and track

    The requester is emailed the outcome; the Legal requests page shows every request with filters and a details tab.

Legal request — A legal request is submitted on the Legal request form; the routing table picks the queue, the SLA and whether the general counsel reviews, the request is added to the Legal requests table, and a lawyer completes it, asks the requester for more information or declines it. The requester is emailed at each step and the table row follows the request. The same canvas you get in the designer after installing.

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>

Legal request

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

UsesSteps & progress barApplication modeIn-form buttonsForm rules

Your name * requester_name · text
Your work email * requester_email · emailname@company.com
Department * department · choice
SalesProcurementPeopleFinanceOperationsProduct+2
What do you need? * request_type · choice
NDAContract reviewLegal questionDispute or claim
Short title * title · text
Other party counterparty · text
Who shares confidential information? nda_direction · choice
Both of us (mutual)Only we doOnly they do
Whose template? nda_paper · choice
OursTheirs
Contract type contract_type · choice
Customer agreementSupplier agreementPartnershipLicenceOther
Total contract value contract_value · currency
The contract involves personal data personal_data · boolean
Area of law question_area · choice
EmploymentPrivacyIntellectual propertyRegulatoryCommercialOther
Amount in dispute dispute_amount · currency
Deadline to respond (if any) response_deadline · dateYYYY-MM-DD
Describe what you need * details · textarea
Documents documents · attachments
Urgency * urgency · choice
LowNormalHighCritical
Needed by * needed_by · dateYYYY-MM-DD
Why is it urgent? urgency_reason · textarea
I understand legal advice is given to the company, not to me personally, and that I should not forward it outside the company * acknowledge · boolean
NextBackSend to legal

Form page · /f/<id>

Legal requests

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

UsesTabsApplication modeIn-form buttonsData tableForm rules

Open legal requests open_requests · data_table
TypeTitleUrgencySLA dueAssigned toStatus
All legal requests all_requests · data_table
SubmittedTypeTitleUrgencySLA dueStatus
Request d_ref · text
Status d_status · text
Type and queue d_type · text
Title d_title · text
Requester d_requester · text
Other party and value d_counterparty · text
Submitted, needed by, SLA due d_dates · text
Assigned to d_assigned · text
Details d_details · textarea
Documents d_documents · text
Outcome d_outcome · textarea
Save changesBack to open requests

User Task

Handle the request

{{request_ref}} · {{form.request_type}}: {{form.title}} · 2-column grid · own header and theme

UsesTabs

Request t_type · textPrefilled: {{form.request_type}} · {{queue}} queue · {{form.urgency}} urgency
Requester t_requester · textPrefilled: {{form.requester_name}} ({{form.department}}, {{form.requester_email}})
Other party t_counterparty · textPrefilled: {{form.counterparty}}
Needed by / SLA due t_due · textPrefilled: {{form.needed_by}} / {{sla_due}}
Details t_details · textareaPrefilled: {{form.details}}
Documents t_documents · textPrefilled: {{=FILE_NAMES(form.documents)}}
Handled by * handled_by · textPrefilled: {{actioned_by_name}}
Outcome or advice (summary) outcome_summary · textarea
Question for the requester question_for_requester · textarea
Hours spent hours_spent · number0
CompleteNeed more informationDecline

User Task

General counsel review

GC review: {{request_ref}} · {{form.title}} · own header and theme

Notes for the lawyer gc_notes · textarea
ApproveSend back

User Task

More information from the requester

More information for {{request_ref}}: {{form.title}} · own header and theme

Your answer * answer · textarea
More documents more_documents · attachments
Send answerWithdraw request

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":{"requester_name":"Mia Walker","requester_email":"mia.walker@example.com","department":"Procurement","request_type":"Contract review","title":"Facilities services agreement: CleanCo","counterparty":"CleanCo Services Ltd","contract_type":"Supplier agreement","contract_value":240000,"personal_data":false,"details":"Three-year cleaning and facilities contract on their paper; they want a 90-day termination notice.","urgency":"High","needed_by":"2027-06-30","urgency_reason":"The current contract ends on 30 November.","acknowledge":true}}'

CLI

shell
usertasks workflows inputs <workflow id>          # the start form: keys, types, required
usertasks workflows run <workflow id> --input requester_name="Mia Walker" --input requester_email=mia.walker@example.com --input department=Procurement --input request_type="Contract review" … --wait

What's included

8 assets, ready to adapt

TypeNameDetails
Email templateLegal request closedSent to the requester when the request is completed, declined or withdrawn.
Email templateLegal request: more information neededSent to the requester when legal asks for more information.
Email templateLegal request receivedSent to the requester when the request is routed.
Data tableLegal requestsEvery legal request with its type, urgency, queue, SLA due date, who has it and its status. The Legal request workflow adds a row per request and keeps it up to date; the Legal requests page lists them for the legal team.
Decision tableLegal request routing11 rules — Which queue a legal request goes to, its SLA in days, and whether the general counsel reviews the outcome. First matching rule wins.
FormLegal requestThe intake form for legal requests: About you → The request → Urgency → Review & send, with a progress bar and in-form Next / Back / Send to legal buttons (Application mode). The questions change with the request type (NDA, contract review, legal question, dispute), documents can be attached, and rules ask for the contract on a contract review, a reason for High or Critical urgency and a needed-by date that is not in the past. Submitting starts the Legal request workflow through its Form submitted trigger.
FormLegal requestsThe legal team’s view of every request: Open requests (base filter on the open statuses, soonest SLA first, editable assignee and status saved back for each changed row) and All requests (the last 12 months), with type, urgency and status badges, dates and relative SLA times, search, filters by type, status, queue and assignee, and sorting on the server. Click a row to open its details tab.
WorkflowLegal request30 steps — A legal request is submitted on the Legal request form; the routing table picks the queue, the SLA and whether the general counsel reviews, the request is added to the Legal requests table, and a lawyer completes it, asks the requester for more information or declines it. The requester is emailed at each step and the table row follows the request.

Legal requests · 8 sample rows

RequestSubmittedRequesterRequester emailDepartmentTypeTitleDetailsCounterpartyContract valueUrgencyNeeded byQueueSLA dueAssigned toStatusDocumentsOutcomeClosed

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. Share Forms → Legal request (/f/<id>) with the business, and Forms → Legal requests with the legal team (the team needs View data, and Manage rows to save changes on the page).
  2. Tasks go to the person who installed the package; change the Handle the request and General counsel review steps to your legal team or a team queue.
  3. Edit the Legal request routing rules: queues, SLA days and when the general counsel reviews.
  4. Email: configure EMAIL_PROVIDER so requesters get the received, more-information and closed emails (the steps continue on error).

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

Verify the download

File SHA-256
ba48d12409e66e2a566cc2785451decc2e52e2520b568cdb3da2ea3fde6bf488
Package checksum (what is signed)
sha256:bfac88191a5da4f6996d75474e5b949ef9bef4b56e914797df017447b3651fee
Signer
UserTasks Gallery · 49:f3:04:90:47:02:4d:07:28:61:3d:dc:bb:aa:db:11

shasum -a 256 legal-request-intake-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.

Versions

Version 1.0.0

  1. v1.0.02026-11-01First 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