13Configuring the Inbox

Planning for Inbox Configuration

Before you start configuring the Inbox, complete some research and planning.

This task is a step in Process of Setting Up and Configuring Inbox.

To plan an Inbox Configuration

  1. Select the feature object you want to integrate with the Inbox.

    For example, Employee Self-Service forms, Service Requests, Opportunities.

  2. Analyze how the object is currently accessed.

    Consider the following questions:

    1. Is the object accessed from the UI or from workflow processes? Is the object accessed from one place or many places?

    2. How is the object related to other objects? Do other objects depend on the object?

    3. What operations do users perform on the object?

  3. Determine the integration mechanism by considering what must happen to the object after it enters the Inbox.

    The types of integration with the Inbox include:

    • Inbound. It is typically triggered through workflows, eScripts, run-time events, or Workflow Monitor agents.

    • Outbound. It is typically triggered through workflows and eScripts.

    For example, if users access the feature object in other ways besides using the Inbox, then synchronize (inbound) the Inbox with the object’s current data. (See How the Inbox Interacts with Feature Objects.)

  4. Consider the following best practices:

    • Interact with the Inbox only through the methods in the Universal Inbox business service.

      Do not edit the Inbox fields directly.

    • Do not customize the fields in the Inbox.

    • You cannot reactivate an Inbox item after the item has been deactivated for the owner.

      Instead, you must create a new Inbox item for that owner.

Creating Inbox Items

Inbox items are created by the Universal Inbox business service. Methods for this business service can be called using the following mechanisms:

  • Workflows

  • Workflow Monitor Agent

  • eScripting

  • Run-time events

The procedure in this topic shows how to configure the Siebel application to have Inbox items created in a certain screen or for a business component.

This task is a step in Process of Setting Up and Configuring Inbox.

To configure the Siebel application to create Inbox items

  1. Review the information about the Inbox business service, methods and workflows at the end of this chapter.

  2. Review the procedures for setting up Inbox types.

  3. Use one of the methods provided in the list in this topic to call the Inbox business service and create Inbox items.

Creating Inbox Types

Each Inbox item that is created is assigned an Inbox type. The Inbox type sets the following characteristics for the Inbox item:

  • Action Type

    The action type is the LOV type that determines the actions the user can choose to take on an Inbox.

    For example, there are the following LOV records for the UINBOX_STATUS_TYPE action type: Approved, Received, and Rejected. These records represent the actions that the user can take on an Inbox item of this type.

    Note: Because the effect of the action is set for each Item type, this LOV type can be used for many Item types, but the effect of approving or rejecting can be different for each Item type.
  • Category

    The category determines the icon that appears in the Category field for the item in the Inbox. The category field can be useful for querying and sorting Inbox item and Inbox type records. For information about editing the Category icon, see Configuring the Category Icon for the Inbox.

  • Replication Level

  • Integration Object Name

  • Business Object Name

  • Item Expiration Duration (Days)

  • Default Queue Duration (Days)

  • Views and SmartScripts that link to the Inbox item

  • Effects of the actions that the user can choose

This task is a step in Process of Setting Up and Configuring Inbox.

To create an Inbox type

  1. Navigate to the Administration - Inbox screen, then the All Inbox Types view.

  2. In the Inbox Types list, create a new record, and complete the necessary fields in the More Info form.

    Some fields are described in the following table.

    Field Comments

    Replication Level

    Select None if you do not want to download Inbox items to remote databases. Otherwise, see Configuring the Inbox for Use with Remote Databases.

    Integration Object Name

    Select a value if an integration object is associated with the Inbox type. This field has is special logic.

    Business Object Name

    Select the feature object that the destination view belongs to.

    Default Queue Duration (Days)

    Type the number of days that the item can stay in the Inbox before the Past Due check box appears selected. This field determines the due date for the item.

    Item Expiration Duration (Days)

    Type the number of days that the item can stay in the Inbox before the item expires. By default, no action is taken when the item expires. The Expiration field appears in the Submitted Items List view.

Setting Up Inbox Actions

Review the information in the following topics before setting up Inbox actions:

This task is a step in Process of Setting Up and Configuring Inbox.

About Actions

There are several circumstances where a business service method can be invoked to act on an Inbox item. A different action type is used for each. The following table summarizes these actions.

Action Invokes the Specified Business Service Method When...

Action Field Dropdown

The user takes action (edits the Action field on the Inbox item).

Name Drilldown

The user drills down on the Name field of the item. You can also use the Views view to configure this hyperlink. For more information about how to use the Views view to configure this hyperlink, see Setting Up Inbox Links to Views and SmartScripts.

Local Validation

The user, in a remote database, drills down on the Name field of the item. For more information, see Configuring the Inbox for Use with Remote Databases.

Initialize

Do not use this action unless you are upgrading. This action is provided for backward compatibility. For more information, see Siebel Database Upgrade Guide.

This action invokes the Initialize method of the Universal Business Service. It creates an Inbox item and starts the defined method.

Transfer

The user transfers the Inbox item to another user.

Transfer Validation

The user transfers the Inbox item to another user, and the Transferable field for the Inbox Type is selected.

In the preconfigured Siebel application, the Transfer action and Transfer Validation action are implemented only for task inbox items (the Task business object). These actions invoke the Transfer method of the Task Administration business service. If you want to implement these actions for another inbox item, then you must create for the appropriate business object a custom method in a business service or a custom workflow process to perform the action, and then set up the action to invoke this custom method or workflow.

About Deactivate Item Upon Finish and Deactivate Owners Upon Finish Fields

An Inbox item can be deactivated in the following ways:

  • Deactivation can be done through one of the Universal Inbox Business Service methods.

  • The Inbox type can be set up so that if the business method in the Actions record finishes without error, then the item is deactivated. For an example of an Inbox action setup, see Examples of Inbox Triggers.

    The item can be deactivated for all the owners or only for owner who takes the action, as follows:

    • If Deactivate Item Upon Finish is set, then when one owner takes action on the item, the item is deactivated for all owners, and all owners see the item in their Completed Items List.

    • If Deactivate Owners Upon Finish is set, then when one owner takes action, the item is deactivated (and moved to the Submitted Items List) for that owner alone. The item remains in the other owners’ Inbox List.

