Share This:

BMC Atrium Orchestrator Remedyforce Integration: Creating Incident in Remedyforce through BMC Atrium Orchestrator

This blog entry talks about using BMC Atrium Orchestrator (AO) to interact with BMC Remedyforce. First a detour on SFDC web-services and let’s see how an Incident can be created just by SFDC web-services. You can download enterprise WSDL from SFDC and send a login request as shown below. Just make sure, either IP of the machine making this request is white listed on SFDC or you pass security token along with password in the call below. Response returned has two important pieces of information, one SessionID which by default lasts for 2 hours and ServerURI which you would call to create the Incident. SessionID needs to be passed with every other interaction you would have with SFDC. 


<soapenv:Envelope xmlns:soapenv="" xmlns:urn="">
<urn:password>password (+ optional security token)</urn:password>



<soapenv:Envelope xmlns:soapenv="" xmlns="" xmlns:xsi="">
<serverUrl></serverUrl> <sessionId>00D90000000xk7M!AQ0AQEeXrk0dYe6.SurOqu.PQnhcp7v7s6yijjNXBgEKhxxMIRoVPnXdyeREjcSOTQUoPchceKx6_jgv8OL6uHs4SzFE8UaE</sessionId>
<!--Skipped for brevity -->



Please see below Incident creation request and the response. Category ID and Client ID are SFDC internal IDs of these objects and we would see later how they can be obtained.



<soapenv:Envelope xmlns:soapenv="" xmlns:urn="" xmlns:urn1="">
<urn:SessionHeader> <urn:sessionId>00D90000000xk7M!AQ0AQEeXrk0dYe6.SurOqu.PQnhcp7v7s6yijjNXBgEKhxxMIRoVPnXdyeREjcSOTQUoPchceKx6_jgv8OL6uHs4SzFE8UaE</urn:sessionId>
<urn:create xmlns:xsi="">
<urn:sObjects xsi:type="urn1:BMCServiceDesk__Incident__c"> <BMCServiceDesk__IncidentDescription__c>Some_Description</BMCServiceDesk__IncidentDescription__c>



<soapenv:Envelope xmlns:soapenv="" xmlns="">
<!--Skipped for brevity -->



Now let us go back to Atrium Orchestrator. There is an OOTB adapter called bmc-ao-adapter-remedyforce-actor which can be used to interact with Remedyforce. It interacts with SFDC using web-services.

Here is one sample configuration for bmc-ao-adapter-remedyforce-actor:


Once adapter is up and running, just create a new process and add “Create Objects” process from ‘AO-AD-BMC-Remedyforce’ to your process. Specify name of your adapter and have XML similar to this as objects value. Make sure its type as XML.

a    <BMCServiceDesk__FKCategory__c>a17900000056iDOAAY</BMCServiceDesk__FKCategory__c >

If you now run your process, you will see incident created in Remedyforce with Category whose id is a17900000056iDOAAY and client id corresponding to user id 00590000002wYCuAAM. As we said earlier, these are internal SFDC ids and not known to you. But code below shows APEX code to create an Incident by first fetching appropriate Category and User.

// Fetch the category using SOQL
BMCServiceDesk__Category__c category = [ select Id, Name from BMCServiceDesk__Category__c where Name = 'Email' Limit 1];
// Fetch user to be used as Client ID for Incident using SOQL
User user = [ select Id from User where username = ''];
BMCServiceDesk__Incident__c i = new BMCServiceDesk__Incident__c (
BMCServiceDesk__incidentDescription__c = 'Incident_Through_BMC_Atrium_Orchestrator'
i.BMCServiceDesk__FKCategory__c = category.Id;
i.BMCServiceDesk__FKClient__c =;

Now similar to “Create Objects” there is also a process called “Find Objects” in ‘AO-AD-BMC-Remedyforce’. You can use this process to fire any SOQL query. So you can have your process look something similar to this. You can fire 2 SOQL queries to get ID of the category you want to assign to Incident and ID of user who would be client ID for the Incident and pass these IDs in the Original “Create Objects” XML rather than hard-coding those values.


You can download the AO module having the process for above example. Download module

Yogesh Ketkar