Back to page

Visual AppFlow Node Automation

Raw Markdown & AI/RAG Chunks
Raw Markdown Source 2363 chars
# Visual AppFlow Node Automation

To lower barriers for telephony feature creation, **Asterisk 2** configures an intuitive visual canvas. Users construct complex routing scripts by connecting graphical UI layout blocks directly into compiled Stasis execution arrays.

---

## Graphical Script Translation Pipeline

The layout below illustrates how client design files compile down into operational REST switching instructions:

```mermaid
graph TD
    %% Source File
    subgraph ClientEditor["WebAuthor Canvas"]
        UiFlow["Drag-and-Drop Node Graph<br/>(Client Layout JSON Payload)"]
    end

    %% Compiler
    subgraph CompilerEngine["C# Translation Tier"]
        ParserWorker["AppFlowCompiler.cs<br/>(Verifies Edge Linkages)"]
    end

    %% Relational Staging
    subgraph DatabaseTier["Persistent Workspace Store"]
        DbConfig[("AppFlowConfigs DB Table<br/>(Stores Node Graph Arrays)")]
    end

    %% Execution Target
    subgraph AutomationTarget["PBX Execution Context"]
        StasisRun["res_stasis Channel Worker<br/>(Evaluates Node Logic States)"]
    end

    %% Paths
    UiFlow ==>|"Submit Node Canvas"| ParserWorker
    ParserWorker ==>|"Save Verified Topology"| DbConfig
    DbConfig ==>|"Load Pre-Parsed Flow"| StasisRun

    %% Curated Style Systems
    classDef editorToken fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef compToken fill:#1e293b,stroke:#a855f7,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef dbToken fill:#312e81,stroke:#ec4899,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef targetToken fill:#065f46,stroke:#10b981,stroke-width:2px,color:#fff,rx:6px,ry:6px;

    class ClientEditor,UiFlow editorToken;
    class CompilerEngine,ParserWorker compToken;
    class DatabaseTier,DbConfig dbToken;
    class AutomationTarget,StasisRun targetToken;
```

---

## AppFlow direct properties

### 1. Structural Node Directives
Every UI module encapsulates clear procedural behaviors:
- **`PlaybackNode`**: Streams uncompressed audio files.
- **`InputNode`**: Collects numerical multi-digit strings.
- **`SwitchNode`**: Evaluates session attributes using Boolean checks.

### 2. Live Runtime Interception
When connected callers enter custom AppFlow segments, runtime adapters query cached database scripts directly, running matching C# instruction actions instantaneously.
AI Chunks (RAG) 3 chunks
Chunk #1 Visual AppFlow Node Automation
# Visual AppFlow Node Automation

To lower barriers for telephony feature creation, **Asterisk 2** configures an intuitive visual canvas. Users construct complex routing scripts by connecting graphical UI layout blocks directly into compiled Stasis execution arrays.

---
Chunk #2 Graphical Script Translation Pipeline
## Graphical Script Translation Pipeline

The layout below illustrates how client design files compile down into operational REST switching instructions:

```mermaid
graph TD
    %% Source File
    subgraph ClientEditor["WebAuthor Canvas"]
        UiFlow["Drag-and-Drop Node Graph<br/>(Client Layout JSON Payload)"]
    end

    %% Compiler
    subgraph CompilerEngine["C# Translation Tier"]
        ParserWorker["AppFlowCompiler.cs<br/>(Verifies Edge Linkages)"]
    end

    %% Relational Staging
    subgraph DatabaseTier["Persistent Workspace Store"]
        DbConfig[("AppFlowConfigs DB Table<br/>(Stores Node Graph Arrays)")]
    end

    %% Execution Target
    subgraph AutomationTarget["PBX Execution Context"]
        StasisRun["res_stasis Channel Worker<br/>(Evaluates Node Logic States)"]
    end

    %% Paths
    UiFlow ==>|"Submit Node Canvas"| ParserWorker
    ParserWorker ==>|"Save Verified Topology"| DbConfig
    DbConfig ==>|"Load Pre-Parsed Flow"| StasisRun

    %% Curated Style Systems
    classDef editorToken fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef compToken fill:#1e293b,stroke:#a855f7,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef dbToken fill:#312e81,stroke:#ec4899,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef targetToken fill:#065f46,stroke:#10b981,stroke-width:2px,color:#fff,rx:6px,ry:6px;

    class ClientEditor,UiFlow editorToken;
    class CompilerEngine,ParserWorker compToken;
    class DatabaseTier,DbConfig dbToken;
    class AutomationTarget,StasisRun targetToken;
```

---
Chunk #3 AppFlow direct properties
## AppFlow direct properties

### 1. Structural Node Directives
Every UI module encapsulates clear procedural behaviors:
- **`PlaybackNode`**: Streams uncompressed audio files.
- **`InputNode`**: Collects numerical multi-digit strings.
- **`SwitchNode`**: Evaluates session attributes using Boolean checks.

### 2. Live Runtime Interception
When connected callers enter custom AppFlow segments, runtime adapters query cached database scripts directly, running matching C# instruction actions instantaneously.