To set up an Inbox action

  1. Navigate to the Administration - Inbox screen, then the All Inbox Types view.

  2. In the Inbox Types list, select the Inbox Type, and navigate to the Actions view.

  3. In the Actions list, create a new record, and complete the necessary fields.

    Some fields are described in the following table.

    Field Comments

    Action

    Select a value for the action. For more information, see About Actions.

    Business Service

    Select the business service to use, for example, Workflow Process Manager.

    Business Service Method

    Select the method to invoke for the selected business service.

    Business Service Method Arguments

    Type the arguments required to invoke the business service method. For example, if you use the Workflow Process Manager business service, then your workflow must contain the properties with the same argument names.

    Deactivate Item Upon Finish

    Select the check box to deactivate the Inbox item for all owners, after the method has successfully completed.

    Deactivate Owners Upon Finish

    Select the check box to deactivate the Inbox item for one owner, after the method has successfully completed.

    In addition to the arguments passed in the Business Service Method Arguments field, the arguments in the following table are always passed to your custom business service or workflow.

    Argument Comments

    ActionLIC

    The value the user selected from the Action field. For example, if the Inbox Type has an Action Type of UINBOX_STATUS_TYPE, then the value of this argument is one of the following: Accepted, Received, or Rejected.

    BusinessObjectName

    The value of the business object name field for the Inbox type.

    Employee Login

    The login ID of the user who uses the Inbox type.

    InboxItemId

    The row ID of the Inbox item. This argument refers to the UInbox Item business component, which is used by the Submitted Items List view.

    InboxTypeId

    The row ID of the Inbox type.

    InboxTypeName

    The name of the Inbox type.

    IntegrationObjectName

    The value of the integration about name for the Inbox type. If the Inbox type has an integration object name, then the value of this field is passed in this argument.

    ObjectId

    The row ID of the business object name that is managed by the Inbox type.

    Note: This row ID is not the standard Object ID property that is available on every workflow.

    OwnerInfoId

    The row ID of the Inbox Item Task. This argument refers to the UInbox Item Task business component, which is used by the Inbox Items List and Completed Items List view.

Note: The Inbox Action passes the row ID of the feature object in ObjectId. Within a workflow process, the ID of the primary business component on which the process is based must be stored in the process properties Object ID. Note the space character in the Object ID process property name. Therefore, the workflow process first copies the content of ObjectId to Object ID, if necessary.

Configuring the Inbox for Use with Remote Databases

Inbox items can be downloaded to regional and local databases. The Inbox functionality downloads Inbox item records but does not download the underlying feature object.

Caution: The person who configures the Inbox must make sure that the feature object is downloaded. If the feature object is not downloaded, then remote users cannot view the underlying feature object in the Inbox item. For example, you must make sure that the service request records that the Inbox item points to are downloaded to the local database.

If your business processes require your users to download Inbox items to remote databases, then set up a Local Validation action. This action invokes a business service method that you define when a remote user attempts to view the underlying feature object.

The method that you define must return an argument to the Inbox, to tell the Inbox that the feature object is not present. The Inbox then displays an error message to the user and prevents the drilldown.

This task is a step in Process of Setting Up and Configuring Inbox.

To configure the Inbox for remote use

  1. Define a business service with a business service method that does the following:

    1. Accepts the following arguments from the Inbox:

      • InboxItemId

      • OwnerInfoId

      • ObjectId

      • InboxTypeName

      • BusinessObjectName

      • IntegrationObjectName

      • Name-value pairs from the Inbox Parameters tables

    2. Looks for the feature object, and, if the feature object is found, then sets the output argument LocalValidationError to N.
  2. Navigate to the Administration - Inbox screen, then the All Inbox Types view.

  3. In the Inbox Types list, select the type record.

  4. In the More Info form, set the Replication Level.

    Values include:

    • All. Set this value to download Inbox items to regional and local databases.

    • Regional. Set this value to download Inbox items to regional databases only.

  5. Navigate to the Actions view.

    In the Actions list, create a new record, and complete the necessary fields. Some fields are described in the following table.

    Field Comments

    Action

    Select Local Validation.

    Business Service

    Select the business service that you defined in step 1.

    Business Service Method

    Select the business service method that you defined in step 1.

    Business Service Method Arguments

    Type the arguments for the business service method.

Setting Up Inbox Approval Translations

If your Siebel application is multilingual, then create a translation record for each language.

Use the Translations view to specify Inbox type names in other languages.

This task is a step in Process of Setting Up and Configuring Inbox.

To set up an Inbox translation

  1. Navigate to the Administration - Inbox screen, then the All Inbox Types view.

  2. In the Inbox Types list, select the approval record, and navigate to the Translations view.

  3. In the Translations list, create a new record, and complete the necessary fields.

    Some fields are described in the following table.

    Field Comments

    Display Name

    Type the display name for translation of the Inbox type Name.

Configuring the Toggle Applets for Inbox Views

The Inbox supports dynamic toggle applets in three types of views. The following table shows these views.

Views Supporting Dynamic Toggle Applet Toggle Applet Name Corresponding Business Component for Views

Inbox items detail views

UInbox Item Task Toggle List Applet

UInbox Item Task

Completed items detail views

Submitted items detail views

UInbox Item Toggle List Applet

UInbox Item

When you set up a dynamic toggle applet, you determine which type of form applet appears in the lower portion of the Inbox Detail views. Typically, the applet that is based on the business object of the underlying feature object is the most suitable applet.

For example, if you want to set up the Inbox for service request approvals, then you can create a dynamic toggle applet that displays the Service Request Detail Applet form applet when the business object for the Inbox type is Service Requests. Then you can create a link between the Inbox business components and the Service Request business component, so that the service request information can appear in the Inbox detail views.

