Skip to content

No frontend UI for webhook subscription management despite a complete backend API #449

Description

@Wilfred007

What

Build a frontend page/section for organizations to create, list, and delete their own webhook subscriptions.

Why

The backend already has a full webhook API surface — webhook.controller.ts, webhook.routes.ts, webhook.service.ts — with auth and tenant-isolation middleware recently added. grep -rli webhook frontend/src turns up only an unrelated string match in PayrollScheduler.tsx. There is currently no way for an org admin to actually use this feature from the product itself.

Scope

In scope:

  • New page (e.g. under Settings/Org Settings) listing an org's existing webhook subscriptions
  • Form to create a new subscription (target URL, event types)
  • Delete/revoke action for an existing subscription
  • Loading, empty, and error states
  • Wire to the existing backend webhook endpoints

Out of scope:

  • Any backend changes to the webhook API itself
  • Webhook delivery-log/debugging UI (view past deliveries) — can be a follow-up

Acceptance Criteria

  • Org admin can create a webhook subscription from the UI and see it persisted (confirm via API/db)
  • Org admin can view their org's existing subscriptions
  • Org admin can delete a subscription
  • Loading/empty/error states are handled, matching the project's existing UI patterns
  • i18n strings used (no hardcoded English), consistent with Complete i18n coverage: replace hardcoded UI strings with translation keys #416

Technical Context

  • Backend: backend/src/controllers/webhook.controller.ts, backend/src/routes/webhook.routes.ts, backend/src/services/webhook.service.ts
  • Frontend: add under frontend/src/pages/ following existing patterns (e.g. Settings.tsx)
  • Related: webhook storage itself is being made persistent in a companion backend issue — coordinate error handling accordingly if that lands first

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignfrontendFrontend developmenthardComplex tasks

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions