Skip to Content
Menu

Exotel CRM Integration

by
Odoo

42.10

v 17.0 Third Party
Live Preview
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies CRM (crm)
Discuss (mail)
Calendar (calendar)
Contacts (contacts)
Lines of code 981
Technical Name exotel_integration
LicenseOPL-1
Websitehttps://www.lucidbrainz.com/?i=1
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies CRM (crm)
Discuss (mail)
Calendar (calendar)
Contacts (contacts)
Lines of code 981
Technical Name exotel_integration
LicenseOPL-1
Websitehttps://www.lucidbrainz.com/?i=1
Community Enterprise Odoo.sh


Overview

This module integrates Exotel telephony service with Odoo CRM to automate call management. It synchronizes incoming and outgoing calls, creates or updates leads based on call activity, and attaches call recordings to CRM records. The module provides real-time call notifications and supports multi-company environments by mapping Exotel numbers to respective companies. Overall, it streamlines telephony operations directly within the Odoo CRM interface for improved customer interaction tracking.



Features

  • Seamlessly integrates Exotel telephony service with Odoo CRM for call synchronization.
  • Automatically creates and updates CRM leads from incoming and outgoing calls.
  • Attaches call recordings to CRM leads with playback and download options.
  • Provides real-time notifications for incoming calls and call statuses.
  • Supports multi-company setups with phone number-based company mapping.
  • Enables outgoing calls directly from the CRM interface with call status tracking.


How Module Works

1. Automated Call Synchronization

Background Process: A scheduled task (CRON job) runs every 1 minute in the background to fetch call logs from Exotel API.

Data Collection: The system retrieves incoming calls, outgoing calls, and missed calls from the last 3 days, ensuring no call information is missed even if recordings become available later.

Smart Detection: Each call is uniquely identified by its Call SID to prevent duplicate entries in your CRM.

2. Multi-Company Assignment

ExoPhone Mapping: The module intelligently assigns each call to the correct company based on the ExoPhone number used.

Example:
08045680770 → Assigned to lucidbrainz Company
08045680740 → Assigned to odoo Company

This ensures perfect organization in multi-company setups without any manual intervention.

3. Automatic Lead Creation

Instant Lead Generation: When a call is detected, the system automatically creates a new CRM lead with the following information:

Lead Details Include:
Lead Name: Descriptive name like "📞 Incoming Call with 8686786108" or "Missed Outgoing Call with 8686786108"
Contact Information: Phone number automatically populated
Call Direction: Clearly marked as Incoming or Outgoing
Call Status: Completed, Missed, Failed, or In-Progress
Call Duration: Total call time in seconds
Timestamp: Exact date and time of the call
From/To Numbers: Complete caller and receiver information

All this happens automatically without any manual data entry!

4. Call Recording Management

Automatic Download: The system fetches call recordings from Exotel and stores them securely in Odoo's attachment system.

Recording Process:
Step 1: System checks if recording is available in the API response
Step 2: Downloads the MP3 audio file from Exotel servers
Step 3: Converts to Base64 format for secure storage
Step 4: Creates an attachment linked to the CRM lead
Step 5: Generates a playback URL for browser access

Playback Features:
In-Browser Player: Listen to recordings directly without downloading
Download Option: Save MP3 files locally for offline access
Progress Control: Seek to any position, adjust volume, pause/play
Duration Display: See total recording length and current playback position

5. Outgoing Call Initiation

One-Click Calling: Make calls directly from any CRM lead with a single button click.

Call Flow Process:
1. User opens a lead with a phone number
2. Clicks the "📞 Call via Exotel" button
3. System retrieves the user's mobile number from their profile
4. Triggers Exotel API to connect both parties
5. Agent's phone rings first (logged-in user)
6. Agent picks up the call
7. Customer's phone rings
8. Both parties connected via Exotel
9. Call is automatically recorded
10. Lead updated with call status and Call SID

Smart Features:
Duplicate Prevention: Can't initiate another call while one is in progress
Status Tracking: Real-time updates (Initiated → In Progress → Completed)
Error Handling: Clear notifications if call fails or number is invalid
Company-Based Routing: Uses correct ExoPhone based on user's company

6. Real-Time Notifications

Instant Alerts: Get notified immediately when incoming calls arrive in your system.

Notification Features:
Browser Popup: Sticky notification that stays until dismissed
Audio Alert: Sound plays to grab attention (if audio file configured)
Caller Information: Shows phone number and contact name (if exists)
Quick Action: "View Lead" button to instantly open the lead form
Call Type Indicator: Clearly shows if it's a regular or missed call

Missed Call Handling: Missed calls are specifically marked and highlighted so your team can follow up promptly.

7. Complete Data Flow

End-to-End Process:

External Call OccursExotel Cloud Captures CallCall Data Stored in Exotel APIOdoo CRON Job Fetches Data (Every 1 Minute)System Parses Call InformationCompany Detected via ExoPhone NumberCRM Lead Created/UpdatedRecording Downloaded from ExotelAttachment Created in OdooNotification Sent to Users (if incoming)Lead Ready with Full Details & Recording
Processing Time: Most calls appear in CRM within 1-2 minutes. Recordings may take 2-5 minutes to become available as Exotel needs time to process them.

Key Benefits

Zero Manual Entry: All call data automatically synchronized
Complete Call History: Every incoming and outgoing call logged
Recorded Conversations: Listen to past interactions anytime
Multi-Company Support: Perfect for businesses managing multiple brands
Real-Time Updates: Instant notifications keep your team informed
One-Click Calling: Make calls without leaving Odoo
Missed Call Tracking: Never miss a follow-up opportunity
Secure Storage: All recordings stored safely in Odoo's database



Configuration & Usage

  • Configuration & Usage
  • Configure the module by entering your Exotel API credentials and setting up company-specific phone numbers in Odoo to enable synchronization of call data.
  • Use the CRM interface to manage calls, where incoming and outgoing calls are automatically logged, lead records are created or updated, and call recordings can be accessed directly from the lead form.
  • User Access Rights
  • Access rights are controlled through Odoo user groups, where users in the "base.group_user" group have full read, write, create, and delete permissions on the Exotel CRM Sync and Call Recording models.
  • Security is enforced by allowing only authorized users to view, modify, or manage call logs and recordings within the CRM, ensuring data confidentiality and proper role-based access control.
  • How to View Exotel Calls in Odoo CRM
  • After installing and configuring the Exotel CRM Sync module with your API credentials, navigate to the CRM Leads menu in Odoo.
  • Open any lead to view detailed call information including call status, direction (incoming/outgoing), and call recordings if available.
  • Use the provided call log and recording attachments within the lead form to review past interactions and listen to call recordings.
  • Real-time notifications for incoming calls will appear in the Odoo interface, which you can access from the notification area.
  • Track outgoing call statuses directly from the lead, including success, failure, and missed calls, all updated automatically within the system.


Exotel CRM Integration - Leads List View

Screenshot 1: CRM Leads automatically created from incoming and outgoing calls with clear status indicators



Exotel CRM Integration - Lead Form

Screenshot 2: Lead form showing contact details and new "Call Recordings" tab for audio playback



Exotel CRM Integration - Call Details

Screenshot 3: Detailed call information including status, duration, timestamp, and from/to numbers



Exotel CRM Integration - Recording Playback

Screenshot 4: In-browser audio player for call recordings with playback controls and download option



Our Services

Odoo Implementation

Odoo
Implementation

Odoo Customization

Odoo
Customization

Odoo Migration

Odoo
Migration

Support & Maintenance

Support &
Maintenance

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.