How to Embed Bitcall Webphone in Your Website or CRM
How to Embed Bitcall Webphone in Your Website or CRM

Add a full-featured SIP/WebRTC phone to your website, SaaS, or CRM with just a few lines of code.
What This Is
The Bitcall Webphone can be embedded as a widget or a standalone element. This allows your agents or users to:
Make calls directly from your dashboard.
Enable "Click-to-Call" on any phone number on your site.
Record and log calls directly into your CRM database via events.
What You Will Need
An active Bitcall account.
Your API Key (found in Settings -> API).
A website with access to the HTML
<head>or<body>.
Step-by-Step Integration
Step 1 : Add the Script
Include the Bitcall loader script in your HTML:
<script src="/webphone/loader.js"></script>Step 2 : Initialize the Phone
Add this JavaScript snippet to your page (usually before the closing </body> tag):
BitcallWebphone.init({
key: 'YOUR_API_KEY',
sip: {
username: 'agent_name',
domain: 'gateway.bitcall.io'
},
interceptTelLinks: true,
phoneSelectors: ['.phone-link']
});Configuration Fields:
key: Your unique Bitcall API key.
sip.username: The agent's username (optional for pre-fill).
interceptTelLinks: Automatically turns
tel:links into Bitcall calls.phoneSelectors: A list of CSS classes that the phone should watch for "Click-to-Call" behavior.
Available Developer Events
You can listen to these events to sync call data with your CRM:
callStarted: Triggered when the agent clicks call.
callIncoming: Triggered when a new call arrives.
callAnswered: Triggered when the conversation begins.
callEnded: Triggered when the call finishes (includes duration data).
registered: Confirms the phone is ready to use.
Example Code:
BitcallWebphone.on('callEnded', (data) => {
console.log("Call with " + data.number + " lasted " + data.duration + " seconds.");
// Save this to your CRM via AJAX here
});Advanced Features Included
Multi-call Support: Handle two or more calls at once (Swap/Merge).
Call Recording: Stop/Start recording via the UI or API.
Audio Playback: Play pre-recorded clips into the call.
DTMF Tones: Send tones for navigating external IVR menus.
PWA Support: Allow users to "Install" the embedded phone as a standalone app.
Pop-out Mode: Let users move the phone into a separate window so it doesn't close when they navigate your site.
Security & Best Practices
Allowed Origins: In your Bitcall panel, whitelist the domains where the phone is allowed to run.
API Keys: Never share your Admin API key. Use a restricted client key if available.
Mobile Support: The embedded phone works best on modern browsers. Ensure your site uses HTTPS, as browsers block camera/mic access on HTTP.
Expected Result
A persistent phone widget appears on your site. Clicking any phone number in your CRM automatically triggers a call through Bitcall without the agent ever leaving the page.
No previous post
How to Use Bitcall Webphone in Your Browser