Twilio Integration
Twilio Integration allows you to make and receive phone calls directly from Frappe CRM. Sales representatives can call leads, contacts, and customers without leaving the CRM while automatically maintaining call history, recordings, and notes in the associated records.
By integrating Twilio with Frappe CRM, your team can centralize customer communication and keep every conversation linked to the relevant Lead or Deal.
Tip
Always save phone numbers with the appropriate country code to ensure calls can be placed successfully through Twilio.
Make Calls from CRM
You can initiate calls directly from multiple locations within Frappe CRM.
Lead
Open a Lead and click the Call button located above the lead details. The call is placed using the phone number stored in the Mobile No field.
Deal
Within a Deal, calls are placed using the Primary Contact listed in the Contacts section. If multiple contacts exist, ensure the correct contact is marked as primary before initiating the call.
Contact
Open a Contact and click the displayed Mobile Number to start a call immediately.
Call Window
Whenever you make or receive a call, a call window appears with real-time call information and controls.
The call window displays:
- Caller Name
- Mobile Number
- Call Status
- Call Duration
- Mute control
- Notes button
- Accept, Reject, and Cancel Call actions
The call window can be minimized while continuing to work elsewhere in the CRM. It remains accessible from the navigation bar until the call ends.
Take Notes During Calls
Click the Notes button during an active call to capture important discussion points, follow-up actions, or customer requirements.
These notes are automatically saved with the corresponding Call Log, making them available for future reference and editing.
Integrated Call Management
Because calls, notes, and recordings are linked to Leads and Deals, every team member has complete visibility into previous customer conversations without relying on external phone logs.
Configure Twilio
Before making calls, connect your Twilio account to Frappe CRM.
- Purchase or activate a Twilio account.
- Collect your Account SID, Auth Token, and Twilio Phone Number from the Twilio Console.
- Open Settings in Frappe CRM.
- Navigate to Telephony Settings.
- Enable Twilio.
- Enter your Account SID and Auth Token.
- Optionally enable Call Recording.
- Save the configuration.
Configure Telephony Agents
Each salesperson who makes calls requires a Telephony Agent configuration.
- Open Desk.
- Search for Telephony Agent.
- Create or edit an agent record.
- Assign the CRM user.
- Enter the corresponding Twilio phone number.
- Save the record.
Use phone numbers in international format without spaces or special characters (except the leading + where applicable).
Configure Twilio API
To allow Twilio and Frappe CRM to communicate, configure the required webhook URLs within your Twilio account.
Incoming Calls
Under Phone Numbers > Manage > Active Numbers, configure the Voice Configuration URL to point to your CRM’s incoming call handler.
Outgoing Calls
Under Phone Numbers > Manage > TwiML Apps, configure the Voice Request URL to point to your CRM’s outbound calling endpoint.
These webhook URLs enable Frappe CRM to process incoming calls and initiate outbound calls through Twilio.
Benefits of Twilio Integration
- Place calls directly from Leads, Deals, and Contacts.
- Maintain a centralized call history inside the CRM.
- Capture notes while speaking with customers.
- Optionally record calls for future reference.
- Reduce context switching between phone systems and CRM.
Best Practices
- Store customer phone numbers with country codes.
- Assign a Telephony Agent for every salesperson using Twilio.
- Enable call recording only if it complies with local regulations.
- Take notes during calls to preserve important customer information.
- Verify webhook URLs after updating your CRM domain or server.
Note
Twilio integration requires a valid Twilio account and proper webhook configuration. Calls can only be made after Telephony Settings, Telephony Agents, and the required API endpoints have been configured successfully.