To configure dynamic toggle applets for the Inbox

  1. In Siebel Tools, create an applet child object for the appropriate toggle applet, as follows:

    1. Create a form applet. Make sure that an Applet Web Template is defined for the Edit mode of this applet.

    2. Set the value of the Auto Toggle Field to Item Type BusObj Name.

    3. Set the value of the Auto Toggle Value field to the business object of the Inbox type. For example, set the value to Service Request.

    For information about which toggle applet to create a child object for, see the previous table. For more information about how to configure toggle applets, see Configuring Siebel Business Applications.

  2. Create links between the business component of the feature object and the UInbox Item and UInbox Item Task business components by completing the following steps:

    1. Create a link record.

    2. Complete the fields in the following table.

      Field Comments

      Name

      Displays the link name after the Parent Business Component and Child Business Component fields are completed.

      Parent Business Component

      Select UInbox Item Task or UInbox Item.

      Child Business Component

      Select the business component for the dynamic toggle applet, for example, Service Request.

      Source Field

      Type the Item Object ID.

      Destination Field

      Type the ID of the feature object to appear in the dynamic toggle applet; usually this field is ID.

    For more information about creating links, see Configuring Siebel Business Applications.
  3. Associate the business component for the dynamic toggle applet with the two Inbox business objects UInbox ItemTask and UInbox Item History. For each link, perform the following steps:

    1. Create a business object component record.

    2. Complete the fields in the following table.

      Field Comments

      Name

      Type the name of the business component for the dynamic toggle applet, for example, Service Request.

      Link

      Type the name of the link from Step 2.

Configuring the Category Icon for the Inbox

You can change and add to the icons that appear in the Category field by editing the Inbox Category bitmap category. For more information about bitmap categories and working with images, see Configuring Siebel Business Applications.

To add Category icon for a Category field value

  1. Add the icon image file, in Graphic Interchange Format (GIF), to the images directory.

    Base the size of your image on the existing Category icons in this directory, for example, icon_approval.gif.

  2. In Siebel Tools, create a bitmap record for the Inbox Category bitmap category object, and complete the fields in the following table.

    Field Comments

    Name

    Type the language-independent code for the value, from the UINBOX_INBOX_TYPE LOV, for example, CAMPAIGNS.

    Bitmap

    Type the name of the file from Step 1.

Setting the Log File for Troubleshooting

For troubleshooting problems with the Inbox, set the Inbox log file to a verbose level. For information about log files, see Siebel System Monitoring and Diagnostics Guide.

To set the level of the Inbox log file for troubleshooting

  • In Siebel Tools, set the Log Level for the Inbox log file (alias of InboxLog) to 5.

Universal Inbox Business Service Methods

This topic discusses the Universal Inbox business service and lists its methods.

The following definitions apply to the Universal Inbox Business Service:

  • Inbox item and Inbox item owner. For most of this chapter, the term Inbox item has been used synonymously with Inbox item owner. But to understand how the methods for the Universal Inbox business service work, it is necessary to distinguish between the Inbox item and the inbox item owner. This distinction follows:

    • The Inbox item. The record that appears in the Submitted Items views.

    • The Inbox item owner. The record that appears in Inbox Items and Completed Items views. Owner information is contained in this record. Typically there are one or more Inbox item owner records associated with one Inbox item record.

  • Name-value pairs. In addition to the predefined fields that belong to the Inbox item records (such as type name and expiration date), there is provision to store additional data with the Inbox item in the form of name-value pairs. The name-value pairs are typically used to record data specific to the underlying feature object. The name-value pairs are stored in the Inbox Parameters table associated with the Inbox item.

The following figure shows the relationship between Inbox items and Inbox item owners:
  • The Inbox Item record, and its Name and Value parameters, appears in the Submitted Items views.

  • The Inbox Item Owner records appear in the Inbox Items and Completed Items views.

How Inbox Interacts with Feature Objects: This image is described in the surrounding text.

The following table describes the methods for the Universal Inbox business service.

Method Name

Description

CreateInboxEx

Creates an Inbox item and an Inbox item owner.

CreateInbox

Creates multiple Inbox items and multiple Inbox item owners.

CreateInboxItem

Creates multiple Inbox items.

CreateInboxOwner

Creates multiple Inbox item owners for an Inbox item.

IsInboxItemExisted

Checks if an Inbox item exists.

GetInboxItemInfo

Returns field values from an Inbox item and, if GetParams is true, then returns the name-value pairs for the Inbox item.

GetInboxParamInfo

Returns the name-value pairs for an Inbox item.

GetInboxOwnerInfoEx

Returns field values for an Inbox item owner.

GetInboxOwnerInfo

Returns field values for multiple Inbox item owners for an Inbox item, and returns information about the action status of the items.

SetInboxParamInfo

Inputs name-value pairs for an Inbox item.

UpdateInboxItemInfo

Updates field values for an Inbox item.

DeactivateInboxItem

Deactivates all Inbox item owners for an Inbox item and updates field values for that Inbox item.

DeactivateInboxOwner

Deactivates an Inbox item owner, and updates the field values for that Inbox item owner.

UpdateInboxOwnerInfo

Updates field values for an Inbox item owner.

DeleteInboxItem

Deletes an Inbox item and all associated Inbox item owners.

Initialize

Creates an Inbox item and starts the business service method defined in the Initialize action. This method is intended for use only by those upgrading from the 7.5.3 version of the Siebel application.

RouteInboxItem

Deactivates existing Inbox item owners and creates new Inbox item owners for an Inbox item. This method is intended for use only by those upgrading from the 7.5.3 version of the Siebel application. For more information about this method, see Siebel Database Upgrade Guide.

CreateInboxEx Method

This method creates an Inbox item and an Inbox item owner. The name-value pairs are put into the Inbox Parameters table.

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

InboxName

Yes

This property is the name for the Inbox.

InboxTypeName

Yes

This property is the name of Inbox type.

InboxPartyId

Yes

This property is the party ID of the Inbox owner.

Comments

No

None.

ObjectId

Yes

This property is the object ID of the Inbox item.

InboxExpirationDuration

No

The duration is expressed in seconds.

InboxUTCExpirationTS

No

This property is the UTC timestamp.

ReplicationLevel

No

This property indicates whether this Inbox item must be routed when using remote databases. Select one of the following options:

  • All. Indicates HQ, Regional, Local.

  • Regional. Indicates HQ, Regional.

  • None. Indicates HQ.

