November 2010

Regular Columns

From the Editor
by Betty Bouchie

Be Inspired
by Gary Blair

Something to Smile About...

IS Tip - Case Branch vs. List Branch
by Jennifer Terragni

The Telephone Doctor
by David Friedman

Featured Articles

Networking, New Ideas, and New Orleans
by Marci Imes

Fancy Some Text?
by Mike Burkinshaw

How to Auto Populate an IS Field Using the Enter Key
by Shawn Thorpe

From the Editor

by Betty Bouchie

What's Inside?
Everywhere you go in October, you see Halloween costumes. The kids enjoy it for the treats, but the adults enjoy it because we can be someone else. For a short time we can be anything we want to be. A little bit of fantasy. So for one day, we can be crazy or sweet or wicked or scary and it is okay. What is important is what is inside the costume. Just as what is more important, is what is inside us.

For a little bit of fun, try this quiz:

Back to top

Be Inspired

Submitted by Gary Blair

"What lies behind you and what lies in front of you, pales in comparison to what lies inside of you."
~ Ralph Waldo Emerson

Back to top

Something to Smile About...

These are just pencils!

A pencil maker told the pencil 5 important lessons just before being put in the box:

  1. Everything you do will always leave a mark.
  2. You can always correct the mistakes you make.
  3. What is important is what is inside of you.
  4. In life, you will undergo painful sharpenings which will only make you better.
  5. To be the best pencil, you must allow yourself to be held and guided by the hand that holds you.

We all need to be constantly sharpened. This parable may encourage you to know that you are a special person, with unique talents and abilities. Only you can fulfill the purpose which you were born to accomplish. Never allow yourself to get discouraged and think that your life is insignificant and cannot be changed and, like the pencil, always remember that the most important part of who you are, is what's inside of you.

Back to top

IS Tip: Case Branch vs. List Branch

by Jennifer Terragni, American Medical Alert Corporation

These two branches should be scripted with care. Here are some tips on what they are and how you should appropriately deploy them. This is based on the premise that you are already familiar with setting up a List Branch and Case Branch.

A List Branch allows you to easily select a predefined List input and do actions based on the list selection. This type of branch restricts the actions to the values in the predefined list. It uses the least amount of memory (based on the IS version you are using and the size of the script, this is very important) and is the one I use most often. (*1)

A Case Branch is similar to a List Branch and can be used as a list branch, but often is misrepresented. The Case Branch uses more memory than a List Branch and I highly recommend to all programmers to ONLY use this for calculations that need to allow more flexibility than a List Branch.

For instance in navigation, if you have a predefined list but the list doesn’t always appear to the operator (and you still have to pass that branch through navigation), you would use a Case Branch and use the "default" section to route the script for all possibilities that are not hard coded into the Case Branch. (*2)


Back to top

Networking, New Ideas, and New Orleans

by Marci Imes, Advantage Answering Plus, Inc.

Combine to create a great mixture, sure to kick up your Call Center Menu. If you haven’t already begun planning to attend the 27th Annual NAEO Conference, now is the time to set the dates aside and watch for airfare deals. From March 13–16, 2011 call center owners, managers, programmers, and technical team members will converge at the Roosevelt Hotel and together discover ways to "kick up your call center menu.”

In addition to the Conference, an IS Workshop and Supervisor Workshop are taking place at the same location – a great combination of learning and networking that will result in a batch of new ideas to implement upon your return to the office.

Early bird registration is available through Valentine’s Day, February 14, and by taking advantage of the savings ($75 per person) you just might want to get a little something special for someone special – or not. Either way, registration rates are can be found on the NAEO website and registration forms will be downloadable soon.

To add extra spice to the Conference, the Telephone Doctor, Nancy Freidman, will be our keynote speaker. Nancy is known world-wide for her telephone-based Customer Service training, and will share her thoughts on how each call center can create a One Bowl Recipe for Success.

Plan to join us and take home some "BAMM” – a combination of networking, new ideas, and a dash of New Orleans – sure to add taste and additional satisfaction to your call center menu.

Back to top

Fancy Some Text?

