---
id: UJ-052
title: Submit support ticket, read knowledge, and exchange files
actors: [customer portal user, support user]
surface: tenant portal
goal: Resolve a customer need through self-service or a traceable support conversation.
trigger: Customer cannot self-serve or needs to send/receive a document.
preconditions:
  - Customer portal access; ticket/file/KB permission enabled by tenant policy.
success_state: Customer receives answer or resolved ticket and can access only linked files/articles.
source_specs:
  - docs/specs/2026-05-30-tenant-portals.md
  - docs/specs/2026-05-30-crm-support-center.md
  - docs/specs/2026-05-31-portal-file-sharing.md
  - docs/specs/2026-05-30-kb-module.md
---

## Happy path

1. Customer opens shared KB → reads articles/spaces linked to that customer.
2. Customer creates ticket with subject, body, category, and optional attachment → Zync creates customer-authored thread and SLA state.
3. Support user receives/triages ticket → assigns, prioritizes, replies, and optionally uploads a staff file.
4. Customer receives notification, replies, or uploads requested file → messages/files append to the same permitted thread.
5. Support resolves ticket → customer sees terminal status and retains permitted conversation/file history.

## Alternate and failure paths

- Forbidden file, oversized attachment, invalid category, closed ticket, or lost session → reject the action with a recoverable message.
- Customer lacks linked KB/file permission → hide the resource and return no cross-customer detail.

## Permissions and boundaries

- Customer can access own tickets only; staff access follows support permissions.
- Files use tenant/customer ownership checks and signed access, not public URLs.

## Source specs

- `docs/specs/2026-05-30-tenant-portals.md`
- `docs/specs/2026-05-30-crm-support-center.md`
- `docs/specs/2026-05-31-portal-file-sharing.md`
- `docs/specs/2026-05-30-kb-module.md`
