PropertiesPanel Component Documentation
Overview
The PropertiesPanel component is a critical part of Vantage's workflow management system, responsible for facilitating the configuration of selected nodes within a workflow. This component integrates various node types, enabling users to manage node-specific settings and interact with connected services or integrations efficiently. It captures user inputs, manages dynamic node configurations, and provides both visual and functional organization to workflow efforts.
Settings
Workflow Name
- Setting Name:
workflowName - Input Type: String
- Description: This setting captures the name of the workflow. It is essential for identification and management purposes within the Vantage platform. If left empty, it triggers a validation error, preventing users from saving the workflow.
- Default Value: None (requires user input)
Workflow Description
- Setting Name:
workflowDescription - Input Type: String (Multiline)
- Description: This setting allows users to provide a detailed description of the workflow, helping to clarify its purpose and functionality. This is optional and serves as additional contextual information for users and contributors.
- Default Value: None (optional input)
Custom Integration
- Setting Name:
selectedServiceId - Input Type: Dropdown
- Description: This dropdown allows users to select a specific service integration for the API builder. It's particularly useful for defining the endpoint settings that relate to a particular service. The dropdown is disabled if a workflow is being edited or if there are no available services.
- Default Value: None (initially empty)
Workflow Editing State
- Setting Name:
isWorkflowEditing - Input Type: Boolean
- Description: This flag determines if the workflow is currently in an editing mode. If true, it restricts certain functionalities, such as changing the source integration.
- Default Value: False (indicating that the workflow is not in edit mode by default)
List of Available Credentials
- Setting Name:
availableCredentials - Input Type: Array
- Description: This array holds the credentials available for the selected integration node. It is populated through an API call that retrieves credentials based on the selected service key. It remains empty if no integration node is selected or no credentials exist for the node type.
- Default Value: Empty array (
[])
Credential Loading State
- Setting Name:
credentialsLoading - Input Type: Boolean
- Description: This state indicates whether the application is currently fetching available credentials for a selected integration node. It is important for providing feedback to the user, such as loading spinners or disabling inputs while loading.
- Default Value: False
How it Works
The PropertiesPanel functions by getting the current node selection from the global workflow store context, triggering UI updates based on user interactions. The component will re-render whenever the selected node changes, reflecting the specific configuration options available for that node type, which may include custom node editors based on the type of node (e.g., aggregation, AI enrichment, etc.).
- Node Selection: When a node is selected in the workflow editor, its configuration settings are displayed within the
PropertiesPanel. - Dynamic Integration Loading: If the selected node is an integration node (like Google Drive or OneDrive), it will make an API call to load the corresponding credentials.
- Field Updating: The component allows updating multiple fields within a node’s configuration, reflecting instant changes on the workflow state.
- Rendering Conditional Editors: The component can render different editors based on the node type, facilitating a customized input experience.
Data Expectations
The PropertiesPanel expects the following data from the workflow context:
- The currently selected node ID and its associated data, including configuration schemas, types, and inputs/outputs.
- Global workflow state properties such as
workflowName,workflowDescription, and the selected service ID if applicable.
Data Structures Expected
- A list of nodes with each node containing:
id: Unique identifierdata: An object that includes:node_type: Type of the node (e.g., queryoperators/aggregation)config: Configuration parameters for the nodeinputs: Array of input definitionsoutputs: Array of output definitions
- A service integration keys set indicating applicable service integrations.
Use Cases & Examples
Use Case 1: Workflow Creation
A data analyst needs to create a new automated report by integrating Vantage with Google Drive. The PropertiesPanel is used to define the report’s name and description while selecting Google Drive as the service to store the output.
Use Case 2: API Integration Setup
A developer is working on setting up a process that fetches data from an external API. The PropertiesPanel can be configured to choose the appropriate service link, select credentials, and configure node-specific properties that define how data should be processed.
Detailed Example Configuration
Use Case: Setting Up a Reporting Workflow
Scenario: A business analyst needs to create a daily sales report workflow that aggregates data, enriches it with AI insights, and exports it as a CSV.
Configuration Steps:
-
Set Workflow Name and Description:
- Workflow Name:
Daily Sales Report - Workflow Description:
Aggregated data of daily sales performance including AI insights.
- Workflow Name:
-
Select Custom Integration:
- Choose Google Drive from the available services dropdown.
-
Configure Node Settings:
-
For the Aggregation Node:
- Set aggregation fields to
["Sales", "Region", "Product"]
- Set aggregation fields to
-
For the AI Enrichment Node:
- Select specific enrichment algorithms based on input data.
-
-
Export Configuration:
- Configure CSV export settings to specify the filename as
sales-report.csvupon successful execution.
- Configure CSV export settings to specify the filename as
With the PropertiesPanel, users can seamlessly adjust configurations, ensuring their workflows are tailored precisely to their operational needs while leveraging a wide range of integrations and enhancements offered by the Vantage platform.