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

# Comprehensive Guide to Microsoft Teams

> Complete reference for all interaction methods, thread management, and advanced features

Serval integrates with Microsoft Teams, making it easy to create tickets, trigger workflows, and get help without leaving your conversations. This guide covers all the available interaction methods.

<Note>
  Setting up Teams or configuring channels? See the [Microsoft Teams integration setup](/sections/integrations/microsoft-teams) guide for administrator instructions.
</Note>

## Overview

<CardGroup cols={3}>
  <Card title="Channels" icon="hashtag" href="#serval-in-channels">
    Post in a **Help Desk** channel and Serval responds automatically
  </Card>

  <Card title="Direct messages" icon="envelope" href="#direct-messages">
    Private 1:1 chats — Serval routes your messages to the right ticket
  </Card>

  <Card title="Advanced actions" icon="bolt" href="#advanced-interactions">
    Trigger workflows, approve requests, and manage tickets
  </Card>
</CardGroup>

## Serval in channels

<Note>
  Before Serval can respond in a channel, it must be added to that channel and the channel must be configured in Serval. To do this, `@mention` Serval in the channel, then set the channel mode on the **Help Desk** page of your Microsoft Teams integration. For more information, see [Connect channels](/sections/integrations/microsoft-teams#step-4-connect-channels).
</Note>

Depending on the type of channel or message, Serval interacts in different ways:

* In **Help Desk** mode channels, Serval automatically monitors and responds to all new threads.
* In **Silent** mode channels, mentioning `@Serval` activates assistance for that thread.

### Examples

#### Get help in a Help Desk channel

```
Can you help me reset my password?
```

#### Get help in a Silent Mode channel

```
@Serval can you help me reset my password?
```

#### Trigger a workflow

```
@Serval run the new user onboarding workflow for jane@company.com
```

### Thread-based interactions

#### Working within threads

Serval maintains context within Teams channel threads, with the following benefits:

* Keeps messages for a particular ticket in the same thread
* Serval remembers context from earlier in the thread
* You can ask follow-up questions

While Serval is working on your request, a typing indicator appears in the conversation so you know it's active.

## Direct messages

<Warning>
  Your Serval administrator must enable direct messaging. This is configured within the Microsoft Teams integration at the team level. Any Serval administrator will be able to view your support ticket, but others in your organization will not.
</Warning>

#### Private support conversations

For personal or sensitive requests, message Serval directly.

When an action needs a button or a form, such as an approval, Serval presents it as an interactive card within your DM.

#### How DM conversations are organized

<Note>
  Microsoft Teams does not support threads in direct messages.
</Note>

Serval uses the contents of your messages to intelligently route to a new ticket, or an open ticket discussed earlier in the conversation.

For best results in DMs:

* Clearly signal a new request when you want a new ticket (for example, `New request: I need a license for Figma`). Alternatively, if Serval is not handling the process correctly, you can use the [`/create-ticket` command](#create-ticket-command) to create the ticket explicitly
* Reference the existing issue when you're following up (for example, `Following up on my laptop replacement request`)
* Keep to one request per message where possible (for example, `Following up on the Figma license request` instead of `Following up on the Figma license request. Can you also check on my laptop replacement?`)
* Provide enough context in each individual message (e.g. existing ticket information) so that Serval can optimally route your request (for example, `Following up on Vercel license request` instead of `Following up on my ticket.`)
* Avoid short, ambiguous responses to Serval (for example, if Serval responds with `Your laptop replacement has been sent. Should I close the ticket, or keep it open until you receive your laptop?`, responding with `Keep it open` is better than `Ok`)

<Note>
  DM routing relies on understanding your messages in natural language. Currently, the process is less precise than channel threads, where each thread maps cleanly to one ticket. If you aren't getting good results in DMs, you can use a [**Help Desk** channel](#serval-in-channels) instead, where threading keeps each request separate.
</Note>

#### /create-ticket command

In a direct message with Serval, type:

```
/create-ticket
```

**When to use:** When you want to bypass Serval routing, and specify ticket parameters via DM.

Serval responds with a short form where you enter your request details. If you belong to more than one team, the form also lets you choose which team the ticket should go to. Alternatively, leave it on **Auto-detect** to let Serval pick the team for you. You can also set who the ticket is for, which defaults to you. Once you submit the form, Serval creates the ticket and starts helping.

<Note>
  `/create-ticket` is a direct-message command, and should be used in a 1:1 chat with Serval, not in a channel. In channels, post your request in a **Help Desk** channel or `@mention` Serval instead.
</Note>

## Advanced interactions

### Workflow triggers

Trigger [Serval workflows](/sections/documentation/workflows/overview) directly from Teams:

* `Run the employee onboarding workflow for john@company.com`
* `Execute the AWS access grant workflow for the engineering team`
* `Start the offboarding process for the contractor anna@corporation.com`

### Approvals and access requests

Serval handles approvals and access requests as interactive cards:

* **Approvals:** When a request needs your approval, Serval sends a card with **Approve** and **Deny** buttons, along with an optional field to add a justification, to your direct messages.
* **Access requests:** Request access to a system and Serval routes it through the appropriate approval workflow.
* **Form inputs:** When a workflow needs more details, Serval collects information using a form. Simple forms appear inline as a card. Forms with conditional fields or file uploads open a secure hosted form via a link.

### Transfer tickets

Move a ticket to another team by requesting the transfer:

```
Transfer this ticket to the Security team
```

Only members of the ticket's current team can perform transfers. After the transfer, the receiving team takes ownership of the ticket.

### View and manage ticket status in Teams

Serval displays dynamic ticket status directly in Teams messages. As a ticket progresses from creation to resolution, the status shown in Serval's message updates in real time, so you can track progress directly from within Teams.

You can also update and manage tickets directly from a Teams channel or DM. For example:

* `Set priority to high`
* `Assign this to [teammate]`
* `Close this ticket`
* `Change status to in progress`

## Quick reference

| Method                           | Where it works               | Best for                                                                                    |
| :------------------------------- | :--------------------------- | :------------------------------------------------------------------------------------------ |
| Message a **Help Desk** channel  | **Help Desk** channels       | Get assistance in a shared team channel. Serval responds automatically, no @mention needed. |
| Use @Serval mentions             | **Silent Mode** channels     | Summoning Serval (since Serval doesn't respond automatically in **Silent Mode** channels)   |
| Reply to a thread in a channel   | Channels with active threads | Continuing a conversation about an open ticket                                              |
| Send a direct message            | 1:1 chat with Serval         | Private or sensitive requests. Serval routes each message to a new or existing ticket.      |
| Use the `/create-ticket` command | 1:1 chat with Serval         | Deterministically create a new ticket in a DM if intelligent routing misfires               |

## Tips for success

Include relevant details like user emails, system names, error messages, or links to help Serval take accurate action. In channels, keep related messages in the same thread so Serval maintains full context of the conversation. Serval understands conversational requests. No need for special syntax or formatting.

## Limitations

Currently, the Serval / Teams integration has the following limitations:

* No Team Inbox mode
* No Team Only mode

For a current capability comparison, contact [support@serval.com](mailto:support@serval.com).

## Troubleshooting

### Serval isn't responding

1. Is Serval added to the channel? (@mention Serval to add it)
2. Is the channel configured in Serval? (Check your Microsoft Teams integration settings)
3. Is the channel set to a mode other than disabled? (for example, silent or Help Desk)
4. Is your Teams organization properly connected to Serval?
5. Is your installation less than 24 hours old?

<Tip>
  Admins can run the `/healthcheck` command to check if Serval is able to receive data from Microsoft Teams.
</Tip>

### /create-ticket isn't working

1. Make sure you're using it in a direct message with Serval, not in a channel
2. Type the full command, `/create-ticket`, and send it
3. Confirm direct messaging is enabled by your Serval administrator and that the Serval app is installed for your account
4. Refresh Teams (**Cmd/Ctrl** + **R**)
5. If the issue persists, contact [support@serval.com](mailto:support@serval.com)

## Related documentation

* [Microsoft Teams Integration Setup](/sections/integrations/microsoft-teams) - Administrator configuration guide
* [Ticketing Overview](/sections/documentation/ticketing/overview) - Understanding tickets
* [Workflow Automation](/sections/documentation/workflows/overview) - Workflow documentation
