Skip to content

ADR-0041 — In-App Feedback & ADO Work Item Integration ​

Status: Accepted
Date: 2026-06-24
AB#: 4424, 4425


Context ​

Members, ministers, and admins have no direct path to report bugs or request features inside the app. All feedback currently goes through informal channels (text, email) with no traceability. We need a structured, in-app mechanism that routes submissions into ADO for proper triage and visibility.

Decision ​

Add a smart feedback form to the About page. The form collects:

  1. Submission type — Bug Report, Feature Request, General Feedback, Praise
  2. Feature area — dropdown matching the app's actual product areas (see taxonomy below)
  3. Type-specific fields — each type shows the right fields with inline guidance

On submit, the API calls ADO REST (az boards work-item create equivalent via ADO REST API) and creates a work item under the Community Feedback & Bug Reporting epic (AB#4424). The client receives the ADO work item ID as confirmation.

Feature area taxonomy ​

Dropdown valueTag on ADO item
Sign In / Accountfeedback:auth
My Profilefeedback:profile
Membersfeedback:members
Familyfeedback:family
Admin Portalfeedback:admin
Minister Portalfeedback:minister
Watch & Listenfeedback:media
Calendar / Eventsfeedback:calendar
Groupsfeedback:groups
Messages / Announcementsfeedback:messages
Marketplacefeedback:marketplace
Homeschoolfeedback:homeschool
Otherfeedback:other

Type-specific fields ​

Bug Report:

  • Title (required)
  • What happened (required)
  • Steps to reproduce (required)
  • Expected behavior (optional)
  • Device / browser (optional, pre-filled from UA)

Feature Request:

  • Title (required)
  • What problem does this solve? (required)
  • How would you like it to work? (optional)
  • How often would you use this? (optional — Low/Sometimes/Often/Daily)

General Feedback / Praise:

  • Title (required)
  • Your feedback (required)

ADO work item mapping ​

Form fieldADO field
type=bugWork item type: Bug
type=featureWork item type: User Story
type=feedback/praiseWork item type: User Story
titleSystem.Title
submitter email (from auth)Description footer
area tagTags
priority (low/medium/high from type)Microsoft.VSTS.Common.Priority
parentAB#4424

Security ​

  • Endpoint requires authentication (requireAuth). Unauthenticated users cannot submit.
  • Rate-limited: 5 submissions per user per hour (existing rate-limit middleware).
  • Submission body is validated with Zod before any ADO call is made.
  • The ADO PAT used is the existing AZURE_DEVOPS_EXT_PAT scoped to work item write only.
  • User email is appended to the description (never stored separately).

Alternatives considered ​

  1. GitHub Issues — rejected: GitHub Issues are public intake only; ADO is the source of truth.
  2. Email form — rejected: no traceability, no ADO visibility.
  3. Separate feedback service — rejected: ADO REST API is already authenticated and available.

Consequences ​

  • ADO work item volume will increase as members submit feedback.
  • The Platform team must monitor AB#4424 regularly and triage child items.
  • The About page gains a substantive feature that encourages member engagement.

Heritage Community Hub — Internal. Access restricted via Cloudflare Access + Entra ID.