OwnerPartyId

Yes

This property is the party ID of the Inbox owner.

OwnerPriority

No

None.

OwnerQueueDuration

No

The duration is expressed in seconds.

OwnerUTCStartWorkingTS

No

This property is the UTC timestamp.

OwnerActionLIC

No

This property is the language-independent code.

OwnerUTCDueTS

No

This property is the UTC timestamp.

Output Arguments

The following table shows the output arguments for this method.

Property Name Comments

InboxItemId

This property is the row ID of the newly-created Inbox item.

OwnerInfoId

This property is the information ID for the Inbox owner.

CreateInbox Method

This method creates multiple Inbox items and multiple Inbox item owners. The name-value pairs are put into the Inbox Parameters table.

Input Arguments

The following table shows the input arguments for this method for the property set.

Property Name Required Comments

Child properties

No

Multiple children are allowed. See the following table.

The following table shows the input arguments for this method for the child property set.

Property Name Required Comments

InboxName

Yes

This property is the name for the Inbox.

InboxTypeName

Yes

This property is the name of Inbox type.

InboxPartyId

Yes

This property is the party ID of the Inbox owner.

ObjectId

No

This property is the object ID of the inbox item.

InboxExpirationDuration

No

The duration is expressed in seconds.

InboxUTCExpirationTS

No

This property is the UTC timestamp.

Comments

No

None.

Child properties

No

Multiple children are allowed. See the following table.

The following table shows the input arguments for this method for the grandchild property set.

Property Name Required Comments

OwnerPartyId

Yes

This property is the party ID of the Inbox owner.

OwnerPriority

No

None.

OwnerQueueDuration

No

The duration is expressed in seconds.

OwnerUTCDueTS

No

This property is the UTC timestamp.

OwnerUTCStartWorkingTS

No

This property is the UTC timestamp.

OwnerActionLIC

No

This property is the language-independent code.

Output Arguments

The following table shows the output arguments for this method for the property set.

Property Name Comments

Child properties

Multiple children can be returned. See the following table.

The following table shows the output arguments for this method for the child property set.

Property Name Comments

InboxItemId

This property is the row ID of the newly-created Inbox item.

Child properties

Multiple children can be returned. See the following table.

The following table shows the output arguments for this method for the grandchild property set.

Property Name Comments

OwnerPartyId

This property is the party ID of the Inbox owner.

OwnerInfoId

This property is the information ID of the Inbox owner.

CreateInboxItem Method

This method creates multiple Inbox items. The name-value pairs are put into the Inbox Parameters table.

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

InboxName

Yes

This property is the name for the Inbox.

InboxTypeName

Yes

This property is the name of Inbox type.

InboxPartyId

Yes

This property is the party ID of the Inbox owner.

ObjectId

Yes

This property is the object ID of the inbox item.

InboxExpirationDuration

No

The duration is expressed in seconds.

InboxUTCExpirationTS

No

This property is the UTC timestamp.

Comments

No

None.

ReplicationLevel

No

This property indicates whether this Inbox item must be routed when using remote databases. Select one of the following options:

  • All. Indicates HQ, Regional, Local.

  • Regional. Indicates HQ, Regional.

  • None. Indicates HQ.

Output Arguments

The following table shows the output arguments for this method.

Property Name Comments

InboxItemId

This property is the row ID of the newly-created Inbox item.

CreateInboxOwner Method

This method creates multiple Inbox item owners for an Inbox item. If DeactivateOthers is true, then the method deactivates the current active Inbox item owners before creating new owners.

The method searches as follows:

  1. InboxItemId

  2. ObjectId + InboxTypeName

Input Arguments

The following table shows the input arguments for this method for the property set.

Property Name Required Comments

InboxItemId

No

This property is the row ID of the newly-created Inbox item.

ObjectId

No

This property is the object ID of the inbox item.

InboxTypeName

No

This property is the name of Inbox type.

DeactivateOthers

No

This property deactivates the current active Inbox item owners before creating new owners when the value is Yes (the default).

Child properties

No

Multiple children are allowed. See the following table.

The following table shows the input arguments for this method for the child property set.

Property Name Required Comments

OwnerPartyId

Yes

This property is the party ID of the Inbox owner.

OwnerPriority

No

None.

OwnerQueueDuration

No

The duration is expressed in seconds.

OwnerUTCDueTS

No

This property is the UTC timestamp.

OwnerUTCStartWorkingTS

No

This property is the UTC timestamp.

OwnerActionLIC

No

This property is the language-independent code.

Output Arguments

The following table shows the output arguments for this method for the property set.

Property Name Comments

InboxItemId

This property is the row ID of the newly-created Inbox item.

DeactivateOthers

This property indicates whether or not the other owners have been deactivated.

Child properties (OwnerInfoOutput)

Multiple children can be returned. See the following table.

The following table shows the output arguments for this method for the child property set.

Property Name Comments

OwnerPartyId

This property is the party ID of the Inbox owner.

OwnerInfoId

This property is the information ID of the Inbox owner.

IsInboxItemExisted Method

This method checks if an Inbox item exists.

The method searches as follows:

  1. InboxItemId

  2. ObjectId + InboxTypeName

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

InboxItemId

No

This property is the row ID of the Inbox item.

ObjectId

No

This property is the object ID of the Inbox item.

InboxTypeName

No

This property is the name of Inbox type.

Output Arguments

The following table shows the output arguments for this method.

Property Name Comments

IsInboxItemExisted

A 1 indicates the Inbox item exists, and a 0 indicates it does not exist.

InboxItemId

This property is the row ID of the Inbox item.

HasActiveOwners

A 1 indicates the Inbox item has active owners, and a 0 indicates it does not have active owners.

GetInboxItemInfo Method

This method returns field values from an Inbox item and, if GetParams is true, then returns the name-value pairs for the Inbox item.

The method searches as follows:

  1. InboxItemId

  2. ObjectId + InboxTypeName

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

InboxItemId

No

This property is the row ID of the Inbox item. The ID is not updated, but is used for searching.

ObjectId

No

This property is the object ID of the Inbox item. It is not updated, but is used for searching.

