# LiveAgent

> Create, update and find LiveAgent tickets, read their conversations, and manage the contacts, companies and tags around them.

App · 20 actions. Web page: https://docs.lodol.com/docs/integrations/liveagent

## Actions

### Create company

Create a LiveAgent company with its name, email addresses, phone numbers and custom fields.

**Inputs**

- Name (`name`, text, required): The company's name.
- Email addresses (`emails`, list): The company's email addresses.
- Phone numbers (`phones`, list): The company's phone numbers.
- Description (`description`, text): A description of the company.
- Note (`note`, text): An internal note about the company.
- Language (`language`, text): Language code, e.g. en.
- City (`city`, text): The company's city.
- Country code (`countrycode`, text): Two-letter country code, e.g. US.
- Custom fields (`custom_fields`, object): Values for custom fields, keyed by each field's code as set up in LiveAgent (Configuration > System > Contact fields or Ticket fields).

**Outputs**

- `avatar_url` (text)
- `city` (text)
- `countrycode` (text)
- `custom_fields` (list)
- `date_changed` (text)
- `date_created` (text)
- `description` (text)
- `emails` (list)
- `groups` (list)
- `id` (text)
- `ip` (text)
- `language` (text)
- `latitude` (number)
- `longitude` (number)
- `name` (text)
- `note` (text)
- `phones` (list)
- `screen` (text)
- `system_name` (text)
- `time_offset` (number)
- `type` (text)
- `useragent` (text)

**Example output**

```json
{
  "avatar_url": null,
  "city": "London",
  "countrycode": "GB",
  "custom_fields": [],
  "date_changed": "2026-09-30 08:00:00",
  "date_created": "2026-09-30 08:00:00",
  "description": null,
  "emails": [
    "support@acme.example"
  ],
  "groups": [],
  "id": "c9x2m4qa",
  "ip": null,
  "language": "en",
  "latitude": null,
  "longitude": null,
  "name": "Acme Ltd",
  "note": null,
  "phones": [],
  "screen": null,
  "system_name": "Acme Ltd",
  "time_offset": 0,
  "type": "R",
  "useragent": null
}
```

### Create contact

Create a LiveAgent contact with a name, email addresses, phone numbers, company and custom fields.

**Inputs**

- First name (`firstname`, text): The contact's first name.
- Last name (`lastname`, text): The contact's last name.
- Email addresses (`emails`, list): The contact's email addresses.
- Phone numbers (`phones`, list): The contact's phone numbers.
- Company ID (`company_id`, text): The id of the company the contact belongs to.
- Job position (`job_position`, text): The contact's job title.
- Description (`description`, text): A description of the contact.
- Note (`note`, text): An internal note about the contact.
- Gender (`gender`, text): The contact's gender. One of: `M` (Male), `F` (Female), `O` (Other), `X` (Unspecified).
- Language (`language`, text): Language code, e.g. en.
- City (`city`, text): The contact's city.
- Country code (`countrycode`, text): Two-letter country code, e.g. US.
- Custom fields (`custom_fields`, object): Values for custom fields, keyed by each field's code as set up in LiveAgent (Configuration > System > Contact fields or Ticket fields).

**Outputs**

- `avatar_url` (text)
- `city` (text)
- `company_id` (text)
- `countrycode` (text)
- `custom_fields` (list)
- `date_changed` (text)
- `date_created` (text)
- `description` (text)
- `emails` (list)
- `firstname` (text)
- `gender` (text)
- `groups` (list)
- `id` (text)
- `ip` (text)
- `job_position` (text)
- `language` (text)
- `lastname` (text)
- `latitude` (number)
- `longitude` (number)
- `note` (text)
- `phones` (list)
- `screen` (text)
- `system_name` (text)
- `time_offset` (number)
- `type` (text)
- `useragent` (text)

**Example output**

```json
{
  "avatar_url": null,
  "city": "London",
  "company_id": "c9x2m4qa",
  "countrycode": "GB",
  "custom_fields": [],
  "date_changed": "2026-09-30 08:00:00",
  "date_created": "2026-09-30 08:00:00",
  "description": null,
  "emails": [
    "jane@example.com"
  ],
  "firstname": "Jane",
  "gender": "F",
  "groups": [],
  "id": "k2bd7c1e",
  "ip": null,
  "job_position": "Head of IT",
  "language": "en",
  "lastname": "Doe",
  "latitude": null,
  "longitude": null,
  "note": null,
  "phones": [
    "+441234567890"
  ],
  "screen": null,
  "system_name": "Jane Doe",
  "time_offset": 0,
  "type": "R",
  "useragent": null
}
```

