# Conversation programs: escalate, reopen

URL: /code/mcp/conversation/verbs-escalate · Id: `page:code/mcp/conversation/verbs-escalate`

> The Conversation Verbs escalate, reopen as MCP do programs, with inputs, result, refusals and an example.

Reference for [Conversation](/business/nouns/conversation), one group of [Conversation programs](/code/mcp/conversation).

### Conversation.escalate
Escalate hands a Conversation and its summary to the Worker in the Role above, a Human only where one holds it. [Verb page](/business/nouns/conversation/escalate?interface=mcp).

```text
do: return await $.Conversation.escalate(input)
```

Emits [`Conversation.escalated`](/business/events/Conversation.escalated).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `conversation` | [Conversation](/business/nouns/conversation) | Yes | The Conversation to hand off. |
| `reason` | `string` | Yes | Why it moves up. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `conversation` | [Conversation](/business/nouns/conversation) | Yes | The Conversation, with its new Worker. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Conversation.escalate({ conversation: 'conversation_0vg6SDjB6k', reason: 'lowConfidence' })"
  }
}
```

### Conversation.reopen
Reopen reverses a Conversation’s resolution when a reversal signal arrives within 7 days, and grades the resolution a failure. [Verb page](/business/nouns/conversation/reopen?interface=mcp).

```text
do: return await $.Conversation.reopen(input)
```

Emits [`Conversation.reopened`](/business/events/Conversation.reopened).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `conversation` | [Conversation](/business/nouns/conversation) | Yes | The resolved Conversation. |
| `signal` | `string` | Yes | What reversed it: a new Message on the subject, a request for a person, a rating of 2 or lower, or a Dispute. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `conversation` | [Conversation](/business/nouns/conversation) | Yes | The Conversation, open again. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Conversation.reopen({ conversation: 'conversation_0vg6SDjB6k', signal: 'askedForPerson' })"
  }
}
```