Skip to main content

Site24x7

Connect Site24x7 to an Oppex service so that a monitor that changes to a failing status creates an incident. When the monitor returns to UP, Oppex resolves the incident. Site24x7 sends each status change to Oppex through a webhook.

Before you start​

You need the following:

  • An Oppex API key from the workspace that owns the service. Open Settings, and in your workspace's section click API Keys. If your organization has only one workspace, click Organization → API Keys instead. See API Keys to create one.
  • The service's integration key. Oppex shows it in the service's Site24x7 guide, as described in step 1.
  • Access to the Site24x7 admin panel, including Admin → Third-Party Integrations.
The in-app guide names a different menu path for API keys

The Site24x7 guide inside Oppex says Settings > Account > API Keys. The API Keys page is under your workspace's section of Settings, as described above.

Step 1: Open the Site24x7 guide in Oppex​

  1. Open Services.
  2. In the service's row, click Integration Details and select Site24×7.
  3. In In Oppex: Get Your Service Key, click the copy icon to copy the service integration key.
The Site24×7 Integration Guide for the One Ring Gateway service, open at step 1 with the service integration key field, followed by the remaining four steps

Every Oppex service uses the same Site24x7 webhook URL. The service integration key you send in a header decides which service receives the incident.

Step 2: Add a webhook in Site24x7​

  1. Sign in to Site24x7.

  2. Go to Admin → Third-Party Integrations → Webhooks.

  3. Click Add Webhook.

  4. Set Webhook URL to the Oppex webhook URL:

    https://api.oppex.ai/integrations/webhook/incident/site24x7
  5. Set HTTP Method to POST.

  6. Set Content Type to application/json.

  7. Enable both Post as JSON and Send Incident Parameters.

Enable both checkboxes

Post as JSON sends the alert as a JSON body, and Send Incident Parameters includes the monitor's name, type, status and incident time. Oppex requires the fields MONITORNAME, STATUS, MONITORTYPE and INCIDENT_TIME, in capitals, and rejects an alert that is missing any of them. Do not replace the incident parameters with a custom payload of your own.

Step 3: Add the custom headers​

In the webhook editor, click Add Custom Header for each row below. Oppex uses these headers to authenticate the request and to decide how it creates incidents.

HeaderExample valueRequired
X-SITE247-SERVICEKEYThe service integration key from step 1Yes
X-SITE247-APIKEYYour Oppex API keyYes
X-SITE247-SEVERITY{"DOWN":1,"CRITICAL":2,"TROUBLE":3}Yes
X-SITE247-TRIGGEREDDOWN,CRITICAL,TROUBLEYes
X-SITE247-AUTORESOLVEtrueNo
Step 3 of the in-app guide, Add Custom Headers, listing the five headers with example values

Save the webhook, then select it as the alert destination for the monitors that should create incidents in this service.

What each header does​

X-SITE247-SEVERITY is a JSON object that maps Site24x7 monitor statuses to Oppex severity, where 1 is the most critical and 5 is informational. With the example value, DOWN creates a Severity 1 incident, CRITICAL a Severity 2 incident and TROUBLE a Severity 3 incident. A status missing from the map creates a Severity 1 incident.

Write the statuses in capitals and the severities as numbers

Oppex looks up the status exactly as Site24x7 sends it, which is in capitals. Write each severity as a whole number, such as 1, and not as text, such as "1". Oppex cannot process an alert whose severity map contains text values.

X-SITE247-TRIGGERED is a comma-separated list of the statuses that create incidents, such as DOWN, CRITICAL and TROUBLE. Oppex ignores any other status, except UP.

X-SITE247-TRIGGERED is required

The in-app guide says that only DOWN creates incidents when this header is omitted. Oppex rejects any alert that arrives without the header, so always include it.

X-SITE247-AUTORESOLVE controls what happens when the monitor recovers. When the header is absent or true, Oppex resolves the monitor's open incidents when Site24x7 sends UP. Any other value, including false, leaves the incidents open for your team to resolve by hand.

What happens when Site24x7 sends an alert​

Each Site24x7 monitor maps to one incident group in Oppex, keyed by the monitor name.

Monitor statusWhat Oppex does
A status listed in X-SITE247-TRIGGERED, such as DOWNCreates an incident with the severity from X-SITE247-SEVERITY
A status not in the listIgnores the alert
UP, auto-resolve onResolves the monitor's open incidents
UP, auto-resolve offLeaves the incidents open

The incident contains the following:

  • Title: the monitor name and its status. For a monitor named Mount Doom Health Check, the title is Mount Doom Health Check is DOWN.
  • Source: Site24x7.
  • Type: the monitor type, and Component: the monitor name.
  • Details: the monitor ID, the incident reason and details, the dashboard link, the monitored URL, the poll frequency and the monitor's tags.

If the same monitor fails again while its first incident is still open, Oppex attaches the new alert to the open incident instead of opening a new one. After the incident is resolved, or after the workspace's grouping time window passes, the next failure opens a new incident. See Grouping strategy.

Give every monitor a unique name

Oppex matches UP to incidents by monitor name across your whole organization, not only within this service. If two monitors on different services share a name, the recovery of one resolves the other's open incidents.

Test the integration​

In Site24x7, use the webhook's test option, or let a monitor fail. Check the Incidents page in Oppex for an incident titled with the monitor's name and status. When the monitor recovers, the incident is resolved.

If no incident appears, check the webhook's delivery log in Site24x7 for the reply from Oppex:

ReplyCause
Missing or invalid Authorization header or cookieThe API key header is missing
Invalid or disabled API keyThe API key is wrong or disabled
X-SITE247-TRIGGERED header is requiredA required header is missing (the message names it)
Field 'MONITORNAME' is required in payloadSend Incident Parameters is off, or a custom payload replaced the incident parameters
Status TROUBLE not in triggered states - incident not createdThe status is not in X-SITE247-TRIGGERED

In-product guide​

Oppex shows the same setup steps inside the product, with your service's integration key filled in. Open Services, click Integration Details in the service's row, and select Site24×7.

FAQ

Do I need a different webhook for each service?

Each Oppex service needs its own Site24x7 webhook, because the X-SITE247-SERVICEKEY header decides which service receives the incident. The webhook URL itself is the same for every service.

Which Site24x7 statuses create incidents?

Only the statuses you list in X-SITE247-TRIGGERED. UP never creates an incident; it resolves the monitor's open incidents when auto-resolve is on.

Does a monitor that keeps failing create several incidents?

Not while its incident is open: repeated failures attach to that incident. If the monitor recovers to UP and fails again, the recovery resolves the incident and the next failure opens a new one.

Can I keep incidents open after the monitor recovers?

Yes. Set X-SITE247-AUTORESOLVE to false. Oppex then leaves the incidents open for your team to resolve.

In this article

FAQ

Do I need a different webhook for each service?

Each Oppex service needs its own Site24x7 webhook, because the X-SITE247-SERVICEKEY header decides which service receives the incident. The webhook URL itself is the same for every service.

Which Site24x7 statuses create incidents?

Only the statuses you list in X-SITE247-TRIGGERED. UP never creates an incident; it resolves the monitor's open incidents when auto-resolve is on.

Does a monitor that keeps failing create several incidents?

Not while its incident is open: repeated failures attach to that incident. If the monitor recovers to UP and fails again, the recovery resolves the incident and the next failure opens a new one.

Can I keep incidents open after the monitor recovers?

Yes. Set X-SITE247-AUTORESOLVE to false. Oppex then leaves the incidents open for your team to resolve.