> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cogniagent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Build your first multi-agent conversation flow in 10 minutes — Triage agent that hands off to two specialists.

In this quickstart you'll build a small **Sales Triage** flow with three AI agents: a Triage agent that figures out what the user wants, then hands off to a Product Specialist or a Pricing Specialist. The exact flow used as the running example in the rest of these docs.

## Before you start

* A CogniAgent workspace. If you don't have one, [sign up](https://cogniagent.ai).
* About 10 minutes.

You don't need to connect any integrations or set up a knowledge base for this quickstart. The flow runs end-to-end on the built-in model.

## 1. Create the flow

<Steps>
  <Step title="Open Conversations">
    From the sidebar, click **Conversations**. You land on the flow list.

    <Frame>
      <img src="https://mintcdn.com/glorium/eqWkhSfBUec9afZU/images/conversation-flows/01-list-empty.png?fit=max&auto=format&n=eqWkhSfBUec9afZU&q=85&s=66f2388cde495c07d8c489c0392521ad" alt="Empty conversation flows list" width="1440" height="900" data-path="images/conversation-flows/01-list-empty.png" />
    </Frame>
  </Step>

  <Step title="Click New Flow">
    A blank flow opens straight away — no modal, no questions. You start on a canvas with a single **Start** node and an "Add Actor" button.

    <Frame>
      <img src="https://mintcdn.com/glorium/eqWkhSfBUec9afZU/images/conversation-flows/02-empty-canvas.png?fit=max&auto=format&n=eqWkhSfBUec9afZU&q=85&s=b9551d46d81a4e7c11a87386115ef65e" alt="Empty canvas with Start node" width="1440" height="900" data-path="images/conversation-flows/02-empty-canvas.png" />
    </Frame>
  </Step>

  <Step title="Rename the flow">
    Double-click the **Untitled Flow** title at the top and rename it to `Sales Triage`. Press Enter.
  </Step>
</Steps>

## 2. Set the global context

Global context is shared knowledge every agent inherits — your company name, product names, tone of voice. Setting it once means you don't have to repeat it on every agent.

<Steps>
  <Step title="Open Flow settings">
    Click the **gear icon** (Flow settings) in the bottom-right toolbar.
  </Step>

  <Step title="Paste a short context block">
    Under **Global Context**, paste:

    ```
    You work for Acme Inc., a SaaS platform that sells two products:

    - Acme Pro — a self-serve workflow builder, $49/seat/month, 14-day free trial.
    - Acme Enterprise — adds SSO, SLAs, a dedicated success manager, and audit
      logs. Custom pricing, annual contract.

    Always be friendly, concise, and professional.
    ```

    <Frame>
      <img src="https://mintcdn.com/glorium/eqWkhSfBUec9afZU/images/conversation-flows/settings-panel.png?fit=max&auto=format&n=eqWkhSfBUec9afZU&q=85&s=5b316fb721eed928668c78893706b8a5" alt="Flow settings with global context filled in" width="1471" height="1225" data-path="images/conversation-flows/settings-panel.png" />
    </Frame>
  </Step>

  <Step title="Save and close">
    Click **Save Changes**, then close the panel.
  </Step>
</Steps>

## 3. Add the Triage agent

<Steps>
  <Step title="Click Add Actor">
    In the bottom toolbar, click **Add Actor**. Type `Triage` as the name and click **Create**.

    <Frame>
      <img src="https://mintcdn.com/glorium/eqWkhSfBUec9afZU/images/conversation-flows/03-add-actor-popover.png?fit=max&auto=format&n=eqWkhSfBUec9afZU&q=85&s=f224c83a88247feba400a884c6bdec5e" alt="Add Actor popover" width="1440" height="900" data-path="images/conversation-flows/03-add-actor-popover.png" />
    </Frame>

    The Triage agent appears on the canvas, automatically connected from the Start node.
  </Step>

  <Step title="Open its config">
    Click the Triage agent. The config panel opens on the right.
  </Step>

  <Step title="Fill in Context, Instructions, and Definition of Done">
    | Field                  | What to write                                                                                                                                                                                                       |
    | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Context**            | Leave empty — the agent inherits the global context.                                                                                                                                                                |
    | **Instructions**       | `Greet the user and ask one short qualifying question to figure out whether they want to talk about product features or pricing. As soon as you know which one, hand off — don't try to answer specifics yourself.` |
    | **Definition of Done** | `The user's intent is clear (product vs pricing) and the conversation has been handed off to the right specialist.`                                                                                                 |

    <Frame>
      <img src="https://mintcdn.com/glorium/eqWkhSfBUec9afZU/images/conversation-flows/actor-config-triage.png?fit=max&auto=format&n=eqWkhSfBUec9afZU&q=85&s=c9262441e1c250cc82c7cdc054edeb3c" alt="Triage actor config filled in" width="1471" height="1225" data-path="images/conversation-flows/actor-config-triage.png" />
    </Frame>

    Click **Save Changes**.
  </Step>
</Steps>

## 4. Add two specialist agents

Repeat the **Add Actor** flow twice — once for each specialist.

