This documentation supports the 22.1 version of BMC Helix Digital Workplace Basic and BMC Helix Digital Workplace Advanced. Icons distinguish capabilities available only for the Advanced and External license levels. For more information, see License types and features.

String manipulation methods reference

As a catalog administrator, you can manipulate string input and pass the manipulated string output to another element in a workflow. 

While several elements are available in the palette, additional functions are available in the expression builder. We recommend using functions in expressions to maintain simple process designs. For more information, see Using functions to build custom expressions

String manipulation activities overview

Workflow designer provides a set of string manipulation activities grouped together on the Palette, in the String Utils section.

The following screenshot shows the String Utils workflow activities and a simple example of a workflow in which one of these activities is used:  

This topic provides a full reference of the available string manipulation elements:

Index Of

Returns the first index within a search string in a specified text.

Parameter typeParameter nameRequiredData typeDescription
InputTextRequiredStringInput text.
Search CharactersRequiredStringString to search for.
Start PositionOptionalIntegerStart position of the text to search from.
OutputOutputNot applicableInteger

The first index within the Search Characters string found in the Text string starting from the position specified by the Start Position value.

Returns -1 if the specified search characters are not found in the text.

(null, *)          = -1

(*, null)          = -1

("", "")           = 0

("", *)            = -1 (except when * = "")

("aabaabaa", "a")  = 0

("aabaabaa", "b")  = 2

("aabaabaa", "ab") = 1

("aabaabaa", "")   = 0


Last Index Of

Returns the last index within a search string in a specified text.

Parameter typeParameter nameRequiredData typeDescription
Input

TextRequiredStringInput text.
Search CharactersRequiredStringString to search for.
Start PositionOptionalIntegerStart position of the text to search from.
OutputOutputNot applicableInteger

The last index within the Search Characters string found in the Text string starting from the position specified by the Start Position value.

Returns -1 if no match is found.

(null, *, *)          = -1

(*, null, *)          = -1

("aabaabaa", "a", 8)  = 7

("aabaabaa", "b", 8)  = 5

("aabaabaa", "ab", 8) = 4

("aabaabaa", "b", 9)  = 5

("aabaabaa", "b", -1) = -1

("aabaabaa", "a", 0)  = 0

("aabaabaa", "b", 0)  = -1

("aabaabaa", "b", 1)  = -1

("aabaabaa", "b", 2)  = 2

("aabaabaa", "ba", 2)  = -1

("aabaabaa", "ba", 2)  = 2


Insert

Inserts a string in a specified text.

Parameter typeParameter nameRequiredData typeDescription
InputTextRequiredStringInput text.
OffsetOptionalInteger

The distance between the beginning of the text and a string to be inserted.

The offset argument must be greater than or equal to 0, and less than or equal to the length of the sequence.

InsertionRequiredStringText to insert.
OutputOutputNot applicableStringThe text with inserted string.

Json Parser

Retrieves a string from a specified Json.

Parameter typeParameter nameRequiredData typeDescription
Input


JsonRequiredArrayJson string.
Path For SearchRequiredString

A path from the Json string to retrieve.

For information about syntax for this field, see JsonPath syntax Open link .

LimitOptionalInteger1 is the default value.
OutputOutputNot applicableStringRetrieves the specified string from the Json.

For an example workflow, see Using the Json Parser string manipulation method to retrieve information.

Length

Counts the character length of a specified text.

Parameter typeParameter nameRequiredData typeDescription
InputTextRequiredStringInput string text.
OutputOutputNot applicableIntegerA count of characters in a specified input string.

Matches

Matches a regular expression against an input string.

Parameter typeParameter nameRequiredData typeDescription
InputTextRequiredStringInput text.
RegexpRequiredStringRegular expression to search for.
OutputOutputNot applicableIntegerReturns 1 if true, and 0 if false.

Replace

Replaces all occurrences of a string within another string.

Parameter typeParameter nameRequiredData typeDescription
Input


TextRequiredString

Text to search and replace in. The text string can be empty.

Search TextRequiredStringSearch string to search for.
ReplacementRequiredStringString to replace it with.
OutputOutputNot applicableStringThe text with replacements.

Replace All

Replaces every substring of a text string that matches the given regular expression with the given replacement.

Parameter typeParameter nameRequiredData typeDescription
Input


TextRequiredStringThe text to modify.
RegexpRequiredStringRegular expression matching the text to be replaced.
ReplacementRequiredStringReplacement string to be substituted for each match.
OutputOutputNot applicableString

The text with any processed replacements.

(null, *, *)       = null

("any", null, *)   = "any"

("any", *, null)   = "any"

("", "", "zzz")    = "zzz"

("", ".*", "zzz")  = "zzz"