### Create tag

Create a LiveAgent ticket tag.

**Inputs**

- Name (`name`, text, required): The tag's name.
- Text colour (`color`, text): The tag's text colour as a hex code, e.g. FFFFFF.
- Background colour (`background_color`, text): The tag's background colour as a hex code, e.g. E53935.
- Public (`is_public`, true/false): Tick to make the tag public; leave off for a private tag. Default: `true`.

**Outputs**

- `background_color` (text)
- `color` (text)
- `id` (text)
- `is_archived` (text)
- `is_public` (text)
- `name` (text)

**Example output**

```json
{
  "background_color": "E53935",
  "color": "FFFFFF",
  "id": "3bg4",
  "is_archived": "N",
  "is_public": "Y",
  "name": "VIP"
}
```

### Create ticket

Create a LiveAgent ticket as if the customer had emailed your support address: who it is from, which address and department it goes to, the subject and the first message.

**Inputs**

- From (customer email) (`requester`, text, required): The customer the ticket is from - their email address.
- To (your support address) (`recipient`, text, required): The support email address the ticket was sent to, e.g. support@acme.ladesk.com - one of the mail accounts in your LiveAgent.
- Department (`department_id`, text, required): The department that handles it.
- Subject (`subject`, text, required): The ticket's subject.
- Message (`message`, text, required): The first message of the ticket.
- Message is HTML (`is_html`, true/false): Tick when the message is HTML rather than plain text. Default: `false`.
- To name (`recipient_name`, text): A name for the support address.
- CC (`cc`, list): Email addresses to copy.
- BCC (`bcc`, list): Email addresses to blind-copy.
- Status (`status`, text): The ticket's starting status. New when left empty. One of: `N` (New), `C` (Open), `A` (Answered), `W` (Postponed), `R` (Resolved), `B` (Spam).
- Tags (`tag_ids`, list): Tags to put on the ticket.
- Don't send any email (`do_not_send_mail`, true/false): Tick to create the ticket without LiveAgent sending any email about it. Default: `false`.
- Use email template (`use_template`, true/false): Wrap the message in your LiveAgent email template. Default: `false`.
- Custom fields (`custom_fields`, object): Values for custom fields, keyed by each field's code as set up in LiveAgent (Configuration > System > Contact fields or Ticket fields).

**Outputs**

- `agentid` (text)
- `channel_type` (text)
- `code` (text)
- `custom_fields` (list)
- `date_created` (text)
- `departmentid` (text)
- `id` (text)
- `owner_contactid` (text)
- `ownerid` (text)
- `public_access_urlcode` (text)
- `status` (text)
- `subject` (text)
- `tags` (text)

**Example output**

```json
{
  "agentid": null,
  "channel_type": "E",
  "code": "ZUN-RAK-QRV",
  "custom_fields": [],
  "date_created": "2026-10-01 09:15:00",
  "departmentid": "8ld2hdk5",
  "id": "fp80688h",
  "owner_contactid": "k2bd7c1e",
  "ownerid": "k2bd7c1e",
  "public_access_urlcode": "a1b2c3",
  "status": "N",
  "subject": "Cannot sign in",
  "tags": ""
}
```

### Delete company

Delete a LiveAgent company, keeping its tickets unless you choose to delete those too.

**Inputs**

- Company ID (`company_id`, text, required): The company's id, from List companies or Create company.
- Also delete their tickets (`delete_tickets`, true/false): Also delete every ticket of this company. Leave off to keep the tickets. Default: `false`.

**Outputs**

- `company_id` (text)
- `deleted` (true/false)
- `tickets_deleted` (true/false)

**Example output**

```json
{
  "company_id": "c9x2m4qa",
  "deleted": true,
  "tickets_deleted": false
}
```

### Delete contact

Delete a LiveAgent contact, keeping their tickets unless you choose to delete those too.

**Inputs**

- Contact ID (`contact_id`, text, required): The contact's id, from List contacts or Create contact.
- Also delete their tickets (`delete_tickets`, true/false): Also delete every ticket of this contact. Leave off to keep the tickets. Default: `false`.

**Outputs**

