# `Twilio.Frontline.V1.UserService`
[🔗](https://github.com/jeffhuen/twilio_elixir/blob/main/lib/twilio/frontline/v1/user_service.ex#L2)

A User resource represents a frontline user.

Operations: `fetch`, `update`

# `fetch`

```elixir
@spec fetch(Twilio.Client.t(), String.t(), keyword()) ::
  {:ok, Twilio.Resources.Frontline.V1.User.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Fetch a frontline user

Operation: `FetchUser` | Tags: FrontlineV1User

# `update`

```elixir
@spec update(Twilio.Client.t(), String.t(), map(), keyword()) ::
  {:ok, Twilio.Resources.Frontline.V1.User.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Update an existing frontline user

Operation: `UpdateUser` | Tags: FrontlineV1User

## Optional Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `Avatar` | string | The avatar URL which will be shown in Frontline application. |
| `FriendlyName` | string | The string that you assigned to describe the User. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `IsAvailable` | boolean | Whether the User is available for new conversations. Set to `false` to prevent User from receiving new inbound conversations if you are using [Pool Routing](https://www.twilio.com/docs/frontline/handle-incoming-conversations#3-pool-routing). |
| `State` | string |  Values: `active`, `deactivated` |

---

*Consult [api-reference.md](api-reference.md) for complete listing*
