Support Messages
Overview
Three channels feed into a single support message inbox:
- In-app feedback — authenticated users can submit bug reports, feature requests, or general feedback from the Send Feedback button at the bottom of the sidebar. Visible to all roles.
- Marketing site contact form — prospects or visitors can reach out through the public
/contactpage. These submissions are not linked to an account. - Language requests — a member whose language isn’t offered can ask for it from Profile → Preferences, just under the language picker. See Language requests below.
All submissions are reviewed in the superuser admin area under Support Messages.
Permissions
| Action | All members | Superuser |
|---|---|---|
| Submit in-app feedback | ✓ | ✓ |
| Request a language | ✓ | ✓ |
| View submissions in admin | ✗ | ✓ |
| Update submission status | ✗ | ✓ |
The marketing site contact form requires no login.
Message types
| Type | Source | Description |
|---|---|---|
| Contact | Marketing site /contact page | General inquiry from a prospect or visitor |
| Bug | In-app feedback modal | A reported bug or broken behavior |
| Feature Request | In-app feedback modal | A request for new functionality |
| General | In-app feedback modal | Anything else |
| Language Request | Profile → Preferences | A request for a language the app doesn’t offer yet |
Statuses
| Status | Meaning |
|---|---|
| Open | New, unreviewed submission |
| In Progress | Someone is actively looking into it |
| Closed | Resolved or no further action needed |
Language requests
Ziptask’s interface is available in English and Spanish. A member who doesn’t see their language picks Profile → Preferences → “Not seeing your language? Request it.”, chooses from a list of ~29 languages (or types their own under Other), and can add an optional note about how their team would use it.
The request arrives in this inbox as a Language Request, and superusers are emailed the same way as any other feedback.
What to tell a user who asks: we count requests and use them to decide which language to add next — submitting one doesn’t put it on a schedule. It’s worth telling us even if they’re managing in English, because the count is how the decision gets made.
Reading the demand. The subject line is generated from the picker, so the same language always produces the same text and requests group without any cleanup:
SELECT subject, count(*) AS requests
FROM support_message
WHERE type = 'LANGUAGE_REQUEST'
GROUP BY subject
ORDER BY requests DESC;
Two caveats when reading those counts:
- They’re a floor, not a true measure. Anyone filing a request already signed up and reached a settings page despite the English interface. People blocked hardest never get that far.
- Requests under Other all share one subject and need reading individually — the language is in the message body.
Status is changed from the message’s detail page using the Status dropdown.
How it works
In-app feedback
- Click Send Feedback at the bottom of the left sidebar (any page).
- Choose a type (Bug, Feature Request, or General).
- Optionally add a subject and fill in the message.
- Submit. The submission is linked to the user’s account.
Marketing site contact form
The /contact page on the marketing site is publicly accessible. Fields: Name, Email, Subject (optional), Message. Rate-limited to 5 submissions per IP per 15 minutes to prevent spam. A hidden anti-spam check silently discards automated form fills without showing an error.
Admin area (superuser only)
The Support Messages page in the superuser admin area lists all submissions newest-first. Filters let you narrow by type and status.
Each row shows:
- Type icon — color-coded by type (red = bug, amber = feature request, blue = contact, green = general)
- Sender — name (if provided) or email, plus account name for in-app submissions
- Preview — subject line if present, otherwise the first ~80 characters of the message
- Date — submission date
- Status chip — the current status
Click a row to open its detail page, which shows the full message plus sender email, type, account, and timestamp. From there you can change the status and add notes.
Notes
Every support message has a Notes timeline on its detail page — a private, superuser-only record of what was done (“Replied to the customer”, “Escalated to engineering”, etc.). Add a note with the composer at the bottom; each note records who wrote it and when. Notes are internal only — they are never shown to the person who submitted the message.
Support notes
- Spam submissions: The contact form has two anti-spam layers — rate limiting (5 per 15 min per IP) and a hidden anti-spam check. If spam volume becomes a persistent problem, the rate-limit thresholds can be adjusted by the Ziptask team.
- Account info on submissions: In-app submissions show the account name. Marketing site submissions have no linked account and show a dash in the account column.
- Contact form acknowledgement: When a visitor submits the marketing site contact form, they automatically receive a confirmation email echoing their message back to them. Superusers continue to receive the internal support notification as usual. In-app feedback submissions (bug, feature, general) do not send an acknowledgement — only the internal notification goes out.