Over 46,000+ Business Solution Developers Find answers, ask questions, and connect with our community of business solutions developers, business owners and partners.
Cloud-based communication and collaboration is taking ahold of businesses everywhere, from messaging apps such as Discord and Slack to VoIP services like Vonage and Intermedia Unite. RingCentral, voted PC Mag’s Best Business VoIP Provider of 2019, has put itself in the forefront of cloud VOIP providers because of its intuitive interface and ability to integrate with other services. And with a simple webhook, you can add screen pop notifications to your FileMaker application when users receive calls from RingCentral.
Let’s take at look at how to achieve this.
What Is Needed
- RingCentral Developer account.
- RingCentral Production ready app (With Read Accounts, Call Control, and Webhook Subscriptions permissions active).
- A webhook file.
- Your FileMaker solution hosted on a FileMaker Server.
How To Setup
RingCentral Developer account – If you already have a RingCentral account, you can log into the developer portal. If not, you can sign up for free developer account.
RingCentral Production ready app – From the developer portal create a new app. You can create as many apps as you’d like, and as long as the app is not in production, you can edit them as much as you like from the app’s settings. When creating an app you will also need to specify several items, these being; app name, app description, application type, platform type, and permissions. And to use screen pop notifications add the following permissions: Read Accounts, Call Control, and Webhook Subscriptions.
Now that your app has been created, you will need to get it approved for production, which you can track on the app’s dashboard. Each app will have graduation requirements before you are able to apply for production. These requirements are:
- 5+ API calls per each used endpoint
- <5% of 400 errors
- Exercise all requested permissions
To meet these requirements you can use your sandbox credentials in your FileMaker solutions to make the API calls or you can use RingCentral’s API Reference.
Webhook file – This web script, such as a PHP or node script, is what connects RingCentral to FileMaker. When a user gets a call in RingCentral, RingCentral’s API will pass that call’s information to the webhook file, and the webhook file will in turn pass the information to your FileMaker solution using the Data API. The webhook file must be hosted on a web server and must be accessible over the web to RingCentral’s API.
FileMaker Solution – In our FileMaker solution we will create a subscription to track telephony sessions using “/restapi/v1.0/account/~/telephony/sessions” as our event filter. To create this subscription we will need the RingCentral login of an admin user, the client secret, and client ID. For client ID and secret, there will be different values for sandbox and production. For testing, sandbox or production must be specified. When we create a subscription we have to specify a delivery mode address; this address is the URL to our webhook file.
Users will need to use their RingCentral credentials to get their extension IDs; this is what we will use to know which notification should go to which user.
And finally you will need to set up a notification table and a listener table in the FileMaker file. The FileMaker file will create a notification record every time the webhook receives information, and the listener table will link the notification to the user so it will show the correct notification.
How It All Works
- When a user logs into the FileMaker solution, the startup script finds the user in the user table and creates a listener record for them. FileMaker then opens a hidden window on the listener layout which has an onRecordLoad script trigger on it.
- When a user receives a call from RingCentral, RingCentral passes the call to the webhook file.
- The webhook file runs a script in the FileMaker solution to find the user via their extension and grabs their user ID. It will then find notification with the same information and if one does not exist it will create one.
- After the notification record is created the script will find the user’s listener record and delete it, causing our onRecordLoad script to trigger.
- The OnRecordLoad then performs the screen pop by opening a new window and showing the call’s information in front of the user.
With a simple webhook, you can integrate your FileMaker solution with RingCentral, providing screen pops, dialing out functionality, and much more. Contact us today if you would like help integrating your FileMaker solution with RingCentral!