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

# Configuring Webhook Events

> Configure which ticket events trigger the Neo Agent webhook in HaloPSA

When you connect HaloPSA to Neo Agent, a webhook named **Neo Tickets callback \[ALL]** is automatically created in your HaloPSA system. You need to configure which ticket events this webhook subscribes to so Neo Agent receives the appropriate notifications.

<Info>
  Configuring webhook events ensures that Neo Agent receives notifications about the ticket activity that matters to your automation workflows.
</Info>

## Prerequisites

Before configuring webhook events, ensure you have:

* [Created an agent resource](/integrations/psa/halopsa/creating-agent) for Neo Agent
* [Set up your API application](/integrations/psa/halopsa/creating-api-application) with proper permissions
* [Connected HaloPSA to Neo Agent](/integrations/psa/halopsa/connecting-to-neo)

## Configuring Webhook Events

<Steps>
  <Step title="Navigate to Webhooks">
    From your HaloPSA dashboard, go to **Configuration → Integrations → Webhooks** to access the webhooks management page.

    <Frame>
      <img src="https://mintcdn.com/neoagent/wlDCYDnSlXDPZmNv/images/halo/create-webhook-event-1.png?fit=max&auto=format&n=wlDCYDnSlXDPZmNv&q=85&s=c1f9b5cacf01c92c037233fe48d794cb" alt="HaloPSA Webhooks navigation showing the Configuration → Integrations → Webhooks menu path and the Neo Tickets callback webhook" width="2860" height="1374" data-path="images/halo/create-webhook-event-1.png" />
    </Frame>

    You should see the **Neo Tickets callback \[ALL]** webhook that was automatically created when you connected to Neo Agent.
  </Step>

  <Step title="Open the webhook configuration">
    Click on the **Neo Tickets callback \[ALL]** webhook to open its configuration.

    <Frame>
      <img src="https://mintcdn.com/neoagent/wlDCYDnSlXDPZmNv/images/halo/create-webhook-event-2.png?fit=max&auto=format&n=wlDCYDnSlXDPZmNv&q=85&s=b4b9adb72c05a9dcacece8ecfe454298" alt="Webhook configuration details showing name, payload URL, and settings" width="2858" height="1378" data-path="images/halo/create-webhook-event-2.png" />
    </Frame>

    You'll see the webhook details including:

    * **Webhook Name**: Neo Tickets callback \[ALL]
    * **Payload URL**: The Neo Agent callback URL (automatically configured)
    * **Enabled**: Should be set to **Yes**

    Click **Edit** to modify the webhook configuration.
  </Step>

  <Step title="Add webhook events">
    In the **Events** section, you need to configure which ticket events will trigger the webhook. Click the **+ Add** button to add an event.

    <Frame>
      <img src="https://mintcdn.com/neoagent/wlDCYDnSlXDPZmNv/images/halo/create-webhook-event-3.png?fit=max&auto=format&n=wlDCYDnSlXDPZmNv&q=85&s=19a7c80b381d8f913cd6335e96638cbd" alt="Webhook edit page showing the Events section with Add button" width="2870" height="1380" data-path="images/halo/create-webhook-event-3.png" />
    </Frame>

    You'll add multiple events to ensure Neo Agent is notified about all relevant ticket activity.
  </Step>

  <Step title="Add 'New Ticket Logged' event">
    Add an event for when new tickets are created:

    <Frame>
      <img src="https://mintcdn.com/neoagent/wlDCYDnSlXDPZmNv/images/halo/create-webhook-event-4.png?fit=max&auto=format&n=wlDCYDnSlXDPZmNv&q=85&s=07ea599ae428bee59e46a4e6122189fb" alt="Adding New Ticket Logged event configuration" width="2874" height="1386" data-path="images/halo/create-webhook-event-4.png" />
    </Frame>

    1. Select **New Ticket Logged** from the Event dropdown
    2. No additional criteria are needed for this event
    3. Click **Save** to add the event

    <Info>
      This event triggers whenever a new ticket is created in HaloPSA, allowing Neo Agent to begin processing the ticket immediately.
    </Info>
  </Step>

  <Step title="Add 'Ticket Changed' event with criteria">
    Add an event for when tickets are updated. The "Ticket Changed" event requires you to add criteria to filter which changes trigger the webhook.

    <Frame>
      <img src="https://mintcdn.com/neoagent/wlDCYDnSlXDPZmNv/images/halo/create-webhook-event-5.png?fit=max&auto=format&n=wlDCYDnSlXDPZmNv&q=85&s=a98f2dc84fd7398be26190ebeeacc6ed" alt="Ticket Changed event showing the requirement for criteria" width="2872" height="1402" data-path="images/halo/create-webhook-event-5.png" />
    </Frame>

    1. Select **Ticket Changed** from the Event dropdown
    2. Note the warning: "You must choose at least one criteria"
    3. Click the **+ Add** button to add criteria

    <Warning>
      The "Ticket Changed" event triggers on every property update. You must add criteria to filter the events to only those you're interested in, or you may receive excessive webhook notifications.
    </Warning>
  </Step>

  <Step title="Configure the Status criteria">
    Add a criteria to trigger the webhook when the ticket status changes:

    <Frame>
      <img src="https://mintcdn.com/neoagent/wlDCYDnSlXDPZmNv/images/halo/create-webhook-event-6.png?fit=max&auto=format&n=wlDCYDnSlXDPZmNv&q=85&s=62791395f8900ab02ccee3b7c0156c06" alt="Adding criteria dialog showing Status field selection" width="2878" height="1378" data-path="images/halo/create-webhook-event-6.png" />
    </Frame>

    1. In the **Field Name** dropdown, search for and select **Status**
    2. Click **Save** to continue configuring the criteria
  </Step>

  <Step title="Set the criteria conditions">
    Configure how the status change should be evaluated:

    <Frame>
      <img src="https://mintcdn.com/neoagent/wlDCYDnSlXDPZmNv/images/halo/create-webhook-event-7.png?fit=max&auto=format&n=wlDCYDnSlXDPZmNv&q=85&s=33b1cbec020675a6a75cdff8fadbcad7" alt="Edit criteria dialog showing Change Context and Rule Type settings" width="2880" height="1392" data-path="images/halo/create-webhook-event-7.png" />
    </Frame>

    Set the following values:

    * **Change Context**: Select **Value changed**
    * **Rule Type**: Select **To any value**

    Click **Save** to apply the criteria.

    <Tip>
      Using "Value changed" with "To any value" ensures the webhook fires whenever the status field changes to any new value, giving Neo Agent visibility into all status transitions.
    </Tip>
  </Step>

  <Step title="Review the configured event">
    After saving, verify that the Ticket Changed event shows the correct criteria:

    <Frame>
      <img src="https://mintcdn.com/neoagent/wlDCYDnSlXDPZmNv/images/halo/create-webhook-event-8.png?fit=max&auto=format&n=wlDCYDnSlXDPZmNv&q=85&s=5651833113c35cd68f659e20b3b417c0" alt="Ticket Changed event with Status criteria configured showing Value changed and To any value" width="2870" height="1396" data-path="images/halo/create-webhook-event-8.png" />
    </Frame>

    The event should display:

    * **Field**: Status
    * **Change Context**: Value changed
    * **Rule Type**: To any value

    Click **Save** at the bottom to save this event.
  </Step>

  <Step title="Add additional events (recommended)">
    For comprehensive ticket tracking, add the following additional events by repeating the "Add" process:

    <Frame>
      <img src="https://mintcdn.com/neoagent/wlDCYDnSlXDPZmNv/images/halo/create-webhook-event-9.png?fit=max&auto=format&n=wlDCYDnSlXDPZmNv&q=85&s=fe9d32fe608765d8306bd6a6afb16b72" alt="Complete webhook configuration showing all events: New Ticket Logged, Ticket Updated, Ticket Updated by Agent, and Ticket Updated by User" width="2836" height="1366" data-path="images/halo/create-webhook-event-9.png" />
    </Frame>

    Recommended events to add:

    | Event Name              | Conditions                  | Purpose                                    |
    | ----------------------- | --------------------------- | ------------------------------------------ |
    | New Ticket Logged       | None                        | Triggers when a new ticket is created      |
    | Ticket Updated          | Status changed to any value | Triggers on status changes                 |
    | Ticket Updated by Agent | None                        | Triggers when an agent updates a ticket    |
    | Ticket Updated by User  | None                        | Triggers when an end user updates a ticket |

    <Info>
      Adding multiple event types ensures Neo Agent receives notifications for all relevant ticket activity, enabling comprehensive automation and monitoring.
    </Info>
  </Step>

  <Step title="Save the webhook configuration">
    After adding all desired events, click **Save** to update the webhook configuration.

    <Check>
      Your webhook events are now configured! HaloPSA will send notifications to Neo Agent whenever the configured events occur.
    </Check>
  </Step>
