Settings - Action

Guide to Creator Action Settings pages

Overview

The action settings page will determine what functions the action will perform and what data will be inputted into the functions. Below is an example of a trigger settings page:


  1. Calculation Function - Hit this button to select the calculation function.
  2. Output Function - Hit this button to select the calculation function. (Trigger Only)
  3. Data Set Suggestions - Contains name of data the AI has suggested should be in the data set.
  4. Available Input Table - Available data that can be selected for the data set.
  5. Selected Input Table - Data that has already been selected for the data set.

Event vs. Trigger

Events and Triggers have only small but important differences. As events are meant to produce more data, their calculation functions return data. This is already informed to the AI generating the function by the prompt. Trigger calculation functions should only return True or False. If True, it will cause the trigger to call the output function. Events do not have an output function.

Calculation Function

The primary function of the action. Hitting the topmost select button will open a Function Selector window. From there you can either create a new function or load previously saved function. Go to the function selector page for more information on that process.

For events, the calaculation function will return data. This data will then be in data set under the name of the event that produced it. Trigger calcuation functions should produce true or false, or return nothing and perform the output directly. If the trigger calculation function returns True, then the trigger will perform the Output Function.

Output Function

Output functions are trigger only. If you selected event as the type of your action then this button will not appear. Output functions will only be executed if the trigger Calculation Function returns true. Similarly to calculation functions, output function button will open a Function Selector window. Go to the function selector page for more information on that process.

This function should not return any data. There will be no processing of the data performed by this function.

Data Set Suggestions

Each function is passed in data called Data Set (data_set in the code). This data can be used to perform the function. For example, if you have an event determining the average of prices in the data set, your data set should contain a list of the prices identified by the key "prices", "price", or however your code accesses it.

There are Data Tables beneath the data set suggestion box, that details what data is available to be selected from, and what data has been selected from. The Data Set suggestion box is populated when Howdy Coder, parses your calculation function code (and output function code if it's a trigger action) to determine what data from data set is being accessed.

Given the following example pseudocode:

# example pseudo code for finding average
sum(data_set['price'])/len(data_set['price'])
# look at time as well
if data_set['time'] < 3:00 p.m.:
# rest of pseudo code

Howdy Coder would parse this code and notice data_set being accessed by 'price' and 'time' and would make those be suggestions to add to the data set for the action. These suggestions would look like:


Both 'price' and 'time' have an X indicating there isn't any corresponding data added to the selected data set table with those names. Once there are, they will have a next to their names.

When the function selector generates code, the AI is fed a prompt that instructs it to only access the data set using standard access as shown in the example. Although, this doesn't work perfectly everytime. The AI could generate code that access the data set using a variable or some other way of accessing. If you understand how to read code, great you can find those. If you don't, this means the data set suggestion box, is just suggestions. It should work most of the times, but it will occassionally mess things up. If you input your own code, there's even less of a chance that the suggestion box will be right or catch all needed data keys. Proceed with caution.

Data Tables

The bottom of the action settings page has two tables, the available input table on the left and the selected input table on the right. Using these two tables, you will create the data set passed into the action's functions, using all of the data avaialble to you. Each of these tables are interactable and can have varying amounts of data. To resize the columns for viewing, click and drag on the headers.

Available Input Table

This table contains all of the available data from the other data sources and events. Some function data sources may have multiple outputs and as such they'll be grouped together. Using the available input table, you'll click on what data you want in this action's data set. Once you click on that data it will appear in the selected input table to the right. The data cannot be added to the selected table twice at once.

Selected Input Table

This table contains all of the currently selected table. This data will then be passed into the action's functions each time they are run. You can rename the data, enable or disable requires new, and change the amount of data, all in this table. For requires new, if enabled, that means for the key indicated there must be new data for that function to run again. If multiple pieces of data are marked as require new, then the action will only be run if there is new data for all of them. Amount of data is how much of each data is a part of the data set. The function will not run until there is at least that much data and the functions data set will always contain the newest data of that amount.

Example

Working with these two tables can seem confusing so here's an example: (Click the image to expand)


As seen in the example, the suggestions are time and price. There's an X next to time as there is no time data in the selected data table. There's a next to price as it is included in the selected data table.

The available data table contains data from two data sources, price and clock from Data Source and Data Source 2 from Data Source 2. The type of the data source can be seen in the third column.

The selected data table contains two rows, each from the available input table. As seen from the first column, the source is Data Source-clock but the name is clock. The requires new column for clock is checked. This indicates that the action will only be run if there is new Data Source-clock data. The price data is not indicated as requires new and therefore doesn't affect how often the action is run.

Requires New and Amount of Data

The amount of data required for clock is 1, therefore there must be at least 1 data point of clock for the action to run. The price row has an amount of data as 10, therefore there must be at least 10 data points for the action to run. Each time the action's function is run, 10 data points of price will be passed in.

The requires new and amount of data directly determine how often the action will run. For this action, there must be at least 1 point of clock data and 10 points of price data. Because clock is marked as require new, the action will only be run for new clock data. For example, if new price data comes in, the action will not be run. If new clock data comes in, the action will be run the same number of times as the number of clock data.

Suggestion Name Matching

The clock row in the selected data table is probably meant to go with the time data from data set suggestions. The names must match exactly so the name column can be changed in the selected data table. This change can be seen: (Click the image to expand)


The data from Data Source-clock was renamed to time and the indicator next to the time suggestion was changed to . This indicates there is a match from the suggestion to the selected data table. If not all suggestions are matched, a warning will be given before proceeding to the next page.