---
title: "Advanced Fast Line Pro: streaming and completion"
description: "Optional: reverse engineering production patterns for fastline_completion and streaming."
level: optional
track: advanced-fastline
prerequisites:
  - ../basic/use-case-01-faq-ai.md
  - ../advanced/use-case-10-tickets-categorizer.md
---

# Advanced Fast Line Pro: streaming and completion

> **Optional track** — for those who already completed basic Fastline (`action_fastline_pro`) and want to understand production-ready patterns. Not required to complete the core track.

## Required permissions and access

| Module / setting | Why you need it |
|------------------|-----------------|
| **Scenario Builder** | Reverse engineering existing sections |
| **Fast Line Pro** | Agent vs Chatbot, streaming |
| **Runs / Chat preview** | Trace edges and variables |
| **Access to a production/dev scenario** *(optional)* | RE lab on a real flow |

## Business context

In production scenarios, Fastline often uses not only `action_fastline_pro`, but also **completion** nodes, **streaming** replies, and multi-step agent chains. This Use Case teaches you to **read** and **understand** such patterns through reverse engineering — without a mandatory from-scratch build.

## Expected result

- You understand the difference between **Chatbot** and **Agent** in Fast Line Pro
- You can explain where `fastline_completion` / streaming appear in a scenario
- Reverse engineering: 10 control questions for a production section (or [RE lab](/en/learn/implementer/training/scenarios/reverse-engineering-lab/index.md))
- Self-check without escalating to a mentor

## Key concepts

| Pattern | Purpose | Core track |
|---------|---------|------------|
| `action_fastline_pro` | FAQ, categorizer | Use Case 1, 10 |
| **`fastline_completion`** | Completing a multi-turn agent loop | Optional |
| **Streaming** | Partial reply in the channel before full completion | Optional |
| **Agent (Fast Line Pro)** | Tools + advanced modes | When tools are needed, not “just FAQ” |

| Symptom | Solution |
|---------|----------|
| Unclear, Chatbot or Agent | FAQ / categorizer → **Chatbot**; tools / streaming → **Agent** (step 5 below) |
| Confusion about streaming / completion | This optional Use Case |

→ [Fast Line Pro action](/en/fastlinepro/how-to/use-action-fastline-pro.md)

## Step-by-step implementation (reverse engineering)

### Step 1. Baseline — your Use Case 1

Open the [Use Case 1](/en/learn/implementer/training/basic/use-case-01-faq-ai.md) flow in Scenario Builder:

| Question | Your answer (write it down) |
|----------|-----------------------------|
| Which `agent_name`? | |
| Which variable for the reply? | |
| How many edges on `action_fastline_pro`? | |
| What happens without a fallback edge? | |

Verify the answers in **Runs**.

---

### Step 2. Find completion in the documentation

1. Open the [actions reference](/en/actionjail/reference/actions-reference.md).
2. Find `fastline_completion` (or the current equivalent on your instance).
3. Write down: **input parameters**, **output edges**, **difference from `action_fastline_pro`**.

| Criterion | `action_fastline_pro` | `fastline_completion` |
|-----------|----------------------|------------------------|
| Typical use case | One request → reply | Completing an agent session |
| Streaming | Usually no | May be related |
| Core training | Yes | Optional |

---

### Step 3. RE lab — production section

Use the [reverse-engineering-lab](/en/learn/implementer/training/scenarios/reverse-engineering-lab/index.md) or a production section you have read-only access to:

1. Find all Fastline nodes (pro, completion, others).
2. Draw a text data flow (Start → … → End).
3. For each Action node — list of edges (success, error, fallback).

**10 control questions** (example):

1. Where is `conversation_id` stored?
2. Which edge on an empty AI reply?
3. Is there a streaming parameter in node_params?
4. How many Fastline nodes are in the chain?
5. Where is handoff to an operator?
6. Which variables land in constants after completion?
7. Is there a retry loop?
8. Fallback at section or node level?
9. Agent or Chatbot in Fast Line Pro?
10. What happens on timeout?

---

### Step 4. Streaming (theory + Runs)

Streaming in a channel means: the customer sees parts of the reply before generation finishes.

| Self-check | Action |
|------------|--------|
| Find streaming in docs | [Fast Line Pro](/en/fastlinepro/how-to/use-action-fastline-pro.md) |
| Compare with non-streaming Runs | One Run with pro without streaming |
| Record the UX difference | In the result template — 2–3 sentences |

If streaming is unavailable on the training instance — record that in the self-check (not a blocker).

---

### Step 5. Chatbot vs Agent (capability-based decision)

| Type | What it can do | When to choose |
|------|----------------|----------------|
| **Chatbot** | Replies from KB/prompt; no tools | FAQ, categorizer, typical `action_fastline_pro` |
| **Agent** | Same + **Tools** and advanced modes (streaming, etc.) | When AI must call tools / external actions |

**Rule:** do not pick Agent “just in case”. If you only need KB replies — Chatbot is enough (as in Use Case 1).

## Troubleshooting

| Symptom | What to check |
|---------|----------------|
| Completion is not called | Node order: pro → completion; conversation_id |
| Streaming is “choppy” | Channel (TG vs widget); streaming docs |
| RE lab is unclear | Start from Use Case 1 baseline; smaller section |

## Self-check

- [ ] Explained the difference between pro and completion (in your own words)
- [ ] RE lab: data flow drawn; ≥7/10 control questions answered
- [ ] In Runs found `conversation_id` / `ai_answer` on your FAQ flow
- [ ] Recorded in [results-template.md](/en/learn/implementer/training/results-template.md) (optional track)
- [ ] You understand: streaming/completion is **not a gate** for a client-ready capstone

## Independent task

In a production scenario (or RE lab), find **one** node that can be replaced with `action_fastline_pro` + fallback without losing the happy path — justify in 5 sentences.

## Reference links

- [Fast Line Pro action](/en/fastlinepro/how-to/use-action-fastline-pro.md)
- [Built-in actions](/en/scenariobuilder/reference/standard-built-in-actions.md)
- [RE lab](/en/learn/implementer/training/scenarios/reverse-engineering-lab/index.md)
- [Actions reference](/en/actionjail/reference/actions-reference.md)
- [Use Case 1 — baseline](/en/learn/implementer/training/basic/use-case-01-faq-ai.md)
