Feedback
Onelo Feedback is a hosted bug-report & feature-request widget. Your user taps a button, Onelo opens a branded form (bug, feature request, or general), and the report lands in your dashboard — you build none of the form. Style it under Branding.
How it flows
Your app opens the widget
onelo.feedback.open() — and Onelo presents the hosted form in an overlay (web), window (desktop), sheet (iOS / Flutter / React Native) or full-screen view (Android). Nothing to design or host.The user submits
It lands in your dashboard
feedback.submitted webhook fires.Two ways to collect: anonymous or identified
The same call works with or without identity — the SDK picks it from the Onelo Auth session:
Anonymous
Public-facing apps
No one signed in, no identity attached — a marketing site, a logged-out screen. Onelo can't tie the report to a person.
onelo.feedback.open({ type: 'bug' })Identified
Inside your app
When the user is signed in with Onelo Auth, the SDK sends their session with the report — nothing to pass. The report is attached to them as a verified reporter, so you know exactly who hit the bug and can follow up.
onelo.feedback.open({ type: 'bug' })userId (also sent as a header): Onelo stores it as a label, not a verified login, and the dashboard says so.In the dashboard
Open the workspace Feedback page (sidebar, under Listen). Every report shows its type, title and description, the active feature flags at submit time, and — for a signed-in user or a userId you passed — who reported it. New reports stream in live, and Onelo AI suggests which feature each one is about (you confirm with one click, or pick manually) so you can triage by feature.
bug_reports_widget) is enabled on all plans by default. If it's ever disabled for a plan, the widget still opens but shows a lock card instead of accepting the report. Owners control which plans include it under Onelo Admin → Plan features.SDK integration
The widget is one method — open() — on every platform, plus a one-time sheet/modal mount on SwiftUI (.feedbackSheet) and React Native (<FeedbackModal />), shown in the snippets below. Fill in your publishable key and apiUrl from your app's SDK page.
Install
npm install github:onelo-tools/onelo-electron#semver:*Initialize
import { Onelo } from '@onelo/electron'
const onelo = new Onelo({
publishableKey: 'onelo_pk_live_YOUR_KEY',
apiUrl: 'https://api.onelo.tools',
bundleId: 'com.company.app', // your app id — REQUIRED for codesign attestation (a signed build 403s without it)
})Usage
// Anonymous — best for public-facing apps; the report isn't tied to a person
onelo.feedback.open()
onelo.feedback.open({ type: 'bug' })
// Signed in — a user signed in with Onelo Auth is attached as a VERIFIED reporter
// automatically; nothing to pass. (Without Onelo Auth, a userId option adds an unverified label.)
onelo.feedback.open({ type: 'bug', area: 'checkout' })