Update (8/28/2024): this article still has some relevant information within it. However, a lot has happened in 8 years since this was initially written. If you are developer looking to build a CRM integration that supports call pops, RingCentral has a much better solution to help you build that integration and feature: the Unified CRM extension and framework. Check it out!
While developing a CRM Integration to work with RingCentral, developers may want to generate what is known as a "screen pop". A "screen pop" is when the browser containing the CRM integration will either load a particular page of the CRM or open a new window of the browser to a particular page of the CRM.
A good example of this is available when you install the RingCentral Salesforce Cloud Phone App into your Salesforce instance and configure it properly. Once a Salesforce user has logged in to the RingCentral integration via their Salesforce instance, have logged into one of their RingCentral soft phones (desktop, mobile, or physical device), and they receive an incoming call to their extension...Salesforce opens to a particular page (depending upon if the contact matches an existing record or not) so the operator of the call is able to quickly begin entering details about the call into the Lead or Contact's record in Salesforce.
As developers build their CRM integrations, sometimes they do not receive the appropriate presence event which they can use to generate the "screen pop". There are typically one of two reasons why:
- The RingCentral account is using Call-Forwarding instead of Call Queues.
- The CRM instance/integration is not properly configured.
The RingCentral account is using Call-Forwarding instead of Call Queues
To better understand why you do not see presence events with call-forwarding, you can read this article: https://devcommunity.ringcentral.com/ringcentraldev/topics/do-we-see-any-presence-events-with-call-f...
The "right" approach is to configure your RingCentral account to use Call Queues instead ( learn how to configure Call Queues: http://success.ringcentral.com/articles/en_US/RC_Knowledge_Article/How-to-edit-the-rules-for-departm...). The reason this is the right way is because presence events are generated for an extension...not a device (and forwarding changes to a device instead of an extension).
The CRM instance/integration is not properly configured
Using our RingCentral Salesforce integration as an example, if the code powering the integration is not subscribing to presence events for the logged in user's extension...you aren't going to properly receive the presence events. Some people have tried "long-polling", but the problem with this is, that you might hit the API throttling limits and it is not recommended as a best practice to long-poll when pub-sub (subscribing to presence events) is available via the RingCentral API.
It could also be caused by not matching on the appropriate records or not loading the proper pages within the CRM itself, but that will depend upon how your CRM operates. As you can see in our RingCentral Salesforce app installation guide there are several steps which must be followed (and some custom code to load the appropriate VisualForce pages with contact/lead data) for the integration to operate effectively.