> For the complete documentation index, see [llms.txt](https://docs.characterweaver.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.characterweaver.com/fundamentals/getting-set-up/configure-a-behavior.md).

# Configure a Behavior

> By default, a character has no behavior and **never** interacts on your server.

> CharacterWeaver allows you to create behaviors that are triggered automatically when certain events are called. For example, a message sent by a user or a new member who joins your server.

## Creating behavior

> To create a new behavior, you must use the command:\
> `/behavior create <behavior-name> <event-type>`

> **behavior-name** is never visible and only serves as an identifier. The identifier will be used when you change it, so choose something short like "auto-response".

> **event-type** is the event type that triggers the behavior when called. You can find the list of available events [**here**](/behavior/event-types.md).

## Adding an action to a behavior

> To create a new action in a behavior, you must use the command:\
> `/behavior action create <behavior-name> <action-name> <action-type>`

> **behavior-name** is the name of the behavior specified when it was created.

> **action-name** is never visible and only serves as an identifier. The identifier will be used when you change it, so choose something short like "send-response".

> **action-type** is the type of action that will be triggered, you can find the list [**here**](/behavior/actions.md#list).

{% hint style="info" %}
To find out how to configure each setting, visit the associated event documentation.\
You can find the list [**here**](/behavior/actions.md#list).
{% endhint %}

## Editing an action

> To edit an action in a behavior, you can click on the "Configure Action" button\
> or simply use the command:\
> `/behavior action edit <behavior-name> <action-name>`

> **behavior-name** is the name of the behavior specified when it was created.

> **action-name** is the name of the action specified when it was created.

<figure><img src="/files/izgo2gb9oqlNF3UTQpyM" alt=""><figcaption></figcaption></figure>

## Add behavior to a character and test it

> To add a behavior to a character, you must use the command:\
> `/character behavior add <character> <behavior-name>`

<figure><img src="/files/W6D4XUM76XSpRhNpEtMz" alt=""><figcaption></figcaption></figure>

## Adding a filter to a behavior

To create a new filter in a behavior, you must use the command:\
`/behavior filter create <behavior-name> <filter-name> <filter-type>`

> **behavior-name** is the name of the behavior specified when it was created.

> **filter-name** is never visible and only serves as an identifier. The identifier will be used when you change it, so choose something short like "contained".

> **filter-type** is the type of filter that will be triggered, you can find the list [**here**](/behavior/filters.md#list).

## Editing a filter

> To edit a new filter in a behavior, you can click on the "Configure Filter" button\
> or simply use the command:\
> `/behavior filter edit <behavior-name> <filter-name>`

> **behavior-name** is the name of the behavior specified when it was created.

> **filter-name** is the name of the action specified when it was created.

<figure><img src="/files/Vh3Xi5fn3wLVMZwTNQzy" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
To understand how placeholders work, refer to [**this**](/behavior/placeholders.md#how-it-works) page.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.characterweaver.com/fundamentals/getting-set-up/configure-a-behavior.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
