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

# A full session, step by step

> One build from first prompt to merged branch, with screenshots from a real session.

These are the steps you'll repeat for most build work. The screenshots are from a real session, so what you see here is what you'll see in Studio.

The example below adds a knowledge base topic, but the shape is the same whether you're writing a flow, wiring an integration, or changing how the agent speaks: **describe it, answer any questions, approve the plan, review what changed, then merge when you're happy.**

<Steps>
  <Step title="Start from the home screen">
    The chat panel opens with a prompt input. Choose **See prompt suggestions** for starters grouped by intent: **Build**, **Test**, **Ask**, and **Analyze**. Pick a suggestion, fill in the blank where there is one, or ignore them and type your own request.

    <Frame caption="Home screen with Build, Test, Ask, and Analyze suggestions">
      <img src="https://mintcdn.com/polyai/2HU5oeXXTczVAKux/images/wren/home.png?fit=max&auto=format&n=2HU5oeXXTczVAKux&q=85&s=89387196b5e4cc0d87279b04977f7dd3" alt="Wren home screen with the composer and prompt suggestions grouped into Build, Test, Ask, and Analyze" style={{ maxWidth: '720px', width: '100%', margin: '0 auto', display: 'block' }} width="1232" height="954" data-path="images/wren/home.png" />
    </Frame>

    The more grounded your request, the fewer questions come back. *"Add a topic for our office opening hours"* works, but *"Add a topic for our office opening hours: 9am to 6pm Monday to Friday, closed weekends and UK public holidays"* gets you there in one turn. See the [prompting guide](/wren/prompting) for more.
  </Step>

  <Step title="Answer any clarifying questions">
    Rather than guess at business rules it can't infer, Wren asks. Questions come in a set you step through: pick an option, choose **Something else** to type your own answer, or **Skip** to let Wren decide.

    <Frame caption="Step through the questions, or skip to let Wren choose">
      <img src="https://mintcdn.com/polyai/2HU5oeXXTczVAKux/images/wren/clarifying-question.png?fit=max&auto=format&n=2HU5oeXXTczVAKux&q=85&s=b1fc422b89f1a7d6e00bde2ce258e664" alt="Wren asking a clarifying question with numbered options, a Something else option, a Skip button, and a 1 of 3 pager" style={{ maxWidth: '720px', width: '100%', margin: '0 auto', display: 'block' }} width="1568" height="588" data-path="images/wren/clarifying-question.png" />
    </Frame>

    This is the step that stops Wren inventing your policies. If it doesn't know your refund window or your opening hours, it asks rather than picking something plausible.
  </Step>

  <Step title="Approve or revise the plan">
    Once it has enough context, Wren presents a plan card summarizing what it intends to change, with **Approve** and **Revise** buttons. **Nothing is written until you approve.** Expand the card to read the full breakdown.

    <Frame caption="The plan, with Approve and Revise">
      <img src="https://mintcdn.com/polyai/2HU5oeXXTczVAKux/images/wren/plan-card.png?fit=max&auto=format&n=2HU5oeXXTczVAKux&q=85&s=4ce473080b63765b279ab3f2272b9526" alt="Plan card titled Add Callback Request Flow with a summary, a what's changing section, and Revise and Approve buttons" style={{ maxWidth: '720px', width: '100%', margin: '0 auto', display: 'block' }} width="1456" height="818" data-path="images/wren/plan-card.png" />
    </Frame>

    **Revise** opens a feedback box. Say what should be different and **Send** to re-plan, or leave it blank to reject outright.

    <Frame caption="Revise sends feedback and re-plans">
      <img src="https://mintcdn.com/polyai/2HU5oeXXTczVAKux/images/wren/plan-revise.png?fit=max&auto=format&n=2HU5oeXXTczVAKux&q=85&s=2e9cf652d48c06848eb5da5142816b6a" alt="Plan revision feedback box reading What should be different, with Cancel and Send buttons" style={{ maxWidth: '720px', width: '100%', margin: '0 auto', display: 'block' }} width="1568" height="346" data-path="images/wren/plan-revise.png" />
    </Frame>

    For small, unambiguous changes Wren may skip the plan and just do the work. The bigger or more structural the request, the more likely you'll see a plan first. You can always force one by asking: *"Plan this before making any changes."*
  </Step>

  <Step title="Watch it work on a branch">
    The first time Wren makes a change it creates a branch automatically, named after the request and prefixed `wren/`. `Main` stays untouched, and the branch chip replaces `Main` in the top-left for the rest of the session. Each step it takes is listed as it goes, with a running count of changes made.

    <Frame caption="A branch is created automatically, and every step is listed as it runs">
      <img src="https://mintcdn.com/polyai/2HU5oeXXTczVAKux/images/wren/branch-and-changes.png?fit=max&auto=format&n=2HU5oeXXTczVAKux&q=85&s=6a62aa91687f7fb53f64253dd38c7115" alt="Transcript showing a branch named wren slash add-office-hours-topic being created, followed by four steps and a four changes made summary" style={{ maxWidth: '720px', width: '100%', margin: '0 auto', display: 'block' }} width="1568" height="622" data-path="images/wren/branch-and-changes.png" />
    </Frame>

    Expand the summary to see each step, and open any changed resource to check it by hand. Everything Wren wrote is an ordinary edit on your branch, so you can adjust or undo it exactly as you would your own work.
  </Step>

  <Step title="Merge to main">
    Merging is yours to do. Wren never does it for you. The **Merge** button in the top-right opens a dialog where you can add an optional message, then ship the branch back to `Main`. From there, your changes flow through the normal [Sandbox → Live](/environments-and-versions/introduction) pipeline.

    <Frame caption="Merge the branch back to Main when you're ready">
      <img src="https://mintcdn.com/polyai/2HU5oeXXTczVAKux/images/wren/merge-dialog.png?fit=max&auto=format&n=2HU5oeXXTczVAKux&q=85&s=bf8f08e120bd50f07b89e5c3def094e8" alt="Merge to the main branch dialog with an optional message field and a Merge button" style={{ maxWidth: '420px', width: '100%', margin: '0 auto', display: 'block' }} width="711" height="629" data-path="images/wren/merge-dialog.png" />
    </Frame>

    Not ready to merge? Leave the branch where it is. You can come back to the same chat later, keep iterating, and merge when it's right.
  </Step>
</Steps>

## What to try next

Once you've been through this loop once, the rest of Wren is variations on it:

<CardGroup cols={3}>
  <Card title="Prompting guide" icon="message-pen" href="/wren/prompting">
    Phrase requests so you get what you meant, in fewer turns.
  </Card>

  <Card title="What Wren can build" icon="hammer" href="/wren/building">
    Every building block it can create and change.
  </Card>

  <Card title="Analyze conversations" icon="chart-line" href="/wren/analyze">
    Ask questions about real calls, no branch needed.
  </Card>
</CardGroup>
