Overview

Prev Next

Feedback Manager Integration

Feedback Manager is the external integration pipeline for collecting user feedback and persisting it through provider implementations.

The current production provider is Google Sheets. This is an implementation choice, not a platform limit. New providers can be added by implementing the shared FeedbackProvider interface and wiring provider selection in the factory.

Scope

Feedback Manager owns:

  • Feedback submission flow from client payload to provider write call
  • Server-side enrichment of feedback with trusted context fields
  • Provider selection via FEEDBACK_PROVIDER
  • Provider-specific persistence and response mapping

Feedback Manager does not own:

  • Form UX and local validation details beyond the integration boundary
  • Product analytics eventing
  • Reporting and analysis dashboards over stored feedback

End-To-End Flow

Image

Runtime path:

  1. ShareFeedbackModule submits FeedbackClientContext through FeedbackService.submit.
  2. The API route validates auth and site cookies, then enriches payload into FeedbackContext.
  3. getFeedbackProvider resolves provider implementation from FEEDBACK_PROVIDER.
  4. Provider write persists data and returns FeedbackResponse.
  5. API route returns provider result to client.

Provider Model

Provider behavior is interface-driven:

  • Common contract: FeedbackProvider.write(data)
  • Selection point: src/lib/external/FeedbackManager/provider/factory.ts
  • Current provider: google-sheets

Provider configuration is isolated per implementation:

  • Shared selector: FEEDBACK_PROVIDER
  • Provider-owned env vars: defined and validated inside each provider implementation
  • Provider docs layout: one file per provider under providers/

Sources

  • src/lib/external/FeedbackManager/core/types.ts
  • src/lib/external/FeedbackManager/provider/factory.ts
  • src/lib/external/FeedbackManager/provider/google-sheets/provider.ts
  • src/app/api/platform/feedback/route.ts
  • src/services/FeedbackService.ts

In This Section

Doc Covers
Architecture Runtime layering, responsibility split, provider lifecycle, retry semantics
Contracts Type boundaries, enums, provider interface, extension checklist
Google Sheets Provider Provider-specific env vars, GCP setup, mapping, failure handling
Operations Diagnostics, failure modes, incident runbook