by Mike "not everything should be hands-free” Burkinshaw, Comm-Link, UK

Now that the US has woken up to texting (the Brits been doing it for 13 years now), companies are looking to explore marketing by SMS – getting the consumer to contact them by text. Typical examples are "text INFINITY followed by your zip code to 60075” or some other text code. The only problem is that these companies aren’t always equipped to handle these replies and that’s where you – and eResponse – come in.

A client approaches you for this service. They want you to handle the inbound SMS and send them a file of the responses (cell, response, date/time for example) each day.

I expect there may be some translation issues (hey, I’m British remember?) but here’s how we do this. First of all, we use an SMS Gateway service to translate incoming SMSs into an inbound email. We source "short codes” like 60077 or "long codes” (e.g. 07712 123456 which is our cellular format in the UK) from our gateway provider and resell these to our clients just like 800 numbers.

The system works by using keywords. A keyword is the first word in a text (e.g. "INFINITY” in the example above). The client sets these up with us and we, in turn, set them up with our gateway provider. He then knows to forward any text sent to the gateway with keyword "X” to Depending on the client, they might agree to all their keywords arriving in one file or, if they’re Canadian, they might want each keyword in a separate file. If it’s the latter, charge them more and set up a specific email address on your system for each one.

Ok – that’s the background. How do we do it?

First of all, you need to set up the email addresses on your mailserver. Then set up eResponse to poll those addresses. On the Messaging tab of eResponse, select Store to Database and tick SAVE ONLY. You’ll also need to set up the account in Infinity – even though it would be never used. eResponse requires this in order to work.

Send a test email and you’ll see that eResponse will store this in the eResponse database on SQL in the dbo.message table. Each message is stored with an unique number, the mailID, and the checked fields are all stored in a single field called "message.”

Excellent news. So, now we have customers sending SMS messages to the gateway, which we’re picking up as an email, and then storing into the database.

However, the format of the "message” field in the eResponse database can be a bit weird. Here’s an example:

We need to extract the data from this single field and turn it into three fields in a new table so we can send it to the client without the eResponse garbles.

I have a "ClientData” database on our SQL in which we create tables for client information. I created a new table for this client with five fields: id, mobile, keyword, received, sent.

(Note that "Mobile” is the correct way of pronouncing "cell number.”)

We then run a SQL script to extract the data from the eResponse database and dump it into this new client table. It turns the above message into:

Note the "NULL” in the Sent field. This field in the new table is updated when we actually send the data to the client. When we first create the records, we set this to "NULL” which is sort of SQL’s equivalent of a blank cell in Excel. So we end up with a bunch of records in the new table, all with a "NULL” value in the Sent Field.

We ran into a problem at this point. eResponse doesn’t know that we’ve just copied these records and happily adds more data into the table as more responses come in. This means that next time I run this extract script, I’ll pull in data that’s already in the new table. So, at the end of our extract script, we delete the original records in eResponse that we’ve just copied. In other words, we delete the copied records but we don’t delete anything else that’s come in after the extraction script started. To ensure that I don’t have problems next time, I then wipe the IDs from the new table so there’s no chance of duplication. The picture above shows the new client table once the ids have been wiped.

Effectively, I’ve moved the records from eResponse into the new table.

All fine and dandy, but now I need to move this file over to Ultracomm so it can be sent out. I created an export package by running the export wizard and setting it to save as a "flat file” (i.e. a CSV file). Instead of selecting the wizard choice of copying all the data, I wrote a quick query to select the unsent data (i.e. with a "Sent” field value of NULL) and then update that same field with the current date/time. That way, it only gets sent once. The query was:

SELECT Mobile, Keyword, Received
FROM clientdata.dbo.newtable
UPDATE clientdata.dbo.newtable
SET Sent = getdate()

The English translation of that script is "choose those rows where Sent = NULL and grab the mobile, keyword, and received fields. Once you’ve done that, update the Sent field to the current date/time”.

All the unsent data is selected, written to a specified (and fixed) filename in a fixed location, and then the "sent” field is set to the current date/time. Next time we run this export, this data would not be selected as the sent field now has a value.