- `contact_id` (text)
- `deleted` (true/false)
- `tickets_deleted` (true/false)

**Example output**

```json
{
  "contact_id": "k2bd7c1e",
  "deleted": true,
  "tickets_deleted": false
}
```

### Delete tag

Delete a LiveAgent ticket tag.

**Inputs**

- Tag (`tag_id`, text, required): The tag to delete. Pick one, or paste its id.

**Outputs**

- `deleted` (true/false)
- `tag_id` (text)

**Example output**

```json
{
  "deleted": true,
  "tag_id": "3bg4"
}
```

### Delete ticket

Delete a LiveAgent ticket.

**Inputs**

- Ticket ID (`ticket_id`, text, required): The ticket's id (such as fp80688h), from List tickets or Create ticket - or paste the ticket's agent-panel URL.

**Outputs**

- `deleted` (true/false)
- `ticket_id` (text)

**Example output**

```json
{
  "deleted": true,
  "ticket_id": "fp80688h"
}
```

### Get company

Get one LiveAgent company with all its details.

**Inputs**

- Company ID (`company_id`, text, required): The company's id, from List companies or Create company.

**Outputs**

- `avatar_url` (text)
- `city` (text)
- `countrycode` (text)
- `custom_fields` (list)
- `date_changed` (text)
- `date_created` (text)
- `description` (text)
- `emails` (list)
- `groups` (list)
- `id` (text)
- `ip` (text)
- `language` (text)
- `latitude` (number)
- `longitude` (number)
- `name` (text)
- `note` (text)
- `phones` (list)
- `screen` (text)
- `system_name` (text)
- `time_offset` (number)
- `type` (text)
- `useragent` (text)

**Example output**

```json
{
  "avatar_url": null,
  "city": "London",
  "countrycode": "GB",
  "custom_fields": [],
  "date_changed": "2026-09-30 08:00:00",
  "date_created": "2026-09-30 08:00:00",
  "description": null,
  "emails": [
    "support@acme.example"
  ],
  "groups": [],
  "id": "c9x2m4qa",
  "ip": null,
  "language": "en",
  "latitude": null,
  "longitude": null,
  "name": "Acme Ltd",
  "note": null,
  "phones": [],
  "screen": null,
  "system_name": "Acme Ltd",
  "time_offset": 0,
  "type": "R",
  "useragent": null
}
```

### Get contact

Get one LiveAgent contact with all its details.

**Inputs**

- Contact ID (`contact_id`, text, required): The contact's id, from List contacts or Create contact.

**Outputs**

- `avatar_url` (text)
- `city` (text)
- `company_id` (text)
- `countrycode` (text)
- `custom_fields` (list)
- `date_changed` (text)
- `date_created` (text)
- `description` (text)
- `emails` (list)
- `firstname` (text)
- `gender` (text)
- `groups` (list)
- `id` (text)
- `ip` (text)
- `job_position` (text)
- `language` (text)
- `lastname` (text)
- `latitude` (number)
- `longitude` (number)
- `note` (text)
- `phones` (list)
- `screen` (text)
- `system_name` (text)
- `time_offset` (number)
- `type` (text)
- `useragent` (text)

**Example output**

```json
{
  "avatar_url": null,
  "city": "London",
  "company_id": "c9x2m4qa",
  "countrycode": "GB",
  "custom_fields": [],
  "date_changed": "2026-09-30 08:00:00",
  "date_created": "2026-09-30 08:00:00",
  "description": null,
  "emails": [
    "jane@example.com"
  ],
  "firstname": "Jane",
  "gender": "F",
  "groups": [],
  "id": "k2bd7c1e",
  "ip": null,
  "job_position": "Head of IT",
  "language": "en",
  "lastname": "Doe",
  "latitude": null,
  "longitude": null,
  "note": null,
  "phones": [
    "+441234567890"
  ],
  "screen": null,
  "system_name": "Jane Doe",
  "time_offset": 0,
  "type": "R",
  "useragent": null
}
```

### Get ticket

Get one LiveAgent ticket: its status, subject, customer, department, agent, tags and custom fields.

**Inputs**

- Ticket ID (`ticket_id`, text, required): The ticket's id (such as fp80688h), from List tickets or Create ticket - or paste the ticket's agent-panel URL.

**Outputs**

