An annoying thing about working for a company that’s too small to have a full-time receptionist is that spam phone calls constantly interrupt your work. All businesses get hassled by people selling printer supplies, and if you employ programmers then you’ll have to deal with recruiters as well.
Part of the problem is that the potential suppliers who resort to cold-calling have software support that helps minimise the effort, and scripts that are designed to make it difficult to screen calls. Even worse is the brute force approach: armies of telemarketers in call centres whose job it is to waste your time.
One of the telemarketers’ tools is Customer Relationship Management (CRM) software. CRM is a mature software category for businesses to manage interactions with their customers. When combined with a call-centre and sales scripts, CRM supports interruption marketing - organised cold-calling. Their victims need something to level the playing field.
Introducing Supplier Rejection Management
Supplier Rejection Management (SRM) is the answer to interruption marketing: software tool support that provides a variety of countermeasures. This includes a number of techniques, including:
- basic call-screening, e.g. selecting a department
- blacklists for known spammers, with automatic call rejection
- whitelisting, integrated with your corporate telephone directory
- greylisting for screening unknown or withheld numbers
- gamification features.
Advanced features, such as a voice-response maze for persistent time wasters and a counter-script, are available as add-on modules.
Implementing SRM with Twilio
Twilio is a cloud communications provider whose services include a telephony API. The quickstart tutorial shows you how to use the API to handle incoming telephone calls by writing a simple web application. For each incoming call, Twilio consults the web application for instructions on how to handle it, specified using an XML application called TwiML.
Connect Call to a Second Person, for example, shows you how to use the
From request parameter to route calls. SRM uses this to automatically accept or reject calls by implementing supplier blacklist functionality.
After you have identified the caller as a blacklisted supplier (or just about any recruiter) then you use SRM gamification features to have more fun. One approach (pioneered by Sietse) is to see how long the caller will wait on hold before giving up. Using Twilio, SRM automates this:
Alternatively, SRM can play a surprise audio clip. (Sadly, video is not yet supported.)
Twilio will use this web service response to announce a greeting (in a slightly creepy computer voice - presumably intended for prototyping) and play an audio clip. SRM then keeps score of the longest time on hold per caller.
As well as blacklisting known spammers, and whitelisting known contacts, SRM can also greylist callers who have not yet been identified. Suspected spammers and people who hide caller ID can be directed to a pre-screening voice-response menu.
As you can see in this example, Twilio captures key-presses using a similar model to HTML form processing, and requests a new web service resource whose TwiML (XML) response handles the next step in the menu. Twilio sends a POST request to the given
/srm/navigate-1 with a
Digits request parameter that captures the key the caller pressed.
If you feel that merely rejecting calls and rickrolling recruiters isn’t sufficient payback for CRM-wielding call-centre armies, then you should consider SRM’s Maze module (originally conceived by Martin). This takes gamification further by turning the caller’s telephone sales experience into an actual game.
The game takes the form of a classic adventure game, implemented in Twilio using a voice response menu.
As in the earlier example, this uses speech, audio clips and capturing keypresses.
The game ends when the caller finds the centre of the maze, or when they fall into a trap, which is a conference call with previously-captured recruiters.
The SRM Counterscript module provides an implementation of the Counterscript that was written to provide countermeasures to the call-centre scripts that cold-callers use. This script turns the tables on the caller, and puts SRM in control of the conversation.
This example records audio spoken by the caller. Twilio makes the previous recording’s URL available via the
RecordingUrl request parameter.
Note that this script simply discards the recording in most cases, and repeats the question in order to waste the caller’s time.
Although Supplier Rejection Management is not yet available for use, because it’s vapourware, Twilio does offer a useful service that makes all sorts of interesting applications possible.