Skip to content

Feedback routing

When a user submits feedback to POST /v1/feedback, Nordva Launch does three things in one call:

  1. Classifies the text into bug, feature_request, praise, billing, support, or uncategorised.
  2. Persists it under your project.
  3. Routes it to one or more destinations you’ve configured.

This page covers (3).

Each destination is a row in your project’s feedback_routing config. Create one with:

Terminal window
curl -X POST https://api.nordva.dev/v1/feedback/routing \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"destination": "slack",
"config": {
"webhook_url": "https://hooks.slack.com/services/T.../B.../..."
},
"filter": {
"categories": ["bug"]
}
}'
DestinationFreeIndieBuilder
email
slack
linear
discord
webhook

The optional filter.categories array routes only matching classifications. Omit it to route everything.

Destination credentials (webhook URLs, OAuth tokens, etc.) are encrypted at rest using AES-GCM with a per-account key. They are never returned in GET /v1/feedback/routing — only a redacted summary is.

If a destination call fails, the feedback row is still persisted and the API still returns 201 to your caller. Failed deliveries appear under routing_results[<dest>] in the response, and again in your daily activity log so you can retry or escalate.