Emit Event
Overview
The Emit Event Node in UPTIQ Workbench enables workflows to communicate with UI components, trigger downstream actions, or notify other system components dynamically.
This node is particularly useful in live applications, dynamic dashboards, and chatbot systems, where events need to be propagated instantly to ensure seamless updates and actions.
By using the Emit Event Node, developers can: ✅ Trigger UI updates dynamically – Refresh widgets, update dashboards, or modify chatbot interfaces. ✅ Notify workflows when specific conditions are met – Signal new document uploads, user interactions, or background process completions. ✅ Support real-time reactivity – Emit events to ensure that all connected components react to system changes without manual intervention.
Pre-Defined Events
Configurations
Event
The name of the event that will be emitted when the node executes.
Data
The payload associated with the event, sent as JSON or a string.
Re-emit event after conversation switch
When enabled, ensures the event is emitted again after a user switches between conversations, keeping UI elements in sync.
Execution Flow:
1️⃣ The Emit Event Node executes as part of the workflow. 2️⃣ It broadcasts an event with the specified name and data payload. 3️⃣ Any subscribed components, widgets, or workflows react to the event, triggering relevant actions. 4️⃣ If Re-emit event after conversation switch is enabled, the event fires again when a user switches back to the conversation, ensuring updates remain visible and consistent.
Output Format:
event
→ The name of the emitted event.data
→ The event payload, which can be used by other system components to execute related tasks.
Example Use-Cases
Use-Case 1: Real-Time Document Management System
A document management system needs to refresh the document list in the UI whenever a new file is uploaded.
Configuration:
Event
"Refresh Documents"
Data
{ "workflowId": "12345", "appId": "73923" }
Re-emit event after conversation switch
Enabled
Execution Process:
1️⃣ User uploads a document.
2️⃣ Emit Event Node triggers the "Refresh Documents"
event.
3️⃣ The UI listens for this event and updates the document list dynamically.
4️⃣ If the user switches conversations, the event is re-emitted, ensuring they always see the latest files.
🔹 Why use this approach? ✔ Ensures all users see updated document lists immediately. ✔ No need for manual refreshes or polling, making the system more efficient.
Use-Case 2: Live Chatbot UI Updates
A chatbot workflow needs to update the conversation UI whenever a new response is generated.
Configuration:
Event
"Update Chat"
Data
{ "messageId": "56789", "status": "received" }
Re-emit event after conversation switch
Enabled
Execution Process:
1️⃣ Chatbot generates a response.
2️⃣ The Emit Event Node triggers "Update Chat"
, notifying the UI.
3️⃣ The UI updates the chat thread, displaying the new response dynamically.
4️⃣ If the user switches conversations, the event re-emits, ensuring updates are retained.
🔹 Why use this approach? ✔ Prevents UI delays when showing new chatbot responses. ✔ Ensures users always see the latest conversation state.
Supported Events in Emit Event Node
The Emit Event Node allows developers to trigger predefined system events in the UI, enabling workflows to dynamically update widgets and refresh data. Developers cannot create custom events declaratively—only the supported events listed below can be used. To add new events, code changes are required, and they must be handled within the Workbench SDK.
List of Supported Events & Their Actions
Event Name
Purpose
Requirements
Related Widget
Refresh Documents
Updates the Documents widget to display newly available documents.
The Get Documents Workflow must run automatically.
Documents
Refresh Connections
Refreshes the Connected Apps widget to update the list of linked applications.
No additional requirements.
Connected Apps
Refresh Covenants
Refreshes and opens the Covenants widget to display the latest covenants.
The Get Covenants Workflow must execute automatically.
Covenants
Refresh Client Summary
Updates and opens the Client Summary widget with fresh client data.
The event payload must contain an array of clients. The Get Client Summary Workflow must run.
Client Summary
Refresh Conversation Summary
Triggers the Conversation Summary widget, which generates a summary of the conversation using an LLM.
No additional requirements.
Conversation Summary
Open Document Uploader
Opens the Document Dropbox widget, allowing users to upload documents.
No additional requirements.
Documents
Refresh Tasks
Updates the Tasks widget with the latest task list.
The Get Tasks Workflow must run automatically.
Tasks
Refresh Document Summary
Refreshes the Document Summary widget to display the latest document summaries.
The Get Document Summary Workflow must execute.
Document Summary
🔹 Important Notes:
These events cannot be modified or expanded declaratively; all modifications require backend code changes in the Workbench SDK.
Ensure relevant workflows are configured correctly to handle data retrieval before emitting an event.
The Emit Event Node is crucial for real-time UI updates, ensuring that workflows remain in sync with the latest data.
Key Takeaways for Developers
✅ Enables Real-Time Workflow Communication – Ensures workflows, UI components, and external systems react instantly to changes.
✅ Supports Dynamic UI Updates – Used in dashboards, chatbots, and document management systems to keep interfaces synchronized.
✅ Works with JSON-Powered Events – Events can carry structured data, enabling complex processing and decision-making.
✅ Prevents UI State Loss – When Re-emit after conversation switch is enabled, users never miss an update, even after navigating away.
✅ Ideal for Event-Driven Architectures – Perfect for finance alerts, chatbot interactions, and workflow automation requiring instant notifications.
By leveraging the Emit Event Node, developers can build highly responsive applications that react dynamically to workflow changes, UI updates, and event-driven automation, creating seamless and real-time user experiences. 🚀
Last updated