Records are a way to introduce structured data into your team.
These are not available on all plans. If you're interested in using records, please reach out to the team to discuss adding the feature to your Tines tenant.
💡Note
Explore examples of records in our library.
Capture a record
Drag a record onto the storyboard from the ‘tools’ menu. Then connect it to the upstream and/or downstream action.
This tells the story to capture data from the incoming action before proceeding to the subsequent action(s). Through the build pane on the right-hand side of your screen, you’ll name what you’re capturing and assign the record type.
If you or a member of your team already created record types, you can choose the type from the ‘select record type’ dropdown.
If no record types exist, you’ll need to select the option Create new
record.
Create a new record type
Now that you are capturing data, you need to tell the system how you want the data stored. This is done through the record type. The record type is how you define the data and how it should be stored.
This opens a module like below.
By default, the timestamp and story name is always captured.
🪄Tip
You will add fields for what you’d like captured. Today, the field result type options are text, number, true/false, timestamp or a list of fixed text values.
💡Note
Once you define the record type, you will click save
and it will be automatically selected as the record type for the record capture.
Now, you need to define the incoming data.
Define record type data
Since the incoming event data structure varies from one story to another, you need to define the incoming data for each record field. Before starting, ensure the capture record tool is connected to an incoming action.
Choose the record type from the drop-down list
Then, for each field reference the relevant data from the incoming action
Test the record by clicking
run
ortest
When the run is complete, choose
view record results
to see the output on the record table
While running or testing the record tool, you may encounter incoming data type that does not match the defined record field type. When that happens:
If a record field is defined as a “number” but the incoming data is a “text”, empty data (essentially
null
) will be recorded, and you’ll see an error in the logs.If a record field is defined as a “text” but the incoming data is a “number”, the value will be recorded as a “text”, e.g.
"10"
.A record field defined as a “true/false” (essentially a boolean) can only record data that is
true
orfalse
. If the incoming data is0
,no
, orfalse
, it will be recorded asfalse
. If the incoming data is1
,yes
, ortrue
, it will be recorded astrue
.If a record field is defined as a “timestamp” but the incoming data is not a date time, empty data will be recorded and you'll see an error in the logs. A “timestamp”, regardless of the format, will be recorded as the strftime format
%Y-%m-%d %H:%M:%S
. For example:“May 31st, 2023 4:17:33pm” will be recorded as
2023-05-31 16:17:33
.“May 31st, 2023” will be recorded as
2023-05-31 00:00:00
.
If a record field is defined as "text (fixed values)" but the incoming data is not one of the fixed text values defined for the field, empty data will be recorded and you'll see an error in the logs.
Record Artifacts
Record Artifacts function similarly to regular fields in the records table, making them visible both in the user interface when accessing the records table and via the API as fields on individual record rows. However, there are two notable differences.
Unlike typical fields, Record Artifacts enable the storage of raw logs or extensive data dumps directly within the Records table. Each Record Artifact can accommodate up to 15,000 characters of data.
Due to this unique storage feature, querying Record Artifacts is not supported. To fully leverage this enhanced storage capability, it's advisable to perform necessary preprocessing at storage time.
🪄Tip
Navigate the records table
The records table is a view of all created records by record type. You can navigate to the records table from the storyboard or in the main top navigation by clicking records
.
The fields on the record table will match the record type settings, and can be rearranged to best fit your needs.
Records charts allow you to visualize your data in multiple formats including: line, bar, pie, or stacked area charts.
Add charts for records reports
Add multiple data visualizations to a report for a more in-depth view. Customize them to fit your needs with the options to:
Rearrange and resize charts within the grid
Display a count, sum, or average for a record
Asynchronous loading so you can manually refresh the charts for improved performance
Filter the records table
There are a few ways to filter the records view. You can filter by one or a combination of the options.
Stories: select the story(ies) for which you want to see the associated records
Record table fields: filter by a specific field or the data within the field
Equals
Does not equal
Empty
Not empty
Greater than or equal
Greater than
Less than or equal
Less than
Is true
Is false
Date: set a timeframe for the records
Test or Live environment*: select to see records associated with the test or live version of a story(ies)
*Change control must be enabled in order to select between test and live environments.
The record table automatically updates based on the filters defined.
Export the records table
You can export a record view to a CSV by clicking the export button. It will export the data as you see it within the table.
Parent-child relationships
Parent and child records allow you to create dependencies between records. The parent record denotes the source data capture for the parent-child relationship.
When added to a case, all child records of the parent record are also added to the case.
💡Note
Configuring the parent record
In the build pane of the child record, you will turn on parent record
.
Within the formula field, you will find the record the exact same way you pull event data.
Note: your parent record must be linked upstream of the child record.