Below is a list of the current SEL functions you can use to populate building blocks and build models. The quick reference below includes a brief explanation of each function and its basic behavior. The functions also include links to our Technical Reference Guide with detailed descriptions and additional guidance about how each function can best be used to power your workflows.
If you have any questions or have a suggestion for a new SEL Function, please feel free to contact us at [email protected] or schedule a time to meet with a member of our team.
Requests & Response
Events to fetch, parse, and return data.
Type | Behavior | Input | Output | Example(s) |
Make a |
| Web request response contents, HTML, CSV, JSON. |
| |
Use your authenticated connection to a remote service to make a request. |
| Authenticated request to retrieve content (usually JSON) from a remote service. |
| |
Use a JSONPath expression to parse the output of a Request. | JSON, typically returned from a | A list of matches. |
| |
Compose the | Numbers, strings, text, or JSON. | None |
| |
Create an in-memory table for querying. | Remote CSV data or a list of dictionaries. | A table reference for use by |
| |
Perform a SQL query on a | A | A list of dictionaries representing the result set. |
|
Objects & Arrays
Events to store and send fixed lists or object definitions.
Type | Behavior | Input | Output | Example(s) |
Defines a static list to relay to another event. | None, statically defined. | The entire array as a list. |
| |
Defines a literal object using JSON syntax. | None, statically defined. You may use liquid syntax within string components of the definition. | The object as a dictionary. |
|
Strings & Text
Events to store or create text.
Type | Behavior | Input | Output | Example(s) |
Stores and relays a text string. | - | The string. |
| |
Finds all values that match a provided regular expression. | A list, a string, or text. | A list of matches found within the input. |
| |
Write and create long strings of text using liquid syntax. | - | The text as a string. |
|
Iterators
When you need to cycle through a list.
Type | Behavior | Input | Output | Example(s) |
Takes values in the provided order and sends them downstream. | A list of values. | The provided values in order. |
|
Generators
Events that produce numeric or text values when executed.
Type | Behavior | Input | Output | Example(s) |
Sends prompt to an AI Model, returns a JSON object with the model response. | An | The content of the model response as JSON object. |
| |
Calls Tavily's Search API and serves up the results as an object. | Search term, phrase, or question. | Search result with up to 5 sources cited. |
| |
Generates a stream of numeric values. | Number | A stream of numeric values. |
| |
Generates numeric values based on a specified curve shape. | - | A stream of numeric values. |
| |
From a list of numeric values, generates a trended series of values. | - | A stream of numeric values. |
| |
Extends a list of numeric values using the slope between the last two values of the provided input. | - | A stream of numeric values. |
|
Containers
Events that store numeric value.
Type | Behavior | Example(s) |
Collects numeric values with no limit. |
| |
Relays numeric values downstream. |
| |
Collects numeric values up to a specified limit; overflow passes downstream. |
| |
Collects numeric values up to a limit; empties when limit is reached. |
| |
Releases a specified amount of numeric value from its store each time it is triggered. |
| |
Opens on a schedule, releasing all of the numeric value it has collected. Any value not sent downstream is retained. |
| |
Stores numeric value in a container; container has a minimum and maximum size. Excess value and overdraws are passed downstream. |
| |
Stores numeric value in a rotating list that follows a calendar. |
| |
Stores numeric values in a list; sends the sum of those values to downstream events. Second argument specifies retention by cohort. |
|
Code
Events to run code!
Type | Behavior |
Run code and print the return value. |
Timers
Events to manage time for simulation models.
Type | Behavior | Example(s) |
Insert a delay. |
| |
Close off the flow of values for a certain amount of time. |
| |
Stop the simulation. |
| |
Stops the simulation after a specified amount of time. |
|
Transforms
Events to alter a value.
Type | Behavior | Example(s) |
Modify the value (or list of values) received before relaying it downstream. |
|
Conditionals
Events to test values.
Event | Behavior | Example(s) |
Test a value and relay it if True. |
| |
Test a value and relay it if True, but only once. False on all subsequent calls. |
|
Triggers
Events to control the simulated timing of other events.
Event | Behavior | Example(s) |
Cause downstream events to execute on a specific schedule within a simulation model. |
|
Tiering & Scale
Events to split values into arrays to perform matrix multiplication.
Event | Behavior | Example(s) |
Define a set of tiers and identify which tier an inputted number belongs to. |
| |
Define breakpoints; given a value, split it into those breakpoints. |
|
Keep reading: Event References in SEL