<Tabs>
  <Tab title="Product Specialist">
    | Field            | What to write                                                                                                                |
    | ---------------- | ---------------------------------------------------------------------------------------------------------------------------- |
    | **Name**         | Product Specialist                                                                                                           |
    | **Instructions** | `Answer product questions in clear, plain language. If the user asks about pricing or plans, hand off — don't quote prices.` |
  </Tab>

  <Tab title="Pricing Specialist">
    | Field                  | What to write                                                                                                                                           |
    | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Name**               | Pricing Specialist                                                                                                                                      |
    | **Instructions**       | `Answer pricing questions plainly. If the user asks about deep product features that aren't pricing-related, hand off — don't try to spec the product.` |
    | **Definition of Done** | `The user has a clear answer about pricing or has been booked for an Enterprise quote call.`                                                            |
  </Tab>
</Tabs>

After both are created, your canvas has four nodes. They're auto-wired from the Start node — we'll fix the routing next.

## 5. Wire the routing edges

You want this topology: **Start → Triage → (Product Specialist or Pricing Specialist)**, with Triage deciding which specialist takes over.

<Steps>
  <Step title="Delete the wrong edges">
    Click the line connecting **Start** to **Product Specialist**. Press Delete (or use the delete affordance). Do the same for Start → Pricing Specialist.
  </Step>

  <Step title="Draw Triage → Product Specialist">
    Hover over the Triage node's bottom edge. A handle appears. Drag from the handle onto the Product Specialist node. An edge appears.
  </Step>

  <Step title="Add the activation prompt">
    Click the new edge. The **Activation Condition** panel opens. Paste:

    > When the user asks about product features, integrations, capabilities, security, the roadmap, or how something works in the product.

    <Frame>
      <img src="https://mintcdn.com/glorium/eqWkhSfBUec9afZU/images/conversation-flows/edge-activation-panel.png?fit=max&auto=format&n=eqWkhSfBUec9afZU&q=85&s=6cd24b68630369d7e79ee3204efa9301" alt="Edge activation panel" width="1471" height="1225" data-path="images/conversation-flows/edge-activation-panel.png" />
    </Frame>

    Click **Save**. A short label appears on the edge — generated by AI from your prompt.
  </Step>

  <Step title="Repeat for Pricing Specialist">
    Draw an edge Triage → Pricing Specialist, click it, paste:

    > When the user asks about price, plans, seats, discounts, free trial, or wants a quote for an Enterprise contract.

    Save.
  </Step>
</Steps>

Your canvas now looks like this:

<Frame caption="The finished Sales Triage flow.">
  <img src="https://mintcdn.com/glorium/eqWkhSfBUec9afZU/images/conversation-flows/canvas-overview.png?fit=max&auto=format&n=eqWkhSfBUec9afZU&q=85&s=9f0b09eb9e687847b6e4742d3168d09d" alt="Sales Triage flow on canvas" width="1471" height="1225" data-path="images/conversation-flows/canvas-overview.png" />
</Frame>

## 6. Test it

Click **Test** in the bottom toolbar. A drawer opens with a chat input.

<Steps>
  <Step title="Send a pricing question">
    Type `how much does Acme Pro cost?` and press Enter.

    Within a couple of seconds, the **Pricing Specialist** replies with the pricing details from your global context. Below the reply, a **debug** panel shows the routing trace:

    * `[global] routeToActor → Triage` (the global router picked Triage)
    * `[branch] routeToChild → Pricing Specialist` (Triage handed off to Pricing because the activation prompt matched)

    <Frame>
      <img src="https://mintcdn.com/glorium/eqWkhSfBUec9afZU/images/conversation-flows/test-drawer-active.png?fit=max&auto=format&n=eqWkhSfBUec9afZU&q=85&s=35f73d8f4fb5128fc5cf14cb45ea94c8" alt="Test drawer showing routing trace" width="1471" height="1225" data-path="images/conversation-flows/test-drawer-active.png" />
    </Frame>
  </Step>

  <Step title="Try a product question">
    Type `actually, does it support SSO?` and watch how routing handles a topic change mid-conversation.

    <Frame>
      <img src="https://mintcdn.com/glorium/eqWkhSfBUec9afZU/images/conversation-flows/test-drawer-multi-actor.png?fit=max&auto=format&n=eqWkhSfBUec9afZU&q=85&s=5dabb89ee82e9654992af3ae13ff7392" alt="Multi-turn test session" width="1471" height="1225" data-path="images/conversation-flows/test-drawer-multi-actor.png" />
    </Frame>
  </Step>
</Steps>

Every test message is logged in **Conversations** (bottom toolbar) with the full transcript, routing decisions, and any tool calls — useful for debugging later.

## What's next

You have a working multi-agent flow. From here you can:

<CardGroup cols={2}>
  <Card title="Connect a channel" icon="share-nodes" href="/conversation-flows/channels/overview">
    Wire the flow to a Widget, Gmail, Slack, Teams, or Phone — so real users can talk to it.
  </Card>

  <Card title="Add capabilities" icon="puzzle-piece" href="/conversation-flows/build/capabilities">
    Give your agents access to knowledge bases, integration actions, and custom tools.
  </Card>

  <Card title="Deploy it" icon="rocket" href="/conversation-flows/operate/deploy">
    Take it live so it can handle real inbound messages or outbound campaigns.
  </Card>

  <Card title="Learn the concepts" icon="book" href="/conversation-flows/concepts/flows-and-actors">
    Understand actors, edges, context inheritance, and focus modes in depth.
  </Card>
</CardGroup>