InboxTypeName

No

This property is the name of Inbox type. It is not updated, but is used for searching.

GetParams

No

This property returns all name-value pairs if the value is Y.

Output Arguments

The following table shows the output arguments for this method.

Property Name Comments

ObjectId

This property is the object ID of the Inbox item.

InboxTypeId

This property is the ID for the Inbox type.

InboxTypeName

This property is the name of Inbox type.

InboxName

This property is the name for the Inbox.

InboxPartyId

This property is the party ID of the Inbox owner.

Comments

None.

InboxUTCExpirationTS

This property is the UTC timestamp.

Name - value pairs

None.

GetInboxParamInfo Method

This method returns the name-value pairs for an Inbox item.

The method searches as follows:

  1. InboxItemId

  2. ObjectId + InboxTypeName

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

InboxItemId

No

This property is the row ID of the Inbox item. The ID is not updated, but is used for searching.

ObjectId

No

This property is the object ID of the Inbox item. It is not updated, but is used for searching.

InboxTypeName

No

This property is the name of Inbox type. It is not updated, but is used for searching.

Output Arguments

The following table shows the output arguments for this method.

Property Name Comments

Name - value pairs

None.

GetInboxOwnerInfoEx Method

This method returns field values for an Inbox item owner. If the Inbox item owner is in the screen-active business component record, then the method returns the values from the screen-active business component.

The method searches as follows:

  1. OwnerInfoId

  2. InboxItemId, OwnerPartyId

  3. ObjectId, InboxTypeName, OwnerPartyId

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

ObjectId

No

This property is the object ID of the Inbox item. It is not updated, but is used for searching.

InboxTypeName

No

This property is the name of Inbox type. It is not updated, but is used for searching.

OwnerPartyId

No

This property is the party ID for the Inbox owner. It is not updated, but is used for searching.

InboxItemId

No

This property is the row ID of the Inbox item. It is not updated, but is used for searching.

OwnerInfoId

No

This property is the information ID for Inbox owner. It is not updated, but is used for searching.

Output Arguments

The following table lists the output arguments for this method.

Property Name Comments

OwnerInfoId

This property is the information ID for Inbox owner.

OwnerPriority

This property is the owner priority for the Inbox item task.

OwnerActionLIC

This property is the language-independent code.

OwnerUTCDueTS

This property is the UTC timestamp.

OwnerComments

None.

OwnerStartWorkingTime

This property is the owner start working time for the Inbox item task.

OwnerEndWorkingTime

This property is the owner end working time for the Inbox item task.

=

GetInboxOwnerInfo Method

This method returns field values for multiple Inbox item owners for an Inbox item, and returns information about the action status of the items.

The method searches as follows:

  1. InboxItemId

  2. ObjectId + InboxTypeName

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

InboxItemId

No

This property is the row ID of the Inbox item. It is not updated, but is used for searching.

ObjectId

No

This property is the object ID of the Inbox item. It is not updated, but is used for searching.

InboxTypeName

No

This property is the name of Inbox type. It is not updated, but is used for searching.

ActiveOwnerOnly

No

This property indicates that information is returned only for active owners. The default is TRUE.

EvaluateOR

No

This property evaluates the OR condition on all owners’ actions using the Action that is passed in from the caller.

EvaluateAND

No

This property evaluates the AND condition on all owners’ actions using the Action that is passed in from the caller.

Output Arguments

The following table shows the output arguments for this method for the property set.

Property Name Comments

OREvalResult

This property is 1 if one or more owner's inbox tasks have OwnerAction equal to the input parameter EvaluateOr. Otherwise it is 0.

ANDEvalResult

This property is 1 if all the owner's inbox tasks have OwnerAction equal to the input parameter EvaluateAnd. Otherwise it is 0.

Child Properties

Multiple children can be returned. See the following table.

The following table shows the output arguments for this method for the child property set.

Property Name Comments

OwnerInfoId

This property is the information ID for the Inbox owner.

OwnerPriority

None.

OwnerActionLIC

This property is the language-independent code.

OwnerUTCDueTS

This property is the UTC timestamp.

OwnerComments

None.

OwnerStartWorkingTime

This property is the UTC timestamp.

OwnerEndWorkingTime

This property is the UTC timestamp.

SetInboxParamInfo Method

This method inputs name-value pairs for an Inbox item. The name-value pairs are put into the Inbox Parameters table.

The method searches as follows:

  1. InboxItemId

  2. ObjectId + InboxTypeName

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

InboxItemId

No

This property is the row ID of the Inbox item. It is not updated, but is used for searching.

ObjectId

No

This property is the object ID of the Inbox item. It is not updated, but is used for searching.

InboxTypeName

No

This property is the name of Inbox type. It is not updated, but is used for searching.

UpdateInboxItemInfo Method

This method updates field values for an Inbox item. The name-value pairs are put into the Inbox Parameters table.

The method searches as follows:

  1. InboxItemId

  2. ObjectId + InboxTypeName

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

InboxItemId

No

This property is the row ID of the Inbox item. It is not updated, but is used for searching.

ObjectId

No

This property is the object ID of the Inbox item. It is not updated, but is used for searching.

InboxTypeName

No

This property is the name of Inbox type. It is not updated, but is used for searching.

InboxName

No

This property is the name of the Inbox. The value passed cannot be empty.

InboxPartyId

No

This property is the party ID of the Inbox owner. The value passed cannot be empty.

ReplicationLevel

No

This property indicates whether this Inbox item must be routed when using remote mobile client. Select one of the following options:

  • All. Indicates HQ, Regional, Local.

  • Regional. Indicates HQ, Regional.

  • None. Indicates HQ.

Comments

No

None.

InboxExpirationDuration

No

The duration is expressed in seconds. The value passed cannot be empty.

InboxUTCExpirationTS

No

This property is the UTC timestamp. The value passed cannot be empty.

DeactivateInboxItem Method

This method deactivates all Inbox item owners for an Inbox item and updates field values for that Inbox item. The name-value pairs are put into the Inbox Parameters table.

The method searches as follows:

  1. InboxItemId

  2. ObjectId + InboxTypeName

Input Arguments

