@thunderphone/widget npm package and is also available via CDN for non-bundler environments.
Prerequisites
Before embedding the widget, complete these three steps in the ThunderPhone Dashboard:Create a publishable API key
Go to Developers in the dashboard settings and create a publishable key. Publishable keys start with
pk_live_ and are safe to include in client-side code.Configure allowed domains
In the same Developers settings, add the domains where the widget will be embedded.
localhost is always allowed for development. Wildcards are supported (e.g., *.example.com).Quick Start
Install the package:Integration Options
Choose the integration method that fits your stack:React Component
Pre-built UI component with built-in call controls and status display. Import, pass props, done.
Headless Hook
Full control over the UI. The
useThunderPhone hook manages the voice session while you build your own interface.CDN / Script Tag
No bundler required. Load the widget via a script tag for static sites, WordPress, and other non-React environments.
Styling
The default widget UI is fully customizable with CSS. See the Styling guide for available CSS classes and examples.Need help? Contact us at support@thunderphone.com