---
id: CAP-CRM-ACT-007
title: Find and open activities across the workspace
feature: FEAT-CRM-ACT-01
product_area: crm
module: activities-tasks
revision: 2
status: draft
product_intent: proposed
implementation_evidence: partially-observed
supersedes:
  - react-console acceptance inventory CAP-CRM-ACT-006
  - react-console acceptance inventory CAP-CRM-ACT-007
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources:
  - 'services-crm:docs/milestones/CRM-M8-activities-and-tasks.md#D-49'
  - >-
    Andrew 2026-10-15 (three shipped recipes), recorded at
    services-crm:docs/attention.md#2. Attention definitions
purpose: >-
  Staff locate interactions without starting from a particular contact or
  organization.
outcomes:
  - Workspace activity views
  - Links back to the relevant record
  - Activity summaries available to record queries
concepts:
  - CON-CRM-ACT-001
actors:
  - ACT-CRM-001
  - ACT-CRM-002
surfaces:
  - console
  - api
preconditions: []
postconditions: []
permissions:
  - key: crm.activities.query
    where_checked: api
    scope: tenant
  - key: crm.activity-types.read
    where_checked: api
    scope: tenant
  - key: crm.activities.read
    where_checked: console
    scope: tenant
rules:
  - id: BR-CAP-CRM-ACT-007-01
    proved_by: [ATS-CRM-ACT-007-01, TST-CRM-ACT-065]
    statement: >-
      Workspace activity lists use the activities dataset and query permission
      rather than a general activity-list route.
    kind: permission
    enforced_at:
      - api
    must_prove: true
    provenance: observed
    source: >-
      services-crm:modules/activities/queries/activities.query.ts:activitiesQuery
    origin: none
  - id: BR-CAP-CRM-ACT-007-02
    proved_by: []
    statement: >-
      The shipped All activities recipe sorts newest first and includes type,
      subject, direction, status, outcome and owner.
    kind: policy
    enforced_at:
      - service
    must_prove: false
    provenance: observed
    source: 'services-crm:modules/activities/queries/recipes/activities-all.recipe.json'
    origin: >-
      Andrew 2026-10-15 (three shipped recipes), recorded at
      services-crm:docs/attention.md#2. Attention definitions
  - id: BR-CAP-CRM-ACT-007-03
    proved_by: []
    statement: >-
      The Activities screen provides All Activities, Last Month’s Calls, My
      Activities and Scheduled views, using the workspace calendar for the
      previous month.
    kind: policy
    enforced_at:
      - console
    must_prove: false
    provenance: test
    source: >-
      react-console:components/activities/__tests__/activities-explorer-and-history.test.ts#answers
      exactly last month
    origin: 'services-crm:docs/milestones/CRM-M8-activities-and-tasks.md#D-49'
  - id: BR-CAP-CRM-ACT-007-04
    proved_by: []
    statement: >-
      Filtering by a linked contact or organization returns each matching
      activity once even when it has several links.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: observed
    source: 'services-crm:modules/activities/queries/activities.query.ts:collections'
    origin: none
  - id: BR-CAP-CRM-ACT-007-05
    proved_by: [ATS-CRM-ACT-007-02, ATS-CRM-ACT-007-04, TST-CRM-ACT-066]
    statement: >-
      An activity link selects its primary contact, otherwise its first contact,
      otherwise an organization, and opens that record’s timeline at the
      activity.
    kind: policy
    enforced_at:
      - console
    must_prove: true
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0722.spec.ts#CRM-ACC-0722
    origin: none
  - id: BR-CAP-CRM-ACT-007-06
    proved_by: []
    statement: Activities have no Quick Search or Recently Viewed integration.
    kind: policy
    enforced_at:
      - console
      - service
    must_prove: false
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0722.spec.ts#CRM-ACC-0722
    origin: none
  - id: BR-CAP-CRM-ACT-007-07
    proved_by: [ATS-CRM-ACT-007-03, TST-CRM-ACT-004]
    statement: >-
      Contact and organization query results can compute the latest completed
      activity time and total linked activity count as they are read.
    kind: calculation
    enforced_at:
      - database
    must_prove: true
    provenance: test
    source: >-
      services-crm:modules/activities/tests/integration/db/activity-summaries.view.integration.spec.js#answers
      the newest completed activity and every linked one for a contact
    origin: none
    note: >-
      This source is an implementation decision record, so it does not confirm
      Product authority for the rule.
  - id: BR-CAP-CRM-ACT-007-08
    proved_by: [ATS-CRM-ACT-007-01, TST-CRM-ACT-065]
    statement: >-
      Customer access to activity queries remains dependent on workspace
      policies; the historical acceptance record reports refusals without
      establishing the current policy state.
    kind: permission
    enforced_at:
      - api
    must_prove: true
    provenance: unknown
    source: FND-CRM-ACT-016
    origin: none
scenarios:
  - id: SC-CAP-CRM-ACT-007-01
    given: Staff need the calls from the preceding month.
    when: Choose Last Month’s Calls on Activities.
    then: The list selects calls in the previous workspace calendar month.
    provenance: test
    source: >-
      react-console:components/activities/__tests__/activities-explorer-and-history.test.ts#answers
      exactly last month
edge_cases:
  - id: SC-CAP-CRM-ACT-007-02
    given: An activity links only an organization.
    when: Follow the activity’s direct console link.
    then: The organization timeline opens with that activity selected.
    provenance: test
    source: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0722.spec.ts#CRM-ACC-0722
constraints: []
depends_on:
  - CAP-CRM-ACT-001
related:
  - CAP-CRM-ACT-005
journeys: []
open_questions: []
evidence:
  - >-
    services-crm at a8d1364f1dd44b723bb5f9acba12f983e9ec8d69: Independently
    reviewed declarations, behavior and assertions identified in this
    capability’s row citations.
  - >-
    react-console at baf6dae382d6f41dce976c7f848667ccc37e076f: Independently
    reviewed declarations, behavior and assertions identified in this
    capability’s row citations.
controls: [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-DAT-005, TC-LOG-004, TC-LOG-005, TC-PI-001, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003]
exercised_by: []
suites: [TST-CRM-ACT-004, TST-CRM-ACT-065, TST-CRM-ACT-066]
---

# Find and open activities across the workspace

## Purpose

Staff locate interactions without starting from a particular contact or organization.

## How It Works

A staff member opens Activities and chooses a view. The screen uses the shared query layer with the shipped activity recipe. Personal and scheduled views narrow the workspace list. Last Month’s Calls uses the workspace’s previous calendar month. Linked-record criteria avoid duplicate results for shared activities. Selecting an activity navigates to a related record’s timeline. An activity with no remaining links cannot complete that navigation. Query permissions and Platform policy registration still determine whether the list runs for a customer user. The historical acceptance record does not establish the policies deployed now.

## Relationships

- Activity logging supplies the dataset records.
- Record timelines provide the landing context for a selected activity.
- Platform queries own execution, policy evaluation and saved views.