I then saved the settings as an "SSIS” package – effectively allowing me to run the wizard from a file with the settings I’d chosen.

Finally, using James Shigley’s excellent posting I was able to create a SQL Agent job to run the extract script followed by the export script automatically at a scheduled time. This dumps the file into a folder on Ultracomm at 1630 each working day. At 1635, Ultracomm grabs that file and sends it to the client automatically.

So here’s what we’ve done:

  1. SMS responses arrive with us as an email
  2. eResponse grabs these and writes them to the SQL database.
  3. Each day, SQL Agent runs at 1630 and does the following:
    • Runs the Extraction Script that:
      • copies the data from eResponse to the new client table
      • deletes the original data in eResponse
      • sets the "id” field in the new client table to blank, and then
    • Runs the Export Script that:
      • Looks for data in the new client table with a blank SENT field
      • Grabs that data and writes it to a CSV file on Ultracomm
      • Updates the sent field with the current date/time
  4. Ultracomm then sends that file to the client each day at 1635.

So why do this?

By doing this, we’ve removed 300-500 emails a day from operators that, previously, required them to open the email, copy the data to another account, save the message, and then go back and delete the email and deliver the original eResponse message. The job is now done automatically, end to end, without any operator intervention whatsoever. That means I can bill the client for this work as if I was using my ops to do it when, in fact, my servers are finally doing all the work for me. And the nice bit is that, as it’s going through eResponse, our billing system picks it up automatically too.

Each text takes about 24 seconds to process on average. Based on 400 texts a day, 7 days a week, that’s over 18½ hours of op time saved each week. In other words, I’ve saved half of a full time employee by working this way.

So, if you fancy some text without hands, just contact me and I’ll be glad to assist you in any way.

Back to top

How to Auto Populate an IS Field Using the Enter Key

by Shawn Thorpe, Advantage Answering Plus, Inc.

This tutorial is a guide to adding an "Auto-Populate” action (for lack of a better term) to IS fields
using the Enter key. This can be a time-saving addition to any IS script, as this action allows operators

to automatically enter information into an IS field by simply pressing the Enter key. This tutorial specifically ties this function to the Enter key as it offers greater flexibility than the Tab key. However, if desired, this action could easily be added to the Tab key of any IS field as well.

For example purposes, I have created a basic IS script with To, Caller, Patient, Phone, and Message fields.

Let's add an Auto-Populate action to the Patient field that will automatically fill that field with the caller's name. Start by right-clicking the Patient field and selecting Properties from the pop-up menu.

That'll bring up a box called "Patient" Properties. Click the Actions tab on the top, right-hand side of this box.

Click the Add/Remove actions link next to "When Enter key is pressed.” That'll bring up the Select actions box. Scroll down the list of available actions and find the Set Field action. Add a Set Field action to the open list of actions on the right.

That'll bring up the Set Field Properties box. Select Patient from the drop-down Field Name menu.

Click the word Text on the right-hand side of the box. That'll bring up a pop-up menu. In this menu, move your mouse over Change To and select Advanced Expression. Now you should see the Expression Builder.

