Skip to main content
Webhooks allow ServiceNow to notify 2501 immediately when an incident or change request is created or updated, instead of waiting for the next polling cycle. Each webhook registration generates a unique URL and shared secret that you configure on the ServiceNow side.

Creating a Webhook

Use the 2501 infra CLI to register a new webhook:

Parameters

ParameterRequiredDescription
--nameYesHuman-readable name for this webhook (e.g., prod-incidents, staging)
--source-typeYesTicketing system type (e.g., servicenow)
--event-typeYesResource type this webhook receives (e.g., incident, change_request)
--gateway-idNoTarget gateway ID. Auto-selected if only one active gateway exists
--descriptionNoOptional description for this webhook

Example

Output:

Configuring ServiceNow

After creating a webhook, configure ServiceNow to send events to it using a Business Rule.

Business Rule

  1. In ServiceNow, navigate to System Definition > Business Rules
  2. Click New
  3. Configure:
    • Name: a descriptive name (e.g., 2501 Webhook - Incidents)
    • Table: incident (or the table matching your --event-type)
    • When: after
    • Insert: checked
    • Update: checked
  4. Check Advanced
  5. Paste the generated script into the Script field
  6. Optionally add a Filter Condition to scope which incidents trigger the webhook (e.g., Assignment group is <your group>)
  7. Click Submit
Both the incident and change_request tables are supported. A gateway that handles incidents and changes uses two webhooks, one per table, each with its own Business Rule. For how change requests are picked up and executed, see Change Requests.

Deleting a Webhook

This removes the webhook registration from 2501. You should also deactivate or delete the corresponding Business Rule in ServiceNow.

Network Requirements

The ServiceNow instance must be able to reach your Command Center’s URL over HTTPS. The webhook endpoint is:

How It Works

  1. ServiceNow fires the Business Rule when a record (incident or change request) is created or updated
  2. The script sends a POST request with the record’s sys_id to the webhook URL
  3. Command Center proxies the request to the engine
  4. The engine validates the shared secret, then enqueues the ticket for processing
  5. The engine fetches the full record details from ServiceNow and processes it through the gateway pipeline
Webhooks are complemented by a polling reconciliation that runs every ~2 minutes, ensuring no records are missed even if a webhook delivery fails.