> ## 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 Webhooks

> Create the Syncro Notification Set that sends ticket events to Neo Agent in real time

Without this, Neo still works — it picks up ticket changes on its scheduled sync. What you gain is **real-time**: agents and workflows that trigger on a ticket event fire as it happens instead of on the next sync.

<Note>
  Syncro has no API for creating webhooks, so unlike ConnectWise, Autotask and HaloPSA — where Neo creates the webhook for you when you connect — this one is set up by hand, once, in the Syncro admin UI.
</Note>

## Step 1 — Get your webhook URL from Neo

Your webhook URL is specific to your Neo tenant and contains a token. Ask Neo Support for it, or find it on the Syncro integration page in the Neo dashboard.

<Warning>
  Treat the URL as a credential — anything holding it can post ticket events into your Neo tenant. Don't share it outside your team, and paste it only into the Syncro field below.
</Warning>

## Step 2 — Open the Notification Center

In Syncro, go to **Admin → Syncro Administration → Notification Center**, then click **+ New Notification Set**.

<Frame>
  <img src="https://mintcdn.com/neoagent/KKhoWGegDirhueJm/images/syncro/syncro-webhook-1.png?fit=max&auto=format&n=KKhoWGegDirhueJm&q=85&s=ab66ef0e78d1ef5447ecf9b1ab472add" alt="Notification Sets Manager in Syncro with the New Notification Set button" width="3398" height="1756" data-path="images/syncro/syncro-webhook-1.png" />
</Frame>

## Step 3 — Name it and paste the URL

Name it something recognisable — `Neo Agent Webhook` — and paste your URL into **Webhook URL**.

<Frame>
  <img src="https://mintcdn.com/neoagent/KKhoWGegDirhueJm/images/syncro/syncro-webhook-create.png?fit=max&auto=format&n=KKhoWGegDirhueJm&q=85&s=416f0d5b8a942562b802a390458bce10" alt="The Edit Notification Set form showing Name, Notify these Users, and Webhook URL fields" width="3420" height="1750" data-path="images/syncro/syncro-webhook-create.png" />
</Frame>

<Warning>
  Leave **Notify these Users**, **Additional Emails to notify** and **Additional SMS Notify** empty.

  This set fires on every ticket event across your whole account. Naming a user here would email or text them each time — and as the page itself warns, those count toward your Syncro usage limits. Neo only needs the webhook.
</Warning>

## Step 4 — Tick the four events, in the Webhook column only

The event list has five columns — Email, SMS, In-App Notify, Mobile Push Notification, and **Webhook**. Tick **only the Webhook column**, for these four events:

| Event                                                          | What Neo does with it                                                 |
| -------------------------------------------------------------- | --------------------------------------------------------------------- |
| **Ticket - created (for anyone)**                              | Triggers agents and workflows that run on new tickets                 |
| **Ticket - Status was changed on any Ticket**                  | Triggers agents and workflows that run when a ticket's status changes |
| **Ticket - A customer-facing comment was added to any Ticket** | Distinguishes a customer reply from a technician reply                |
| **Ticket - A hidden comment was added to any Ticket**          | Internal notes — never treated as a reply to the customer             |

<Warning>
  Pick the **"any Ticket"** variants, not the "my Ticket" or "subscribed Ticket" ones.

  Those two only fire for tickets assigned to — or subscribed by — the user the notification set belongs to. Neo is neither, so they would almost never fire and the integration would look broken while quietly missing events.
</Warning>

Save the set.

## Step 5 — Confirm it works

Create a test ticket in Syncro, or change the status of an existing one. Within a few seconds it should appear in Neo:

* Open the ticket's execution history in the Neo dashboard, or
* Check whether an agent configured to trigger on that event ran.

If nothing arrives, work through the table below.

## Troubleshooting

| Symptom                                   | Cause                                                                                                                          |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| No events reach Neo at all                | The URL is wrong or incomplete — it must be pasted whole, including everything after the `?`. Re-copy it rather than retyping. |
| Nothing fires, but the set looks right    | You ticked a column other than **Webhook**, or you picked a "my Ticket" / "subscribed Ticket" event.                           |
| Only new tickets arrive                   | Only **Ticket - created** was ticked. Add the other three.                                                                     |
| Status changes arrive but comments don't  | The two comment events are separate — both need ticking, customer-facing *and* hidden.                                         |
| A technician gets emailed on every ticket | A user is named under **Notify these Users**, or an address sits in **Additional Emails**. Clear both.                         |

## What Neo does not receive

Only the four events above are sent, so nothing else reaches Neo in real time — assignment changes, priority changes, time entries, and attachments included. Those still reach Neo through the scheduled sync; they just aren't instant.

Adding more events is safe, and Neo won't break on one it doesn't recognise — it treats an unfamiliar event as a general ticket update. But it won't gain a new trigger from it either, so there's no benefit unless a Neo release says otherwise.

The status-change event reports the **new** status only, not the previous one. Build status triggers on the new status ("changed to Resolved"). A trigger that also pins the old status ("from In Progress to Resolved") won't fire on Syncro.