("", ".+", "zzz")  = ""

("abc", "", "ZZ")  = "ZZaZZbZZcZZ"

("<__>\n<__>", "<.*>", "z")      = "z\nz"

("<__>\n<__>", "(?s)<.*>", "z")  = "z"

("ABCabc123", "[a-z]", "_")       = "ABC___123"

("ABCabc123", "[^A-Z0-9]+", "_")  = "ABC_123"

("ABCabc123", "[^A-Z0-9]+", "")   = "ABC123"

("Lorem ipsum  dolor   sit", "( +)([a-z]+)", "_$2")  = "Lorem_ipsum_dolor_sit"

Substring

Retrieves a substring from a specified text. 

Parameter typeParameter nameRequiredData typeDescription
Input

TextRequiredString
Text to search in.
Start PositionOptionalInteger

The position to start from.

A negative start position can be used to start characters from the end of the string.

End PositionOptionalIntegerThe position to end at.
OutputOutputNot applicableString

A string between a specified start position and end position retrieved from the input text.

(null, *)   = null

("", *)     = ""

("abc", 0)  = "abc"

("abc", 2)  = "c"

("abc", 4)  = ""

("abc", -2) = "bc"

("abc", -4) = "abc"

To Upper Case

Converts input text string to uppercase text.

Parameter typeParameter nameRequiredData typeDescription
InputTextRequiredStringInput text.
OutputOutputNot applicableStringConverted text.

To Lower Case

Converts input text string to lowercase text.

Parameter typeParameter nameRequiredData typeDescription
InputTextRequiredStringInput text.
OutputOutputNot applicableStringConverted text.

Epoch To String

Converts the epoch/UNIX timestamp to a formatted date.

Parameter typeParameter nameRequiredData typeDescription
Input

Epoch In SecondsRequiredIntegerThe epoch/UNIX timestamp. For example, 1572385070
Time ZoneOptionalString

The timezone of the output. For example, America/Vancouver, Europe/Berlin, Asia/Qatar

If a value is not specified, the output will use the UTC time zone.

Datetime FormatOptionalString

The date and time format of the output. Use the Java date format. For example, "EEE, MMM d, ''yy"Wed, Jul 4, '01

If a format is not specified, the M-dd-yy format is used (for example, November-22-19).

OutputOutputNot applicableString

The epoch timestamp in string format. For example, 1572385070 is converted to November-22-19

Format Date Time

Converts an input date and time string to new formatted date and time.

Parameter typeParameter nameRequiredData typeDescription
Input

Date TimeRequiredString Date and time input to convert.
Input Time ZoneOptionalString

The timezone of the input. If input has timezone, this will be ignored. Defaults to UTC time zone.

Input Date FormatOptionalString

The date and time format of the input. Used for parsing input with a custom date format. Defaults to the standard ISO 8601 date formats.

Output Time ZoneOptionalStringThe timezone of the output.
Output Date FormatOptionalStringThe date and time format of the output.
LocaleOptionalStringLocale of the output. Defaults to en_US locale.
OutputOutputNot applicableString

The newly formatted date and time with the timezone offset.

Example:

Parameter typeParameter name
Input

Date Time2042-09-24T12:15:00-0500
Input Time Zonenull
Input Date Formatnull
Output Time Zone-08:00
Output Date FormatMM-dd-yyyy hh:mm a
Localenull
OutputOutput09-24-2042 09:15 AM


Example: Workflow that uses the Json Parser activity

The following example shows how the Json Parser method is used in a workflow.

The Send HTTP Request activity sends its Json output to the Json Parser activity. The Json Parser activity searches for the Json string that the Json Path defines, and sends no more than three returned Json strings (the limit defined in the Limit parameter) to the Send In App notification activity.

