Quick Reference
Each event type in Summit Event Language (SEL) and what it does
The easiest way to add events to a model is + Add New
by clicking the button or hitting Cmd+K.
For more control, you can type any of the SEL functions listed below into a blank event to bring it to life.
Requests & Response
Events to fetch, parse, and return data.
Type | Behavior | Input | Output | Example(s) |
---|---|---|---|---|
Requests | Make a GET or POST request for JSON, HTML, or CSV data. | Object to define headers , params , json , cookies , or data . | Web request response contents, HTML, CSV, JSON. | =Request('get', 'https://api.example.com/x.json') |
Proxy | Use your authenticated connection to a remote service to make a request. | Object to define headers , params , json , cookies , or data . | Authenticated request to retrieve content (usually JSON) from a remote service. | =Proxy('hubspot', ['PATCH', '/v3/crm/objects/companies/12345678']) |
Parser | Use a JSONPath expression to parse the output of a Request. | JSON, typically returned from a Request . | A list of matches. | =Parser('$..coordinates.lat') |
Response | Compose the data field of your model's API response. | Numbers, strings, text, or JSON. | None | =Response("foo.bar") ,=Response("myDataList[]") |
Table | Create an in-memory table for querying. | Remote CSV data or a list of dictionaries. | A table reference for use by Query events. | =Table("https://sheets.google.com/my.csv") or =Table("contacts") |
Query | Perform a SQL query on a Table | A Table reference. | A list of dictionaries representing the result set. | =Query("SELECT * FROM $table WHERE name = 'John Doe'") or =Query("SELECT * FROM contacts WHERE age = 44") |
Objects & Arrays
Events to store and send fixed lists or object definitions.
Type | Behavior | Input | Output | Example(s) |
---|---|---|---|---|
Array | Defines a static list to relay to another event. | None, statically defined. | The entire array as a list. | =Array(['peanut butter', 'jelly', 5]) |
Object | 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. | =Object({"warm": true}) |
Strings & Text
Events to store or create text.
Type | Behavior | Input | Output | Example(s) |
---|---|---|---|---|
String | Stores and relays a text string. | None | The string. | =String("Jedi Council") |
Matches | Finds all values that match a provided regular expression. | A list, a string, or text. | A list of matches found within the input. | =Matches("\d{1,}") |
Text | Write and create long strings of text using liquid syntax. | None | The text as a string. | =Text(""" I am Ishmael. """) |
Iterators
When you need to cycle through a list.
Type | Behavior | Input | Output | Example(s) |
---|---|---|---|---|
Loop | Takes values in the provided order and sends them downstream. | A list of values. | The provided values, in order. | =Loop([1, 4, 3]) |
Generators
Events that produce numeric or text values when executed.
Type | Behavior | Input | Output | Example(s) |
---|---|---|---|---|
AI | Calls an AI model with a prompt. | An AI model, API Key. | JSON object for use downstream. | =Ai("gpt-4o", "{{ OPENAI_KEY}}") |
Search | Calls Tavily's Search API. | Search term, phrase, or question. | Search result with up to 5 sources cited. | =Search("When will Mariah Carey want us to start playing Christmas music this year?") |
Source | Generates a stream of numeric values. | Number | A stream of numeric values. | =Source(100k) =Source(100k @ 3%) =Source(100k...110k @ 3%) |
Curve | Generates numeric values based on a specified curve shape. | None | A stream of numeric values. | =Curve('s', [365, 1k]) |
Trend | From a list of numeric values, generates a trended series of values. | None | A stream of numeric values. | =Trend([12.1k,15.5k,13.6k,14.4k]) =Trend([100,300,200,225]) |
Extend | Extends a list of numeric values using the slope between the last two values of the provided input. | None | A stream of numeric values. | =Extend([1,2,3,10]) |
Containers
Events that store numeric value.
Type | Behavior | Example(s) |
---|---|---|
Pool | Collects numeric values with no limit. | =Pool(1.4m) =Pool(1.4m @ 1%) |
Pipe | Relays numeric values downstream. | =Pipe(0) =Pipe(0, 100) |
Bucket | Collects numeric values up to a specified limit; overflow passes downstream. | =Bucket(0, 500) |
Tipping Bucket | Collects numeric values up to a limit; empties when limit is reached. | =Tippingbucket(0, 500) |
Funnel | Releases a specified amount of numeric value from its store each time it is triggered. | =Funnel(100k, 200) |
Gate | Opens on a schedule, releasing all of the numeric value it has collected. Any value not sent downstream is retained. | =Gate(0) |
Silo | Stores numeric value in a container; container has a minimum and maximum size. Excess value and overdraws are passed downstream. | =Silo(100, [-50, 1k]) =Silo(100, [-100,]) |
Wheel | Stores numeric value in a rotating list that follows a calendar. | =Wheel(12) =Wheel(4, [250, 200, 175, 99]) |
Base | Stores numeric values in a list; sends the sum of those values to downstream events. Second argument specifies retention by cohort. | =Base([] @ [95, 65, 54, 32, 23]%) |
Code
Events to run code!
Type | Behavior |
---|---|
Code | Run code and print the return value. |
Timers
Events to manage time for simulation models.
Type | Behavior | Example(s) |
---|---|---|
Wait | Insert a delay. | =Wait(7, 'days') =Wait(3, 'months') |
Block | Close off the flow of values for a certain amount of time. | =Block(3, 'months') =Block(1, 'year') =Block(14, 'days') |
Halt | Stop the simulation. | =Halt() |
Stopwatch | Stops the simulation after a specified amount of time. | =Stopwatch(3600\<elapsed_time_allowed>) |
Transforms
Events to alter a value.
Type | Behavior | Example(s) |
---|---|---|
Transform | Modify the value (or list of values) received before relaying it downstream. | =T('max') =T('numbers') =T('abs') =T('round') =T('liters', 'gallons') =T('yards', 'meters') =T('kilometers', 'miles') |
Conditionals
Events to test values.
Triggers
Events to control the simulated timing of other events.
Event | Behavior | Example(s) |
---|---|---|
Every | Cause downstream events to execute on a specific schedule within a simulation model. | =Every("0 8,17 * * 1-5"<hours_of_operation>, 'America/Chicago'<timezone>) |
Tiering & Scale
Events to split values into arrays to perform matrix multiplication.
Updated about 2 months ago