Upcoming Update to Listen Steps Data Format
September 24th, 2024 by Zoran Slamkov
We are introducing new step types to diagrams[id].nodes
to enhance the functionality and flexibility of your AI agents.
Affected Property: diagrams[id].nodes
What's Changing:
-
New Node Types Added:
-
ButtonsV2 Node (
buttons-v2
)-
Description: Enhances button interactions with more dynamic features.
-
Type Definition:
type ButtonsV2Node = { type: "buttons-v2"; data: { portsV2: { byKey: Record<string, { id: string; type: string; target: string | null; data?: { type?: "CURVED" | "STRAIGHT" | null; color?: string | null; points?: { point: [number, number]; toTop?: boolean | null; locked?: boolean | null; reversed?: boolean | null; allowedToTop?: boolean | null; }[] | null; caption?: { value: string; width: number; height: number; } | null; } | null; }>; }; listenForOtherTriggers: boolean; items: { id: string; label: Markup; }[]; name?: string; noReply?: { repromptID: string | null; path?: boolean | null; pathLabel?: string | null; inactivityTime?: number | null; } | null; noMatch?: { repromptID: string | null; path?: boolean | null; pathLabel?: string | null; } | null; }; nodeID: string; coords?: [number, number]; };
-
-
CaptureV3 Node (
capture-v3
)-
Description: Provides advanced data capture capabilities, including entity capture and automatic reprompting.
-
Type Definition:
type CaptureV3Node = { type: "capture-v3"; data: { portsV2: { byKey: Record<string, { id: string; type: string; target: string | null; data?: { type?: "CURVED" | "STRAIGHT" | null; color?: string | null; points?: { point: [number, number]; toTop?: boolean | null; locked?: boolean | null; reversed?: boolean | null; allowedToTop?: boolean | null; }[] | null; caption?: { value: string; width: number; height: number; } | null; } | null; }>; }; listenForOtherTriggers: boolean; capture: | { type: "entity"; items: { id: string; entityID: string; path?: boolean | null; pathLabel?: string | null; repromptID?: string | null; placeholder?: string | null; }[]; automaticReprompt: { params: { model?: | "text-davinci-003" | "gpt-3.5-turbo-1106" | "gpt-3.5-turbo" | "gpt-4" | "gpt-4-turbo" | "gpt-4o" | "gpt-4o-mini" | "claude-v1" | "claude-v2" | "claude-3-haiku" | "claude-3-sonnet" | "claude-3.5-sonnet" | "claude-3-opus" | "claude-instant-v1" | "gemini-pro-1.5"; system?: string; maxTokens?: number; temperature?: number; } | null; exitScenario?: { items: { id: string; text: string; }[]; path?: boolean | null; pathLabel?: string | null; } | null; } | null; rules?: { id: string; text: string; }[]; } | { type: "user-reply"; variableID?: string | null; }; name?: string; noReply?: { repromptID: string | null; path?: boolean | null; pathLabel?: string | null; inactivityTime?: number | null; } | null; }; nodeID: string; coords?: [number, number]; };
-
-
ChoiceV2 Node (
choice-v2
)-
Description: Enhances user choice interactions with improved intent handling and automatic reprompt options.
-
Type Definition:
type ChoiceV2Node = { type: "choice-v2"; data: { portsV2: { byKey: Record<string, { id: string; type: string; target: string | null; data?: { type?: "CURVED" | "STRAIGHT" | null; color?: string | null; points?: { point: [number, number]; toTop?: boolean | null; locked?: boolean | null; reversed?: boolean | null; allowedToTop?: boolean | null; }[] | null; caption?: { value: string; width: number; height: number; } | null; } | null; }>; }; listenForOtherTriggers: boolean; items: { id: string; intentID: string; rules?: { id: string; text: string; }[]; button?: { label: Markup; } | null; automaticReprompt?: { exitScenario?: { items: { id: string; text: string; }[]; path?: boolean | null; pathLabel?: string | null; } | null; } | null; }[]; name?: string; noReply?: { repromptID: string | null; path?: boolean | null; pathLabel?: string | null; inactivityTime?: number | null; } | null; noMatch?: { repromptID: string | null; path?: boolean | null; pathLabel?: string | null; } | null; }; nodeID: string; coords?: [number, number]; };
-
-
What This Means for You:
- Enhanced Capabilities: The new node types offer advanced features, allowing for more complex and dynamic conversational flows.
- Existing Nodes Remain Unchanged: Your current diagrams and nodes will continue to function as before.
- New Features Available in New Steps: Only new instances of these steps created after the update will utilize the updated formats and capabilities.
Action Required:
- Update Integrations: If you have custom integrations that interact with
diagrams[id].nodes
, plan to update them to accommodate these new node types when creating new steps.