activities
latest
false
- Overview
- App Events
- Flowchart Builder
- Release notes
- About the Flowchart Builder activities
- Project compatibility
- Callout
- Complex Scenarios
- Credentials
- Data Service
- About the Data Service activity package
- Project compatibility
- Create Entity Record (New)
- Update Entity Record (New)
- Delete Entity Record (New)
- Get Entity Record by Id (New)
- Query Entity Records (New)
- Upload File to Record Field (New)
- Download File from Record Field (New)
- Delete File from Record Field (New)
- Create Multiple Entity Records (New)
- Update Multiple Entity Records (New)
- Delete Multiple Entity Records (New)
- Form
- Release notes
- Project compatibility
- Real Time Forms
- Updating form data
- Running forms using JavaScript
- Customizing Forms Using CSS
- Conditional components
- Data Map
- Data Grid
- Adding multiple components on the same row in Columns
- Using the Data Table component
- Get File/Folder path
- Reading cell values from a Data Grid component
- Displaying PDF files
- Displaying images in forms
- Scrolling through Data Grids
- Using Dev Tools with forms
- Calculate form component values
- Managing dates in forms
- Opening hyperlinks inside forms
- Displaying a default tab in forms
- Displaying the full label of a component
- Searching long strings in drop-down lists
- Dynamically set form values
- About the pre 23.4 Form experience
- Project Compatibility
- Real Time Forms
- Dynamic Checkboxes
- Conditional Dropdowns
- Displaying a Default Tab
- Displaying Images
- Displaying PDF Files
- Displaying the Full Label
- Dynamic HTML Elements
- Managing Dates
- Searching Long Strings in Drop-downs
- Customizing Forms Using Local CSS Files
- Executing Do Block On Checkbox Change
- Customizing Columns Width
- Updating Form Data
- Resetting Collection Data
- Advanced Logic
- Executing Do Block on Dropdown Option Change
- Reading Cell Values From a Data Grid Component
- Conditional Components
- Scrolling Through Data Grid Components
- Using the Grid Component
- Dev Tools
- Calculated Value
- Dynamic Dropdowns
- Switching Tabs With Button Click
- Opening Hyperlinks Inside Form
- FTP
- IPC
- Automation Ops Pipelines
- Release notes
- About the Pipelines activity package
- Project compatibility
- Activate Solution Deployment
- Analyze
- Build
- Clone
- Delete Solution Package
- Deploy Solution
- Download Package
- Download Solution Package
- Download Solution Package Configuration
- Publish Package
- Publish Solution Package
- Re-sync Solution Project
- Run Existing Test Set
- Run Tests
- Stage
- Uninstall Solution
- Update Process
- Upload Solution Package
- Persistence
- Release notes
- Project compatibility
- Bulk Form Designer
- Start Job And Get Reference
- Wait For Job And Resume
- Add Queue Item And Get Reference
- Wait For Queue Item And Resume
- Wait For Form Task And Resume
- Resume After Delay
- Assign Tasks
- Create External Task
- Wait For External Task And Resume
- Complete Task
- Forward Task
- Get Form Tasks
- Get Task Data
- Get App Tasks
- Add Task Comment
- Update Task Labels
- Create App Task
- Wait For App Task And Resume
- Configure task timer
- Working with App tasks
- Building Your First Form Action
- Advanced Controls for Drop-downs
- Embedding Objects in Form Actions
- Allowing Users to Upload Files to the Storage Bucket
- Adding Advanced Logic Using Java Script
- Setting a Default Tab
- Removing the Delete button from Edit Grid using custom CSS
- Customizing Edit Grid templates
- Using buttons to trigger custom logic
- Using an External Form Layout
- Dynamically expanding form components at runtime
- Aligning the content of a form component from left to right using JSON attributes
- Sample Workflows
- System
- Release notes
- Project compatibility
- Supported character encoding
- RegEx Builder Wizard
- Add Data Column
- Add Data Row
- Add Log Fields
- Add or Subtract from Date
- Add Transaction Item
- Add Queue Item
- Append Item to Collection
- Append Item to List
- Append Line
- Beep
- Break / Exit Loop
- Browse for File
- Browse for Folder
- Build Collection
- Build Data Table
- Bulk Add Queue Items
- Change Case for Text
- Change Type
- Check False
- Check True
- Clear Data Table
- Collection to Data Table
- Comment
- Compress/Zip Files
- Copy File
- Copy Folder
- Combine text
- Comment Out / Disabled Activities
- Continue / Skip Current
- Create File
- Create Folder
- Create List
- Custom Input
- Delete
- Delete File
- Delete Folder
- Delete Storage File
- Delete Queue Items
- Disable Local Trigger
- Do While
- Download file from URL
- Download Storage File
- Enable Local Trigger
- Evaluate Business Rule
- Exists in Collection
- Extract/Unzip Files
- Extract Date and Time from Text
- Extract Text
- File Change Trigger
- File Exists
- Filter Collection
- Filter Data Table
- Folder Exists
- For Each
- For Each File in Folder
- File Change Trigger V3
- Find and Replace
- Find Matching Patterns
- For Each Folder in Folder
- For Each Row in Data Table
- Format Date as Text
- Format Value
- Generate Data Table From Text
- Get Asset
- Get Credential / Get Orchestrator Credential
- Get Current Job Info
- Get Environment Folder
- Get Environment Variable
- Get File Info
- Get Folder Info
- Get Jobs
- Get Processes
- Get Row Item
- Get Transaction Item
- Get Username/Password
- Get Queue Items
- Global Variable Changed Trigger
- Input Dialog
- Invoke Code
- Invoke Com Method
- Invoke Power Shell
- Invoke Process
- Invoke VBScript
- Invoke Workflow File
- Is Text Matching
- Join Data Tables
- Kill Process
- Launch Workflow Interactive
- List Storage Files
- Log Message
- Lookup Data Table
- Manual Trigger
- Merge Collections
- Merge Data Table
- Message Box
- Modify Date
- Modify Text
- Move File
- Move Folder
- Multiple Assign
- New Item Added to Queue
- Notify Global Variable Changed
- Orchestrator HTTP Request
- Output Data Table
- Parallel
- Parallel for each
- Path Exists
- Postpone Transaction Item
- Process End Trigger
- Process Start Trigger
- Process Tracking Scope
- Raise Alert
- Read List Item
- Read Text File
- Read Storage Text
- Remove Data Column
- Remove Data Row
- Remove Duplicate Rows
- Remove From Collection
- Remove Log Fields
- Replace Matching Patterns
- Repeat Number of Times
- Repeat Trigger
- Rename File
- Rename Folder
- Report Status
- Reset Timer
- Resume Timer
- Retry Scope
- Return
- Run Local Triggers
- Run Agent
- Run Job
- Run Parallel Process
- Set Asset
- Send Email Notification
- Set Credential
- Set Environment Variable
- Set Task Status
- Set Trace Status
- Set Transaction Progress
- Set Transaction Status
- Should Stop
- Split Text
- Sort Data Table
- Start Timer
- Start Job
- Stop Job
- Stop Local Triggers
- Stop Timer
- Text to Left/Right
- Text to Upper/Lowercase
- Time Trigger
- Trigger Scope
- Track Object
- Timeout Scope
- Update Row Item
- Update List Item
- Upload Storage File
- Wait for Download
- Wait Queue Item
- While
- Workflow Placeholder
- Write Storage Text
- Write Text File
- AddDataRow
- AddQueueItem
- AddTransactionItem
- AppendLine
- BulkAddQueueItems
- ClearDataTable
- CompressZipFiles
- CopyFile
- CreateFile
- CreateFolder
- DeleteFileOrFolder
- DeleteQueueItems
- DeleteStorageFile
- DownloadStorageFile
- ExtractUnzipFiles
- FilterDataTable
- GetAsset
- GetCredential
- GetJobs
- GetQueueItem
- GetQueueItems
- GetResourceForLocalPath
- GetRowItem
- GetTransactionItem
- InvokeProcess
- JoinDataTables
- ListStorageFiles
- LookUpDataTable
- MergeDataTable
- MoveFile
- OrchestratorHTTPRequest
- OutputDataTable
- PathExists
- PostponeTransactionItem
- ReadStorageText
- ReadTextFile
- RemoveDataColumn
- RemoveDuplicateRows
- Replace
- SetAsset
- SetCredential
- SetTransactionProgress
- SetTransactionStatus
- SortDataTable
- StartJob
- StopJob
- UpdateRowItem
- UploadStorageFile
- WaitQueueItem
- WriteStorageText
- WriteTextFile
- Testing
- Release notes
- About the Testing activity package
- Project compatibility
- Project Settings
- Add Test Data Queue Item
- Address
- Attach Document
- Bulk Add Test Data Queue Items
- Create Comparison Rule
- Compare PDF Documents
- Compare Text
- Delete Test Data Queue Items
- Get Test Data Queue Item
- Get Test Data Queue Items
- Given Name
- Last Name
- Random Date
- Random Number
- Random String
- Random Value
- Verify Control Attribute
- Verify Expression
- Verify Expression With Operator
- Verify Range
- Address
- AddTestDataQueueItem
- AttachDocument
- BulkAddTestDataQueueItems
- DeleteTestDataQueueItems
- GetTestDataQueueItem
- GetTestDataQueueItems
- GivenName
- LastName
- RandomDate
- RandomNumber
- RandomString
- RandomValue
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- VerifyExpression
- VerifyExpressionWithOperator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- VerifyRange
- Workflow Foundation

