---
title: "Create your first agent"
url: "/getting-started/create-your-first-agent"
description: "A detailed walkthrough of building, grounding, testing and publishing a working agent."
productArea: getting-started
audience: ["business-user"]
tags: ["getting-started", "agents"]
lastReviewed: 2026-07-28
---

# Create your first agent (/getting-started/create-your-first-agent)





This walkthrough builds a customer support agent that answers questions from your own content.
The same steps apply to any agent.

## Prerequisites [#prerequisites]

* A KlicForge account and a workspace — see the [quickstart](/getting-started).
* Some content for the agent to answer from: an FAQ, a policy document, a product sheet. A page
  of text is enough to start.

<Steps>
  <Step>
    ### Start the wizard [#start-the-wizard]

    Select **Agents → New Agent**. You will be offered three routes:

    * **Templates** — a pre-built agent for a common job, ready to adjust.
    * **Describe it** — write what you want in plain language and let KlicForge draft the
      configuration.
    * **Manual** — set everything yourself.

    For a first agent, a template is the fastest way to see how the pieces fit together. See
    [the creation wizard](/agents/creation-wizard) for what each route produces.
  </Step>

  <Step>
    ### Set the identity [#set-the-identity]

    Give the agent a name and description, then open the **System Prompt** tab. This is where the
    agent's behaviour actually lives, split across four files:

    | File         | What it controls                                         |
    | ------------ | -------------------------------------------------------- |
    | **IDENTITY** | Who the agent is, its role, what it will and will not do |
    | **SOUL**     | Tone and communication style                             |
    | **AGENTS**   | What it can and cannot do, in explicit terms             |
    | **USER**     | Who it is talking to, so it can pitch answers correctly  |

    All four are optional and editable in the browser. See
    [core prompt files](/agents/core-prompt-files) for how to write them well.
  </Step>

  <Step>
    ### Attach knowledge [#attach-knowledge]

    Select **Knowledge Library** in the sidebar, then **New Knowledge Source**. Either paste your
    content directly or upload a file — PDF, Markdown, plain text, CSV, Excel, or an image.

    Wait for the source to finish processing, then open your agent's **Knowledge** tab and attach
    it.

    <Callout type="warn">
      An agent with no knowledge source attached cannot answer questions about your business. This is
      the most common reason a new agent gives disappointing answers.
    </Callout>
  </Step>

  <Step>
    ### Choose a model [#choose-a-model]

    On the **Model** tab, pick a model. Higher tiers reason better on harder questions. Your
    allowance is unaffected by the choice — [interactions](/reference/interaction-counting) are
    counted per turn regardless of which model answers.

    Temperature controls consistency. For support agents answering factual questions, keep it low
    (0.1–0.4). Higher values (0.5–0.8) suit conversational or creative agents.
  </Step>

  <Step>
    ### Set guardrails [#set-guardrails]

    Open the **Guardrails** tab. The default answer mode is **grounded only**, meaning the agent
    answers strictly from your knowledge and tool results, and says so when it cannot. That is the
    right default for a support agent.

    If you want it to handle general questions too, read
    [answer modes](/guardrails/answer-modes) before changing this.
  </Step>

  <Step>
    ### Test before publishing [#test-before-publishing]

    Open the agent's **Sandbox** tab and work through real questions, including ones you expect it to
    refuse. Check:

    * Does it answer from your content, not generic knowledge?
    * Does it admit when it does not know?
    * Does it stay on topic?

    To test systematically rather than by hand, see [evaluations](/evaluations).
  </Step>

  <Step>
    ### Publish [#publish]

    Set status to **active** on the Overview tab. Then either embed the
    [web widget](/channels/web-widget) on your site, or connect
    [Telegram](/channels/telegram) or [WhatsApp](/channels/whatsapp).
  </Step>
</Steps>

## Expected result [#expected-result]

A live agent that answers from your content, refuses questions outside its scope, and is
reachable on at least one channel.

## Troubleshooting [#troubleshooting]

| Symptom                                  | Likely cause                                                             |
| ---------------------------------------- | ------------------------------------------------------------------------ |
| Answers are vague or generic             | No knowledge source attached, or the source is still processing          |
| Agent refuses questions it should answer | Answer mode is `grounded_only` and the content is missing from knowledge |
| Agent does not respond at all            | Status is `draft` or `inactive`                                          |
| Widget does not appear on your site      | The site's domain is not in the agent's allowed origins                  |

More in [troubleshooting](/troubleshooting).

## Related pages [#related-pages]

* [Agents overview](/agents)
* [Knowledge sources](/knowledge)
* [Guardrails](/guardrails)
