When to Use the Widget
The widget is ideal for:- Customer onboarding research: Capture first impressions during signup
- Post-purchase feedback: Understand the buying experience immediately after checkout
- In-app experience research: Collect feedback while users are actively engaged
- Triggered feedback: Show the widget based on specific user actions or events
- Continuous listening: Always-available feedback channel within your product
How to Get the Widget Code
From your Study Dashboard:Widget Code Overview
The widget is provided as a React component. Here’s the basic structure:Configuration Options
Core Settings
| Parameter | Type | Description |
|---|---|---|
assistantId | string | Your unique study identifier (provided) |
publicKey | string | Your public API key (provided) |
inviteId | string | Optional invite ID for tracking |
Appearance
| Parameter | Type | Options | Description |
|---|---|---|---|
mode | string | "voice", "chat", "video" | Interview mode |
theme | string | "light", "dark" | Color theme |
position | string | "bottom-right", "bottom-left" | Widget position |
size | string | "full", "compact" | Widget size |
borderRadius | string | "small", "medium", "large" | Corner rounding |
Content
| Parameter | Type | Description |
|---|---|---|
title | string | Main headline (e.g., “Have Feedback?”) |
subtitle | string | Supporting text (e.g., incentive description) |
startButtonText | string | CTA button text (default: “Start”) |
endButtonText | string | End button text (default: “End Call”) |
Styling
| Parameter | Type | Description |
|---|---|---|
baseBgColor | string | Background color (hex) |
accentColor | string | Accent color (hex) |
ctaButtonColor | string | Button color (hex) |
ctaButtonTextColor | string | Button text color (hex) |
Behavior
| Parameter | Type | Description |
|---|---|---|
showWidget | boolean | Show or hide the widget |
delayInterval | number | Delay before showing (milliseconds) |
voiceShowTranscript | boolean | Show transcript in voice mode |
showConversationArea | boolean | Show conversation history |
Consent
| Parameter | Type | Description |
|---|---|---|
consentRequired | boolean | Require consent before starting |
consentTitle | string | Consent dialog title |
consentContent | string | Consent text/terms |
consentStorageKey | string | Local storage key for consent |
Implementation Examples
Basic Implementation
With Consent Required
With Delayed Display
Triggering Strategies
Time-Based Triggers
Show the widget based on time conditions:- Delay on page load:
delayInterval={10000}(10 seconds) - Show after signup: Trigger one week after account creation
- Date range: Show to all users between specific dates
Event-Based Triggers
Control theshowWidget prop based on user actions:
CDP Integration
Connect with your Customer Data Platform to trigger based on:- User segments
- Behavioral events
- Customer lifecycle stage
- Support ticket creation
Coming Soon: More dynamic triggering options including advanced CDP integrations and rule-based display logic.
Best Practices
Don't overwhelm users
Don't overwhelm users
Use triggering thoughtfully. Showing the widget too frequently can annoy users and reduce response quality.
Match context to questions
Match context to questions
Time the widget to appear when users have relevant context. Post-checkout is perfect for purchase experience research.
Keep it unobtrusive
Keep it unobtrusive
Position the widget where it won’t block important UI elements. Bottom-right is standard and expected.
Explain the value
Explain the value
Use the subtitle to tell users why their feedback matters and how long it will take.
Test across devices
Test across devices
Ensure the widget displays correctly on mobile, tablet, and desktop.
Frequently Asked Questions
Does the widget work on mobile?
Does the widget work on mobile?
Yes. The widget is responsive and works on mobile devices.
Can I use the widget without React?
Can I use the widget without React?
The primary implementation is React-based. Contact support for vanilla JavaScript options.
How do I track which page triggered the widget?
How do I track which page triggered the widget?
You can pass custom parameters through the
inviteId or implement tracking on your side before showing the widget.Can users dismiss the widget?
Can users dismiss the widget?
Yes. Users can close the widget without participating.
Does the widget affect page performance?
Does the widget affect page performance?
The widget is lightweight and loads asynchronously to minimize performance impact.

