VoIP Calling
SellerCockpit includes browser-based calling powered by Twilio Voice SDK. Make and receive calls directly from your CRM without switching to a phone or separate dialer.
Overview
VoIP calling in SellerCockpit offers:
- Browser-Based: Make calls directly from Chrome, Firefox, Safari, or Edge
- WebRTC Technology: High-quality voice calls over the internet
- Automatic Recording: All calls recorded with GDPR consent
- Activity Logging: Calls automatically logged to contact timeline
- AI Transcription: Call transcripts generated automatically (optional)
- Multi-Tenant BYOK: Bring Your Own Keys - use your own Twilio account
Key Features
One-Click Calling
Click the phone icon next to any contact name to initiate a call instantly. No need to dial numbers manually.
In-Browser Interface
All call controls available in a clean interface:
- Mute/unmute microphone
- End call button
- Call timer
- Recording indicator
- Network quality indicator
GDPR Compliance
Before recording any call, SellerCockpit:
- Checks if contact has consented to recording
- Displays consent dialog if no consent on file
- Updates contact record with consent preference
- Only records after explicit consent obtained
Automatic Activity Logging
When a call ends:
- Call duration recorded
- Recording uploaded to secure storage
- Activity created and linked to contact
- Notes field available for call summary
- Deal association (if applicable)
Call Recordings
All recordings are:
- Stored securely in Supabase Storage
- Accessible only to authorized team members
- Organized by user, year, and month
- Retained according to your data retention policy
- Downloadable for offline review
Getting Started with VoIP
Prerequisites
To use VoIP calling, you need:
- A Twilio account (sign up at twilio.com)
- A Twilio phone number
- API credentials (Account SID, API Keys)
- A modern web browser with microphone access
Setting Up Twilio (BYOK Model)
SellerCockpit uses a “Bring Your Own Keys” model - you provide your own Twilio credentials:
Step 1: Create Twilio Account
- Sign up at twilio.com
- Complete account verification
- Add billing information (required for outbound calls)
Step 2: Get a Phone Number
- In Twilio Console, go to Phone Numbers > Manage > Buy a number
- Select your country and desired area code
- Choose a number with Voice capabilities
- Purchase the number
Step 3: Create TwiML App
- Go to Voice > TwiML Apps in Twilio Console
- Click Create new TwiML App
- Name it “SellerCockpit”
- Leave Voice URLs empty for now
- Save and note the TwiML App SID (starts with AP…)
Step 4: Generate API Keys
- Go to Account > API keys & tokens
- Click Create API key
- Give it a friendly name (e.g., “SellerCockpit Production”)
- Select “Standard” key type
- Save the SID and Secret (you won’t see the secret again!)
Step 5: Configure SellerCockpit
- In SellerCockpit, go to Settings > Twilio
- Enter your credentials:
- Account SID: Found in Twilio Console dashboard
- API Key SID: From Step 4
- API Key Secret: From Step 4
- TwiML App SID: From Step 3
- Phone Number: Your Twilio number in E.164 format (e.g., +14155551234)
- Select region: US1 (recommended)
- Click Save Settings
- Click Test Connection to verify
Region Selection
Important: Use US1 region for best compatibility.
- US1: United States (Virginia) - Recommended for all customers
- IE1: Ireland - Europe region (may cause TwiML fetch errors)
Even if you’re based in Europe, US1 is the recommended region as it has better TwiML app compatibility.
Browser Permissions
When making your first call:
- Your browser will request microphone access
- Click Allow to grant permission
- Permission is remembered for future calls
If calls aren’t working, check browser permissions:
- Chrome: Settings > Privacy and security > Site settings > Microphone
- Firefox: Preferences > Privacy & Security > Permissions > Microphone
- Safari: Preferences > Websites > Microphone
Making a Call
From Contact Detail Page
- Navigate to any contact
- Click the Call button (phone icon) next to contact name
- If no consent on file, consent dialog appears:
- Click Get Consent to ask contact for permission
- Click Already Have Consent if obtained outside CRM
- Click Call Without Recording to proceed without recording
- Call initiates automatically
- In-call interface appears with controls
From Deal Card
- On the Pipeline board, hover over a deal card
- Click the phone icon
- Select which contact to call (primary contact or other)
- Follow consent flow if needed
- Call initiates
From Organizations List
- On the Organizations page, find the company
- Click the phone icon next to organization name
- Select which contact at the organization to call
- Follow consent flow if needed
- Call initiates
During a Call
The in-call interface provides:
Call Timer
Shows elapsed time in MM:SS format. Useful for tracking call duration for billing or notes.
Mute Button
Toggle microphone on/off:
- Blue: Microphone active
- Red: Muted (contact can’t hear you)
Use mute when:
- Consulting notes or teammates
- Dealing with background noise
- Placing contact on temporary hold
Recording Indicator
Shows if call is being recorded:
- Red dot: Recording active
- Gray: Not recording (no consent or disabled)
Network Quality
Connection quality indicator:
- Green: Excellent quality
- Yellow: Fair quality (may have some latency)
- Red: Poor quality (call may drop)
If quality degrades:
- Close other browser tabs
- Check your internet connection
- Move closer to WiFi router
- Disable VPN temporarily
End Call Button
Click to terminate the call. Call data is saved automatically.
After a Call
When you click End Call, the Call Summary modal appears:
Call Summary Modal
Pre-filled information:
- Contact: Who you called
- Duration: Length of call
- Date/Time: When call occurred
- Recording: Link to recording (if enabled)
Additional fields:
- Outcome: Successful, No Answer, Voicemail, Busy
- Notes: Summary of conversation (required)
- Deal Association: Link call to a specific deal (optional)
- Follow-up Task: Create reminder for next action (optional)
Click Save Activity to log the call.
What Gets Saved
When you save:
- Activity record created in database
- Call recording uploaded to secure storage
- Contact’s activity timeline updated
- Deal’s activity timeline updated (if associated)
- Follow-up task created (if specified)
- Team notification sent (if configured in workflows)
Call Recordings Storage
Recordings are stored with this structure:
{user_id}/{year}/{month}/{call_id}.webmExample: a1b2c3d4/2025/12/call_20251208_143022.webm
Access controls ensure:
- Only authenticated users can access recordings
- Users can only access their own company’s recordings
- Recordings respect row-level security policies
AI Transcription (Optional)
Enable AI transcription for automatic call summaries:
Setup
- Go to Settings > Integrations
- Enable AI Call Transcription
- Enter your Gemini API key (or use provided key)
- Configure transcription settings:
- Auto-transcribe: All calls or only calls >2 minutes
- Language: Default language for transcription
- Summary length: Brief, detailed, or custom
- Save settings
What Gets Transcribed
After each call:
- Full transcript of conversation
- Summary of key points discussed
- Action items identified
- Sentiment analysis (positive, neutral, negative)
- Keywords and topics mentioned
Viewing Transcripts
- Open any call activity
- Click View Transcript tab
- See full transcript with timestamps
- See AI-generated summary
- Copy text or download as PDF
Transcription Accuracy
Factors affecting accuracy:
- Good: Clear speech, minimal background noise, quality connection
- Fair: Accents, industry jargon, overlapping speakers
- Poor: Loud background, poor connection, muffled audio
Always review transcripts before sharing externally.
Troubleshooting
Call Won’t Connect
Symptoms: Click call button but nothing happens
Solutions:
- Check browser microphone permissions
- Verify Twilio credentials in Settings
- Ensure phone number in E.164 format (+1234567890)
- Check browser console for errors
- Try different browser (Chrome recommended)
Poor Call Quality
Symptoms: Choppy audio, delays, echoes
Solutions:
- Check your internet connection speed (need 1+ Mbps)
- Close bandwidth-heavy applications (video streaming, downloads)
- Use wired internet instead of WiFi
- Disable VPN or firewall temporarily
- Try different time of day (network congestion)
Recording Not Saving
Symptoms: Call completes but recording missing
Solutions:
- Verify consent was obtained before call
- Check browser console for upload errors
- Ensure Supabase Storage is configured correctly
- Check storage quota (may be full)
- Try shorter test call
Microphone Not Working
Symptoms: Contact can’t hear you
Solutions:
- Check microphone isn’t muted in OS settings
- Test microphone in other applications
- Try different microphone/headset
- Check browser has microphone permission
- Restart browser
Error 31000: TwiML Fetch Failed
Symptoms: Call fails with Twilio Error 31000
Solutions:
- Switch to US1 region (Settings > Twilio)
- Verify TwiML App SID is correct
- Check Twilio account isn’t suspended
- Ensure no URL configured in TwiML app
- Contact Twilio support if persists
Best Practices
Before Calling
- Review contact’s recent activity history
- Check for notes from previous calls
- Have deal context ready
- Ensure quiet environment
- Test microphone and speakers
During Calls
- Take notes in real-time (use mute button)
- Stay focused (close distracting tabs)
- Be mindful of call duration
- Monitor network quality indicator
- Save important details immediately
After Calls
- Complete call summary while fresh in memory
- Create follow-up tasks immediately
- Associate call with relevant deal
- Tag calls by topic or outcome
- Share insights with team if relevant
GDPR Compliance
- Always obtain explicit consent before recording
- Document consent in contact record
- Honor requests to delete recordings
- Inform contacts at start of call if recording
- Store recordings securely with encryption
Security
- Never share Twilio API credentials
- Rotate API keys quarterly
- Use strong passwords for Twilio account
- Enable two-factor auth on Twilio account
- Monitor usage for unusual activity
Keyboard Shortcuts
Speed up calling with keyboard shortcuts:
Ctrl/Cmd + K- Quick call (opens contact search)Space- Toggle mute during callEsc- End current call (with confirmation)Ctrl/Cmd + Enter- Save call summary
Integrations
With Pipeline
- Call contacts directly from deal cards
- Calls logged to deal timeline
- Track calls per deal stage
- Identify deals needing follow-up calls
With Workflows
- Trigger workflows on call completion
- Auto-create tasks after calls
- Send notifications for missed calls
- Escalate deals based on call outcomes
With Email Sync
- See emails sent before/after calls
- Complete communication timeline
- Use call context in email follow-ups
- Track email open rates post-call
With Calendar
- Schedule follow-up calls as calendar events
- See upcoming calls in calendar view
- Block time for prospecting calls
- Sync call tasks with Google Calendar
Pricing and Limits
Twilio Costs (BYOK Model)
You pay Twilio directly for:
- Phone number rental (~$1/month)
- Outbound calls (varies by destination, ~$0.01-0.02/minute)
- Inbound calls (if configured, ~$0.01/minute)
- Recording storage on Twilio (minimal)
SellerCockpit Limits
- No per-call fee from SellerCockpit
- Unlimited calls (subject to your Twilio account limits)
- Call recordings stored in your Supabase storage quota
- Transcription may have usage limits (if using shared API key)
Storage Considerations
- Average call recording: 1-2 MB/minute
- 100 hours of calls: ~10-12 GB storage
- Supabase free tier: 1 GB (upgrade as needed)
- Implement retention policy to auto-delete old recordings
FAQ
Can I use my existing business phone number? Yes, you can port your existing number to Twilio. Contact Twilio support to initiate the port.
Do contacts see my Twilio number or my personal number? Contacts see your Twilio number as the caller ID. You can customize the friendly name.
Can I receive inbound calls? Inbound calling is on the roadmap but not yet available. Currently outbound only.
What happens if I’m on a call and close my browser? The call will disconnect immediately. Keep browser open during calls.
Can multiple team members use the same Twilio account? Yes, all team members share your company’s Twilio account and phone number.
Is video calling supported? Not currently. Audio-only calls are supported at this time.
Next Steps
- Set up your Twilio account and credentials
- Learn about Pipeline Management to track calls per deal
- Configure Workflows to automate post-call tasks
- Enable AI Transcription for automatic summaries
Need help? Contact support at support@sellercockpit.com