When you have a previous relationship with your client, it's important that this be reflected in the customer experience. Often, the data concerning the client is available in a separate system from your call center ACD software. Keeping data in a central location can be an effective way to ensure data stays in a consistent state, rather than being replicated and updated separately. It's important to make sure it's available when and where needed.
In the Dialplan
While the call is still in the dialplan, there are a few methods you might use to associate external data with the call. These should be available in a hosted Interactive Voice Response (IVR) builder:
- Web Service
- DTMF from user (the user is an external data source)
Among the features available in a good visual IVR builder, a web service component is a must. Web services are a great way to call a service and pull data without having to establish a new protocol or develop your own server implementation, so web interfaces are becoming common. A web service can provide access to an external database, calculate values, or trigger a series of events. In the dialplan, a common application of a web service is doing a lookup based on information available in the call. Examples include doing an account lookup, or a caller ID name check, based on the incoming phone number.
A web service also provides users of a Software as a Service (SAAS) providers a way to add some customization of their own. A web service is straightforward to set up for those with the right expertise, and putting your service in the Cloud can be a very cost effective way to provide data to a SaaS telephony system without requiring expensive customizations to the underlying system itself.
DTMF From the User Really, this is the most common method used. Using the client as a data source is efficient to do, but does not improve the customer service experience in most cases. Asking the client to enter a 9 digit account number is prone to error, as well as memory lapses. If you are asked for such data in a phone call, it usually means you have had to look for old invoices or through your email. Very inconvenient. This is a method that is not recommended if other methods are available, but it can be a good fallback if another method returns an invalid, confusing, or non-result. The biggest limitation to user-generated data is the interface. For the most part, the interface is limited to the common keys present on telephones - 0 through 9 and the * and # keys. Voice recognition is a possibility, but it can be difficult to use, and accuracy becomes a bit of a problem. In a voice call, you can't count on additional interface options being present.
At the Agent Screen
Once the data has been received, you still have to do something with it. When you're branching in the dialplan based on what data is received, it certainly makes sense to get it while the call is still there. However, you often need to get this data to the agent handling the call. In that case, it can make sense to access this data via the agent interface. The agent interface should offer a client interaction script that can pull data from external sources. The most common methods to do this would be:
- An external web page
- A database query
- A web service
- Asking the client directly
External Web Page The simplest way to present external data to the agent is to incorporate a third party web page into the agent interaction script. This may be done in-line in the agent script itself, or as a pop-up or open in a new page or tab. Usually some identifying piece of information is used to start the process, such as an account number that was pulled out at the dialplan stage, or the client phone number. This method has the advantage of being easy to incorporate into a web-based interface. It can also allow the agent to update and save data directly to the external source, rather than complete the call then have the information synchronized at some other stage. When using this method, testing has to be done to ensure that some property of the external page doesn't interfere with the calling page. For instance, we've seen instances where the external CRM being used changed the page to automatically go full screen. This completely disrupted the rest of the web interface, and meant the page could not be used inline. Other complications are certainly possible.
Database Query Using an external database query to pull data lets you go straight to the source and get the most up-to-date version of the data. Most call center managers are not familiar with databases, so this is something that would have to be done in conjunction with more technical personnel. Also, there are a few ways to write the SQL and any number of possible return values, so this can be limited to one value per request. One gotcha with using external databases is that the database and drivers often have to be defined at the OS level. This makes configuration an operating system level issue in order to make sure the drivers are present and configured. In a SaaS configuration, this may mean custom work or that the method is simply unavailable depending on the connecting system.
Web Service Just like with accessing data in the dialplan, web services are quickly becoming a preferred way to get external data into the agent screen. Providing an external API accessible via HTTP or HTTPS can be safer and more secure than providing external access to a database, and allows processing of the information as needed. There can be a few technical challenges to making this method work, but once it is, the flexibility and efficiency gains can be tremendous. The biggest advantage of this method is that web services are much more easily customized. Implementation doesn't depend on specific configuration or drivers on the client servers. Hosting and implementation details are completely separate from the ACD solution being used. The Cloud can easily be utilized to provide such services.
Asking the Client Having the agent ask the client for data is a much better option at the agent interaction level. The limitation is no longer the keypad, and agents naturally do speech recognition very well. The biggest disadvantage to this method is the time and annoyance factor. It can take time to go through all the information needed. Callers do find it annoying when they are asked for information that they assume the call center alragent interaction scripteady has. When that information already exists elsewhere, it's faster and more efficient to gather it in one of the other ways.
In the end...
A solid, comprehensive hosted contact center solution should offer many ways to pull data from external sources. The solution can be simple, it may be complex, but ultimately making sure the data is there when the caller is on the line is how you are going to ensure a smooth customer interaction. VitalVox offers a full-featured hosted solution offering both a visual dialplan builder and a WYSIWYG client interaction script builder so you can get your external data to your agents.