Skip to content

CAP-CRM-ACT-002Create a follow-up while recording an interaction

Markdown

CAP-CRM-ACT-002

Create a follow-up while recording an interaction

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationInconsistent

KindCapabilityProduct areaCRMModuleActivities, Follow-ups and Task WorkRevision2

Read atservices-crm a8d1364freact-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Immediate follow-up work linked to the relevant recordsOne transaction for the interaction and follow-up
Surfaces
consoleapi
Preconditions
The selected follow-up task type exists, including the default Follow-up when used.
Postconditions
A successful save commits both the activity and its follow-up.

Controls

18 controls apply, from the corpus control catalogue.

TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-006 TC-DAT-001 TC-DAT-002 TC-DAT-003 TC-LOG-004 TC-LOG-005 TC-PI-001 TC-PI-002 TC-PI-003 TC-PRV-001 TC-PRV-002 TC-TEN-001 TC-TEN-002 TC-TEN-003

Permissions

KeyChecked atScope
crm.activities.createapitenant
crm.tasks.createapitenant
crm.tasks.createconsoletenant

Business Rules

10 rules, 9 to be proved before approval. A rule's product intent is derived from its origin: 1 confirmed by a product decision, the rest inheriting this capability's proposed.

IdRuleKindEnforced atProvenance
01must prove
Proposed
Creating a follow-up while logging an activity requires both activity creation and task creation permission.
permissionapi, consoletest
services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#refuses a follow-up task to a caller without crm.tasks.create: 403
02
Proposed
A follow-up can accompany the initial activity save but cannot be requested through a later activity edit.
policyapi, consoleobserved
03must prove
Proposed
The API requires a nonblank follow-up title and limits it to 500 characters.
validationapiobserved
04must prove
Proposed
The follow-up refers to the primary contact and primary organization where available, otherwise the first link of each kind.
calculationservicetest
services-crm:modules/activities/tests/integration/services/persistence/activities.integration.spec.js#creates the follow-up task it is asked for, about the primary contact and the organization, due the type’s follow-up days after the activity
05must prove
Proposed
Without an explicit due day, Rhythm adds the activity type’s suggested days to the activity’s workspace date, or leaves the task undated for due purposes when no suggestion exists.
calculationservicetest
services-crm:modules/activities/tests/integration/services/persistence/activities.integration.spec.js#creates the follow-up task it is asked for, about the primary contact and the organization, due the type’s follow-up days after the activity
06must prove
Proposed
The console calculates an explicit due day from the browser’s current local date and the selected interval, which can differ from Rhythm’s default calculation.
calculationconsoleobserved
07must prove
Proposed
The created task uses today as its task date, defaults to the Follow-up type, and includes the activity subject in its description when present.
no proof recorded yet
calculationserviceobserved
08must prove
Proposed
The console offers the follow-up control only when the activity type suggests a follow-up and the user can create tasks.
permissionconsoleobserved
09must prove
Proposed
Rejecting a follow-up rolls back the activity and task together.
invariantservicetest
10must prove
Confirmed
Replaying the activity create returns the original activity without creating another follow-up task.
invariantservicetest

Scenarios

IdGivenWhenThenProvenance
01Meeting suggests a seven-day follow-up.Log the meeting and select follow-up creation.My Open Tasks includes the follow-up for the primary contact with the supplied due day.test

Edge Cases

IdGivenWhenThenProvenance
02The browser date differs from the workspace date during a late-evening meeting.Request a follow-up seven days later.The console’s supplied day can differ by one day from the service’s omitted-date calculation.test
03A meeting links an organization as primary and includes a contact.Request a follow-up during creation.The task references that organization and the first linked contact.test

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.