---
id: ADR-CRM-ACT-006
title: A follow-up task commits with its activity
product_area: crm
module: activities-tasks
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Insert a requested activity follow-up through Task within the activity creation
  transaction; the request belongs to creation and is not an edit-time action.
constrains:
  - DOM-CRM-ACT-001
  - DOM-CRM-ACT-003
  - SVC-CRM-ACT-activities
  - SVC-CRM-ACT-tasks
  - WF-CRM-ACT-001
  - SCR-CRM-ACT-004
origin: >-
  none: an observed design of the activities module (services-crm
  docs/migrations/activities/README.md §4); D-43 confirms that a replay creates no second
  follow-up.
alternatives:
  - option: Save the interaction before making a separate task request.
    why_not: >-
      A failure between requests could leave the promised work absent, and recovery would
      need coordination across both creations.
  - option: Create work from an asynchronous interaction reaction.
    why_not: >-
      The save response could precede work creation and would require another visible
      failure and recovery contract.
consequences:
  - A rejected follow-up prevents the interaction transaction from committing.
  - >-
    Creating follow-up work requires task-creation authority in addition to
    interaction-creation authority.
  - >-
    Interaction logging depends on task validation and enabled attention within its
    transaction.
  - After creation the interaction retains no pointer to the independent task.
supersedes: []
evidence:
  - >-
    services-crm at a8d1364f: modules/activities/services/persistence/activities.ts
    (saveNewActivity, createFollowUpTask); aws/api/activities.routes.ts (createActivity);
    modules/tasks/services/persistence/tasks.ts (createTask).
---

# A follow-up task commits with its activity

## Context

An interaction can end with a commitment to further work. The logging sheet offers that work as part of the entry request.

## Decision

The local create path delegates follow-up insertion inside its transaction. Related context and due-day defaults come from the submitted entry and category settings. The cited replay decision prevents another follow-up from a matching live-row creation replay.

## Alternatives Considered

The structured alternatives describe concrete competing designs and their tradeoffs. Where the origin records an existing ruling, it remains the authority; an observed implementation does not establish Product’s rejection of every alternative.

## Consequences

Record atomicity includes the follow-up, but prepared files remain outside it. Product still needs to settle the calendar anchor of a suggested due day.