The following table shows the input arguments for this method for the property set.

Property Name Required Comments

InboxItemId

No

This property is the row ID of the Inbox item. It is not updated, but is used for searching.

ObjectId

No

This property is the object ID of the Inbox item. It is not updated, but is used for searching.

InboxTypeName

No

This property is the name of Inbox type. It is not updated, but is used for searching.

InboxName

No

This property is the name of the Inbox. The value passed cannot be empty.

InboxPartyId

No

This property is the party ID of the Inbox owner. The value passed cannot be empty.

ReplicationLevel

No

This property indicates whether this Inbox item must be routed when using remote mobile client. Select from one of the following options:

  • All. Indicates HQ, Regional, Local.

  • Regional. Indicates HQ, Regional.

  • None. Indicates HQ.

Comments

No

None.

InboxExpirationDuration

No

The duration is expressed in seconds. The value passed cannot be empty.

InboxUTCExpirationTS

No

This property is the UTC timestamp. The value passed cannot be empty.

Child Properties

No

Multiple children are allowed. See the following table.

The following table shows the input arguments for this method for the child property set.

Property Name Required Comments

OwnerPartyId

No

This property is the party ID for the Inbox owner. It is not updated, but is used for searching.

OwnerInfoId

No

This property is the information ID for the Inbox owner. It is not updated, but is used for searching.

OwnerPriority

No

None.

OwnerActionLIC

No

This property is the language-independent code.

OwnerComments

No

None.

OwnerStartWorkingTime

No

This property is the UTC timestamp. To set to the current time, enter a value of Y, T, or TRUE.

OwnerEndWorkingTime

No

This property is the UTC timestamp. To set to the current time, enter a value of Y, T, or TRUE.

DeactivateInboxOwner Method

This method deactivates an Inbox item owner and updates field values for that Inbox item owner.

The method searches as follows:

  1. OwnerInfoId

  2. InboxItemId, OwnerPartyId

  3. ObjectId, InboxTypeName, OwnerPartyId

If there is SSASqlErrWriteConflict conflict, then clear the error message to show the error message on UI.

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

ObjectId

No

This property is the object ID of the Inbox item. It is not updated, but is used for searching.

InboxTypeName

No

This property is the name of Inbox type. It is not updated, but is used for searching.

OwnerPartyId

No

This property is the party ID for the Inbox owner. The ID is not updated, but is used for searching.

InboxItemId

No

This property is the row ID of the Inbox item. The ID is not updated, but is used for searching.

OwnerInfoId

No

This property is the information ID for the Inbox owner. The ID is not updated, but is used for searching.

OwnerPriority

No

None.

OwnerActionLIC

No

This property is the language-independent code.

OwnerComments

No

None.

OwnerStartWorkingTime

No

This property is the UTC timestamp. To set to the current time, enter a value of Y, T, or TRUE.

OwnerEndWorkingTime

No

This property is the UTC timestamp. To set to the current time, enter a value of Y, T, or TRUE.

UpdateInboxOwnerInfo Method

This method updates field values for an Inbox item owner.

The method searches as follows:

  1. OwnerInfoId

  2. InboxItemId, OwnerPartyId

  3. ObjectId, InboxTypeName, OwnerPartyId

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

ObjectId

No

This property is the object ID of the Inbox item. It is not updated, but is used for searching.

InboxTypeName

No

This property is the name for the type of Inbox. It is not updated, but is used for searching.

OwnerPartyId

No

This property is the party ID for the Inbox owner. It is not updated, but is used for searching.

InboxItemId

No

This property is the row ID of the Inbox item. The ID is not updated, but is used for searching.

OwnerInfoId

No

This property is the information ID for the Inbox owner. It is not updated, but is used for searching.

OwnerPriority

No

None.

OwnerActionLIC

No

This property is the language-independent code.

OwnerQueueDuration

No

The duration is expressed in seconds.

OwnerUTCDueTS

No

This property is the UTC timestamp.

OwnerComments

No

None.

OwnerStartWorkingTime

No

This property is the UTC timestamp. To set to the current time, enter a value of Y, T, or TRUE.

OwnerEndWorkingTime

No

This property is the UTC timestamp. To set to the current time, enter a value of Y, T, or TRUE.

DeleteInboxItem Method

This method deletes an Inbox item and all associated Inbox item owners.

The method searches as follows:

  1. InboxItemId

  2. ObjectId + InboxTypeName

Usage Example

Call this method when the underlying feature object for the Inbox item has been deleted.

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

InboxItemId

No

This property is the row ID of the Inbox item. It is not updated, but is used for searching.

ObjectId

No

This property is the object ID of the Inbox item. It is not updated, but is used for searching.

InboxTypeName

No

This property is the name of Inbox type. It is not updated, but is used for searching.

Initialize Method

This method creates an Inbox item and starts the business service method defined in the Initialize action. This method is intended for use only by those upgrading from the 7.5.3 version of the Siebel application.

Input Arguments

The following table shows the input arguments for this method.

Property Name Required Comments

ItemType

Yes

None.

ItemDescription

Yes

None.

ItemObjectId

Yes

None.

ItemSubmittedBy

Yes

None.

ItemPriority

No

Not supported in version 7.7 of the Siebel application.

ItemQueueDuration

No

None.

ItemComments

No

None.

RouteInboxItem Method

This method deactivates existing Inbox item owners and creates new Inbox item owners for an Inbox item. This method is intended for use only by those upgrading from the 7.5.3 version of the Siebel application. For more information about this method, see Siebel Database Upgrade Guide.

Input Arguments

The following table shows the input arguments for this method for the property set.

Property Name Required Comments

ItemWorkflowInstanceId

Yes

None.

Child Properties

Yes

Multiple children are allowed. See the following table.

The following table shows the input arguments for this method for the child property set.

Property Name Required Comments

TaskOwnerId

Yes

This property is the ID for the task owner.

TaskStatus

No

This property is the status for the task.

TaskPriority

No

This property is the priority for the task.

Output Arguments

The following table shows the output arguments for this method for property set.

Property Name Comments

InboxItemId

This property is the row ID of the newly-created Inbox item.

Child properties

