Section 1
Overview
Complaint Desk is a workspace extension for customer support teams. Log issues with priority and status, assign ownership, bulk import from spreadsheets, and export reports — all scoped to your platform workspace. You can store complaints in the cloud database or in your browser using local DB mode.
Main areas
- Complaints — list, filter, create, and edit records
- Notifications — in-app and optional desktop alerts when assigned
- Local DB — optional browser storage with offline or cross-browser sync
- Import — bulk load complaints from Excel or CSV (cloud or local mode)
- Export — download filtered complaint data as CSV (cloud or local mode)
- Roles & members — permissions and team access (admins only)
Section 2
Getting started
-
Open Complaint Desk
Visit your Complaint Desk URL. The welcome page shows an overview of features.
-
Sign in
Click Sign in and authenticate with your platform account.
-
Check your role
New members receive the Guest role (view only). Workspace owners get full access. Admins can assign roles under Roles & members.
-
Start logging complaints
Open Complaints from the navigation bar. Use New complaint or Import for bulk entry. Optionally switch to local DB from the profile menu if you want data stored in the browser.
Section 3
Local database mode
Local DB mode keeps complaint data in your browser using IndexedDB instead of the application server. Authentication, workspace settings, roles, and quotas still use the platform — only complaint records and their activity log entries are stored locally.
Storage modes
- Cloud — complaints saved in the server database (default)
- Local DB — complaints saved in this browser's IndexedDB
Switching storage mode
- Open the profile menu (top right)
- Click Use local database or Use cloud database to toggle
- Your choice is remembered per workspace on this browser
- The profile badge shows Cloud, Local · Sync, or Local · Offline
Sync options (local DB only)
- Sync remote — share changes with other browsers in the workspace via a temporary server relay and optional direct WebRTC links
- Offline — data stays on this device only; no cross-browser sync and no sync API traffic (saves API quota)
-
Open local DB settings
Profile menu → Local DB & sync status (or Local DB (offline) when offline mode is active).
-
Choose sync mode
Select Offline or Sync remote. Offline avoids relay polling and presence heartbeats.
-
Monitor sync (remote only)
View connected browsers, relay status, sync activity log, and run a test ping.
Privacy & API usage
Complaint content is not stored permanently on the server in local DB mode. The relay holds short-lived sync messages (~5 minutes). Sync remote counts mutating sync requests (events, presence, signaling) toward workspace API quota; polling GET requests do not. Offline mode uses no sync API requests.
What still works in local DB
- Create, edit, delete, import, and export complaints
- Workspace member assignee dropdown
- In-app notifications and optional desktop alerts
- Activity log (stored locally; syncs with other browsers in sync remote mode)
- Same-browser tabs refresh automatically via IndexedDB
Section 4
Complaints dashboard
The Complaints page is your home screen after sign-in. Requires complaints.view permission.
Status summary
- Summary cards for Open, In progress, Resolved, and Closed
- Filter pills to show one status or all complaints
- Search by title, customer name, email, or assignee
List views
- Table layout on desktop; card layout on mobile
- Pagination for large complaint volumes
- Toolbar: Import, Export, and New complaint (permission-gated)
Section 5
Create & edit complaints
Complaint fields
- Title and description (required)
- Customer name and email
- Priority: low, medium, high, urgent
- Status: open, in progress, resolved, closed
- Assignee — select a workspace member from the dropdown (members appear after they sign in at least once)
Create requires complaints.create. Edit and delete require complaints.edit and complaints.delete respectively. Click a complaint title to open the edit form when permitted. Changing the assignee notifies the selected member in-app (and via desktop alerts if enabled).
Section 6
Notifications
The bell icon in the header shows notifications when you are assigned a complaint or when a complaint assigned to you is updated. Notifications work in both cloud and local DB mode.
In-app alerts
- Unread count badge on the notification bell
- Toast popup when a new notification arrives while the app is open
- Mark one or all notifications as read from the dropdown
- Click a notification to open the related complaint
Desktop notifications (optional)
- Open the bell dropdown → Enable desktop notifications
- Uses the browser Notification API and a service worker when supported
- Best on desktop; mobile and iOS support is limited
Central platform badge
In cloud mode, unread counts may appear as a badge on the Complaint Desk app icon in your workspace on the central platform.
In local DB mode, notifications are stored in IndexedDB and sync to other browsers when Sync remote is enabled.
Section 7
Bulk import
Import many complaints at once from spreadsheet data. Requires complaints.create. Works in both cloud and local DB mode — in local mode parsing and saving happen entirely in the browser.
-
Paste
Paste from Excel, Google Sheets, or upload CSV. Choose delimiter if needed.
-
Map columns
Match columns to title, description, customer fields, priority, status, and assignee.
-
Preview
Review rows and fix errors inline before importing.
-
Import
Confirm to create all valid records. Maximum 500 rows per import.
Template
Download the import template from the Import page to see required column formats.
Section 8
Export complaints
Export filtered complaints to CSV for reporting or backup. Requires complaints.view. Works in both cloud and local DB mode — in local mode the CSV is generated from IndexedDB in the browser.
- Filter by status and search text
- Live preview of how many rows will export
- CSV includes id, title, description, customer fields, priority, status, assignee, and timestamps
- Maximum 5,000 rows per export
Section 9
Roles & members
Manage who can view, create, edit, or delete complaints. Visible with roles.manage or members.manage.
- System roles: Owner (all permissions), Guest (view only)
- Create custom roles with a permission checklist
- Assign roles to members when they sign in
- New users default to Guest until an admin updates their role
Section 10
Profile & activity
Profile menu
- Workspace name and your role
- Notification bell — unread count, mark read, desktop alerts toggle
- Cloud / Local · Sync / Local · Offline badge when local DB is enabled
- Use local database / Use cloud database — toggle storage mode
- Local DB & sync status — sync settings, connections, and activity log
- Usage — API requests and storage; Refresh usage to sync quotas
- Workspace activity — all actions (requires activity.view)
- My activity — your own actions only
- Help & wiki — opens this documentation
- Workspaces — switch workspace; Workspace home — central platform
- Logout
Activity log tracks complaint, role, and member changes with user, action, and timestamp filters. In local DB mode, complaint activity is stored in the browser and syncs to other browsers when sync remote is enabled.
Section 11
Languages & themes
Languages
- English and Hindi UI
- Language follows workspace settings
Themes
- Workspace brand colors from central settings
- Light, dark, or system appearance
Section 12
Permissions reference
Scroll horizontally to see all columns →
| Permission | Description |
|---|---|
complaints.view
|
View complaints list and export |
complaints.create
|
Create complaints and import |
complaints.edit
|
Edit existing complaints |
complaints.delete
|
Delete complaints |
activity.view
|
Workspace-wide activity log |
roles.manage
|
Create and edit roles |
members.manage
|
Assign roles to members |
Suggested roles
Owner — all permissions. Agent — view, create, edit. Viewer — view only. Support lead — add delete and activity.view.
Section 13
Troubleshooting
I see access denied on Complaints
Your role needs complaints.view. Ask an admin to update your role under Roles & members.
Import or Export buttons are missing
Import needs complaints.create. Export needs complaints.view. Check your assigned permissions.
Import failed or skipped rows
Title is required. Check column mapping, delimiter, and the 500-row limit.
Roles & members nav is missing
You need roles.manage or members.manage permission.
Other browsers do not see my local DB changes
Confirm you are in local DB mode with Sync remote enabled (not Offline). Open Local DB & sync status and check relay connection. Other browsers must use the same workspace and also be in local DB sync remote mode.
How do I save API requests in local mode?
Switch to Offline under Local DB settings. Complaints stay in IndexedDB but no sync relay or presence requests are sent.
Will switching to cloud mode migrate my local data?
Modes are separate stores. Export from local mode and import into cloud mode if you need to move data, or recreate records manually.
I am not receiving notifications
Notifications are sent when you are set as assignee on create or update. Check the bell icon for in-app alerts. For desktop pop-ups, enable them from the bell dropdown. In local DB mode, ensure Sync remote is on if you expect notifications synced from another browser.
Assignee dropdown is empty
Only workspace members who have signed in to Complaint Desk at least once appear in the list. Ask the member to sign in once, or have an admin confirm their role under Roles & members.