- `agentid` (text)
- `channel_type` (text)
- `code` (text)
- `custom_fields` (list)
- `date_changed` (text)
- `date_created` (text)
- `date_deleted` (text)
- `date_due` (text)
- `date_resolved` (text)
- `departmentid` (text)
- `id` (text)
- `last_activity` (text)
- `last_activity_public` (text)
- `owner_contactid` (text)
- `owner_email` (text)
- `owner_name` (text)
- `public_access_urlcode` (text)
- `status` (text)
- `subject` (text)
- `tags` (list)

**Example output**

```json
{
  "agentid": "0rnbfcr8",
  "channel_type": "E",
  "code": "ZUN-RAK-QRV",
  "custom_fields": [],
  "date_changed": "2026-10-01 10:02:11",
  "date_created": "2026-10-01 09:15:00",
  "date_deleted": null,
  "date_due": null,
  "date_resolved": null,
  "departmentid": "8ld2hdk5",
  "id": "fp80688h",
  "last_activity": "2026-10-01 10:02:11",
  "last_activity_public": "2026-10-01 10:02:11",
  "owner_contactid": "k2bd7c1e",
  "owner_email": "jane@example.com",
  "owner_name": "Jane Doe",
  "public_access_urlcode": "a1b2c3",
  "status": "C",
  "subject": "Cannot sign in",
  "tags": [
    "3bg4"
  ]
}
```

### List companies

List LiveAgent companies, optionally only those matching column values.

**Inputs**

- Filters (`filters`, object): Only records whose column has this value, e.g. company_id = 123abc or gender = M.
- Page (`page`, number): Which page to return, starting at 1. From 1 to 100000. Default: `1`.
- Per page (`per_page`, number): How many to return per page (at most 100). From 1 to 100. Default: `50`.

**Outputs**

- `companies` (list): Companies
- `count` (number)
- `has_more` (true/false)
- `page` (number)
- `per_page` (number)

**Example output**

```json
{
  "companies": [
    {
      "avatar_url": null,
      "city": "London",
      "countrycode": "GB",
      "custom_fields": [],
      "date_changed": "2026-09-30 08:00:00",
      "date_created": "2026-09-30 08:00:00",
      "description": null,
      "emails": [
        "support@acme.example"
      ],
      "groups": [],
      "id": "c9x2m4qa",
      "ip": null,
      "language": "en",
      "latitude": null,
      "longitude": null,
      "name": "Acme Ltd",
      "note": null,
      "phones": [],
      "screen": null,
      "system_name": "Acme Ltd",
      "time_offset": 0,
      "type": "R",
      "useragent": null
    }
  ],
  "count": 1,
  "has_more": false,
  "page": 1,
  "per_page": 50
}
```

### List contacts

List LiveAgent contacts (customers), optionally only those matching column values such as a company id.

**Inputs**

- Filters (`filters`, object): Only records whose column has this value, e.g. company_id = 123abc or gender = M.
- Page (`page`, number): Which page to return, starting at 1. From 1 to 100000. Default: `1`.
- Per page (`per_page`, number): How many to return per page (at most 100). From 1 to 100. Default: `50`.

**Outputs**

- `contacts` (list): Contacts
- `count` (number)
- `has_more` (true/false)
- `page` (number)
- `per_page` (number)

**Example output**

```json
{
  "contacts": [
    {
      "avatar_url": null,
      "city": "London",
      "company_id": "c9x2m4qa",
      "countrycode": "GB",
      "custom_fields": [],
      "date_changed": "2026-09-30 08:00:00",
      "date_created": "2026-09-30 08:00:00",
      "description": null,
      "emails": [
        "jane@example.com"
      ],
      "firstname": "Jane",
      "gender": "F",
      "groups": [],
      "id": "k2bd7c1e",
      "ip": null,
      "job_position": "Head of IT",
      "language": "en",
      "lastname": "Doe",
      "latitude": null,
      "longitude": null,
      "note": null,
      "phones": [
        "+441234567890"
      ],
      "screen": null,
      "system_name": "Jane Doe",
      "time_offset": 0,
      "type": "R",
      "useragent": null
    }
  ],
  "count": 1,
  "has_more": false,
  "page": 1,
  "per_page": 50
}
```

### List departments

List LiveAgent departments with their agents and online status.

**Inputs**

- Page (`page`, number): Which page to return, starting at 1. From 1 to 100000. Default: `1`.
- Per page (`per_page`, number): How many to return per page (at most 100). From 1 to 100. Default: `50`.