Multiple children can be returned. See The following table.

The following table shows the output arguments for this method for the child property set.

Property Name Comments

OwnerPartyId

This property is the party ID of the Inbox owner.

OwnerInfoId

This property is the information ID of the Inbox owner.

About the Sample Workflows

The following pages describe three sample workflows that apply to service requests and that illustrate the use of the Inbox. You can use Siebel Tools to import the workflow files into the Siebel Sample Database, and try out the workflows. Additionally, you can import them into your own implementation and modify them for your business needs.

Where to Find the Sample Workflow Files

These sample workflows are provided as part of the sample database installation. You can find these workflow files in the SIEBEL_CLIENT_HOME\SAMPLE\WORKFLOWS directory. (For example, C:\Program Files\Siebel\7.8\web client\SAMPLE\WORKFLOWS)

The names of the files that contain the sample workflows are:

  • Inbox - Service Demo Creation.xml

  • Inbox - Service Action.xml

  • Inbox - Service Detail Action.xml

Creating Inbox Types for Use with the Sample Workflows

If you want to try out the sample workflows in the Sample Database, then you must create the SRManager and SROwner Inbox types.

To create two Inbox types for use with the sample workflows

  1. Create two Inbox types that use the field values in the following table.

    Field Name Value for First Inbox Type Value for Second Inbox Type

    Name

    SROwner

    SRManager

    Business Object Name

    Service Request

    Service Request

    Category

    APPROVALS

    APPROVALS

    Default Queue Duration (Days)

    0

    0

    Item Expiration Duration (Days)

    0

    0

    Action Type

    SR_STATUS

    None

    For more information, see Creating Inbox Types.

  2. Set up a link to the Service Request Detail View for the SROwner and the SRManager Inbox types.

    For more information, see Setting Up Inbox Links to Views and SmartScripts.

  3. Create an Inbox Actions record for the SROwner Inbox type that uses the field values in the following table.

    Field Name Value

    Action

    Action Field Dropdown

    Business Service

    Workflow Process Manager

    Business Service Method

    RunProcess

    Business Service Method Arguments

    "ProcessName", "Inbox - Service Action"

    For more information, see Setting Up Inbox Actions.

Inbox - Service Demo Creation Workflow

This workflow assigns service requests and creates inbox items.The workflow acts only on service requests where Area is Network; service requests in all other areas are ignored.

If the service request does not have an owner, then it is assigned to APARKER. Inbox items and Inbox item owners are created for the service request’s owner and the service request owner’s manager. Both users are then sent email to notify them that there are new items in their Inboxes.

The workflow is triggered when a service request is created. The following image shows the diagram for this workflow.

Inbox - Service Demo Creation Workflow: This image is described in the surrounding text.

Workflow Description

This workflow performs the following actions:

  1. Retrieve SRInfo. This step retrieves data about the service request, for example, its area, status, and service request number.

  2. SRArea, isSR Assigned, HR Policies SR Type, Default. If the service request is unassigned and value of the Area field is Network, then these steps assign the service request to APARKER.

  3. Query Inbox Existence, Is Object Item existed in Inbox. These steps check if an Inbox item for this service request already exists.

  4. CreateInbox For Owner. If an Inbox item does not already exist, then this step calls the CreateInboxEx method which creates an Inbox item of Inbox type SROwner, and an Inbox item owner. For more information, see CreateInboxEx Method.

  5. Get SREmployee Info. This step retrieves the email address of the service request’s owner.

  6. Manager Exist. This step determines if the owner of the service request has a manager.

  7. Get Manager Info, Create InboxMngr, IsEmailAddrExisted, Send Email to Manager and to Owner. If the owner of the service request has a manager, then:

    • These steps retrieve information about the manager.

    • These steps call the CreateInboxEx method to create an Inbox item of Inbox type SRManager, and an Inbox item owner.

    • These steps send email to both the manager and the owner of the service request.

  8. IsSROwnerEmail, Send Email to SR Owner. If the owner does not have a manager, then these steps send email to the owner of the service request.

Inbox - Service Action Workflow

This workflow synchronizes the status for service requests and inbox items.

This workflow makes sure that changes to the service request records, where the value of the Area field is Network, and the Inbox item that is based on those service requests are synchronized:

  • When a user takes action on a service request Inbox item, the status of the service request record is updated accordingly. For example, when the Inbox item is closed by its owner, the workflow changes the status of the underlying service request to closed.

  • When a user changes the Status of a service request, the actions available for the corresponding Inbox item are appropriately updated. In this case, the Inbox items for both the owner and the manager are deactivated and removed from the Inbox.

The workflow starts when:

  • The user takes action on a service request Inbox item.

  • The run-time event attached to the WriteRecordUpdate event on the Service Request business component is triggered.

The following image shows the diagram for this workflow.

Inbox - Service Action Workflow: This image is described in the surrounding text.

Workflow Description

This workflow performs the following actions:

  1. GetInboxInfo. This step retrieves a set of parameters about the Inbox item. One of the parameters is ObjectId, which is the ServiceRequestId. This step positions the Service Request business component on the ObjectId that has been passed in.

  2. GetSRUIStatus. This step retrieves the action taken by the user on the service request Inbox item.

  3. Set SR Status. This step updates the Status of the service request according to the action taken by the user on the Inbox item.

  4. GetSRStatus. This step retrieves the status and area information about the service request.

  5. Network Area? This step determines if the value of the Area field is Network. If not, then the workflow ends.

  6. Is SR Closed?, Deactivate Inbox Owners, Deactivate SRManagers. If the service request is closed, then these steps call the DeactivateInboxItem method to deactivate Inbox item owners for the owner of the service request and their manager. For more information, see DeactivateInboxItem Method.

Inbox - Service Detail Action Workflow

This workflow updates inbox items for status changes made in the Detail view of the Inbox.

This workflow is triggered when a user changes the status of a service request from within the Inbox screen, Inbox Items List, and then the Detail view. This workflow updates the Inbox item of the service request according to the change made to the service request.

This workflow starts when the run-time event attached to the WriteRecordUpdate event on the Service Request business component of the UInbox Item Task business object is triggered. The following figure shows the diagram for this workflow.

