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

# Halo ITSM

> Integre Halo ITSM para crear y gestionar automáticamente tickets a partir de casos y detecciones de Wirespeed

## Requisitos previos

En Halo ITSM, necesita una aplicación API configurada con el tipo de concesión **Client Credentials**. Para crear una:

1. Inicie sesión en su instancia de **Halo ITSM**
2. Vaya a **Configuration** > **Integrations** > **HaloPSA API** > **View Applications**
3. Haga clic en **New** para crear una aplicación
4. Establezca **Authentication Method** en `Client ID and Secret (Services)`
5. Establezca **Login Type** en **Agent** y **Agent** en **Application Identity**
6. En **Identity Roles**, seleccione **IT Agent**
7. Conceda a la aplicación acceso a los siguientes alcances: `read:tickets`, `edit:tickets`, `read:customers`
8. Copie el **Client ID** y el **Client Secret**
9. Guarde la aplicación

## Conectar Wirespeed a Halo ITSM

1. Inicie sesión en Wirespeed y vaya a Integraciones > [**Añadir integración**](https://app.wirespeed.co/settings/integrations?tab=browse)
2. Seleccione **Halo ITSM** y haga clic en **Integrate**
3. Rellene los siguientes campos:
   * **Halo Instance URL** — la URL base de su instancia de Halo (p. ej. `https://yourcompany.halopsa.com`)
   * **Client ID** — de la aplicación API creada anteriormente
   * **Client Secret** — de la aplicación API creada anteriormente
4. Haga clic en **Save**

Wirespeed verificará las credenciales comprobando el acceso a Teams, Ticket Types y Categories. Si alguna comprobación falla, la integración no se habilitará; vuelva a comprobar las credenciales y los alcances.

## Configurar el comportamiento de los tickets

Tras habilitar la integración, haga clic en **Configure** para establecer las preferencias de creación de tickets:

| Configuración | Descripción |
| - | - |
| **Client** | Cliente de Halo con el que asociar los tickets (opcional) |
| **Team** | Equipo de Halo al que asignar los tickets |
| **Category** | Categoría de incidente que asignar a todos los tickets (obligatoria). |
| **Create Tickets for Standalone Detections** | Cuando está habilitado, se crean tickets para detecciones que están cerradas y no forman parte de un caso |
| **Case Ticket Title Template** | Plantilla de título para tickets de casos. Admite variables como `` `sid` `` y `` `title` `` |
| **Detection Ticket Title Template** | Plantilla de título para tickets de detecciones. Admite variables como `` `sid` `` y `` `title` `` |

Haga clic en **Save** cuando haya terminado.

## Añadir un webhook

Para que Wirespeed cierre automáticamente los casos cuando se resuelve un ticket en Halo y sincronice las notas de vuelta, configure un webhook:

1. Inicie sesión en Wirespeed y vaya a [**Integraciones**](https://app.wirespeed.co/settings/integrations) > seleccione su integración de Halo ITSM > **Configure**

2. Copie la **Webhook URL** y el **Webhook Secret**

3. Inicie sesión en su instancia de **Halo ITSM**

4. Vaya a **Configuration** > **Integrations** > **Webhooks**

5. Haga clic en **New** para crear un webhook

6. Pegue la **Webhook URL** del paso 2

7. Establezca **Authentication** en **Sign Request Body with a Secret Key**

8. Establezca el **Secret** en el **Webhook Secret** del paso 2

9. Configure el nombre del encabezado de firma como `x-signature` y establezca el **Signing Algorithm** en `SHA-256`

   > [!WARNING]
   >
   > El menú desplegable Signing Algorithm de Halo también ofrece `RSA-SHA256` y otras variantes RSA. **No** seleccione una de estas: Wirespeed no puede verificar solicitudes firmadas con RSA, y cada llamada del webhook fallará con un error `400` hasta que el algoritmo se cambie de nuevo a `SHA-256`.

10. Añada los siguientes **Request Headers** a la firma, en este orden exacto:

    1. `content-length`
    2. `content-type`
    3. `host`
    4. `x-halo-date`

    Los cuatro encabezados son obligatorios. Omitir cualquiera de ellos invalida el HMAC y Wirespeed devuelve `400`.

    Wirespeed ignora el campo **Version** de Halo. Deje el valor predeterminado; no afecta a la verificación de la firma.

11. En **Events**, añada **Ticket Updated by Agent**. En **Edit criteria**, establezca:
    * **Rule Type:** Contains (comma separated value)
    * **Summary:** `Wirespeed:, WSPD-, DTN-`

12. Añada **Ticket Updated by User** con los mismos valores de **Edit criteria**

13. Guarde el webhook

> [!NOTE]
>
> El secreto del webhook es obligatorio. Wirespeed verifica el encabezado `x-signature` mediante HMAC-SHA256, con clave el **Webhook Secret** del paso 2. Halo incluye `x-halo-date` en esa firma; Wirespeed también rechaza las devoluciones de llamada cuyo `x-halo-date` falte, no se pueda analizar o tenga más de **5 minutos** de desfase con el reloj del servidor.
>
> Halo debe calcular la firma a partir de esta cadena canónica:
>
> ```text theme={null}
> content-length: <content-length>
> content-type: <content-type>
> host: <host>
> x-halo-date: <x-halo-date>
> <raw request body>
> ```
>
> El digest HMAC-SHA256 resultante debe codificarse en base64 y enviarse en el encabezado `x-signature`.

## Cómo funciona

* Cuando un caso o una detección de Wirespeed se activa, se crea un ticket en Halo como **Incident** con la prioridad asignada según la gravedad (Critical → P1, High → P2, Medium → P3, Low/Info → P4).
* Cuando se cierra un ticket en Halo (ID de estado 9), el caso correspondiente de Wirespeed se cierra automáticamente.
* Las notas añadidas a un ticket en Halo se sincronizan de vuelta a la línea de tiempo del caso de Wirespeed.
* Los comentarios añadidos a un caso de Wirespeed o a una de sus detecciones se publican en el ticket vinculado de Halo.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.