Workflow Activities
Last updated Sep 15, 2025
Data Grid
linkThis tutorial provides step-by-step instructions on how to create
and use a Data Grid component. You will learn how to pass data into the Data Grid,
update it in real-time, and extract the information. The tutorial utilizes a CSV file
for data input into the Data Grid.
This automation uses a CSV record of students and their
exam results and displays it inside a form, where you can update the exam results and
their corresponding status ("passed" or "failed") in real-time. Also, the automation
allows you to trigger the extraction of the record and output in the console.
- Create a new Form. For this example, name it DataGrid.
- Add a Data Grid component inside the form.
- Add corresponding components for each column in the CSV file that you want to pass into the form.For this example, add a Text Field (
fullName
), a Checkbox (seniorYear
), and a Drop-down List (examResults
).Note: Note that the Property Names of the components are case-sensitive and should precisely match the column names in the CSV file, as well as the column names of Data Tables. - Additionally, add an extra Text Field inside the Data Grid named Status. This will be used for form updates.
- Add a Button outside of the Data Grid. This button will trigger the extraction of the Data Grid.
- In the Main workflow, add and configure the following activities:
- Read CSV - Input the CSV file containing the data for the Data Grid. Create a DataTable variable to store the output CSV file.For this example, name it
dataGridDataTable
. -
Go back to your form and set the Property Name of the Data Grid
component as the DataTable variable you created at substep a, where you
store the output CSV file. For this example, set the Property
Name as
dataGridDataTable
. - Show Form - Select the DataGrid form, and pass the data from the DataTable to the Data Grid.
-
In the Arguments dictionary, add an entry for the
dataGrid
argument with the typeSystem.Data.DataTable
and directionIn
and set the value todataGridDataTable
.Key Type Direction Value dataGrid
(the Property Name of the Data Grid)System.Data.DataTable
In
dataGridTable
- Run Local Triggers - Enable all triggers inside the project.
- Read CSV - Input the CSV file containing the data for the Data Grid. Create a DataTable variable to store the output CSV file.
- Create a trigger workflow named fieldChangedTrigger, responsible for setting the status of a student as failed or passed, according to their exam result.
- Add a Form trigger activity, and set the event when the
examResults
field changes. - Add a Build Data Table activity, to create a DataTable where the DataGrid values will be stored when the trigger fires. Name the output variable as
editedDataTable
. - Add a Get Form Values activity to retrieve the Data Grid into the DataTable you created at substep b (
editedDataTable
). - Add a For Each Row activity, to iterate through each exam result and set the
Status
field accordingly. Input the DataTable you created at substep b (editedDataTable
) in the Data Table field. - In the body of the For Each Row activity, add an If activity, and set the condition as
CurrentRow("examResults").ToString="f"
.Note that Values are case-sensitive. This is the reason why we used lower-case "f" inside the condition, instead of upper-case "F".
- In the Then body, add an Assign activity to assign the status of the student as "failed" when their exam result is F.
Save to Value to save CurrentRow("status")
"failed"
- In the Else body, add an Assign activity again, this time for the situation where the status of a student is "passed", because their exam result is not F.
Save to Value to save CurrentRow("status")
"passed"
- Outside the For Each Row activity, add a Set Form Values activity, to pass the updated Data Grid back into the form. In the Key field, use
dataGrid
with the TypeSystem.Data.DataTable
and set the value toeditedDataTable
.Key Type Value dataGrid
System.Data.DataTable
editedDataTable
- Add a Form trigger activity, and set the event when the
- Create a trigger workflow named extract clicked, responsible for extracting the DataGrid and outputting it as String in a CSV format.
- Add a Form trigger activity and set the event when the
extract
button is clicked. - Add a Get Form Values activity to extract the Data Grid into a DataTable. Add an entry in the Arguments dictionary for
dataGrid
with the TypeSystem.Data.DataTable
and set the Value asoutput
.dataGrid
System.Data.DataTable
output
- Add an Output Data Table activity to output the extracted Data Grid as String in a CSV format. In the Data Table field input the variable that you used to extract the Data Grid at substep b (
output
). Input a String variable that you will log in the Output console in the Text field - Add a Log Message activity to output the extracted Data Grid.
- Add a Stop Local Triggers activity, to close the form and stop the execution, assuming that you don't want to interact with the form after you extract it.
- Add a Form trigger activity and set the event when the
The image below shows the result of updating data while the form is still showing.
Workflow example
linkTo follow the steps and try the tutorial yourself, see the sample workflow.