In this excerpt from John Burton’s SAP PRESS book, Maximizing Your SAP CRM Interaction Center, learn about interactive scripts and how they can help your agents provide your customers with the best and most consistent customer service experience possible.
Key Concept
Interactive scripts help enforce corporate standards and provide consistent customer experiences by providing agents with step-by-step scripts to guide them through customer interactions — whether via telephone, Web chat, or even emails and other offline back-office processes. Interactive scripts are commonly used to support marketing, sales, and collections efforts, especially in outbound call scenarios. They can also be useful to walk agents through complex customer-service related procedures, like technical troubleshooting.
Interactive scripts provide step-by-step procedures to guide agents through customer conversations, marketing surveys, lead qualifications, sales opportunities, complex procedures, and unfamiliar processes. The goal of using scripts is to standardize the telemarketing, telesales, and customer service processes provided by your interaction center, based on best practices and centralized corporate procedures. Using scripts, you can improve the likelihood that your customers will receive uniform messaging and consistent customer experience, regardless of the skill level or experience of the agent handling the interaction.
Your use of scripting will likely depend on the type of interaction center you are running and the skill level and experience of your agents. For example, telemarketing and telesales often rely on scripting much more heavily than customer service operations. Additionally, newer and less-experienced agents typically benefit from heavy scripting more than highly-trained, experienced agents. In some situations, particularly when dealing with new agents, companies may prefer to use highly detailed scripts, instructing the agents to read verbatim from the script text. In other situations, companies may create loose scripts that only provide a rough outline for the agents to follow, allowing the agents to improvise and speak naturally using their own words.
Scripts can be as simple or as advanced as you like. For example, a script can contain basic pre-written dialogues and canned texts to guide an agent through a customer conversation. On the other hand, scripts can also be used to support more advanced tasks like helping agents overcome sales objections, qualifying sales leads, capturing post-service customer satisfaction surveys, or updating customer information and marketing attributes. Scripts typically include predefined questions and answers, as well as rebuttals to common objections. Based on the customer’s response to each question, the script moves to another question, provides a rebuttal to a sales objection, navigates to a particular Interaction Center screen, opens a marketing survey/questionnaire, creates a sales lead, or launches a Web URL.
Scripts can be manually accessed by agents as required. In addition, scripts can be automatically pushed to agents based on business rules or events, such as a customer asking to open a new account, update their address or telephone number, return a product, or cancel an account. You can attach a script to a campaign, allowing the agent to directly access the script from the campaign details screen. You can also attach a script directly to a call list, causing the script to be automatically launched each time an outbound call from the call list is dialed.
Note
When upgrading to SAP CRM 2006s/CRM 2007 and above from previous releases of CRM, you must manually recreate all of your scripts. Scripts created in SAP CRM 2005 are not compatible with higher releases of SAP CRM and will not function correctly.
Interactive Script Editor
Interactive scripts are created using a tool called the Interactive Scripting Editor. Scripts are typically created by interaction center managers. Less commonly, scripts can also be created by the marketing department. However, in such cases the marketing professional should work closely with the interaction center to make sure the scripts are appropriate. Few things annoy an interaction center agent more than being forced to use a script that clearly doesn’t reflect the requirements and nuances of the interaction center.
Accessing the Interactive Script Editor
The Interactive Script Editor is included in the IC Manager role. In SAP CRM 2005 and below, the IC Manager role is accessed via the NetWeaver Portal under menu path Process Modeling > Interactive Scripting. In SAP CRM 2006s and above, the IC Manager role is accessed via the CRM WebClient user interface; the Interactive Script is located under menu path Process Modeling > Interactive Scripting. There is a second entry under Process Modeling called Interactive Scripting (IC WinClient) that is used for SAP’s older SAP GUI-based Interaction Center product.
Like several other SAP CRM graphical modeling tools, including the Workflow Editor, Campaign Automation, and Marketing Calendar, the Interactive Script Editor was built on Java-based technology from an SAP partner, Tensegrity Software (https://www.tensegrity-software.com). Because the Interactive Script Editor uses a Java Applet, it requires installation of the Sun Java Runtime Environment (JRE) on the computer of each person who will create or edit scripts. However, Sun JRE is not required for the agents to run the scripts and there is no need to install Sun JRE on the computers of each agent.
Note
One of the most common issues encountered by users attempting to start the Interactive Script Editor for the first time is that Editor does not load, saying “Loading 0%.” The Interactive Script Editor relies on a server-side Java Applet. In order to start the Editor, it is necessary to first install a specific version of Sun JRE. Note that there are two different components for scripting: the Interactive Script Editor in the Interaction Center manager role that is used by analysts to create the scripts and the script runtime in the Interaction Center agent role where the agents execute the scripts. You do not need Sun JRE to run the scripts as an agent; you only need JRE on the machines of the analysts who will create the scripts using the Interactive Script Editor modeling tool. See SAP notes 717921 and 1105843 for more information on the required Sun JRE version and Java Archive (JAR) files for your particular CRM release.
Not Working with the Interactive Script Editor
The Interactive Script Editor consists of four separate screen areas: The script repository and toolbar, the search and navigator tool, the graphical modeling workspace and toolbar, and the properties area (Figure 1).

Figure 1
Interactive Script Editor overview
Script Repository Area
The first screen area, located in the upper-left, contains the Repository and the Repository toolbar. The Repository is a tree structure used to store and organize your scripts (including a Favorites folder) as well as the various elements of your scripts including objection scripts, questions, answers, templates, and actions. The Repository toolbar contains buttons to provide standard functionality such as editing, displaying, copying, deleting, and renaming scripts. The toolbar also allows you to create new subfolders, add and remove scripts from the “My Favorites” folder, and access the interface for manually translating scripts. The script translation tool allows a translator to open a particular script and manually translate all of the script elements from one language to another (Figure 2).

Figure 2
Tool for manually translating script elements of selected script
Note
Before you use the translation feature of the Interactive Script Editor, you must apply SAP Note 1066900.
Search and Navigator Area
The Search and Navigator tabs are located in the lower left. The search tool helps users quickly locate scripts or script elements via a simple text search. For example, the user could type in “advanced” and the system would locate and highlight the script with the title “advanced script.” The Navigator tool allows a user to focus in on a certain portion of a script by moving the purple rectangle in the Navigator area over the desired section of the script; to move the Navigator, a user simply places the cursor over the middle of the rectangle and then clicks and holds the mouse while dragging the cursor to the desired location. The user can also zoom in or out on a script or section of script by resizing the purple rectangle. To resize the Navigator, the user would place the cursor over the edge of the rectangle and click and hold the mouse while dragging the cursor to the desired zoom level (e.g., 80%, 100%, 200%), as seen in Figure 3.

Figure 3
Navigator Zoom Feature
Graphical Modeling Workspace Area
The graphical modeling workspace takes up the largest section of the screen and appears on the upper right. The workspace provides visualization of the selected scripts and script elements. When working with a script, you can see the complete process flow of the script, including the decision-tree structure and the links between questions (Figure 4). When working with other script elements such as questions you can see the text of the question as well as any answers, including text fields, pushbuttons, drop-down list boxes, radio buttons, or check-boxes that have been included with the question.

Figure 4
Graphical visualization of Script Process Flow
The graphical modeling workspace contains two toolbars: a generic application toolbar with functions relevant across all script elements, and a specific toolbar with functions unique to the selected script element. The generic toolbar provides features such as New (to create a new Question, Button, Action, Script, Objection Script, or Field), Upload and Download (for saving a backup of the script locally on your computer as XML file), Save, Save All, Close, Print, and Transport (for transporting a script from, for example, a sandbox system to a test system). The second toolbar, with functions specific to the selected script element, provides different buttons depending on the selected object. For example, when working with a script, you will have buttons such as Copy, Cut, Paste, Undo, Redo, Horizontal Layout, Vertical Layout, Fit Graph to Window, Zoom In, Zoom Out, Interactive Zoom (which allows you to zoom in on a selected node), Insert Link (for linking questions together), and Status (which activates and deactivates a script). When selecting a question, several different buttons will be available in the toolbar such as Add Question, Add Answer Area, and Add Button Area.
Properties Area
The script properties area displays the details and properties of the selected script or script element. When working with a script, for example, the properties area will display various tabs such as the script properties (ID, description, default template, email address for feedback, script group, and status), list of profiles to which the script is assigned, chapters of the script, and script transport request details. If an individual node of a script is selected, the properties area will additionally display the node properties (description, template, chapter, and flag to indicate whether it is the starting node of the script) and, if a template is selected, the parameters of the template (such questionnaire ID for Questionnaires, transaction type for Leads, or URL and new window flag for Web URLs). See Figure 5.

Figure 5
Properties area showing properties of selected script and script elements
Creating Scripts
An interactive script consists of a series of questions and related answers. The answers can be represented as push buttons, radio buttons, check boxes, text fields, or drop-down list boxes. In addition, scripts can include other elements such as actions (ABAP classes that perform some calculation or process some data) and templates (predefined sets of attributes that define the appearance and behavior or scripts). Before you begin creating a script, you first need to create the various elements that you plan to use in the script. The best place to start is with the questions.
Questions are the blocks of texts that the agent will read to the customer. Although we refer to these text blocks as questions, they could just as well be statements rather than actual questions. By default, each new question that you create contains an area to enter the text that the agent will read to the customer. It is possible to include variables, such as the customer’s name, in the text of the question by dragging and dropping the relevant text fields from the Repository into the text area. Note that the Text Fields folder containing the variables is located under the Answers folder rather than the Questions folder in the Repository.
In addition to the text of the question, you can also assign answers directly to the question via the Add Answer Area and Add Button Area buttons in the Question toolbar (Figure 6). The answer area, which can contain text fields, drop-down list boxes, check boxes, or radio buttons, are useful for questions that require an actual response from the customer. Based on the values entered by the agent, the script can automatically branch to another question using a predefined action referred to as a “branching action.” Additionally, the system could optionally update the customer’s data based on the information entered.
However, not all answers require the agent to solicit detailed feedback from the customer. In some cases, a simple short answer such as yes or no may suffice. In other cases where no actual response is required from the customer, a simple Next button is useful. In these situations, push buttons provide the ideal solution. The recommended best practice is to assign the desired push buttons directly to the question. This way, when later linking two questions, the system automatically proposes the push buttons you have assigned. If you don’t assign push buttons directly to the question, you can always manually assign a push button to the link between the two questions; however, this process is cumbersome and not recommended.

Figure 6
Script question with assigned text field and push button answers
Once you have created all the questions (with assigned answers and buttons) that you plan to use in your script, you can begin creating the script. Drag and drop each question into the new, blank script. The first question you add to the script will be marked as the “Starting Node.” However, you can always change this by clicking a different question and marking that question as the starting node in the script properties area. To link the questions and create your process flow, click the Insert Link button. Now place the mouse over your starting node and click and hold the mouse down while dragging the cursor to the question that you want to link. As you release the mouse, the two questions will be connected. The system will prompt you to select a button to use to connect the questions. However, as mentioned, you can also manually drag and drop a button from the Repository onto the link — in which case the button will appear as part of the question when the agent accesses the script at runtime in the Interaction Center.
After you have created the process flow of your script, you need to maintain the script properties and the properties of the individual nodes.
For each script, you need to maintain the script ID, description, and status. You can optionally also maintain a script authorization group and an email address to which agents can send feedback if they have questions or comments about the script. There are a few things to keep in mind when choosing a script ID because the ID cannot be changed once it is saved: The script ID should be 32 characters or less and should contain alpha numeric characters only with no special characters such as ampersands or brackets, which are interpreted by the system as being HTML or XML characters.
To make the script visible to agents in the Interaction Center, you need to assign the script to one or more scripts profiles, with the script profile being assigned to an IC WebClient Profile (CRM 2005 and below) or a CRM Business Role (CRM 2006s and above). If you have not created a script profile and assigned it to an IC WebClient Profile or CRM Business Role, you first need to go to the IMG and do so. The “Script Profiles” tab in the script properties area allows you to assign the script to one or more script profiles. (Note that if you use Sun JRE 1.6, there is a bug that prevents you from being able to assign the script to any profiles via the Interactive Script Editor; rather you will have to use the IMG configuration option to do the assignment.) You can also set a valid-to and valid-from date as part of the assignment. If you don’t set any dates, the script will be immediately available and will continue to be available until 12/31/9999.
You can optionally create chapters for your scripts. Using chapters allows you to structure the different script questions under logical headings, making it easy for Interaction Center agents to see where they currently are in the script process flow. Additionally, experienced agents can use the script overview control in the Interaction Center to jump ahead or back within a script to a particular question by chapter. To create new chapters, click the Script Chapters tab in the script properties area. For each chapter you want to add, click the Add icon and enter the title of the chapter. Once you have created all of chapters, click a question node and assign the desired chapter using the drop-down list box in the properties area.
You can set authorization levels for scripts in the Interactive Script Editor in case you only want to give certain user groups access to only display scripts but not to edit or delete scripts. Script authorization groups are defined in the IMG with transaction CRMC_ISE_GRP accessible via IMG menu path SAP Implementation Guide > Customer Relationship Management > Interaction Center WebClient > Additional Functions > Define Script Authorization Groups. Then the script authorization groups are assigned to the authorization profile for a chosen CRM business role in transaction PFCG with the authorization object CRM_IC_SCR.
Creating Objection Scripts
Objection Scripts are a special type of script. Objection scripts cannot be launched directly, but rather are selected from within another script. Typically, objection scripts are used to provide rebuttals to common objections or concerns that a customer might voice during the processing of a script. For example, if the script is designed to solicit orders for a new service, that customer might object and state that they don’t have time right now or that the price is too high. The objection scripts could contain guidance to the agent on how to potentially overcome these objections. To make an objection script available to agents as part of another script, simply drag and drop the desired objection scripts from the script repository into a script that is being edited. The objection scripts can be linked into the script like normal questions, but it is not necessary to do so. Once an objection script is added to a main script, the objection script will be available for selection by the agents when they are processing the main script. In the following example, you can see two objection scripts — price objection and time objection — on the right side of the script that is being edited. Note that the objection scripts are not connected into the normal process flow of the main script (Figure 7).

Figure 7
Objection scripts
Transporting Scripts
It is possible to transport scripts from one SAP CRM system or client to another system or client. In order to transport a script, you first have to make the script inactive. Once you select an inactive script in the Repository and click the Transport button, a transport request will be created for your user in the background, assuming that your user has authorization to generate transport requests in the SAP GUI Transports Organizer (i.e., transaction SE09). The user is not able to manually select an existing transport request, but rather a new transport request will be created for each script that is to be transported. When the transported button is pressed, the entire script, including all questions, answers, buttons, fields, actions, and profiles, will be selected and added to the transport request.
In addition to transporting scripts, you can also download and upload scripts to your local drive. Downloading scripts allows you to create backup versions of your scripts locally, which are stored as XML files. This can be very useful for analyzing and troubleshooting scripts. It is also possible to use the download and upload functionality to actually upload scripts from your local drive to the same (or another) CRM system or client. Some companies use the script download and upload functionality in lieu of the script transport functionality. Be aware, however, that you can only download and upload complete scripts, not individual elements of a script such as a question or answer. Also, if the target system already has a script with the same ID, the script will not be uploaded. Finally, after downloading and uploading the script, you will need to redo the script profile assignment because only the script data itself is transported not the related IMG configuration such as the assigned script profiles.
For the mentioned reasons, SAP recommends using the transport functionality, rather than the download and upload functionality, for transporting scripts between systems. Additionally, depending on the policies and procedures of your company’s IT organization, business users (like marketing professionals and interaction center managers) may be prohibited from transporting or uploading scripts into certain systems, such as a production system. To ensure full compliance and visibility with their IT departments, many companies prefer to use the script transport functionality rather than the upload and download functionality. Many companies only allow their business users to create scripts, and request that the transport of scripts be initiated by an SAP technical consultant, and that the release of the transport request be handled by a SAP basis consultant. Regardless of the approach you decide on, transport or upload, once you manage to get your scripts into the system you are ready to test them out.
John Burton
John Burton is a director of product management at SAP and is responsible for the SAP CRM Interaction Center (including ERMS) and social CRM topic areas. John has 13 years of experience at SAP and has been involved with SAP CRM and the Interaction Center since 1999. He is also the author of Maximizing Your SAP CRM Interaction Center, available at the SAPinsider Store. John is an alumnus of the University of Michigan and Central Michigan University. John can be found on LinkedIn at www.linkedin.com/in/sapjohnburton.
You may contact the author at john.burton@sap.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.