26Configuring the Customer Dashboard

Overview of the Customer Dashboard

The Customer Dashboard is a feature that provides access to customer information, such as contact name and account number. It remains persistent as the user navigates through Siebel CRM. The Customer Dashboard is displayed as part of the Communications Panel in the Siebel client. For more information, see Siebel Fundamentals and Siebel CTI Administration Guide.

Note the following:

  • Siebel CRM updates the Customer Dashboard based on user actions or software events. The user can either select Update Customer Dashboard in the View menu to open the dashboard with updated information, or open the Communications Panel manually and then click Update in the Customer Dashboard to update the dashboard. For more information, see Options to Update the Customer Dashboard.

  • This information remains in the Customer Dashboard until Siebel CRM runs the Clear Dashboard command.

  • During a session, Siebel CRM saves all of the data that it displays in the Customer Dashboard. The user can use the Forward and Backward buttons to display this stored data.

  • You can configure a button on an applet that updates the Customer Dashboard with information from the currently chosen row in an applet. For more information, see Configuring a Button to Update the Customer Dashboard.

  • You can configure the Customer Dashboard to display data from any business component.

  • For the Customer Dashboard, the following label names are predefined: Label 1, Label 2, Label 3, Label 4, Label 5, Label 6, and Label Time. The following field names are predefined: Field 1, Field 2, Field 3, Field 4, Field 5, Field 12, and Field Time. Only these labels and fields can be modified. To map new fields, you must modify the Siebel Web template, AppletDashboard. See also Mapping a Business Component Field to a Customer Dashboard Field.

    Object Types That the Customer Dashboard Uses

    The following table describes the object types that the Customer Dashboard uses. All object types use Persistent Customer Dashboard in the Name property except the Business Service Method object type. For example, the Customer Dashboard references the Persistent Customer Dashboard virtual business component. This business component references the Persistent Customer Dashboard business object.

    Table Object Types That the Customer Dashboard Uses

    Object Type Description

    Business Object

    Groups together business components that can update the Customer Dashboard.

    Business Component

    A virtual business component.

    Business Service

    Controls functionality of the Customer Dashboard.

    Applet

    Displays data in the Siebel client.

    View

    Displays applets in the Siebel client.

    Business Service Method

    Updates the Customer Dashboard. Upon receiving the arguments, the methods evaluate the set of fields to display, gets the data, and then enters the data into the Customer Dashboard.

      Enabling the Customer Dashboard

      Siebel CRM enables the Customer Dashboard for Siebel Call Center, Siebel Sales, and Siebel Service, by default. You can enable the Customer Dashboard for other applications.

      To enable the Customer Dashboard

      1. In Siebel Tools, display the Business Service User Prop object type, which is a child of the Business Service object type.

        For more information, see Displaying Object Types You Use to Configure Siebel CRM.

      2. In the Object Explorer, click Business Service.

      3. In the Business Services list, locate the Persistent Customer Dashboard business service.

      4. Verify that the Inactive property does not contain a check mark, which is the default setting.

      5. In the Object Explorer, expand the Business Service tree, and then click Business Service User Prop.

      6. In the Business Service User Props list, query the Name property for Applications.

      7. Add the Siebel application to the Value property.

        For example, to use Customer Dashboard for the Siebel Call Center application, the user property must include Siebel Universal Agent, as shown in the following table.

        Name Property Value Property

        Applications

        Siebel Universal Agent; Siebel Field Service; Siebel Sales Enterprise

      Process of Configuring the Customer Dashboard

        Adding a Business Component to the Customer Dashboard

        This task is a step in Process of Configuring the Customer Dashboard.

        The Customer Dashboard displays a set of fields from multiple business components, such as the Account, Contact, Employee and Service Request business components. You can configure the Customer Dashboard to display information from other business components. To do this, you add the business component to the Persistent Customer Dashboard business object.

        The Customer Dashboard does not simultaneously display data from multiple business components. It does display data in different contexts. For example, Siebel CRM displays the following information in the Customer Dashboard:

        • If the user is in the Accounts screen and clicks Update, then it displays account data.

        • If the user is in the Contacts screen and clicks Update, then it displays contact data.

        To add a business component to the Customer Dashboard

        1. In Siebel Tools, display the Business Service User Prop object type, which is a child of the Business Service object type.

          For more information, see Displaying Object Types You Use to Configure Siebel CRM.

        2. Associate the business component with the business object:

          1. In the Object Explorer, click Business Object.

          2. In the Business Objects list, query the Name property for Persistent Customer Dashboard.

          3. In the Object Explorer, expand the Business Objects tree, and then click Business Object Component.

          4. To determine whether a record already exists for the business component that must provide data to the Customer Dashboard, examine the Bus Comp property. If it does exist, then exit this task.

          5. Add a new business object component using values from the following table.

            Property Description

            Bus Comp

            Choose the name of the business component you must add.

        3. Define the business component list:

          1. In the Object Explorer, click Business Service.

          2. In the Business Services list, locate the Persistent Customer Dashboard business service.

          3. In the Object Explorer, expand the Business Service tree, and then click Business Service User Prop.

          4. In the Business Service User Props list, add a user property using values from the following table. For more information, see About the Business Component List.

            Property Description

            Name

            Enter a name for this business service user property that represents the business component list. Use the following format:

            List integer
            

            where integer is a number. For example:

            List 1
            

            Value

            Enter the name of the business component and the names of the business component fields that must provide data to the Customer Dashboard. Use the following format:

            business component name;business component field 
            name;business component field name
            

            where:

            • business component name is the value that Siebel Tools displays in the Name property of the business component. You must begin this list with the business component name.

            • business component field name is the value that Siebel Tools displays in the Name property of the business component field. If you list multiple field names, then you must use a semicolon to separate each name, as in the following example:

              Contact;Last Name;First Name;Full Name
              

          About the Business Component List

          A business component list identifies the business component and the list of business component fields that provide data to the Customer Dashboard. To create this list, you define the following properties of a user property of the Persistent Customer Dashboard business service:

          • Name. Identifies the name of the business component list.

          • Value. Identifies the name of the business component and the list of business component fields that constitute the business component list.

          The following table describes the predefined List 1 business component list for contacts and List 2 for opportunities.

          Table Example Business Component Lists in the Business Service User Property of the Persistent Customer Dashboard Business Service

          Name Property Value Property

          List 1

          Contact;Last Name;First Name;Full Name;Email Address;Work Phone #;Account;Account Location;Fax Phone #;Job Title;Mobile Phone #

          List 2

          Opportunity;Name;Account;Account Location;Oppty Id;Close Date;Sales Rep;Revenue;Sales Stage

            Mapping a Business Component Field to a Customer Dashboard Field

            This task is a step in Process of Configuring the Customer Dashboard.

            A customer dashboard field is a field that Siebel CRM displays in the Customer Dashboard. To create this field, you define a business service user property for the Persistent Customer Dashboard business service. You define the following properties for this business service user property:

            • Name. Identifies the name of the Customer Dashboard field. For example, Field 1.

            • Value. Identifies the business component list and a field from the business component list.

            Siebel CRM predefines the following field names for the Customer Dashboard:

            • Field 1.

            • Field 2.

            • Field 3.

            • Field 4. Formatted to display a phone number.

            • Field 5.

            • Field 12.

            • Field Time.

            To map a business component field to a customer dashboard field

            1. In the Object Explorer, click Business Service.

            2. In the Business Services list, locate the Persistent Customer Dashboard business service.

            3. In the Object Explorer, expand the Business Service tree, and then click Business Service User Prop.

            4. In the Business Service User Props list, add a user property using values from the following table.

              Property Description

              Name

              Enter a name for this business service user property that represents the customer dashboard field. Use the following format:

              Field integer
              

              where:

              • integer is a number.

              For example:

              Field 1
              

              Value

              You must use the following format:

              name of the business component list.position
              

              where:

              • position is the position of the business component field in the business component list.

              Consider the following examples from the table in About the Business Component List:

              • Assume you must reference the Last Name field of the Contact business component. This field is the first field that is included in the Value property for the List 1 business component list. You use the following format:

                List 1.1
                
              • Assume you must reference the First Name field of the Contact business component. This field is the second field that is included in the Value property for the List 1 business component list. You use the following format:

                List 1.2
                

              Configuring a Customer Dashboard Field to Display Data According to Context

              You can display data from fields from more than one business component in a single customer dashboard field. To do this, you define multiple values in the Value property of a business service user property for the Persistent Customer Dashboard business service.

              The Customer Dashboard business service searches through the list of user properties, starting with Field, and looks for fields that Siebel CRM maps to the Customer Dashboard from the current business component.

              If you create a new Customer Dashboard field, then make sure to include a member from every business component list. If you do not do this, then the Customer Dashboard might retain data from the previous business component when Siebel CRM updates the dashboard.

              To configure a customer dashboard field to display data according to context
              1. In Siebel Tools, in the Object Explorer, click Business Service.

              2. In the Business Services list, locate the Persistent Customer Dashboard business service.

              3. In the Object Explorer, expand the Business Service tree, and then click Business Service User Prop.

              4. In the Business Service User Props list, add a user property using values from the following table.

                Property Description

                Name

                Enter a name for this business service user property that represents the customer dashboard field. For example:

                Field 1
                

                Value

                Reference each field from each business component list. You must use the following format:

                name of the business component list.position;name of the business 
                component list.position
                

                where:

                • position is the position of the business component field in the business component list.

                For example, using the business component lists described in the table in About the Business Component List, assume you must display the following information:

                • If the Customer Dashboard is in the Contacts context, then the Field 1 customer dashboard field must display the Last Name of the contact.

                • If the Customer Dashboard is in the Opportunities context, then the Field 1 customer dashboard field must display the Opportunity Name.

                You use the following code to implement this example:

                List 1.1;List 2.1
                

                List 1.1 represents the first field of List 1. List 2.1 represents the first field of List 2.

              Example of Configuring a Customer Dashboard Field to Display Data According to Context

              Assume the Contact business component is active. The Persistent Customer Dashboard business service does the following:

              • Locates business service user properties with Field in the Name property.

              • If a Field business service user property references the Contact business component, then Siebel CRM displays data from the business component field.

              • If a Field business service user property does not reference the Contact business component, then Siebel CRM does nothing and the Customer Dashboard field remains empty.

              • If a Field business service user property references the Opportunity business component, and if the Opportunity business component is active, then Siebel CRM displays data from the Opportunity business component field.

                Creating a Label for a Customer Dashboard Field

                This topic is part of Modifying the Appearance and Layout of the Customer Dashboard.

                Siebel CRM modifies the field labels that it displays in the Customer Dashboard depending on the data that it displays in the Customer Dashboard. For example:

                • If it displays contact information, then the labels are Customer Name, Work Phone #, Email Address, and so on.

                • If it displays opportunity information, then the labels are Opportunity Name, Account, Sales Stage, and so on.

                If no data is available for the Customer Dashboard, then Siebel CRM displays labels for the default business component. The default business component is defined in the Persistent Customer Dashboard business service. The Contacts business component is predefined as the default business component.

                The Siebel runtime repository contains placeholder controls, such as Label 1, Label 2, and so on. It contains predefined business service user properties, named Label 1, Label 2, and so on. These business service user properties map the placeholder labels to fields in the Customer Dashboard.

                If you add a field to the Customer Dashboard, then you must define the label that replaces the placeholder label in the Siebel client. To create the label, you create an applet control for each business component field that you must display. The naming format for the applet control identifies it as a Label and identifies the business component and field that determine when Siebel CRM displays it.

                To create a label for a customer dashboard field

                1. In Siebel Tools, in the Object Explorer, click Applet.

                2. In the Applets list, query the Name property for Persistent Customer Dashboard Applet.

                3. In the Object Explorer, expand the Applet tree, and then click Control.

                4. In the Controls list, create a new control using values from the following table.

                  Property Description

                  Name

                  Enter a name. Use the following format:

                  Label business component name.business component field name
                  

                  For example, to reference the SR Number field of the Service Request business component, you enter the following:

                  Label ServiceRequest.SR Number
                  

                  Caption

                  Define the label text that Siebel CRM must display in the Customer Dashboard.

                  For example, to display the text SR Number before the customer dashboard field, you enter the following:

                  SR Number
                  
                5. Repeat the previous step for each label that you must display in the Customer Dashboard.

                6. Compile, and then test your modifications.

                  Formatting a Customer Dashboard Phone Number Field

                  This topic is part of Modifying the Appearance and Layout of the Customer Dashboard.

                  You can configure the Customer Dashboard to recognize different telephone extensions. You use the Phone Number Prefix business service user property to define the parameters that associate a telephone switch extension to a complete phone number.

                  To format a Customer Dashboard phone number field

                  1. In Siebel Tools, in the Object Explorer, display the Business Service User Prop object type, which is a child of the Business Service object type.

                    For more information, see Displaying Object Types You Use to Configure Siebel CRM.

                  2. In the Object Explorer, click Business Service.

                  3. In the Business Services list, locate the Persistent Customer Dashboard business service.

                  4. In the Object Explorer, expand the Business Service tree, and then click Business Service User Prop.

                  5. In the Business Service User Props list, add a user property using values from the following table.

                    Property Description

                    Name

                    Enter a name for this business service user property that represents the phone number prefix. You must use the following format:

                    Phone Number Prefix integer or letter
                    

                    For example:

                    Phone Number Prefix 1
                    

                    Value

                    Define the parameters for the phone number prefix. You must use the following format:

                    extension digits;remove digits;prefix
                    

                    where:

                    • extension digits is number of digits in the extension.

                    • remove digits is the number of digits to remove from the front of the extension.

                    • prefix is the prefix to append to the beginning of the number.

                    For example:

                    5;1;650555
                    

                    Assume the main number for your organization is 650-555-0000. A user dials the 24565 extension. In this example, Siebel CRM does the following:

                    • Specifies that the extension is 5 digits in length.

                    • Removes the first digit of the extension, which is the number 2.

                    • Adds the 650555 prefix to the remaining part of the extension, which is 4565.

                    The resulting phone number is 650-555-4565.

                  6. Compile, and then test your modifications.

                    Modifying the Go To List in the Customer Dashboard

                    This topic is part of Modifying the Appearance and Layout of the Customer Dashboard.

                    The Go To list in the Customer Dashboard allows the user to navigate to other views that Siebel CRM relates to the current record. Siebel CRM modifies the list of views depending on the data that it currently displays in the Customer Dashboard. In the Siebel client, the Persistent Customer Dashboard business service does the following:

                    1. To locate records that begin with View in the Name property, searches the list of user properties.

                    2. Locates the display name for the associated view.

                    3. Adds the name to the Go To list.

                    The following table describes some predefined business service user properties. Each business service user property represents a view that Siebel CRM displays in the Go To list. For example, View 1 specifies that if the Customer Dashboard contains data from the Contact business component, then it displays the All Activities view in the GoTo View list. If the user chooses the All Activities view from the Go To list, then it displays only records for the current Contact ID in the view.

                    Table Example Predefined Business Service User Properties That Represent Views in the Go To List

                    Name Value

                    View 1

                    Contact; All Activity List View; Activity List Applet With Navigation; Contact Id

                    View 2

                    Contact; Contact Activity Plan; Contact Form Applet

                    View 3

                    Contact; Agreement List View; Agreement List Applet No Parent; Contact Person Id

                    To modify the Go To list in the Customer Dashboard

                    1. In Siebel Tools, in the Object Explorer, display the Business Service User Prop object type, which is a child of the Business Service object type.

                      For more information, see Displaying Object Types You Use to Configure Siebel CRM.

                    2. In the Object Explorer, click Business Service.

                    3. In the Business Services list, locate the Persistent Customer Dashboard business service.

                    4. In the Object Explorer, expand the Business Service tree, and then click Business Service User Prop.

                    5. To add a view to the Go To list, in the Business Service User Props list, add a user property using values from the following table.

                      Property Description

                      Name

                      Enter a name for this business service user property that represents a view that Siebel CRM displays in the Go To list. You must use the following format:

                      View integer
                      

                      For example:

                      View 1
                      

                      Value

                      Create a view that Siebel CRM displays in the Go To list. You must use the following format:

                      business component name; view name; name of the primary applet on 
                      the view; name of the foreign key field
                      

                      For example:

                      Contact; All Activity List View; Activity List Applet With 
                      Navigation; Contact Id
                      

                      The name for each of these items must match exactly the name that is defined in the Siebel runtime repository. The foreign key field is conditional. For more information, see Referencing a Foreign Key Field from the Go To List.

                    6. Optional. Configure a label for the view.

                      For more information, see Configuring the Label for the View in the Go To List.

                    7. To modify a view or remove a view from the Go To list, do the following:

                      1. Locate the view in the Business Service User Props list.

                      2. Modify or delete the record, as required.

                    8. Compile and test your modifications.

                      For more information, see Using Siebel Tools.

                      Referencing a Foreign Key Field from the Go To List

                      If a view in the Go To list references a business component other than the current business component that provides data to the Customer Dashboard, then you must reference the name of the foreign key field.

                      For example, if the Customer Dashboard currently displays data from the Contact business component, and if the All Activities view is listed in the GoTo list, then you must define the Contact Id field as the foreign key field. The Contact Id field is the foreign key field in the Action business component that references the Contacts business component. This foreign key field allows Siebel CRM to query all activities that it relates to the contact that it currently displays in the Customer Dashboard.

                        Configuring the Label for the View in the Go To List

                        You can configure Siebel CRM to display a text label that represents the view that you configure. It displays this label in the GoTo list.

                        To configure the label for the view in the Go To list
                        1. In Siebel Tools, in the Object Explorer, click Applet.

                        2. In the Applets list, query the Name property for Persistent Customer Dashboard Applet.

                        3. In the Object Explorer, expand the Applet tree, and then click Control.

                        4. In the Controls list, create a new control using values from the following table.

                          Property Description

                          Name

                          Enter a name. Use the following format:

                          Label name of the user property
                          

                          where:

                          • name of the user property is the name of the business service user property that defines the view that Siebel CRM displays in the Go To list.

                          For example, to reference the business service user property that references the All Activity List View in Step 5 in Modifying the Go To List in the Customer Dashboard, you enter the following:

                          Label View 1
                          

                          Caption

                          Define the label text that Siebel CRM must display as the list item in the Go To list.

                          For example, to display the text Activities for This Contact, enter the following:

                          Activities for This Contact
                          
                        5. Repeat Step 4 for each label that you must display in the Go To list.

                        6. Compile, and then test your modifications.

                          Modifying the Background Color and Border of the Customer Dashboard

                          This topic is part of Modifying the Appearance and Layout of the Customer Dashboard.

                          You can modify the background color and border of the Customer Dashboard by updating a custom cascading style sheet (CSS) file.

                          To modify the background color and border of the Customer Dashboard

                          1. Apply a custom theme for Siebel Open UI.

                            For more information, see Configuring Siebel Open UI.

                          2. Locate a custom style sheet file in the following directory of your Siebel Application Interface installation:

                            SAI_ROOT\applicationcontainer\webapps\siebel\FILES\CUSTOM
                            
                          3. Open the custom style sheet file with a text editor, such as Notepad.

                          4. Add or modify the following parameters and values, using values appropriate for your customization goals:

                            /*---------------------*/
                            /*Dashboard Definitions*/
                            /*---------------------*/
                            . siebui-dashboard-frame {background:#999999;}
                            . siebui-dashboard-frame {border:2px solid #f0f0f0;}
                            

                            The siebui-dashboard-frame background and border parameters use standard HTML color values. In this example, the value #999999 is medium gray and the value #f0f0f0 is light gray.

                            Adding a Custom Control to the Customer Dashboard

                            This topic is part of Modifying the Appearance and Layout of the Customer Dashboard.

                            You can add a custom control to the Customer Dashboard.

                            To add a custom control to the Customer Dashboard

                            1. In Siebel Tools, open the Object Explorer.

                            2. Select the Applet object definition Persistent Customer Dashboard Applet.

                            3. In the Applet Control list, add a new applet control. Specify values for the following:

                              • HTML Type. Specifies the control type, such as MiniButton, Field, or FieldLabel.

                              • Field. Specifies the field that this control maps to.

                              • Caption. Specifies the text to be shown for the control, such as for a button.

                              • Method Invoked. Specifies the method to be invoked when the button for this control is clicked.

                            4. Under Applet Web Template, create a new Web template item in the Applet Web Template Item list.

                            5. Add the new control into the Web template as a Web template item. Write down the Item Identifier ID for the Web template item, such as 2902.

                            6. Under Web Template, locate the Applet Dashboard web template and edit the definition to add the new SWE control, as follows:

                              For example, to add a new Button control, add a control tag similar to the following:

                              <div od-type="control id="2902">
                              <div od-property="FormattedHtml" hintText="Button"/></div>
                              <!--od section control close–>
                              </div>
                              

                              For example, to add a new Field control, add a control tag similar to the following:

                              <div od-type="control id="1300">
                              <div od-property="FormattedHtml" hintText="Field" hintMapLabelId="od-attr-
                              currentId+100"/>
                              <!--od section control close–>
                              </div>
                              

                              For example, to add a new Label control, add a control tag similar to the following:

                              <div od-type="control id="1702">
                              <div><div od-property="<FormattedHtml>" hintText="Label"/></div>
                              <!--od section control close–>
                              </div>
                              

                              For more information about using the control tag, see Configuring Siebel Open UI and Siebel Developer's Reference. The ID specified in the control tag must match the Item Identifier ID for the Web template item.

                            7. Deploy your changes to the Siebel runtime repository.

                              Modifying a Custom Control in the Customer Dashboard

                              This topic is part of Modifying the Appearance and Layout of the Customer Dashboard.

                              You can modify a custom control in the Customer Dashboard. Doing this is similar to adding a custom control, as described in Adding a Custom Control to the Customer Dashboard.

                              To modify a custom control in the Customer Dashboard

                              1. Edit the AppletDashboard web template.

                              2. Determine which field you want to modify.

                                See the list of predefined field and label names for custom controls, in Overview of the Customer Dashboard.

                              3. In Siebel Tools, open the Object Explorer.

                              4. Select the Applet object definition Persistent Customer Dashboard Applet.

                              5. In the Applet Control list, select the applet control that you want to modify.

                              6. Under Applet Web Template, in the Applet Web Template Item list, select the Web template item corresponding to the field that you want to modify (see Step 2).

                              7. Modify the Web template item as desired.

                              8. Save your changes and then deploy your changes to the Siebel runtime repository.

                                Overview of Updating the Customer Dashboard

                                Information in the Customer Dashboard can be updated in multiple ways, including the following:

                                • Selected Record. After choosing a record in a view, the user can either select Update Customer Dashboard in the View menu to open the dashboard with updated information, or open the Communications Panel manually and then click Update in the Customer Dashboard to update the dashboard. Siebel CRM updates the Customer Dashboard with data from fields in the primary business component that the view references. It updates fields in the dashboard with data from the business component record.

                                • Communications event. When the user accepts an incoming call, Siebel CRM can enter contact information from the caller into the Customer Dashboard. For more information, see Configuring Communications Events to Update the Customer Dashboard.

                                • SmartScript answer. Siebel CRM can enter the answer to a question from a SmartScript into the Customer Dashboard. For more information, see Configuring SmartScript to Update the Customer Dashboard.

                                • Scripts. You can use Siebel Visual Basic or Siebel eScript to update information in the Customer Dashboard or pull information from the Customer Dashboard. For more information, see Using Siebel Visual Basic or Siebel eScript to Update Information in the Customer Dashboard.

                                • Personalization. You can use personalization to update information in the Customer Dashboard or pull information from the Customer Dashboard For more information, see Using Personalization to Update the Customer Dashboard.

                                • Search Center results. If Siebel CRM cannot identify the customer from an inbound call, then the user can search for the contact in the Search Center, and then update the dashboard manually as described earlier.

                                  Configuring a Button to Update the Customer Dashboard

                                  This topic is part of Options to Update the Customer Dashboard.

                                  The Customer Dashboard includes application programming interfaces (APIs) to pull information from or push information to the Customer Dashboard through Siebel Visual Basic script or Siebel eScript script. The Customer Dashboard resides in a separate frame, so it requires a user interface event to update customer dashboard fields. To create a user event, you must add a button to an applet that uses a script to call the Update Dashboard command.

                                  To configure a button to update the Customer Dashboard

                                  1. In Siebel Tools, in the Object Explorer, click Applet.

                                  2. In the Applets list, locate the applet you must modify.

                                  3. In the Object Explorer, expand the Applet tree, and then click Control.

                                  4. In the Controls list, add a button as an applet control and set properties using values from the following table.

                                    Property Value

                                    Target View Frame

                                    Dashboard

                                  5. Define the script for the new button.

                                    Your script must do the following:

                                  6. Compile and test your modifications.

                                    For more information, see Using Siebel Tools.

                                    Updating the Customer Dashboard With Data from a Virtual Business Component

                                    An update to the Customer Dashboard requires a row ID. A virtual business component uses a virtual row ID. To display information from a virtual business component in the customer dashboard, you must script the UpdateDashboard function.

                                      Customer Dashboard Allows Only One Update for Each User Interface Event

                                      The Customer Dashboard allows only one user interface update for each user interface event. For example, if you add a button to a view, then one click of that button is one user interface event. For that event, Siebel CRM can run only one user interface update, such as updating the Customer Dashboard. The code behind a single button cannot include two user interface updates, such as updating the Customer Dashboard, and then displaying a new view in the main frame of the Siebel application.

                                        Configuring Communications Events to Update the Customer Dashboard

                                        This topic is part of Options to Update the Customer Dashboard.

                                        You can use communications events to update the Customer Dashboard. The following are examples of communications events:

                                        • Inbound email message

                                        • Voice call

                                        For example, you can define communications events to update the Customer Dashboard with contact information. To meet your display requirements, you can configure any communications event for any business component. (You can also configure communications commands in a similar way, as appropriate for your implementation.) For more information, see Siebel CTI Administration Guide.

                                        When a communications event is triggered, the Update Dashboard from CTI method of the Persistent Customer Dashboard business service can be invoked, based on how communications events are configured in your environment. For an example of how event parameters can function in your application, see the following table.

                                        Siebel CRM predefines the CTI administration views to call the UpdateDashboard business service method when a significant event occurs, and to send variables as arguments. Example variables include the phone number and number of calls in queue.

                                        To update the Customer Dashboard as a result of a communications event, you must call the method to update the Customer Dashboard and send the following parameters:

                                        • Business component name

                                        • Name of the business component field

                                        • Value that you require from this communications event

                                        For example, the parameters listed in the following table configure the Customer Dashboard to get data from contact information for the contact for whom Work Phone # matches the ANI (automatic number identification) of the inbound call.

                                        Table Example Parameters for Communication Events to Update Customer Dashboard

                                        Parameter Example Value

                                        ServiceMethod

                                        Persistent Customer Dashboard.Update Dashboard from CTI

                                        ServiceParam.Field

                                        Work Phone #

                                        ServiceParam.Value

                                        {ANI}

                                        ServiceParam.BuscompName

                                        Contact

                                          Calling the Customer Dashboard Business Service from the Communications Event Log

                                          You can call the Customer Dashboard business service from the communications event log.

                                          To call the Customer Dashboard business service from the communications event log
                                          1. In the Siebel client, navigate to the Administration - Communications screen, and then click the All Event Handlers link.

                                          2. Query the Name property of the Event Handlers list for InboundCallReceived.

                                          3. Click the Associated Event Logs tab.

                                          4. Click the LogIncomingCallContactFound link.

                                          5. In the Event Log Parameters list, set the parameters. For example, for contacts, you can use values from the following table.

                                            Name Value

                                            ServiceMethod

                                            Persistent Customer Dashboard.Update Dashboard from CTI

                                            ServiceParam.Field

                                            Id

                                            ServiceParam.Value

                                            {Contact.Id}

                                            WorkTrackingObj.ContactId

                                            {Contact.Id}

                                            Configuring SmartScript to Update the Customer Dashboard

                                            This topic is part of Options to Update the Customer Dashboard.

                                            You can configure the Customer Dashboard so that Siebel CRM updates the Customer Dashboard with the answer to a question that it gets from a SmartScript script. For more information about Siebel SmartScript, see Siebel SmartScript Administration Guide.

                                            To configure SmartScript to update the Customer Dashboard

                                            1. In Siebel Tools, in the Object Explorer, display the following object types:

                                              • Applet User Prop object type, which is a child of the Applet object type

                                              • Business Service User Prop object type, which is a child of the Business Service object type

                                              For more information, see Displaying Object Types You Use to Configure Siebel CRM.

                                            2. Make sure the SmartScript Player is active:

                                              1. In the Object Explorer, click Applet.

                                              2. In the Applets list, locate the Smart Script Player Applet (Tree Only) applet.

                                              3. In the Object Explorer, expand the Applet tree, and then click Applet User Prop.

                                              4. In the Applet User Props list, locate the Notify Dashboard applet user property, and then verify the property described in the following table.

                                                Property Value

                                                Value

                                                Y

                                            3. Map SmartScript variables to customer dashboard fields:

                                              1. In the Object Explorer, click Business Service.

                                              2. In the Business Services list, locate the Persistent Customer Dashboard business service.

                                              3. In the Object Explorer, expand the Business Service tree, and then click Business Service User Prop.

                                              4. In the Business Service User Props list, create a new record using values from the following table.

                                                Name Value

                                                SmartScript List

                                                Fname;Lname;Phone;Interests

                                                These values represent the variables from the SmartScript script that Siebel CRM displays in the Customer Dashboard. These values must match exactly the variable names defined in the SmartScript script.

                                                This mapping configuration is similar to defining user properties for a business component list. For more information, see Mapping a Business Component Field to a Customer Dashboard Field.

                                            4. Compile your modifications, and then open the Siebel client.

                                            5. Map SmartScript answers to the Customer Dashboard:

                                              1. In the Siebel client, navigate to the Administration - SmartScript screen, and then click the Questions link.

                                              2. In the Questions list, choose a question.

                                              3. In the More Info form, in the Save User Parameters field, enter SmartScript List.

                                                This step allows Siebel CRM to save the answer as a global variable to the script. The name of the variable you enter must match exactly the name of the business service user property that you defined in Step 3.

                                              4. Click the Scripts link, and then locate the appropriate script in the Scripts list.

                                              5. In the Translation form, enter the name of the variables from each question into the Dashboard Text field. Use the following format:

                                                [name of variable] [name of variable]
                                                

                                                For example:

                                                [Fname] [Lname]
                                                

                                                Siebel CRM sends the values for the variables in the Dashboard Text field to the Customer Dashboard when it runs the SmartScript.

                                              6. Repeat Step a through Step e for each question you must configure for the Customer Dashboard.

                                            6. Test your modifications.

                                              Updating the Customer Dashboard from Scripts That Siebel CRM Runs in SmartScript

                                              You cannot update the Customer Dashboard from Siebel Visual Basic script or Siebel eScript script that runs in a SmartScript script. A one-to-one relationship exists between a user interface event and the ability to update a frame in Siebel CRM. Each user interface event in a SmartScript script updates the SmartScript frame, so it cannot update the Customer Dashboard frame. If you send parameters to the Customer Dashboard from a Siebel Visual Basic script or Siebel eScript script in a SmartScript script, then the Customer Dashboard receives the parameters but it cannot display them.

                                                Using Siebel Visual Basic or Siebel eScript to Update Information in the Customer Dashboard

                                                This topic is part of Options to Update the Customer Dashboard.

                                                You can use Siebel Visual Basic or Siebel eScript to update information in the Customer Dashboard or pull information from the Customer Dashboard. The Customer Dashboard is a business service, You must use the following command:

                                                GetService("Persistent Customer Dashboard")
                                                

                                                You use the following commands to pull information from the dashboard:

                                                • GetCurrentContactId

                                                • GetDashboardFieldValue

                                                  Command to Get the Record ID of the Current Dashboard Record

                                                  This GetCurrentContactId command returns the record ID for the record that Siebel CRM currently displays in the Customer Dashboard. For example:

                                                  • If the record is from the Contact business component, then GetCurrentContactId returns the ContactId

                                                  • If the record is from the Account business component, then GetCurrentContactId returns the AccountId.

                                                  Do not define any input arguments.

                                                  Always define ContactId as the output argument. The Customer Dashboard uses the ContactId variable. In this situation, this variable includes the record ID of the business component whose data Siebel CRM currently displays in the Customer Dashboard.

                                                  Example of the GetCurrentContactId Command

                                                  The following code is an example of the GetCurrentContactId command:

                                                  bs.InvokeMethod("GetCurrentContactId",inpargs,outargs);
                                                  
                                                  var fvalue = outargs.GetProperty("Contact Id");
                                                  
                                                  // do something with the contact ID
                                                  

                                                    Command to Get the Value of the Current Dashboard Field

                                                    The GetDashboardFieldValue command returns the current field value of the current record in the Customer Dashboard. The input argument is the name-value pair for the Customer Dashboard field. The output argument is Field Value.

                                                    Example of the GetDashboardFieldValue Command

                                                    The following code is an example of the GetDashboardFieldValue command:

                                                    inpargs.SetProperty("Field Name","Field 4");
                                                    
                                                    bs.InvokeMethod("GetDashboardFieldValue",inpargs,outargs);
                                                    
                                                    var fvalue = outargs.GetProperty("Field Value");
                                                    
                                                    // do something with the field value
                                                    

                                                      Update Dashboard Command

                                                      You use the Update Dashboard command to enter a new record in the Customer Dashboard. This example uses the following name-value pairs as input arguments:

                                                      • Source Name: Base View

                                                      • Buscomp Name: Contact

                                                      • RowId: E301

                                                      Example of the Update Dashboard Command

                                                      The following code is an example of the Update Dashboard command:

                                                      inpargs.SetProperty("Source Name","Base View", "Buscomp Name", "Contact", "RowId", 
                                                      "E301");
                                                      
                                                      bs.InvokeMethod("Update Dashboard",inpargs,outargs);
                                                      

                                                        Examples of Using Customer Dashboard Commands with Scripts

                                                        The examples in this topic use Customer Dashboard commands to do the following:

                                                        • Get the contact ID, Field 4, and Field Time of the current record in the Customer Dashboard.

                                                        • Print values of the contact ID, Field 4, and Field Time to a file.

                                                        Example of Using Customer Dashboard Commands with Siebel eScript

                                                        The following example script is written in Siebel eScript. For more information, see Siebel eScript Language Reference:

                                                        function Script_Open ()
                                                        {
                                                           var fn1=Clib.fopen("d:\\sabari5.txt", "wt");
                                                           var bs = TheApplication().GetService("Persistent Customer  dashboard");
                                                           var inpargs= TheApplication().NewPropertySet();
                                                           var outargs = TheApplication().NewPropertySet();
                                                        
                                                           bs.InvokeMethod("GetCurrentContactId",inpargs,outargs);
                                                           var fvalue = outargs.GetProperty("Contact Id");
                                                           Clib.fprintf (fn1, "The current id in the dashboard = %s \n",fvalue); 
                                                        
                                                           inpargs.SetProperty("Field Name","Field 4");
                                                           bs.InvokeMethod("GetDashboardFieldValue",inpargs,outargs);
                                                           var fvalue = outargs.GetProperty("Field Value");
                                                           Clib.fprintf (fn1, "The Account Name in the dashboard =  %s  \n",fvalue); 
                                                        
                                                           inpargs.SetProperty("Field Name","Field Time");
                                                           bs.InvokeMethod("GetDashboardFieldValue",inpargs,outargs);
                                                           var fvalue = outargs.GetProperty("Field Value");
                                                           Clib.fprintf (fn1, "The current time of the agent/customer in the dashboard =
                                                           %s  \n",fvalue); 
                                                        
                                                           Clib.fclose(fn1);
                                                        return(ContinueOperation);
                                                        }
                                                        

                                                        The following example script is written in Siebel Visual Basic. For more information, see Siebel VB Language Reference:

                                                        Sub Script_Open
                                                        
                                                             Dim bs as Service
                                                             Dim inpargs as PropertySet
                                                             Dim outargs as PropertySet
                                                             Dim fvalue as String
                                                        
                                                        Open "d:\sabari.txt" for Output as #1
                                                        Set bs = TheApplication().GetService("Persistent Customer  dashboard")
                                                             Set inpargs = TheApplication.NewPropertySet
                                                             Set outargs  = TheApplication.NewPropertySet
                                                        
                                                             bs.InvokeMethod "GetCurrentContactId",inpargs,outargs
                                                             fvalue = outargs.GetProperty("Contact Id")
                                                             Write #1, "The current id in the dashboard = " & fvalue
                                                        
                                                             Inpargs.SetProperty "Field Name","Field 4"
                                                             bs.InvokeMethod "GetDashboardFieldValue",inpargs,outargs
                                                             fvalue = outargs.GetProperty("Field Value")
                                                             Write #1," The Account Name in the dashboard =  "& fvalue
                                                             Close #1
                                                        
                                                        End Sub
                                                        

                                                          Using Personalization to Update the Customer Dashboard

                                                          This topic is part of Options to Update the Customer Dashboard.

                                                          The Personalization engine can personalize the Siebel Call Center application according to the agent profile and the customer profile. Siebel CRM loads the agent profile when the agent logs into Siebel CRM. It loads the customer profile when it enters values for customer information in the Customer Dashboard. This allows the agent to view customer information according to personalization rules that your Siebel administrator creates.

                                                          For example, you can display a different applet or view to the agent according to the customer profile. You can display a Recommended Products applet that only displays products for this customer according to products that the customer previously purchased.

                                                          To access the profile information, you create personalization rules. The following attributes allow you to access different types of information:

                                                          • Me attribute. Provides access to agent profile information.

                                                          • You attribute. Provides access to customer profile information.

                                                          The following are examples of these commands.

                                                          • GetProfileAttr("You.Last Name")

                                                          • GetProfileAttr("Me.Last Name")

                                                          For more information, see Siebel Personalization Administration Guide.