{
  "version": null,
  "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
  "lastChangedBy": "hannah_admin",
  "owner": "hannah_admin",
  "name": "myit-sb:Get Json code with loop",
  "tags": null,
  "description": null,
  "overlayGroupId": "TNGADG1AAP0ICAP0KT5BPJOB1GZHAG",
  "developerId": null,
  "scope": "BUNDLE",
  "guid": "rx-84097e4f-c2c5-4e37-b3a6-1da0fb7bf15c",
  "flowElements": [
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": null,
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-4d5b05b8-f379-44e2-b367-93768874c76c",
      "sourceNode": "rx-429f378b-20c5-4468-a2d7-b97e11e8222f",
      "targetNode": "rx-5199ea6d-c38b-4bc5-aab0-3a36d574c8c9",
      "condition": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Send In App Notification",
      "tags": null,
      "description": null,
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-32afced7-6fe1-4322-95db-f22d6af27537",
      "multiInstanceLoopDefinition": {
        "isSequential": true,
        "loopDataInputRef": "${activityResults.rx-5199ea6d-c38b-4bc5-aab0-3a36d574c8c9.output}",
        "inputDataItem": "Object",
        "completionCondition": null
      },
      "actionTypeName": "myit-sb:sendInAppNotification",
      "inputMap": [
        {
          "assignTarget": "receiver",
          "expression": "\"hannah_admin\""
        },
        {
          "assignTarget": "title",
          "expression": "\"Json code from URL\""
        },
        {
          "assignTarget": "content",
          "expression": "${processContext.Object.description}"
        }
      ],
      "outputMap": [],
      "runAsUser": null,
      "label": "Send In App Notification"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": null,
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-847b4ea1-722a-4703-992e-978d89f99c88",
      "sourceNode": "rx-32afced7-6fe1-4322-95db-f22d6af27537",
      "targetNode": "rx-9f472454-2350-4865-b1f7-c1cbb40a1459",
      "condition": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Send Http Request",
      "tags": null,
      "description": null,
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-429f378b-20c5-4468-a2d7-b97e11e8222f",
      "multiInstanceLoopDefinition": null,
      "actionTypeName": "com.bmc.myservice.connect.rest:sendHttpRequest",
      "inputMap": [
        {
          "assignTarget": "bodyParser",
          "expression": "\"auto\""
        },
        {
          "assignTarget": "connectionId",
          "expression": "\"8c9821dc-6a69-48ec-8751-6a0b986c4e09\""
        },
        {
          "assignTarget": "method",
          "expression": "\"GET\""
        },
        {
          "assignTarget": "uri",
          "expression": "${processContext.URL}"
        }
      ],
      "outputMap": [],
      "runAsUser": null,
      "label": "Send Http Request"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.EndEventDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "End",
      "tags": null,
      "description": null,
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-9f472454-2350-4865-b1f7-c1cbb40a1459",
      "event": null,
      "label": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": null,
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-f4e6123a-81f5-441e-8352-c63e2a46b40e",
      "sourceNode": "rx-546486a0-b510-48ad-89de-f652a1610f4a",
      "targetNode": "rx-429f378b-20c5-4468-a2d7-b97e11e8222f",
      "condition": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Json Parser",
      "tags": null,
      "description": null,
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-5199ea6d-c38b-4bc5-aab0-3a36d574c8c9",
      "multiInstanceLoopDefinition": null,
      "actionTypeName": "myit-sb:jsonParser",
      "inputMap": [
        {
          "assignTarget": "json",
          "expression": "${activityResults.rx-429f378b-20c5-4468-a2d7-b97e11e8222f.output}"
        },
        {
          "assignTarget": "pathForSearch",
          "expression": "${processContext.JsonPath}"
        },
        {
          "assignTarget": "limit (default -1(all))",
          "expression": "3"
        }
      ],
      "outputMap": [],
      "runAsUser": null,
      "label": "Json Parser"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.StartEventDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Start",
      "tags": null,
      "description": null,
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-546486a0-b510-48ad-89de-f652a1610f4a",
      "label": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": null,
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-f3770aee-ed41-41e7-adfb-eede6823908c",
      "sourceNode": "rx-5199ea6d-c38b-4bc5-aab0-3a36d574c8c9",
      "targetNode": "rx-32afced7-6fe1-4322-95db-f22d6af27537",
      "condition": ""
    }
  ],
  "inputParams": [
    {
      "resourceType": "com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "URL",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "id": 536870913,
      "fieldOption": "OPTIONAL",
      "permissions": null,
      "fieldTypeName": "com.bmc.arsys.rx.services.record.domain.DefaultFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "maxLength": 0,
      "defaultValue": null,
      "searchDefinition": null,
      "namedListDefinition": null,
      "shouldPersistEncrypted": false,
      "anyUserAllowedToSubmit": false
    },
    {
      "resourceType": "com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "JsonPath",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "id": 536870915,
      "fieldOption": "REQUIRED",
      "permissions": null,
      "fieldTypeName": "com.bmc.arsys.rx.services.record.domain.DefaultFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "maxLength": 0,
      "defaultValue": null,
      "searchDefinition": null,
      "namedListDefinition": null,
      "shouldPersistEncrypted": false,
      "anyUserAllowedToSubmit": false
    }
  ],
  "outputParams": [],
  "localVariables": [
    {
      "resourceType": "com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Text",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "id": 536870912,
      "fieldOption": "OPTIONAL",
      "permissions": null,
      "fieldTypeName": "com.bmc.arsys.rx.services.record.domain.DefaultFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "maxLength": 0,
      "defaultValue": null,
      "searchDefinition": null,
      "namedListDefinition": null,
      "shouldPersistEncrypted": false,
      "anyUserAllowedToSubmit": false
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.record.ObjectFieldDefinition",
      "version": null,
      "lastUpdateTime": "2018-07-17T11:59:17.601+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Object",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "id": 536870914,
      "fieldOption": "OPTIONAL",
      "permissions": null,
      "fieldTypeName": "com.bmc.arsys.rx.services.process.domain.record.ObjectFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "anyUserAllowedToSubmit": false
    }
  ],
  "contextKeyParam": "JsonPath",
  "isEnabled": true,
  "permissions": [
    {
      "ownerId": {
        "value": 1000013,
        "type": "GROUP",
        "name": "sbe-public-computed"
      },
      "type": "EXECUTE"
    }
  ],
  "layout": "{\"cells\":[{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Send Http Request\",\"position\":{\"x\":190,\"y\":355},\"angle\":0,\"id\":\"429f378b-20c5-4468-a2d7-b97e11e8222f\",\"z\":4,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Send Http Request\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Json Parser\",\"position\":{\"x\":395,\"y\":360},\"angle\":0,\"id\":\"5199ea6d-c38b-4bc5-aab0-3a36d574c8c9\",\"z\":46,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Json Parser\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"4d5b05b8-f379-44e2-b367-93768874c76c\",\"source\":{\"id\":\"429f378b-20c5-4468-a2d7-b97e11e8222f\"},\"target\":{\"id\":\"5199ea6d-c38b-4bc5-aab0-3a36d574c8c9\"},\"z\":47,\"attrs\":{}},{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Send In App Notification\",\"position\":{\"x\":605,\"y\":360},\"angle\":0,\"id\":\"32afced7-6fe1-4322-95db-f22d6af27537\",\"z\":48,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Send In App Notification\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"f3770aee-ed41-41e7-adfb-eede6823908c\",\"source\":{\"id\":\"5199ea6d-c38b-4bc5-aab0-3a36d574c8c9\"},\"target\":{\"id\":\"32afced7-6fe1-4322-95db-f22d6af27537\"},\"z\":49,\"attrs\":{}},{\"type\":\"rx.StartEvent\",\"size\":{\"width\":30,\"height\":30},\"eventType\":\"start\",\"position\":{\"x\":105,\"y\":375},\"angle\":0,\"id\":\"546486a0-b510-48ad-89de-f652a1610f4a\",\"z\":52,\"attrs\":{\".label\":{\"text\":\"\"},\".inner\":{\"visibility\":\"hidden\"}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"f4e6123a-81f5-441e-8352-c63e2a46b40e\",\"source\":{\"id\":\"546486a0-b510-48ad-89de-f652a1610f4a\"},\"target\":{\"id\":\"429f378b-20c5-4468-a2d7-b97e11e8222f\"},\"z\":53,\"attrs\":{}},{\"type\":\"rx.EndEvent\",\"size\":{\"width\":30,\"height\":30},\"eventType\":\"end\",\"position\":{\"x\":740,\"y\":370},\"angle\":0,\"id\":\"9f472454-2350-4865-b1f7-c1cbb40a1459\",\"z\":54,\"attrs\":{\".label\":{\"text\":\"\"},\".outer\":{\"stroke-width\":5},\".inner\":{\"visibility\":\"hidden\"}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"847b4ea1-722a-4703-992e-978d89f99c88\",\"source\":{\"id\":\"32afced7-6fe1-4322-95db-f22d6af27537\"},\"target\":{\"id\":\"9f472454-2350-4865-b1f7-c1cbb40a1459\"},\"z\":55,\"attrs\":{}}]}",
  "artifacts": [],
  "runAsUser": false,
  "synchronous": true,
  "overlayDescriptor": null,
  "allowOverlay": false,
  "localizableStrings": {}
}

You can save a copy of a service that uses this workflow, export it to your environment, and see how it works.

Was this page helpful? Yes No Submitting... Thank you

Comments

  1. Jesus Diaz-ropero simon

    It's absolutelly deplorable such scarce list of functions to manipulate strings, and in general to manipulate dates, numbers, json objects, etc Please, I encourage BMC to create a powerful library of functions in similar way they're in javascript, to manipulate everything in a easy way. And the same comment, with the functions existing in Remedy (arsystem). Regards.

    Feb 21, 2023 07:49
    1. Aaditi Lakade

      Hello, Jesus Diaz-ropero simon

      Thank you for your comment. We are working on updating this documentation.
      About adding more list of functions for string manipulation, you can vote on, comment on, and submit product ideas in BMC Community. To see BMC Helix community ideas, click here. 

      Thanks, 

      Aaditi

      Feb 21, 2023 10:07