Inbox - Service Detail Action Workflow: This image is described in the surrounding text.

Workflow Description

This workflow performs the following actions:

  1. GetSRId. This step gets the service request row ID and the Inbox item ID.

  2. GetSRInfo. This step gets the updated information from the service request record.

  3. UpdateInboxOwnerActionInfo. This step calls the UpdateInboxOwnerInfo method to update the Inbox item owner. For more information, see UpdateInboxOwnerInfo Method.

  4. IsSRClosed, DeactivateInboxOwner, DeactivateInboxOwnerManager. If the service request is closed, then these steps call the DeactivateInboxItem method to deactivate Inbox item owners for the owner of the service request and their manager. For more information, see DeactivateInboxItem Method.

Inbox Trigger Used in ESS

This topic includes a sample of SmartScript code.

This code is entered in the Script_Finish statement of the ESS Form (SmartScript). It can be accessed from the Administration - SmartScript screen, then the Scripts view in the HelpDesk application. For more information about Employee Self Service, see Siebel HelpDesk Guide.

The purpose of the script is to take data from the ESS Form (SmartScript) and some required arguments to invoke the Universal Inbox business service under the Initialize method. When the user submits the ESS Form (SmartScript), this eScript code is launched, invoking the Universal Inbox business service, and using the parameters specified in the eScript and the Inbox type to create an Inbox item.

function Script_Finish ()
{
  var szScriptSessionId;
  var szRequester;
  var svc;
  var indata;
  var outdata;
  var ssPage;
  var ssQuestion;
  var EmployeeLastName;
  var EmployeeFirstName;
  var RequestedChange;
  var PAFComments;
  var PAFPriority;
  var szSSLanguageCode;
  var szSSCurrencyCode;

  ssPage = GetPage("PAF Which Change");
  ssQuestion = ssPage.GetQuestion("Display Employee Last Name");

   EmployeeLastName = ssQuestion.GetCurrentValue();
  ssQuestion = ssPage.GetQuestion("Display Employee First Name");
  EmployeeFirstName = ssQuestion.GetCurrentValue();
  ssQuestion = ssPage.GetQuestion("PAF Change Requested");
  RequestedChange = ssQuestion.GetCurrentValue();
  ssQuestion = ssPage.GetQuestion("PAF Comments");
  PAFComments = ssQuestion.GetCurrentValue();
  ssQuestion = ssPage.GetQuestion("PAF Priority");
  PAFPriority = ssQuestion.GetCurrentValue();

  // Cancel saving everything to the database
  Cancel ();

  indata =TheApplication ().NewPropertySet ();
  outdata = TheApplication ().NewPropertySet ();

  // Get the login name of the user
  szRequester = TheApplication ().LoginName ();
  // Get SmartScript Save Session table ID.
  szScriptSessionId = GetSessionId ();

  szSSLanguageCode = GetParameter("Language");
  szSSCurrencyCode = GetParameter("Currency");

  indata.SetProperty ("SmartScriptLanguageCode", szSSLanguageCode);

  // ItemObjectId, ItemType, ItemSubmittedBy, and ItemDescription are the
  // required input arguments for the "Universal Inbox.Initialize"
  indata.SetProperty ("ItemObjectId", szScriptSessionId);
  // Item Type is the Approvals Inbox type defined in the
  // Approvals Inbox Administration screen
  indata.SetProperty ("ItemType", "Personnel Action Form");
  // Short Description of the inbox item
  indata.SetProperty ("ItemDescription", RequestedChange + " PAF" + " for " + 
  EmployeeFirstName + " " + EmployeeLastName);
  indata.SetProperty ("ItemSubmittedBy", szRequester);

  // ItemQueueDuration, ItemPriority, and ItemComments are the
  // optional input arguments for the "Universal Inbox.Initialize"
  indata.SetProperty ("ItemQueueDuration", "129600");
  indata.SetProperty ("ItemPriority", PAFPriority);
  indata.SetProperty ("ItemComments", PAFComments);
  svc = TheApplication ().GetService ("Universal Inbox");
  svc.InvokeMethod("Initialize", indata, outdata);
}

Inbox Trigger Using Server Script

This topic includes a sample Server Script that calls Inbox methods.

This code is entered in the PreWriteRecord statement for the Project business component in Siebel Tools. The purpose of this code is to take data from the project record and some required arguments to invoke the Universal Inbox business service under the Initialize method. When the user changes the value of the Status field to For Approval, this eScript code is launched, invoking the Universal Inbox business service and using the parameters specified in the eScript and the Inbox type to create an Inbox item.

function BusComp_PreWriteRecord ()
{
     var FldProjectStatus = this.GetFieldValue("Status");
  if (FldProjectStatus == "For Approval")
  {
  var szScriptSessionId;
  var szRequester;
  var svc;
  var indata;
  var outdata;

  indata =TheApplication ().NewPropertySet ();
  outdata = TheApplication ().NewPropertySet ();

  // Get the login name of the user
  szRequester = TheApplication ().LoginName ();

  // ItemObjectId, ItemType, ItemSubmittedBy, and ItemDescription are the
  // required input arguments for the "Universal Inbox.Initialize"
  var FldProjectNum = this.GetFieldValue("Project Num");
  indata.SetProperty ("ItemObjectId", FldProjectNum);
  // Item Type is the Approvals Inbox type defined in the
  // Approvals Inbox Administration screen
  indata.SetProperty ("ItemType", "ChangeManagement");
  // Short Description of the inbox item
  indata.SetProperty ("ItemDescription", FldProjectNum);
  indata.SetProperty ("ItemSubmittedBy", szRequester);

   // ItemQueueDuration, ItemPriority, and ItemComments are the
  // optional input arguments for the "Universal Inbox.Initialize"
  indata.SetProperty ("ItemQueueDuration", "129600");
  indata.SetProperty ("ItemPriority", "High");
  indata.SetProperty ("ItemComments", "Change Management Project");
  svc = TheApplication ().GetService ("Universal Inbox");
  svc.InvokeMethod("Initialize", indata, outdata);
  }
     return (ContinueOperation);
}