This article is part one in a month-long series aimed at learning and exercising the RingCentral APIs in Python as part of their new Game Changers challenge. Feel free to follow along, leave a comment, or even participate in the challenge yourself!

This week, we're going to work through the Virtual Voicemail Assistant tutorials published by RingCentral. The end goal here will be an automated voicemail system that will:

  • listen to any incoming voice messages
  • automatically transcribe the messages so we can follow up later
  • categorize each message so we know what to follow up on
  • attempt to respond via SMS based on categories so we can better engage with our audience.

In general, I'm interested in setting up a phone number for my business to handle a whole host of tasks. Primarily, I want people to be able to call in, leave a message, and potentially gain some new business as a result. Secondarily I'd like people to call in with question-of-the-week style topics to propose for a new podcast I've been working on. Either way, this will give me a business phone number I can use to engage with my audience without needing to answer the phone myself.

Getting Started

The first thing we need to do is set up our RingCentral account. I've already set mine up ages ago for some quick test challenges, but want to create a totally new (paid) account linked to my business entity for real phone numbers and real progress.

Step 1: sign up for an account at the RingCentral Developer Portal. I'm using my business account, so everything will be linked to my security consulting firm, Displace Technologies.

[caption id="attachment_8110" align="aligncenter" width="1021"]RingCentral Developer Console The RingCentral Developer Console upon first login with no apps.[/caption]

By default, your account will have no applications set up, that's fine. Instead, following along with the tutorial and will use a Sandbox Account to test things out.[ref]A paid company plan is required to use things in production. It's billed per-user, per-month and, while I'm confident in the features, I'm not yet ready to start paying for the plan just yet. At a single user level, it's $30/month. For two or more users it comes down to $20/month/user. Definitely affordable; I just need more consistent money coming in first. Feel free to help out if you're game.[/ref]

Setting Things Up

Once we've created and selected our Sandbox Account, our browser redirects to the Admin Console and gives us full control over our new business setup. I took a few minutes to fill out the Company Information section, but where we really want to go is the Users screen.

[caption id="attachment_8113" align="aligncenter" width="1247"]RingCentral Admin Users The User management console in the RingCentral Admin interface.[/caption]

The tutorial suggests creating a new user for use with our voicemail system, but I seem to be having issues with that right now,[ref]I'll be posting a thread in the support forums as this post goes live...[/ref] so I'll just use the default Super Administrator user already linked to the account. I won't be using this as an actual phone service, so it's fine for me to re-purpose that phone number and extension.

[caption id="attachment_8115" align="aligncenter" width="679"]Voicemail Settings Voicemail Settings[/caption]

For now I'll use the default voicemail greeting. As we get deeper into app development, though, I'll record my own greeting and explain to callers what's going on and what I expect them to do when leaving a message.

The next thing we want to do is enable call screening but disable hold music and a connecting message.

[caption id="attachment_8116" align="aligncenter" width="683"]Screening Settings Screening Settings[/caption]

While the tutorial encourages us to set the phone number to be active 24/7, it appears this is the default so there's nothing else we need to do.

Wrapping Up

At this point, everything is configured for our voicemail system to collect all incoming calls to the extension affiliated with our default user. Since it's a "sandbox" account, you can't call me yet. But when I call the number from my registered cell I get a default greeting for my business and a prompt to enter an extension. Entering the default 101 sends me straight to voicemail with the standard "this is a test call on a developer account" disclaimer.

Some things I need to polish up offline:

  • I want any call coming to this number to default to the 101 extension if they fail to provide an extension quickly. Currently you need to dial 101 to hit voicemail or 0 to get to the IVR operator.
  • I need to record some custom greetings.
  • I need to get out of a sandbox account and get a local number. My default number is in Georgia ... which is odd for an Oregon business.

Next time we'll work to set up the other accounts we need to follow along with the tutorial; primarily MonkeyLearn for when we get to the AI-based categorization.