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

# Delegate request

> How to delegate a request with CRMScript

If a request handler is unable to resolve the issue, they can:

* Pass the ticket to a colleague
* Forward the ticket to an external party
* Delegate and let the system pick the next owner

## Ask a colleague for help

1. Reassign the ticket.
2. Add an internal message with your question.
3. Update the last modified timestamps.
4. Optionally add the ticket to the previous owner's favorites list, as a reminder to follow up.

## Forward to an external party

A common scenario when you need to get advice from a sub-supplier.

<Tip>
  Use the contact's (customer's) email address as the sender so that any answer from the recipient will be sent directly to the contact and not back to SuperOffice Service.
</Tip>

### Bool sendMessages(String subject, StringMatrix recipients, Bool fromCust, String messages, Integer msgId, String comment)

Forwards the listed messages. In the generated email, the comment is inserted at the top and followed by the messages, each separated by a line.

| Parameter  | Description                             |
| ---------- | --------------------------------------- |
| subject    | ticket.title or similar                 |
| recipients | Format: to / pipesign / name / email    |
| fromCust   | The sender's email address              |
| messages   | A comma-separated list of message IDs   |
| msgId      | ID of added "forward" message or -1     |
| comment    | A note preceding the forwarded messages |

**Recipients example:**
To | John Doe \<[john.doe@john.doe](mailto:john.doe@john.doe)> Cc | Jane Doe \<[jane.doe@jane.doe](mailto:jane.doe@jane.doe)>

## Void delegate()

Delegates a ticket to a user according to the rules of the ticket's category.

<Note>
  You must call `save()` to do the action.
</Note>

```crmscript theme={null}
Ticket t;
t.load(2);
t.delegate();
t.save();
```

## Void delegate(Integer notUser)

A variant of `delegate()` that lets you exclude a user from the pool of possible assignees.
For example, if the 2nd owner also passes on the ticket and you want to avoid re-assigning to the original owner.

```crmscript theme={null}
Ticket t;
t.load(2);
t.delegate(4);
t.save();
```


## Related topics

- [Enum TicketCategoryDelegateMethod](/en/automation/crmscript/reference/CRMScript.NetServer.TicketCategoryDelegateMethod.md)
- [Enum values for TicketCategoryDelegateMethod](/en/database/tables/enums/ticketcategorydelegatemethod.md)
- [SuperOffice.WebApi.Data.TicketCategoryDelegateMethod](/en/api/reference/webapi/SuperOffice.WebApi.Data.TicketCategoryDelegateMethod.md)
- [Update request](/en/mobile/request/update.md)
- [Delegate](/en/diary/learn/follow-up-assign.md)
- [Ask another request handler for help](/en/request/learn/transfer.md)