**Outputs**

- `count` (number)
- `departments` (list): Departments
- `has_more` (true/false)
- `page` (number)
- `per_page` (number)

**Example output**

```json
{
  "count": 1,
  "departments": [
    {
      "agent_count": 2,
      "agent_ids": [
        "0rnbfcr8"
      ],
      "department_id": "8ld2hdk5",
      "mailaccount_id": "ma1b2c3d",
      "name": "Support",
      "online_status": "N"
    }
  ],
  "has_more": false,
  "page": 1,
  "per_page": 50
}
```

### List tags

List every LiveAgent ticket tag with its id and colours.

**Inputs**: None.

**Outputs**

- `count` (number)
- `tags` (list)

**Example output**

```json
{
  "count": 1,
  "tags": [
    {
      "background_color": "E53935",
      "color": "FFFFFF",
      "id": "3bg4",
      "is_archived": "N",
      "is_public": "Y",
      "name": "VIP"
    }
  ]
}
```

### List ticket messages

List a LiveAgent ticket's conversation: each message group (an email, chat or call) with who sent it and its messages.

**Inputs**

- Ticket ID (`ticket_id`, text, required): The ticket's id (such as fp80688h), from List tickets or Create ticket - or paste the ticket's agent-panel URL.
- Include quoted text (`include_quoted`, true/false): Also return the quoted earlier messages in each email. Default: `false`.
- Order (`sort_dir`, text): Sort direction. One of: `DESC` (Newest / highest first), `ASC` (Oldest / lowest first). Default: `ASC`.
- Page (`page`, number): Which page to return, starting at 1. From 1 to 100000. Default: `1`.
- Per page (`per_page`, number): How many to return per page (at most 100). From 1 to 100. Default: `50`.

**Outputs**

- `count` (number)
- `has_more` (true/false)
- `message_groups` (list): Message groups
- `page` (number)
- `per_page` (number)

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "message_groups": [
    {
      "datecreated": "2026-10-01 09:15:00",
      "datefinished": null,
      "id": "g1h2j3k4",
      "mail_msg_id": null,
      "messages": [
        {
          "datecreated": "2026-10-01 09:15:00",
          "format": "T",
          "id": "m1n2p3q4",
          "message": "I cannot sign in since this morning.",
          "type": "M",
          "userid": "k2bd7c1e",
          "visibility": null
        }
      ],
      "parent_id": null,
      "pop3_msg_id": null,
      "sort_order": 1,
      "status": "V",
      "type": "M",
      "user_full_name": "Jane Doe",
      "userid": "k2bd7c1e"
    }
  ],
  "page": 1,
  "per_page": 50
}
```

### List tickets

List LiveAgent tickets, filtered by status, department, agent, tags, customer or creation/change date, newest or oldest first. LiveAgent returns at most 10,000 tickets per filter - narrow by date to read further back.

**Inputs**

- Status (`statuses`, list): Only tickets in one of these statuses. One or more of: `N` (New), `C` (Open), `A` (Answered), `W` (Postponed), `R` (Resolved), `B` (Spam), `L` (Closed), `T` (Chatting), `P` (Calling), `I` (Init), `X` (Deleted).
- Department (`department_id`, text): Only tickets in this department.
- Agent (`agent_id`, text): The agent. Pick one, or paste an agent id.
- Tags (`tag_ids`, list): Only tickets with any of these tags.
- Customer contact ID (`owner_contact_id`, text): Only tickets from this contact (its id from List contacts).
- Created on or after (`created_after`, date): Only tickets created on or after this date.
- Created on or before (`created_before`, date): Only tickets created on or before this date.
- Changed on or after (`changed_after`, date): Only tickets changed on or after this date.
- Changed on or before (`changed_before`, date): Only tickets changed on or before this date.
- Sort by (`sort_field`, text): What to sort the tickets by. One of: `date_created` (Date created), `date_changed` (Date changed), `importance`. Default: `date_created`.
- Order (`sort_dir`, text): Sort direction. One of: `DESC` (Newest / highest first), `ASC` (Oldest / lowest first). Default: `DESC`.
- Page (`page`, number): Which page to return, starting at 1. From 1 to 100000. Default: `1`.
- Per page (`per_page`, number): How many to return per page (at most 100). From 1 to 100. Default: `50`.

**Outputs**

- `count` (number)
- `has_more` (true/false)
- `page` (number)
- `per_page` (number)
- `tickets` (list): Tickets

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "page": 1,
  "per_page": 50,
  "tickets": [
    {
      "agentid": "0rnbfcr8",
      "channel_type": "E",
      "code": "ZUN-RAK-QRV",
      "custom_fields": [],
      "date_changed": "2026-10-01 10:02:11",
      "date_created": "2026-10-01 09:15:00",
      "date_deleted": null,
      "date_due": null,
      "date_resolved": null,
      "departmentid": "8ld2hdk5",
      "id": "fp80688h",
      "last_activity": "2026-10-01 10:02:11",
      "last_activity_public": "2026-10-01 10:02:11",
      "owner_contactid": "k2bd7c1e",
      "owner_email": "jane@example.com",
      "owner_name": "Jane Doe",
      "public_access_urlcode": "a1b2c3",
      "status": "C",
      "subject": "Cannot sign in",
      "tags": [
        "3bg4"
      ]
    }
  ]
}
```

