- In a multi-turn conversation, where the user provides or receives one piece of data at a time
- Through a form, which prompts the user for several pieces of data in a single conversational turn
Note:User activity nodes support multi-language configurations. Define target languages in your agentic workflow code and manage translations through CSV export and import. For complete details, see Multi-language support.
userflow() object.
Multi-turn conversations user activity
To collect or deliver one piece of data at a time, callfield() on the userflow() object. This method accepts the following input parameters:
string
required
Unique identifier for the node.
UserFieldKind
required
Type of user activity. Supported types: Text, Date, DateTime, Time, Number, File, Boolean, Object, Choice.
string
Display name for the node.
string
Description of the node.
string
required
Indicates whether the node is for input or output.
any
Default value for the node.
UserFieldOption
List of predefined options with their labels and values.
bool
Indicates whether the node accepts multiple values.
any
Minimum value or constraint.
any
Maximum value or constraint.
DataMap
Define input mappings using a structured collection of Assignment objects.
dictionary
Dictionary for additional metadata or configuration.
field():
Python
Forms user activity
To prompt for multiple pieces of data in a single turn, instantiate theform() object to create a form node. This method accepts the following input parameters:
string
required
The internal name of the form.
string
The display name shown on the form.
string
Instructions text for the form.
string
The label for the submit button. Defaults to
Submit if not set.string
The label for the cancel button. If set to None, hides the button.
Forms fields
After instantiating the form object, add fields to it. Each field type requires its own configuration. Supported field types include:text_input_field
text_input_field
Creates a text input field. Configure it as a single-line input or a multi-line text area.Parameters:
string
required
The internal name of the field.
string
Display label for the field.
bool
Whether the field is required. Defaults to
False.bool
Whether the field uses a single line. If
False, creates a multi-line text area. Defaults to True.string
Placeholder text for the field.
string
Help text for the field.
any
Default value for the field, passed as DataMap.
string
Regular expression pattern for input validation.
string
Custom error message for failed regex validation.
Defaults to: “Input does not match the required pattern”.
boolean_input_field
boolean_input_field
Creates a boolean input field. Render it as a checkbox or radio buttons.Parameters:
string
required
The internal name of the field.
string
Display label for the field.
bool
Whether to display as a single checkbox. If
False, displays as radio buttons. Defaults to True.any
Default value for the field, passed as
input_map.string
Label for the true option. Defaults to
True.string
Label for the false option. Defaults to
False.date_range_input_field
date_range_input_field
Creates a date range input field with start and end date pickers.Parameters:
string
required
The internal name of the field.
string
Display label for the field.
bool
Whether the field is required. Defaults to
False.string
Label for the start date field.
string
Label for the end date field.
any
Default value for the start date, passed as DataMap.
any
Default value for the end date, passed as DataMap.
any
DataMap that sets the minimum date constraint and maps to
self.input.min_date.any
DataMap that sets the maximum date constraint and maps to
self.input.max_date.date_input_field
date_input_field
Creates a date input field.Parameters:
string
required
The internal name of the field.
string
Display label for the field.
bool
Whether the field is required. Defaults to
False.any
Default value for the field, passed as DataMap.
any
Minimum date value for the allowed range.
any
Maximum date value for the allowed range.
bool
Whether the field supports selecting more than one date. Defaults to
False.datetime_input_field
datetime_input_field
Creates a datetime or time input field.
string
required
Internal name of the field.
string
Display label for the field.
bool
Whether the field is required. Defaults to
False.any
Default value for the field, provided through a
DataMap.any
Minimum allowed datetime or time value.
any
Maximum allowed datetime or time value.
UserFieldKind
Type of field, either
DateTime or Time. Defaults to DateTime.datetime_range_input_field
datetime_range_input_field
Creates a datetime or time range input field with start and end pickers.
string
required
Internal name of the field.
string
Display label for the field.
bool
Whether the field is required. Defaults to
False.string
Label for the start value.
string
Label for the end value.
any
Default start value, provided through a
DataMap.any
Default end value, provided through a
DataMap.any
Minimum allowed value for the range.
any
Maximum allowed value for the range.
number_input_field
number_input_field
Creates a number input field.Parameters:
string
required
The internal name of the field.
string
Display label for the field.
bool
Whether the field is required. Defaults to
False.bool
Whether the field accepts only integers. If
False, accepts decimal numbers. Defaults to True.string
Help text for the field.
any
Default value for the field, passed as DataMap.
any
Minimum allowed value, passed as DataMap.
any
Maximum allowed value, passed as DataMap.
file_upload_field
file_upload_field
Creates a file upload field.Parameters:
string
required
The internal name of the field.
string
Display label for the field.
string
Instructions for the file upload.
bool
Whether the field is required. Defaults to
False.bool
Whether multiple files can be uploaded. Defaults to
False.int
Maximum file size in MB. Defaults to
10.List[string]
List of supported file extensions, for example pdf and docx.
Any
Minimum number of files. Valid only
when allow_multiple_files=True.Any
Maximum number of files. Valid only
when allow_multiple_files=True.message_output_field
message_output_field
field_output_field
field_output_field
list_output_field
list_output_field
Creates a list output field to display tabular data.Parameters:
string
required
The internal name of the field.
string
Display label for the field.
any
The list of items to display, passed in a DataMap.
dict[string, str]
Mapping of source property names to table column labels. Only those columns appear if present.
list_input_field
list_input_field
Creates a list input field to display tabular data.Parameters:
string
required
The internal name of the field.
string
Display label for the field.
bool
Whether the user can add rows.
bool
Whether the user can delete rows.
any
The list of items to display, passed in a DataMap.
dict[string, str]
Mapping of source property names to table column labels. Only those columns appear if present.
file_download_field
file_download_field
single_choice_input_field
single_choice_input_field
Creates a single-choice input field. Display options as a dropdown or as radio buttons.Parameters:
string
required
The internal name of the field.
string
Display label for the field.
bool
Whether the field is required. Defaults to
False.any
The list of available choices, passed as DataMap.
bool
Whether to display options as a dropdown. If
False, display as radio buttons. Defaults to True.string
Column name used for display text in dropdown.
string
Placeholder text for the dropdown.
any
Default selected value, passed as DataMap.
dict[string, str]
Mapping of source property names to display labels for complex choice objects.
multi_choice_input_field
multi_choice_input_field
Creates a multi-choice input field. Display options as a multi-select dropdown or as checkboxes.Parameters:
string
required
The internal name of the field.
string
Display label for the field.
bool
Whether the field is required. Defaults to
False.any
The list of available choices, passed as DataMap.
bool
Whether the field shows as a dropdown. If
False, the field shows as checkboxes. Defaults to True.string
Column name for the display text in a dropdown.
string
Placeholder text for the dropdown.
any
Default selected values, provided as a DataMap.
dict[string, str]
Mapping of source property names to display labels for complex choice objects.
any
Minimum number of items the user must select.
any
Maximum number of items the user can select.
user_input_field
user_input_field
Creates a user selection field in the form.Parameters:
string
required
Internal name of the field.
string
Display label for the field.
bool
Whether the field is required. Defaults to
False.bool
Whether the user can select more than one person. Defaults to
False.any
Minimum number of users to select. Applies only when
multiple_users=True. Accepts an integer or a DataMap for dynamic configuration through expressions.any
Maximum number of users to select. Applies only when
multiple_users=True. Accepts an integer or a DataMap for dynamic configuration through expressions.form():
Python
Dynamic form input
Form fields can change based on user actions. You define the dependencies between the user’s interactions and your tools to control dynamic behavior in the form. This includes progressive selection, showing or hiding widgets, and updating widget labels. Use the following methods to configure dynamic forms:visibility_behaviour_field
visibility_behaviour_field
Adds a visibility behaviour that shows or hides fields based on conditions.
string
required
Unique identifier for this behaviour.
string
required
Field that triggers evaluation of visibility rules when its value changes.
list[dict]
required
List of visibility rules. Each rule specifies a condition and an
impacted_field that changes visibility.string
Display name for this behaviour.
label_behaviour_field
label_behaviour_field
Adds a label-changing behaviour that updates field labels based on conditions.
string
required
Unique identifier for this behaviour.
string
required
Field that triggers label evaluation when its value changes.
list[dict]
required
List of label rules. Each rule includes a condition and an
impacted_field whose label changes.string
Display name for this behaviour.
value_source_behaviour_field
value_source_behaviour_field
Adds a value-source behaviour that populates a field using results from a tool.
Supports a simplified API or a manual API.
string
required
Unique identifier for this behaviour.
string
required
Field that triggers execution of the tool when its value changes.
string
required
Field that receives values returned by the tool.
Simplified API parameters
string
Name of the tool to call, for example
get_states_or_provinces.string
UUID of the tool.
dict[string, string]
Mapping of tool parameters to field expressions. For example country maps to
parent.field.country.any
Client instance that enables automatic retrieval of the tool schema.
Manual API parameters
string
Tool identifier in name colon UUID format.
dict
Schema that describes the expected inputs for the tool.
dict
Mapping of input parameters to values or expressions used by the tool.
Common optional parameters
string
Display name for this behaviour.
Python

