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

# Assign CSM

> Assign a CSM to a user from an agent run

<iframe src="http://localhost:3000/doc-comp-previews/agent-node-preview?type=assign_csm" title="Agent Node Preview" width="100%" height="250px" className="border dark:border-[#1C1C20] rounded-xl" />

## How Assign CSM works

Use this tool to set user ownership directly from an agent run. The agent can choose the user, the assignee, and whether the assignment is primary. Assignments happen inside the agent flow and can be used as a handoff step after qualification, churn detection, or onboarding milestones. The resulting assignment is persisted on the user record so that downstream tools and future runs can reference the current owner.

## Configuration

<Columns cols={2}>
  <Card title="Inputs">
    <ParamField path="Prompt" type="string">
      Guidance that tells the agent when this tool should be used.
    </ParamField>

    <ParamField path="User to assign" type="string" required>
      Target user that should receive the assignment.
    </ParamField>

    <ParamField path="Assign to" type="string" required>
      Team member to assign as CSM.
    </ParamField>

    <ParamField path="Primary CSM" type="boolean" default="true">
      Set to `true` when this assignment should become the primary CSM relationship.
    </ParamField>
  </Card>

  <Card>
    <iframe src="http://localhost:3000/doc-comp-previews/agent-config-preview?type=assign_csm" title="Agent Config Preview" width="100%" height="560px" className="" />
  </Card>
</Columns>

<Card title="Outputs">
  <ParamField path="assignment_success" type="boolean" required>
    Whether the CSM assignment completed successfully.
  </ParamField>

  <ParamField path="assigned_csm" type="string" required>
    The team member ID that was assigned as CSM.
  </ParamField>

  <ParamField path="is_primary" type="boolean" required>
    Whether this assignment was set as the primary CSM relationship.
  </ParamField>

  <ParamField path="org_user_id" type="string" required>
    The user ID that received the assignment.
  </ParamField>
</Card>

## Use Cases

**New Enterprise Customer**

```
Assignment Target: User
CSM: Senior CSM for enterprise accounts
Is Primary: true
Use: Ensure high-touch support for enterprise customers from day one
```

**Product Specialist Assignment**

```
Assignment Target: User
CSM: Product specialist for advanced features
Is Primary: false
Use: Add a secondary CSM with domain expertise alongside the primary owner
```

**Tier-Based Assignment**

```
Condition: user.plan = "growth"
CSM: Growth team CSM
Is Primary: true
Use: Route growth-tier customers to a dedicated success team automatically
```

**Risk-Based Reassignment**

```
Condition: churn_risk_score > 80
CSM: Retention specialist
Is Primary: false
Use: Bring in a retention expert without removing the existing primary CSM
```

## Best Practices

**Assignment Strategy**

* Use primary assignments for main customer relationships.
* Assign secondary CSMs for specialized support needs like retention or product guidance.
* Consider customer tier and complexity when selecting CSMs in the agent prompt.

**Workload Management**

* Monitor CSM assignment distribution to avoid overloading individual team members.
* Consider current workloads when the agent decides between eligible CSMs.
* Pair this tool with Round Robin when balanced distribution matters more than specific selection.

**Relationship Continuity**

* Avoid reassigning primary CSMs on every run; use conditions to trigger reassignment only when meaningful changes occur.
* Persist assignment context with Set Custom Property so future agent runs can reference the current owner.
* Log assignment changes with clear conditions so the team understands why ownership shifted.
