Feedback Channels
FlowOS collects customer feedback from multiple sources and converts each submission into a ticket automatically. Configure channels at Settings → Feedback Channels.
Portal
Every workspace gets a public customer portal at /p/<your-slug>. No setup required — it is live from day one. Customers can give feedback, submit requests, and track their cases. Go to Settings → Workspace → Workspace Slug to customise the URL.
Website Widget
Embed a floating feedback button on any external website with a single script tag.
- Go to Settings → Feedback Channels → Widget
- Customise the button label, colour, and position
- Copy the embed code and paste it before
</body>on your website
Widget submissions arrive via POST /api/portal/submit and become tickets automatically. Rating ≤ 2 stars escalates the ticket to High priority.
Any WhatsApp message sent to your business number becomes a ticket automatically.
- Create a Meta App with WhatsApp Business API and obtain your Phone Number ID and a Permanent Access Token
- Go to Settings → Feedback Channels → WhatsApp
- Enter your credentials and a Webhook Verify Token of your choice
- In Meta, set the webhook URL to
https://api.flowos.io/api/webhooks/whatsappand enter the same Verify Token - Subscribe to the messages webhook field
Messages with negative sentiment are automatically created as High priority tickets.
Supported Providers
WhatsApp channel config supports two providers, chosen via the provider field under Settings → Feedback Channels → WhatsApp. Each provider has its own set of required credential fields, saved under the tenant's settings.whatsapp config:
| Provider | Required fields |
|---|---|
Twilio (provider: "twilio") | twilioAccountSid, twilioAuthToken, twilioPhoneNumber |
Meta Cloud API (provider: "meta") | phoneNumberId, accessToken, webhookVerifyToken |
Optional fields shared by both providers: ownerAlertPhone / ownerPhoneNumber (where to send new-incident owner alerts), notifyOwnerOnNewIncident, autoDetectService, autoConvertIncident, autoReplyEnabled, autoReplyMessage (supports {{incident_number}}, {{service}}, and {{customer_name}} placeholders), defaultPriority, and defaultFeedbackType.
AC. A common misconfiguration is pasting an API Key SID instead — those start with SK and live under a different page in the Twilio Console. Saving a twilioAccountSid that starts with SK is rejected by PATCH /api/feedback/channel-config/whatsapp with:Invalid Twilio Account SID (SK...): API Keys (starting with 'SK') cannot be used as Account SID. Please enter your Account SID (starting with 'AC') from your Twilio Console home page.Any other value that doesn't start with
AC is also rejected, with a simpler Twilio Account SID must start with 'AC' message. Find the correct value under Account Info on the Twilio Console home page — not the API Keys page.Google Reviews
FlowOS polls your Google Business listing and imports reviews automatically. Negative reviews (below your chosen threshold) create incidents.
- Enable the Places API in Google Cloud Console
- Create an API key with Places API access
- Find your Google Place ID using the Place ID Finder tool
- Go to Settings → Feedback Channels → Google Reviews
- Enter your Place ID and API key, set the threshold and poll frequency
Reviews at or below the threshold (default: 3 stars) automatically create a High priority incident. FlowOS polls on your configured interval and never creates duplicate records.
QR Code
Generate QR codes for physical locations (reception desk, product packaging, etc.). Each QR code links to a pre-filled feedback form. Go to Settings → Feedback Channels → QR Codes to generate and manage codes.
Automation Behaviour
| Channel | Priority when negative | Routing rules applied |
|---|---|---|
| Portal | High / Critical (very negative) | Yes |
| Widget | High (≤ 2 stars) | Yes |
| High (very negative sentiment) | Yes | |
| Google Reviews | High (below threshold) | No |
| QR Code | Critical (very negative) | Yes |
Unresponded Feedback Escalation
FlowOS runs an escalation job every morning at 08:30 UTC. Any feedback ticket that is still open with no agent response after 2 days is automatically escalated toHigh priority.