Pendo Feedback → Mushi
Hours Low riskPendo bundles product analytics, in-app guides, NPS surveys,
and a feedback module in one suite. This guide swaps the feedback
module to Mushi while you keep Pendo for everything else (analytics,
guides, NPS) — the two tools share user identity via a single
identify call.
You almost certainly want to keep Pendo. Pendo’s analytics + in-app guides are best-in-class. Mushi just replaces the feedback inbox piece — where Pendo is weakest.
Why switch (the feedback piece)
- AI triage built-in. Pendo Feedback requires manual review or third-party tooling for triage. Mushi’s two-stage classifier handles it.
- Reproduction context. Mushi captures console + network + screenshot + DOM snapshot per report. Pendo Feedback is form-based — the user types what’s wrong, you guess at the rest.
- Self-host + open source. Pendo is enterprise SaaS; Mushi is MIT-licensed.
- Engineering-friendly inbox. Mushi’s admin console is built for devs triaging issues; Pendo’s is built for product managers ranking ideas.
API mapping
| Pendo | Mushi |
|---|---|
pendo.initialize({ visitor: { id, email } }) | Mushi.init({ projectId, apiKey }) + Mushi.setUser({ id, email }) |
pendo.identify(visitor, account) | Mushi.setUser({ id, ...visitor }) + metadata for account |
pendo.track('event', props) | Mushi.setMetadata({ lastEvent: 'event', ...props }) |
pendo.feedback.show() | Mushi.openWidget() |
| Pendo Feedback ideas board | Mushi Reports inbox (filter by category=feature_request) |
Recipe: keep Pendo for analytics + guides; use Mushi for feedback
import { Mushi } from '@mushi-mushi/web'
// 1. Initialise both
window.pendo.initialize({
visitor: { id: 'user-42', email: 'jane@example.com' },
account: { id: 'acme-corp' },
})
Mushi.init({
projectId: 'YOUR_PROJECT_ID',
apiKey: 'YOUR_PUBLIC_KEY',
widget: { trigger: 'button' },
})
// 2. Mirror identity
Mushi.setUser({ id: 'user-42', email: 'jane@example.com' })
Mushi.setMetadata({ accountId: 'acme-corp' })
// 3. Hide Pendo's feedback button (you can keep its other UI)
window.pendo.disableGuides?.({ category: 'feedback' })Now Pendo handles analytics + product guides; Mushi handles feedback intake + triage.
Migration checklist
Migration checklist
9 required steps
- Step 01Create a Mushi project
- Step 02Install Mushi alongside Pendo
- Step 03Initialise Mushi in your app entry
- Step 04Mirror pendo.identify into Mushi.setUser
- Step 05Mirror critical pendo.track calls into Mushi metadata
- Step 06Hide the Pendo Feedback widget
- Step 07Export historical Pendo Feedback ideas (optional)
- Step 08Update internal runbooks
- Step 09Submit a test report and verify pipeline
Feature parity
| Capability | Pendo Feedback | Mushi |
|---|---|---|
| User-triggered report widget | ✅ | ✅ |
| Console + network capture | ❌ (form only) | ✅ |
| Screenshot capture | ❌ | ✅ (web) |
| AI triage | ❌ | ✅ |
| Idea voting / merging | ✅ | ❌ — flat report inbox |
| Customer-facing roadmap | ✅ | ❌ |
| Product analytics | ✅ (Pendo core) | ❌ |
| In-app guides / tooltips | ✅ (Pendo core) | ❌ |
| NPS surveys | ✅ (Pendo core) | ❌ |
| Self-host | ❌ | ✅ |
| Open source | ❌ | ✅ |
The takeaway: keep Pendo for analytics, guides, and NPS; switch the feedback module to Mushi. Most customers find this combination strictly better than running either tool alone.
References
Last updated on