Skip to main content
Version: v0.16.0

Core Steps

StepSummary
AndReturns true if all terms are true
ArrayConcatConcatenates arrays or streams of entities
ArrayDistinctRemoves duplicate elements in an array or entities in an entity stream. By default, all entity properties are used to determine duplicates. This behaviour can be changed by using the KeySelector parameter.
ArrayElementAtIndexGets the array element at a particular index. The first element has an index of 0.
ArrayFilterFilter an array or entity stream using a conditional statement
ArrayFindGets the first index of an element in an array. The index starts at 0. Returns -1 if the element is not present.
ArrayFirstGets the first element of an array or entity stream
ArrayGroupByGroup elements in an array or entities in a stream using a function. Entities in the resulting array will have two properties Key and Values. The Key will be set according to the result of the function.
ArrayIsEmptyChecks if an array is empty.
ArrayLastGets the last element of an array or entity stream
ArrayLengthCounts the elements in an array or entities in an entity stream.
ArrayMapMap each element of an array or entity stream to a new value. This Step can be used to update elements of an array, or to update entity property values. The new value must have the same type as the original value.
ArrayNewRepresents an ordered collection of objects.
ArraySkipSkip the first n elements of an array or entity stream
ArraySortReorder an array or entity stream
ArrayTakeTake the first n elements of an array or entity stream
AssertEqualAsserts that two objects are equal. Both objects must have the same type.
AssertErrorReturns success if the ValueIf step returns an error and a failure otherwise.
AssertTrueReturns an error if the nested step does not return true.
CharAtIndexGets the letter that appears at a specific index. First letter is at index 0.
CloneCreates an array by cloning an element.
ConvertSizeUnitsConvert a string representing a data size to a string representing the same size but with different units.
DateToStringConverts a date to the specified format, yyyy/MM/dd HH:mm:ss by default. If no date is specified, uses the current date and time.
DelayDelay for a specified amount of time
DivideDivide an integer by a list of integers
DocumentationCreateGenerates documentation for all available steps.
DoNothingDoes nothing.
DoubleDivideDivide a double by a list of doubles
DoublePowerRaises a double to the power of a list of integers sequentially
DoubleProductCalculate the product of a list of doubles
DoubleSubtractSubtract a list of numbers from a number
DoubleSumCalculate the sum of a list of doubles
EntityCombineCombine two entities. Property values of the second entity will be prioritized.
EntityFormatFormats an entity as a string
EntityGetPropertiesGets the names of all properties of an entity
EntityGetValueGets the value of a property from an entity
EntityHasPropertyChecks if an entity has a particular property.
EntityMapPropertiesRename entity properties
EntityRemovePropertyReturns a copy of the entity with the specified property removed
EntitySetValueReturns a copy of the entity with this property set. Will add a new property if the property is not already present.
EqualsReturns true is all terms are equal
ForDo an action for each value of <i> in a range.
ForEachDo an action for each element in an array
GetApplicationVersionGets the current version of the application
GetAutomaticVariableGets the value of the automatic variable
GetConnectorInformationGets information about connectors
GetSettingsGet an entity containing SCL settings
GetVariableGets the value of a named variable.
GreaterThanReturns true if each term is less than the next term
GreaterThanOrEqualReturns true if each term is greater than or equals to the next term
HashProduce a hash for some data using the specified hash algorithm
HttpRequestMakes a Http Request to download data from the web. Returns a StringStream containing binary encoded data.
IfExecutes a statement if a condition is true.
IncrementVariableIncrement an integer variable by a particular amount
IsNullChecks if a step returns null
LessThanReturns true if each term is less than the next term
LessThanOrEqualReturns true if each term is less than or equals to the next term
LogWrite a value to the logs
ModuloModulo a number by a list of integers sequentially
NotNegation of a boolean value.
NotEqualsReturns true if each term is not equal to the next term
OrReturns true if any terms are true
PowerRaises an integer to the power of a list of integers sequentially
PrintPrints a value to the console.
ProductCalculate the product of a list of integers
RepeatRepeat a step a set number of times.
RoundRound an SCL double to a fixed number of decimal places
RunExternalProcessRuns an external executable program.
RunSCLRuns SCL defined in a StringStream
RunStepRuns another step, reads the output to the end, and ignores it.
SchemaCreateCreate a new schema by analysing the entity properties and values in an array or an entity stream. This Step is best used with data sources where the property values already have a data type (string, date, int...) such as JSON or databases. For generating schemas from flat data sources such as Concordance or CSV, use the SchemaCreateCoerced step, which will attempt to infer the property types.
SchemaCreateCoercedCreate a new schema by analysing the entity properties and values in an array or an entity stream. This Step is best used with flat data sources such as Concordance or CSV as it does additional processing to infer the data types of strings.
SequenceA chain of steps to be run one after the other.
SetVariableSets the value of a named variable.
StandardErrorWriteWrites to the console standard error
StandardInReadReads the Console standard input
StandardOutWriteWrites to the console standard output
StringAppendAppends a string to an existing string variable.
StringContainsReturns true if the String contains the substring.
StringFindGets the index of the first instance of a substring in a string. The index starts at 0. Returns -1 if the substring is not present.
StringFindLastGets the last instance of substring in a string. The index starts at 0. Returns -1 if the substring is not present
StringInterpolateJoins strings. Supports string interpolation. To use string interpolation, the string must be enclosed in double quotes and prefixed with a dollar-sign ($). Then, anything in curly brackets { and } will be evaluated as SCL.
StringIsEmptyReturns whether a string is empty.
StringJoinJoin strings with a delimiter.
StringLengthCalculates the length of the string.
StringMatchReturns true if a string is matched by a particular regular expression
StringReplaceReplace every regex match in the string with the result of a particular function
StringSplitSplits a string.
StringSubstringGets a substring from a string.
StringToBoolConverts a string to a boolean
StringToCaseConverts a string to a particular case.
StringToDateConverts a date to the specified format, yyyyMMddHHmm by default. If no date is specified, returns the current time.
StringToDoubleConverts a string to a double
StringToIntConverts a string to an integer
StringTrimTrims a string, removing whitespace from the TrimSide.
SubtractSubtract a list of numbers from a number
SumCalculate the sum of a list of integers
TransformAttempts to transform entities in the stream so that they match the schema. Will transform strings into ints, datetimes, booleans, array, or nulls where appropriate. The properties of the transformed entities will be in the same order as in the schema For more information on schemas please see the documentation.
TryTries to execute a step and recovers if that step results in failure.
ValidateValidate that the schema is valid for all entities. Does not evaluate the entity stream. For more information on schemas please see the documentation.
WhileRepeat an action while the condition is met.