### Update company

Change a LiveAgent company. Only the fields you fill in change; everything else is kept.

**Inputs**

- Company ID (`company_id`, text, required): The company's id, from List companies or Create company.
- Name (`name`, text): The company's name. Leave empty to keep it as it is.
- Email addresses (`emails`, list): The company's email addresses. Replaces the current list.
- Phone numbers (`phones`, list): The company's phone numbers. Replaces the current list.
- Description (`description`, text): A description of the company. Leave empty to keep it as it is.
- Note (`note`, text): An internal note about the company. Leave empty to keep it as it is.
- Language (`language`, text): Language code, e.g. en. Leave empty to keep it as it is.
- City (`city`, text): The company's city. Leave empty to keep it as it is.
- Country code (`countrycode`, text): Two-letter country code, e.g. US. Leave empty to keep it as it is.
- Custom fields (`custom_fields`, object): Values for custom fields, keyed by each field's code as set up in LiveAgent (Configuration > System > Contact fields or Ticket fields).

**Outputs**

- `avatar_url` (text)
- `city` (text)
- `countrycode` (text)
- `custom_fields` (list)
- `date_changed` (text)
- `date_created` (text)
- `description` (text)
- `emails` (list)
- `groups` (list)
- `id` (text)
- `ip` (text)
- `language` (text)
- `latitude` (number)
- `longitude` (number)
- `name` (text)
- `note` (text)
- `phones` (list)
- `screen` (text)
- `system_name` (text)
- `time_offset` (number)
- `type` (text)
- `useragent` (text)

**Example output**

```json
{
  "avatar_url": null,
  "city": "London",
  "countrycode": "GB",
  "custom_fields": [],
  "date_changed": "2026-09-30 08:00:00",
  "date_created": "2026-09-30 08:00:00",
  "description": null,
  "emails": [
    "support@acme.example"
  ],
  "groups": [],
  "id": "c9x2m4qa",
  "ip": null,
  "language": "en",
  "latitude": null,
  "longitude": null,
  "name": "Acme Ltd",
  "note": null,
  "phones": [],
  "screen": null,
  "system_name": "Acme Ltd",
  "time_offset": 0,
  "type": "R",
  "useragent": null
}
```

### Update contact

Change a LiveAgent contact. Only the fields you fill in change; email addresses and phone numbers replace the current lists.

**Inputs**

- Contact ID (`contact_id`, text, required): The contact's id, from List contacts or Create contact.
- First name (`firstname`, text): The contact's first name. Leave empty to keep it as it is.
- Last name (`lastname`, text): The contact's last name. Leave empty to keep it as it is.
- Email addresses (`emails`, list): The contact's email addresses. Replaces the current list.
- Phone numbers (`phones`, list): The contact's phone numbers. Replaces the current list.
- Company ID (`company_id`, text): The id of the company the contact belongs to. Leave empty to keep it as it is.
- Job position (`job_position`, text): The contact's job title. Leave empty to keep it as it is.
- Description (`description`, text): A description of the contact. Leave empty to keep it as it is.
- Note (`note`, text): An internal note about the contact. Leave empty to keep it as it is.
- Gender (`gender`, text): The contact's gender. Leave empty to keep it as it is. One of: `M` (Male), `F` (Female), `O` (Other), `X` (Unspecified).
- Language (`language`, text): Language code, e.g. en. Leave empty to keep it as it is.
- City (`city`, text): The contact's city. Leave empty to keep it as it is.
- Country code (`countrycode`, text): Two-letter country code, e.g. US. Leave empty to keep it as it is.
- Custom fields (`custom_fields`, object): Values for custom fields, keyed by each field's code as set up in LiveAgent (Configuration > System > Contact fields or Ticket fields).

