---
id: JNY-CRM-ACT-002
title: 'Take a task through completion, reopening and cancellation'
feature: FEAT-CRM-ACT-03
product_area: crm
module: activities-tasks
revision: 2
status: draft
product_intent: proposed
implementation_evidence: observed
supersedes:
  - CRM-ACC-0707
  - CRM-ACC-0708
  - CRM-ACC-0693
  - CRM-ACC-0712
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actor: ACT-CRM-006
goal: >-
  Manage one work item to an attributable closing decision without losing newer
  changes.
capabilities:
  - CAP-CRM-ACT-010
  - CAP-CRM-ACT-011
  - CAP-CRM-ACT-014
  - CAP-CRM-ACT-005
screens:
  - '/console/{tenantId}/tasks'
  - '/console/{tenantId}/crm/contacts/{id}'
steps:
  - 'n': 1
    surface: '/console/{tenantId}/tasks'
    action: >-
      Create a task with its supported details, related records and assigned
      colleague.
    capability: CAP-CRM-ACT-010
    expected: The list includes Open work at the chosen priority.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0707.spec.ts#CRM-ACC-0707
  - 'n': 2
    surface: '/console/{tenantId}/tasks'
    action: 'Open the drawer and edit title, description, priority, dates and type.'
    capability: CAP-CRM-ACT-010
    expected: Each edit carries the version read.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0707.spec.ts#CRM-ACC-0707
  - 'n': 3
    surface: completeTask
    action: Use the row’s Complete action.
    capability: CAP-CRM-ACT-011
    expected: Completion records actor and time and the drawer becomes read-only.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0707.spec.ts#CRM-ACC-0707
  - 'n': 4
    surface: reopenTask
    action: 'Reopen, then choose Waiting for someone else and Deferred.'
    capability: CAP-CRM-ACT-011
    expected: >-
      Reopening clears closing attribution and subsequent edits use open
      statuses.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0707.spec.ts#CRM-ACC-0707
  - 'n': 5
    surface: cancelTask
    action: Select Cancel from the task menu.
    capability: CAP-CRM-ACT-011
    expected: Cancellation records its actor and time.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0707.spec.ts#CRM-ACC-0707
  - 'n': 6
    surface: '/console/{tenantId}/crm/contacts/{id}'
    action: Inspect the related contact’s Activity tab.
    capability: CAP-CRM-ACT-005
    expected: Open work belongs in Upcoming and closed work belongs in History.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0707.spec.ts#CRM-ACC-0707
alternates:
  - from_step: 3
    condition: Another editor completed the task after this drawer read it.
    path: The stale Reopen request conflicts.
    outcome: The newer completion remains.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0693.spec.ts#CRM-ACC-0693
failures:
  - from_step: 3
    condition: 'A caller edits, cancels or reassigns completed work without reopening.'
    path: Each incompatible operation is rejected.
    outcome: The completed state remains unchanged.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0708.spec.ts#CRM-ACC-0708
  - from_step: 1
    condition: The title is blank or the due day is invalid.
    path: Creation reports the affected field.
    outcome: No task is created.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0712.spec.ts#CRM-ACC-0712
rules_in_play:
  - BR-CAP-CRM-ACT-010-01
  - BR-CAP-CRM-ACT-010-03
  - BR-CAP-CRM-ACT-011-02
  - BR-CAP-CRM-ACT-011-03
  - BR-CAP-CRM-ACT-011-06
  - BR-CAP-CRM-ACT-011-07
  - BR-CAP-CRM-ACT-011-08
  - BR-CAP-CRM-ACT-005-03
assertions:
  - id: AS-JNY-CRM-ACT-002-01
    statement: >-
      Closing carries actor and time, and reopening removes the earlier closing
      stamps.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0707.spec.ts#CRM-ACC-0707
  - id: AS-JNY-CRM-ACT-002-02
    statement: General changes remain unavailable while work is closed.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0708.spec.ts#CRM-ACC-0708
  - id: AS-JNY-CRM-ACT-002-03
    statement: A stale Reopen request cannot reverse the newer completed state.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0693.spec.ts#CRM-ACC-0693
e2e_policy: required
e2e_reason: >-
  The drawer, row actions and record timeline cross console and API behavior;
  browser coverage verifies that staff experience together.
evidence:
  - >-
    Pinned browser evidence is identified by each journey step, alternate,
    failure and assertion.
  - >-
    Pinned service evidence is identified by each journey step, alternate,
    failure and assertion.
proved_by: []
---

# Take a task through completion, reopening and cancellation

## Story

A coordinator creates work for a colleague and checks its details in the drawer. Completion closes the fields and records the decision. When more work becomes necessary, reopening restores an editable task before its status is changed again. Cancellation then records that the work will no longer proceed. The related record’s timeline supplies the past or upcoming context, while stale actions remain conflicts.