</Steps>

## Verifying Webhook Delivery

After saving your webhook configuration, you can verify that webhooks are being delivered correctly:

1. Navigate back to your webhook in **Configuration → Integrations → Webhooks**
2. Click on the **Neo Tickets callback \[ALL]** webhook
3. Select the **Deliveries** tab to view webhook delivery history
4. Create or update a test ticket to trigger a webhook
5. Verify that the delivery shows a successful response

<Tip>
  The Deliveries tab shows the history of webhook calls including response codes. A `200` response indicates successful delivery to Neo Agent.
</Tip>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Webhook not found">
    * Ensure you have successfully [connected HaloPSA to Neo Agent](/integrations/psa/halopsa/connecting-to-neo)
    * The webhook is created automatically when the connection is established
    * If the webhook is missing, confirm your API application has the **admin:webhooks** scope set to **Yes** (see [Creating an API Application](/integrations/psa/halopsa/creating-api-application)) — without it, the automatic webhook creation fails with a **401 Unauthorized**
    * After enabling the scope, try disconnecting and reconnecting your HaloPSA integration in the Neo Agent dashboard
  </Accordion>

  <Accordion title="Webhook not triggering">
    * Verify the webhook is set to **Enabled: Yes**
    * Check that you've added the correct events
    * Ensure the criteria conditions match your expected ticket changes
    * Create a test ticket to verify the webhook fires
  </Accordion>

  <Accordion title="Delivery failures">
    * Check that your Neo Agent subscription is active
    * Ensure there are no firewall rules blocking outbound connections from HaloPSA
    * Review the delivery logs in the Deliveries tab for error details
  </Accordion>

  <Accordion title="Too many webhook notifications">
    * Review your event criteria to ensure they're not too broad
    * Add specific criteria to the "Ticket Changed" event to filter notifications
    * Consider which events are truly necessary for your automation workflows
  </Accordion>
</AccordionGroup>

## What's Next?

With webhook events configured, Neo Agent will receive real-time notifications about ticket activity. You can now:

* **Create Workflows**: Build automation workflows that trigger immediately when tickets are created or updated
* **Configure Responses**: Set up how Neo Agent should respond to different ticket events
* **Monitor Activity**: Track Neo Agent's interactions with your HaloPSA tickets in real-time

<Check>
  Your HaloPSA integration is complete! Neo Agent will now receive instant notifications whenever the configured ticket events occur in your HaloPSA system.
</Check>
