Skip to content

How Feedback Notifications Work

When users submit feedback on your support page or via the API, SupportDock delivers it to you through every channel you have configured — simultaneously.

Notification Channels

E

Email

Email to your support address

Config: Toggle in Contact tab

T

Telegram

Setup guide

Instant message via Bot API

Config: Add Chat ID

G

GitHub Issues

Setup guide

Auto-create issue with labels

Config: Add owner/repo + token

S

Slack

POST to webhook URL

Config: Add webhook URL

D

Discord

POST to webhook URL

Config: Add webhook URL

All channels fire in parallel. A failure in one channel does not affect others.

What Gets Sent

FieldSourceNotes
App nameFrom the app profileAlways present
From (name)Sender's nameOmitted if empty
From (email)Sender's emailOmitted if empty
SubjectProvided by senderFalls back to "{type} report"
Categorybug, feature, question, generalShown as a label
MessageFeedback bodyTruncated to 500 chars in Telegram
MetadataKey-value pairs from the SDKOptional, forwarded to all channels

Metadata

The remote API accepts an optional metadata object. This is useful for sending device and app context alongside the feedback. You can send any key-value pairs — they are stored as JSON and forwarded to all notification channels.

Common metadata fields

KeyExampleDescription
appVersion1.4.0App version from the store
platformiosDevice platform (ios, android)
osVersion18.2Operating system version
deviceiPhone 16 ProDevice model
localeen-USUser locale

Example API payload

json
{
  "type": "bug",
  "message": "App crashes on startup after updating",
  "email": "jane@example.com",
  "source": "my-app",
  "metadata": {
    "appVersion": "1.4.0",
    "platform": "ios",
    "osVersion": "18.2",
    "device": "iPhone 16 Pro"
  }
}

How It Looks in Each Channel

Telegram

Metadata appears as key-value pairs under a Details section. Messages longer than 500 characters are truncated.

*New feedback for ZenTreasury*

*From:* Jane (jane@example.com)
*Subject:* App crashes on startup
*Category:* bug

*Details:*
  appVersion: 1.4.0
  platform: ios
  osVersion: 18.2
  device: iPhone 16 Pro

App crashes on startup after updating...

_SupportDock_

GitHub Issues

Metadata is rendered as a markdown table. Issues are labeled automatically:

feedbackbug— or enhancement for feature requests
**From:** Jane (jane@example.com)
**App:** ZenTreasury
**Category:** bug

| Key | Value |
| --- | --- |
| appVersion | 1.4.0 |
| platform | ios |
| osVersion | 18.2 |
| device | iPhone 16 Pro |

---

App crashes on startup after updating...

---
_Created automatically by SupportDock_

Slack & Discord

Webhooks receive a JSON payload with all fields including the full metadata object, app name, sender info, subject, message, and category.

Email

Email notifications include the sender name, email, subject, and message. You can reply directly from your email client.

SDK Integration Example

React Native / Expo example using the useSupportDock hook. Default metadata (app version, platform) is automatically merged with per-feedback data.

typescript
const { sendFeedback } = useSupportDock({
  apiKey: 'your-api-key',
  metadata: {
    appVersion: Constants.expoConfig?.version,
    platform: Platform.OS,
  },
});

await sendFeedback({
  type: 'bug',
  message: 'App crashes on startup',
  email: user.email,
});

Ready to set up feedback notifications?

Get started