# Conversation methods: escalate, reopen

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

> The Conversation Verbs escalate, reopen as typed SDK methods, with inputs, result, refusals and an example.

Reference for [Conversation](/business/nouns/conversation), one group of [Conversation methods](/code/sdk/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=sdk).

```ts
interface ConversationVerbs {
  escalate(input: ConversationEscalateInput, options?: SB.CallOptions): SB.Call<Conversation>
}
```

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**

```ts
import { $ } from 'startup-builder'

const conversation = 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=sdk).

```ts
interface ConversationVerbs {
  reopen(input: ConversationReopenInput, options?: SB.CallOptions): SB.Call<Conversation>
}
```

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**

```ts
import { $ } from 'startup-builder'

const conversation = await $.Conversation.reopen({ conversation: 'conversation_0vg6SDjB6k', signal: 'askedForPerson' })
```