---
id: SCR-CRM-ACT-001
title: Activities
route: '/console/{tenantId}/crm/activities'
surface: console
product_area: crm
module: activities-tasks
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
purpose: >-
  Browse interactions across the workspace, select useful views and export their results,
  then open an interaction in its related-record context.
supports:
  - CAP-CRM-ACT-007
  - CAP-CRM-ACT-019
permission: crm.activities.read (screen); crm.activities.query (list and console export alias)
entry_from:
  - A direct or shared address; the inspected CRM navigation has no Activities entry.
  - A saved Record Explorer view.
exits_to:
  - The selected interaction’s link landing.
displays:
  - field: 'Interaction category, heading, direction, status, result, owner and instant.'
    source: 'Platform query engine over the crm.activities dataset, recipe crm.activities.all'
  - field: >-
      Pinned views for all interactions, prior-month calls, personal ownership and
      scheduled work.
    source: >-
      Console view definitions over the same recipe (workspace calendar for last month;
      current user for mine)
  - field: 'Registered interaction-field filters, including related contacts and organizations.'
    source: Platform query engine (each activity once even with several matching links)
actions:
  - label: Open an activity
    operation_id: none (navigates to the activity link landing)
    permission: crm.activities.read
    confirm: false
  - label: Export
    operation_id: Platform query engine export of the current view
    permission: crm.activities.query (console crm.activities.export alias)
    confirm: false
states:
  - empty
  - loading
  - error
  - read-only
validation: []
patterns:
  - 'Record Explorer (recipe-anchored, pinned views, saved views)'
  - 'Standard page layout (PageLayout, full width)'
  - RequirePermission access-denied state
component: components/console/activities/activities-explorer.tsx
evidence:
  - >-
    react-console at baf6dae3: app/(console)/console/[tenantId]/crm/activities/page.tsx;
    components/console/activities/activities-explorer.tsx, activities-definition.tsx;
    lib/activities/queries.ts; lib/authz/backend-aliases.ts (crm.activities.query).
  - >-
    services-crm at a8d1364f: modules/activities/queries/activities.query.ts,
    recipes/activities-all.recipe.json.
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]
---

# Activities

## What the Screen Is For

The workspace list lets staff inspect interactions beyond a single relationship. It uses a shared explorer rather than maintaining a separate activity collection.

## What It Shows and Lets People Do

The explorer supplies pinned and saved views, filtering, sorting and export. Selecting an interaction uses its link landing to open a related-record timeline. Logging remains on record screens, and this list supplies no creation or bulk mutation command.

## States and Errors

Read authority controls entry to the explorer, while query authority controls its data requests. Empty, loading and query-error states come from the shared explorer. The missing navigation entry remains a planning finding.

## Patterns It Must Respect

The component uses the recipe-backed Record Explorer within the standard full-width page layout and permission wrapper. This examination records the implemented patterns without asserting UI approval.
