Invoking Integration Server Services from Business Rules

Overview

This use case shows you how to invoke Integration Server services from AgileApps. You can link these Integration Server services to AgileApps objects using business rules. AgileApps invokes these configured Integration Server services on the execution of these business rules.


Actors

Any user who has the Manage Company Capabilities administrative permission can perform the required configurations to invoke the Integration Server services using business rules. For more information on permissions, see Administrative Permissions.


Before you begin

Ensure to configure the Integration Server username and password in Integration Server Configuration Settings. For more information about IS Configuration, see Integration Server Configuration.


Invoking the Integration Server services

To invoke the Integration Server services using business rules, perform the following actions:

1. Navigate to Settings new ui.png > Customization > Objects.
2. Select an object.
3. On the Object page, select Business Rules.
4. Under Event Rules, click New Rule. The following object events support invoking of Integration Server services through business rules:
  • Created
  • Updated
  • Deleted
  • Closed
  • Reopened
  • Owner Changed
5. Provide the details for the Basic Information section. For more information about setting these parameters, see Event Rules.
6. Set the Execution Criteria.
7. In the Actions to Perform section, select Invoke IS Service from the drop-down list. The application lists all the Integration Server packages available for this action.
8. Select any Integration Server package. The application lists all the services that are part of the selected Integration Server package in a folder structure.
9. Select an Integration Server service from the drop-down list.
10. Provide the details for Service Input Map and Service Output Map. This is an optional step as there can be services that do not require any input or do not produce an output.
11. After you select an Integration Server service, click Service Input Map. In the Data Mapper window, the Document Model lists the set of inputs required for the selected Integration Server service. Also, the Object Model includes the fields for the selected AgileApps object. For more information, see AgileApps and Integration Server field mapping table.

Perform the mapping of AgileApps object fields to the fields of the Integration Server service. The following table provides details on AgileApps to Integration Server (Outgoing Map) field mapping:

Table 1 - AgileApps to Integration Server (Outgoing Map)
AgileApps Data Type Matching Integration Server Data Type
String String
Boolean Object of Boolean Wrapper Type
Double Object of Double Wrapper Type
java.util.date Object of Date Wrapper Type
Integer Object of Integer/Long Wrapper Type

12. After you finish mapping for the Service Input Map, click Service Output Map. In the Data Mapper window, the Document Model lists the result from the executed IS service. Also, the Object Model includes the AgileApps object fields to which you must map the result from the executed IS service. Perform the mapping of the result from the Integration Server service to the AgileApps object fields using the Service Output Map. When the business rule invokes the Integration Server service, this mapping updates the results to the mapped object or case record fields. The following table provides details on Integration Server to AgileApps (Incoming Map) field mapping:

Table 2- Integration Server to AgileApps (Incoming Map)
Integration Server Data Type Matching AgileApps Data Type Comment
String String  
String List No Matching Type  
String Table No Matching Type  
Doc No Matching Type Document to Document mapping is not available. However, you can map the internal field of document to AgileApps fields. Refer to Table 1.
Doc List No Matching Type  
Doc Ref No Matching Type Document Ref to Document Ref mapping is not available. However, you can map the internal field of a document to AgileApps fields. Refer to table 1.
Doc Ref List No Matching Type  
Obj No Matching Type Object to Object mapping is not available. However, you can map the object with valid wrapper type to AgileApps fields. Refer to the earlier tables.
Obj List No Matching Type  
Obj Wrapper Types    
Boolean Boolean  
Byte Integer  
Character String  
Double Double  
Float Double  
Integer Integer  
Long No Matching Type  
Short Integer  
java.util.date java.util.date  
XOPObject No Matching Type  
ByteArray No Matching Type  
13. Click Save. In the runtime, the application executes the configured business rules for the respective object event.


Considerations

  • Ensure that you do not configure the Service Output Map for the Update object event. If you do, this leads to a recursive action and results in an error when a business rule is executed.


Limitations

Following limitations exist in the Data Mapper UI component:

  • The Set Map feature does not support StringTable, ByteArray and XOPObject, Date, and List types.
  • Application does not currently support Field Type icons for Character, Date and byte data types.
  • For Date field type, the application supports only the date part in the Calendar option.
  • The application incorrectly treats the Numeric/Integer fields as double after a certain value limit.


AgileApps and Integration Server Field Mapping Table

The following table provides the list of supported AgileApps fields for communicating with the Integration Server fields.

Table 3 - AgileApps to Integration Server Field Mapping Table
AgileApps Field Type AgileApps Field Data Type Integration Server Field Data Type Is Supported? Comment
Auto Number String String Yes  
Checkbox Boolean Object of Boolean Wrapper Type Yes  
Currency Double Object of Double Wrapper Type Yes  
Date   Object of Date Wrapper Type No  
Date Time java.util.date Object of Date Wrapper Type Yes  
Dependent Picklist (Enumeration Type) String String Yes Works based on Index value instead of display value. AgileApps passes the index value of the selection and expects the same from IS.
Email Address String String Yes  
External Lookup String String No  
File Field String String No  
Formula String String Yes You cannot update this field as it is an auto-populated field as per the formula condition.
Geolocation String String Yes  
Global Picklist (Enumeration Type) String String Yes  
Image Field String String No  
Lookup Integer Object of Integer/Long Wrapper Type No  
Multi Object Lookup String String No  
Multi Select Picklist (Enumeration Type) String String Yes  
Multi Value Lookup     No  
Multiple Check Boxes (Enumeration Type) String String Yes  
Number Integer Object of Integer/Long Wrapper Type Yes  
Number Integer Object of Integer/Long Wrapper Type Yes  
Number with Decimal Double Object of Double Wrapper Type Yes  
Percentage Double Object of Double Wrapper Type Yes  
Phone/Fax String String Yes  
Picklist (Enumeration Type) String String Yes  
Radio Button (Enumeration Type) String String Yes  
Rich Text Area String String Yes  
Rollup Summary Integer Object of Integer/Long Wrapper Type No  
Text Field String String Yes  
Text Area String String Yes  
Time   Object of Date Wrapper Type No  
URL String String Yes