**Outputs**

- `avatar_url` (text)
- `city` (text)
- `company_id` (text)
- `countrycode` (text)
- `custom_fields` (list)
- `date_changed` (text)
- `date_created` (text)
- `description` (text)
- `emails` (list)
- `firstname` (text)
- `gender` (text)
- `groups` (list)
- `id` (text)
- `ip` (text)
- `job_position` (text)
- `language` (text)
- `lastname` (text)
- `latitude` (number)
- `longitude` (number)
- `note` (text)
- `phones` (list)
- `screen` (text)
- `system_name` (text)
- `time_offset` (number)
- `type` (text)
- `useragent` (text)

**Example output**

```json
{
  "avatar_url": null,
  "city": "London",
  "company_id": "c9x2m4qa",
  "countrycode": "GB",
  "custom_fields": [],
  "date_changed": "2026-09-30 08:00:00",
  "date_created": "2026-09-30 08:00:00",
  "description": null,
  "emails": [
    "jane@example.com"
  ],
  "firstname": "Jane",
  "gender": "F",
  "groups": [],
  "id": "k2bd7c1e",
  "ip": null,
  "job_position": "Head of IT",
  "language": "en",
  "lastname": "Doe",
  "latitude": null,
  "longitude": null,
  "note": null,
  "phones": [
    "+441234567890"
  ],
  "screen": null,
  "system_name": "Jane Doe",
  "time_offset": 0,
  "type": "R",
  "useragent": null
}
```

### Update ticket

Change a LiveAgent ticket's subject, status, department, agent, customer or custom fields, and add or remove tags. Only the fields you fill in change.

**Inputs**

- Ticket ID (`ticket_id`, text, required): The ticket's id (such as fp80688h), from List tickets or Create ticket - or paste the ticket's agent-panel URL.
- Subject (`subject`, text): A new subject.
- Status (`status`, text): A new status. One of: `N` (New), `C` (Open), `A` (Answered), `W` (Postponed), `R` (Resolved), `B` (Spam).
- Department (`department_id`, text): Move the ticket to this department.
- Agent (`agent_id`, text): Assign the ticket to this agent.
- Customer contact ID (`owner_contact_id`, text): Make this contact the ticket's customer.
- Add tags (`add_tag_ids`, list): Tags to add to the ticket.
- Remove tags (`remove_tag_ids`, list): Tags to take off the ticket.
- Custom fields (`custom_fields`, object): Values for custom fields, keyed by each field's code as set up in LiveAgent (Configuration > System > Contact fields or Ticket fields).

**Outputs**

- `agentid` (text)
- `channel_type` (text)
- `code` (text)
- `custom_fields` (list)
- `date_changed` (text)
- `date_created` (text)
- `date_deleted` (text)
- `date_due` (text)
- `date_resolved` (text)
- `departmentid` (text)
- `id` (text)
- `last_activity` (text)
- `last_activity_public` (text)
- `owner_contactid` (text)
- `owner_email` (text)
- `owner_name` (text)
- `public_access_urlcode` (text)
- `status` (text)
- `subject` (text)
- `tags` (list)

**Example output**

```json
{
  "agentid": "0rnbfcr8",
  "channel_type": "E",
  "code": "ZUN-RAK-QRV",
  "custom_fields": [],
  "date_changed": "2026-10-01 10:02:11",
  "date_created": "2026-10-01 09:15:00",
  "date_deleted": null,
  "date_due": null,
  "date_resolved": null,
  "departmentid": "8ld2hdk5",
  "id": "fp80688h",
  "last_activity": "2026-10-01 10:02:11",
  "last_activity_public": "2026-10-01 10:02:11",
  "owner_contactid": "k2bd7c1e",
  "owner_email": "jane@example.com",
  "owner_name": "Jane Doe",
  "public_access_urlcode": "a1b2c3",
  "status": "C",
  "subject": "Cannot sign in",
  "tags": [
    "3bg4"
  ]
}
```
