# Initializing an Operator in MelodyArc

This tutorial walks you through the first major step in building a MelodyArc operator: **initializing the operator and establishing its identity**. In later guides, you will expand this operator with skills and expert knowledge, but this guide focuses on the essential foundation:

- Creating the operator’s **skill settings** (identity)
- Creating the operator’s **configuration** (behavior flow)
- Initializing the operator in the **Operators** tab

By the end, you will have a fully initialized Store Associate operator—ready to receive skills in the next tutorial.

## Prerequisites

To follow this tutorial, you need:

- A **MelodyArc account**
- An **organization** configured with the **Base Point Set**

## Part 1 — What Every Operator Needs

To initialize an operator in MelodyArc, you must create or import **three things**:

### 1. Operator Skill Settings (Value Point)

This defines:

- Who the operator is
- How it behaves
- What tone it uses
- Its role and purpose

### 2. Operator Configuration (Configuration Point)

This controls:

- What flows it uses during a task

### 3. The Operator Entry (Operators Page)

This is where you finalize the operator by giving it:

- A name
- A unique name
- Mentionability settings
- Its active status

This ties the UI to the points you imported.

## Part 2 — Importing the Required Points

### Step 1: Navigate to the Expert Page

From the MelodyArc home page, open the **Expert** tab.

### Step 2: Import the Skill Settings + Configuration

1. In the **Points** row, click the **⋮** menu.
2. Select **Import Points**.
3. Paste the two required points from the JSON below.
4. Click **Next**.

You’ll see:
- **1 Value Point:** `ops_store_associate_skill_settings`
- **1 Configuration Point:** `op_store_associate`

Click **Save** to import them.

```json
{
  "exportedAt": "2025-11-11T21:20:24.875Z",
  "organization_id": "org_69125dee48754521d6c7b160",
  "points": [
    {
      "_id": "69125def48754521d6c7b1cd",
      "organization_id": "org_69125dee48754521d6c7b160",
      "name": "op_store_associate_skill_settings",
      "partition": "operator",
      "description": "",
      "tags": [
        "operator:store_associate"
      ],
      "value": {
        "systemPrompt": "## System Prompt: CS Associate Skill Recommendation Agent...",
        "prompt": "Review the message history and select all required skills to address...",
        "contentPrompt": "Review the message history and select all available context that is...",
        "contentSystemPrompt": "## System Prompt: Relevant Context Selection Agent (CS Associate)...",
        "friendly_name": "Store associate operator"
      },
      "version": "latest",
      "id": "69125def48754521d6c7b1cd",
      "search_resource_type": "value"
    },
    {
      "_id": "69125dee48754521d6c7b177",
      "organization_id": "org_69125dee48754521d6c7b160",
      "name": "op_store_associate",
      "partition": "operator",
      "description": "",
      "tags": [
        "operator:store_associate"
      ],
      "when": [
        {
          "task.operator": {
            "evaluate": "=store_associate"
          }
        }
      ]
    }
  ]
}
```

## Part 3 — Defining Operator Identity (Skill Settings)

Now open the imported skill settings:
1. Go to **Expert → Values → Operators**
2. Open **ops_store_associate_skill_settings**

Inside this point you will find:
- Names and friendly names
- Helpful metadata
- Tags
- The prompts that shape how the operator thinks

### The Most Important Part: Role & Purpose

Inside **system prompt**, you will find the Roles and purpose paragraph that tells the operator exactly who it is.

For example: **“You are an AI assistant acting as a store associate in a retail environment...**

This single paragraph defines:
- The operator’s character
- Its mission
- How it should think

To change the operator’s identity, simply edit this paragraph.

The remaining prompts are structured so that skills (added later) plug in automatically and the operator will choose which skill to execute based on the situation.

## Part 4 — Understanding the Operator Configuration

Next, open the operator configuration:
1. Go to **Expert → Configuration**
2. Open **store_associate_configuration**

This point defines the operator’s flow. It contains:

### Input Condition

`task.operator = store_associate`

This is how the system knows:
- When a task belongs to this operator
- Which configuration to use

### The Three Operator Flows

Every operator uses these flows:
1. **Initialize** — Loads context and prepares the operator
2. **Determine Skill**— Chooses which skill(s) to run
3. **Run Skill**— Executes the chosen skill(s)

The **Run Skill flow** typically changes when you add new skills, by adding invoke points.

The first two flows are usually stable across operators, but can be modified when needed.

## Part 5 — Creating the Operator (Final Step)

Now that the points are ready:
1. Go to the **Operators** tab
2. Click **Create Operator**
3. Enter:
   - **Name:** Any name (e.g., “Store Associate”)
   - **Unique Name:** `store_associate` (must match the configuration input)
4. Add description or tags if desired
5. Ensure both:
   - **Is Mentionable**
   - **Is Default Mentionable**
     are toggled **ON**
6. Click **Create Operator**

You now have a live operator entry that is linked to your skill settings and configuration.

## Part 6 — Testing the Initialization

Even though it has no skills yet, the operator is now fully initialized.
1. Go to the **Chat** interface
2. Type **@store_associate**

Because it’s mentionable, it will appear as an available operator you can talk to.

It won’t perform actions yet—that comes next—but initialization is complete.

# Summary

You have now:
- Imported the **skill settings** (operator identity)
- Imported the **configuration** (operator behavior flow)
- Created the operator in the **Operators** tab
- Verified that it is active and mentionable

Your Store Associate operator is now initialized and ready for skills.

**In the next tutorial:** You will learn how to create your first operator skill, understand the anatomy of a skill, and connect it to your operator’s flows.

[Store operator - initializing the operator](https://www.loom.com/share/70d3f7efaa9c4c8b84d66840d2651d86?source=embed_watch_on_loom_cta)