Click on the _ empty _ expression indicator in the bottom section of the Expression Builder. The indicator will now be highlighted in yellow. Look at the Fields box above the _ empty _ expression indicator. Click the plus sign next to the Screens menu to open up the menu. This will show all of the different screens that are available in your script. (In the case of my simple script, there's only one screen called Main.) Since our Auto-Populate action is designed to fill the Patient field with the name entered into the Caller field, the next step will be to click the Caller field as it's displayed in the Screen menu at the top of the Expression Builder and then drag it onto the _ empty _ expression indicator below. The _ empty _ expression will change to this.

Click the OK buttons on the Expressopm Builder, Set Field Properties, Select actions, and 'Patient' Properties boxes. Your Auto-Populate action is now ready! Test drive your script and enter some text into the Caller field. Then tab down to the Patient field and press the Enter key.

Voila! The text from the Caller field should've been automatically copied into the Patient field with one keystroke. Now that your Auto-Populate action is working, you might want to include a note in your IS script, so operators will know the action is available.


This tutorial provides just one example of how to implement an Auto-Populate action. Get creative and see what other handy shortcuts you can create using the instructions presented here!

Back to top

Confessions of a Customer Service Training Movie Producer

by David Friedman

We produce customer service training movies for a living. As you might imagine, many of the topics covered in our products are born as the result of actual situations that have happened to people on our development team.

In that spirit, here are some service-related topics I've been thinking about:

  1. Every Time I Leave Home, it's a Visit To Our Research and Development Lab.

    The thing about poor customer service is you don't need to go looking for it. It normally finds you. But instead of getting furious when I receive poor service, I'm usually taking mental notes about what this person is doing, what they should be doing and what effect their actions are having on me, the customer. It can be enlightening and you can benefit in the same way. At your next staff meeting suggest each participant bring a story about a sour service encounter they had. This endeavor will prove to be cathartic, humorous and, most important, will raise awareness when you discuss how that company should have conducted the situation. People learn from stories.

  2. Moving From Good to Great Is Easier Than Moving from Bad to Average.

    The thing about judging customer service is that, by definition, it's measured in the eyes of the beholder. Everyone is an expert. If you're a customer, then you define what great customer service means to you. And you decide whether an organization has met your expectations.

    When someone I meet learns that our company markets service training DVDs and web-based courses they normally shoot back with something like, "Oh my gosh! You have to call XYZ Company. Their service is absolutely horrible and they need you guys really badly!" But my answer sometimes surprises them. Excellent service or terrible service usually isn't an accident. Instead, service levels are normally a by-product of that organization's culture. And while we love peddling as many training solutions as possible, experience has taught us that the best prospects are normally already pretty solid at caring for their customers. You read that correctly. The most receptive prospects for our training programs are normally already in the "B+" or higher range. Why is that? Their corporate mindset is one of putting the customer first and making continuous improvement a priority.

    Organizations who deliver poor service are normally that way for a very good reason. The lack of a focus on the customer permeates their culture. Ironically, these organizations are also the most difficult to convince that change is needed. Helping organizations move from good to great seems to be easier than helping them move from bad to average.

  3. More Leaders Need to Become an Undercover Boss.

    You've seen the CBS show on Sunday nights, right? That's the reality show where a CEO assumes a new name and look, then goes incognito to work at different jobs within his organization. A similar theme runs through each episode; big boss finds out that working on the front line is always more complicated and difficult than predicted. The CEO normally can't perform the basic duties that rank and file employees do. And most importantly, the boss always learns valuable inner details about his or her organization from being on the front line. The real question is, why is this basic tenet of management such a revelation? What leader isn't regularly checking out the experience that their customers run into? Apparently many. Every time I'm punching through endless options on an automated attendant, I wonder if the CEO of that cable company or bank ever experiences this painful exercise. Probably not – but that organization would be better off if they did.

  4. Service So Awful, You Couldn't Even Put it in a Training Movie!

    When we make a new training course, one of the keys is that our vignettes must be believable. Frequently, things happen to us in life that you couldn't duplicate in a training movie. Our customers would literally reject the scene as too ridiculous to be useful for training purposes. It happened to me recently at a DMV office. (Shocking, I know!) I stood waiting patiently for about twenty minutes. I was the third customer in one of two parallel lines. All of a sudden, the counter agent for my line finished with the first customer in my line and threw up his "Position Closed" sign. He then headed for his lunch break. He left me and another person just standing there. Are you kidding me? I was stunned and didn't immediately react. I honestly was initially concerned that I might be starring in some viral youtube clip about how customers react when put in ridiculous situations. When I realized I was safe I discussed the problem with the office manager who eventually filled in to help the customers in my line. But this manager's cavalier attitude ("Well, what would you like me to do sir?") showed me why this employee thought closing his line with customers standing in queue would be okay.

Back to top

© 2010 National Amtelco Equipment Owners. All Rights Reserved.
NewsLinks is distributed quarterly to NAEO members.

National Amtelco Equipment Owners
1000 Westgate Drive, Ste. 252, St. Paul, MN 55114
800-809-6373 • Fax: 800-809-6374