To paint the picture I’m going to provide details about used technologies and general architecture:
2. Salesforce Callcenter – Salesforce service called “Callcenter” allows you to integrate telephony systems directly inside the Salesforce UI. With simple words, it gives you a set of tools that will allow you to build a phone UI and show it to your users in Salesforce. You can configure the callcenter to be accessible through a small window in each Opportunity record and consultants will be able to call prospective clients from the client information tab itself. This feature is available for all kind of records, not only the opportunity view.
3. Javascript – when developing the telephony system you will mostly work with Javascript inside the Salesforce environment. With it you will need to build the phone UI itself(phone keyboard, accepting incoming calls, making outgoing calls etc). Apart from building the dynamic UI you will also use it to communicate with the backend of Salesforce.
4. Apex Code – this will be the backend tool which you will use when developing in the Salesforce environment. It will be used to fetch data from the Salesforce database, make external and handling incoming API calls to Twilio. Apart from communicating with the external Twilio environment you will need it to send events to the javascript softphone that you will build in Salresforce.
4. Node.Js – you will need Node.Js to build your telephony system in the Twilio environment.
Part 2 will explain the problems I struggled upon when using the Salesforce Callcenter.
Part 3 will shed some light on how Twilio functions work and how they allow you to program voice communication channels.