For the complete documentation index, see llms.txt. This page is also available as Markdown.

Reusability

Reusability means designing flows, Say nodes, and routing logic once and using them across multiple journeys—instead of copying and pasting.

Build once → reuse everywhere

YAML Anchors & Aliases

YAML anchors (&) let you define a block once. YAML aliases (*) let you reuse that block elsewhere.

Think of them as copy‑by‑reference for YAML blocks.

Use YAML's native reuse mechanism:

nodes:    
      - api_call_1:    
          type: api    
          integration: API1    
          method: method1    
          exits:    
            success:    
              next: next1    
            failure:    
              next: api_failure # Route to shared error node    
         
      - api_call_2:    
          type: api    
          integration: API2    
          method: method2    
          exits:    
            success:    
              next: next2    
            failure:    
              next: api_failure # Same error node    
         
      # Shared error handling node    
      - api_failure:    
          type: say    
          message: I couldn't reach our systems. Let me connect you with someone.    
          next: transfer_agent   

Node Inheritance (Standard YAML Feature)

YAML does not have true object‑oriented inheritance, this uses native YAML anchors (&name) and merge keys (<<: *name) - not YFlow-specific syntax.

  • Anchors (&)

  • Aliases (*)

  • Merge key (<)

Together, these allow one node to inherit properties from another node and override only what’s different.

Optional, but useful for reducing repetition:

Components

Components are fully specified but deferred to a future implementation spike. See YFLOW_SPEC_COMPONENTS.md for the complete component design including:

  • Component definition (entries/exits with typed variables)

  • Component node (type: component) with variable mapping

  • Execution isolation (own variable space and LLM memory)

  • Routing syntax (next: node:entry, exit:name)

  • Customer v2 data structure mapping

  • Say Node future enhancements (voice override, speed, i18n)

Last updated

Was this helpful?