ServiceNow

Send logs to ServiceNow triggered by Apono Access events

ServiceNow is a cloud-based platform that provides IT service management (ITSM) and business process automation tools. It enables organizations to streamline and automate various workflows, such as IT operations, customer service, and HR.

Through this integration, you will configure webhooks to have Apono access events sent to ServiceNow.



Prerequisites

ItemDescription
ServiceNow AccountAccount with the Administrator role
ServiceNow Application RegistrationRegistration that enables Apono to use OAuth authorization

Be sure to copy the client_id and client_secret. You will use these values to generate the ServiceNow API token.
ServiceNow InformationInformation for the ServiceNow instance:
  • Instance ID
  • Username
  • Password

Follow these steps to retrieve the ServiceName information:
  1. On the ServiceNow Developers home page, click your account icon > Manage instance password. The Manage instance password popup window appears.
  2. Copy the Instance name, Username, and Password.
ServiceNow API tokenCredential generated with a username and a password and used when making requests to the ServiceNow API


Configure a webhook to send logs to ServiceNow

Follow these steps to configure a webhook:

  1. On the Webhooks page, click Add Webhook. The Add Webhook page appears.
  2. From the Method dropdown menu, select POST.
  3. For the webhook URL, enter https://<SERVICENOW_INSTANCE_ID>.service-now.com/api/now/table/incident.

    Be sure to replace <SERVICENOW_INSTANCE_ID> with the instance ID.

    ⚠️

    The webhook URL must adhere to the following requirements:

    • Uses the HTTPS protocol
    • Does not specify any custom ports

  1. In the Body Template field, enter the JSON payload data for the webhook.

    {
      "caused_by": "{{ data.requester.name }}",
      "short_description": "{{ data.access_groups.[0].integration.name }}",
      "cause": "{{ event_type }}",
      "description": "{ \"event_type\": \"{{ event_type }}\", \"event_time\": \"{{ event_time }}\", \"id\": \"{{ data.id }}\", \"friendly_id\": \"{{ data.friendly_id }}\", \"requester_id\": \"{{ data.requester.id }}\", \"requester_name\": \"{{ data.requester.name }}\", \"requester_email\": \"{{ data.requester.email }}\", \"justification\": \"{{ data.justification }}\", \"creation_date\": \"{{ data.creation_date }}\", \"access_flow_id\": \"{{ data.access_flow.id }}\", \"access_flow_name\": \"{{ data.access_flow.name }}\", \"access_bundle_id\": \"{{ data.access_bundle.id }}\", \"access_bundle_name\": \"{{ data.access_bundle.id }}\", \"access_groups_integration_name\": \"{{ data.access_groups.[0].integration.name }}\", \"access_groups_integration_type\": \"{{ data.access_groups.[0].integration.type }}\"}",
      "reopened_by": "apono app"
    }
    
    
  2. Under Headers, use the following Key and Value to set the access token. Be sure to replace <SERVICENOW_TOKEN> with the ServiceNow API token.

    KeyValue
    AuthorizationBearer <SERVICENOW_TOKEN>

  1. From the Triggers dropdown menu, select one or more of the following event triggers, which correspond to Apono access request statuses:
    • Created
    • Approved
    • Rejected
    • Granted
    • Expired
    • Failed

  2. Enter a unique, alphanumeric, user-friendly Name for identifying this webhook.
  3. Click the webhook Status toggle to Active.
  4. Click Test to generate a test event to trigger your webhook. A Success or Failure response status will appear at the bottom of the page.

    ℹ️

    One of two statuses will appear:

    • Success: A test log with mock data is sent to your ServiceNow instance.
    • Failure: No test log is sent. You can troubleshoot your webhook.

  1. Click Save Webhook.

The new webhook appears in the Webhooks table. Active webhooks are preceded by a green dot. Inactive webhooks are preceded by a white dot.

Apono access request log will be sent to ServiceNow based on the triggers you have selected.