Multitenant workspaces

One workspace.
Every product.

Collect feedback from iframes or hosted pages on Free. Invite your team to the same dashboard on Team and Scale. API keys and webhooks when you upgrade.

Pricing

Limits apply per workspace (tenant). Stripe checkout for paid tiers is coming soon — prices shown are targets.

Free
$0
  • 1 project
  • 500 feedback / month
  • Widget, iframe & hosted page (/f/[slug])
  • Invite teammates to workspace
  • REST API & API key
  • Outbound webhooks
Get started
TeamPopular
$29.95/mo
  • 3 projects
  • 10,000 feedback / month
  • Widget, iframe & hosted page (/f/[slug])
  • Invite teammates (up to 3 users)
  • REST API & API key
  • Outbound webhooks
Scale
$79.95/mo
  • 10 projects
  • Unlimited feedback / month
  • Widget, iframe & hosted page (/f/[slug])
  • Invite teammates (up to 20 users)
  • REST API & API key
  • Outbound webhooks
Bug reports
Structured types with metadata and a shared inbox for your workspace.
Ideas
Capture feature requests from any surface you ship.
Team access
Owners invite members to the same tenant — one plan, shared apps.

Try the widget

Demo uses an API key when your project has been seeded with a Team (or Scale) workspace.

FreeInline widget
REST API
Team / Scale: authenticate with your app API key.
POST /api/feedback
curl -X POST https://your-domain.com/api/feedback \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "type": "bug",
    "message": "Something is broken",
    "metadata": { "url": "/dashboard", "segment": "TEAM" }
  }'

Integration guide

Free: public appSlug. Team/Scale: API key + webhooks.

Free vs Team/Scale

Use appSlug on Free. Add apiKey when your workspace is on Team or Scale.

Open dashboard
import { FeedbackWidget } from '@/components/feedback-widget'
export function App() {
  return (
    <FeedbackWidget
      appSlug="your-app-slug"
      position="bottom-right"
      metadata={{ experiment: 'landing-v2' }}
    />
  )
}