Portal Community

What Is a HIL Task?

A Human-in-the-Loop (HIL) task is created when a workflow running in Flow Studio reaches a node that requires human input before it can continue. The workflow pauses, and a task record is written to the WorkDesk database targeting the actor (you) or a role group you belong to.

When the task appears in your inbox, acting on it sends a response back to the workflow engine, which then resumes execution automatically.

Three Task Types

Approval

Binary decision: Approve or Reject. Optional comment field. Used for purchase requests, leave approvals, access grants.

Form

An Atlas Form rendered inline. You fill fields and submit. Used for data collection, onboarding steps, structured input at a workflow stage.

Review

Read-only content review. You review displayed content (document, report, data) and Acknowledge. Optional comment.

Task Card (Visual Anatomy)

Each task in the inbox is rendered as a card. Here is a representative approval task card:

Expense Report Approval — Q1 Marketing
Approval   Requested by: Sarah Chen  |  Workflow: Expense Approval Flow  |  Due: 2026-05-28
Pending

Marketing department expense report for Q1 totaling $12,450. Please review the attached summary and approve or reject with a comment.

Task Properties

PropertyTypeDescription
taskIdstring (GUID)Unique identifier for the HIL task record
executionIdstring (GUID)The workflow execution this task belongs to
typeapproval | form | reviewDetermines which UI is rendered for this task
titlestringHuman-readable task title from workflow config
descriptionstringContext or instructions for the actor
dueAtISO 8601 datetimeOptional deadline — shown as urgency indicator
assignedToactorId or roleIdWho the task is assigned to
claimedByactorId or nullWhich actor has claimed the task (if claiming enabled)
formIdstring or nullAtlas Form ID — only for type form
statuspending | claimed | completed | expiredTask lifecycle state
createdAtISO 8601 datetimeWhen the HIL node suspended the workflow

Inbox API

// Fetch pending inbox tasks for the authenticated user
GET /api/workdesk/inbox
Authorization: Bearer {token}

// Query parameters
?type=approval          // filter by task type
?status=pending         // pending | claimed | completed
?page=1&pageSize=20     // pagination

// Response
{
  "items": [
    {
      "taskId": "3fa85f64-...",
      "executionId": "7bc12d45-...",
      "type": "approval",
      "title": "Expense Report Approval — Q1 Marketing",
      "description": "...",
      "dueAt": "2026-05-28T17:00:00Z",
      "status": "pending",
      "assignedTo": { "type": "actor", "id": "usr-001" },
      "claimedBy": null,
      "workflowName": "Expense Approval Flow",
      "requester": { "name": "Sarah Chen", "email": "sarah@acme.com" }
    }
  ],
  "totalCount": 7,
  "page": 1,
  "pageSize": 20
}

Submitting a Response

When an actor acts on a task (approve, reject, submit form, acknowledge), the response is POSTed to the execution resume endpoint:

POST /api/executions/{executionId}/resume
Authorization: Bearer {token}
Content-Type: application/json

{
  "taskId": "3fa85f64-...",
  "response": {
    "decision": "approved",           // for type: approval
    "comment": "Looks good, approved.",
    "formData": null                  // for type: form — Atlas Form field values
  }
}
Workflow Resumes Automatically

After a successful POST to /resume, the Process Engine picks up the response and the workflow continues from the HIL node with the actor's decision as node output data.