Here is a simple example of using the Orchestration
pattern in ICS.
In this scenario, before creating a new organization in Service Cloud, I first check whether it already exists. The processing logic is very simple -
IF the organization exists
Mark created status as ‘false’
Return the existing Org ID and name.
Create the account in Service Cloud (RightNow),
Return the newly created Org ID and name.
Here is my connection in ICS -
I also create a REST connection for Inbound.
As this is being used for inbound, Connection URL can be set to any value.
Test the connection -
Create the Integration
The integration is created -
Note the Triggers panel on the left - We define what triggers the integration.
In our case, it is the REST connection.
I drop my REST connection on to the Start
On the next page, I provide the query parameters -
In my case, just one - the Organization name.
The Response will be based on the following file -
Now I add a Lookup Organization Call by selecting my Service Cloud (RightNow) connection from the Invokes
When dragging it onto the canvas, blue +
I drop it on the first of these and configure as follows -
Now I need to Map
the data for the LookupOrganization
Now, I need to add some conditional logic after the Invoke of LookupOrganization
I will use the Switch
action for this.
I configure as follows -
First, the Undefined
The above screenshots should be self explanatory.
If the Org already exists, I want to return its ID and name.
So I add a Map
Action after the condition.
This is the Target -
I will set Created to 'false', as it already exists.
Then I map the ID and NAME.
Now I need to add the Create Organization
call to the Otherwise
I select the connection from the Invoke
list and drop after Otherwise
Do the Mapping - CreateNewOrg
Note: I have filtered to show only mapped fields on the Target.
Nearly finished, just need to set the reply, if the Organization has been created.
To do this, I drop a Map
action after the CreateNewOrg
invoke on the Otherwise
Map as follows -
Last step is to delete the now unnecessary map action -
I add Tracking
, based on the Org name.
I then Activate
The URL is in the following format -
I now try this out in a browser -
All I need to do is replace metadata
with my OrgName
Here is my response -
I check for the Org in Service Cloud -
I execute the request again -