{"id":6656,"date":"2021-06-08T16:07:56","date_gmt":"2021-06-08T10:37:56","guid":{"rendered":"https:\/\/opstree.com\/blog\/\/?p=6656"},"modified":"2026-03-05T18:59:16","modified_gmt":"2026-03-05T13:29:16","slug":"servicenow-integration-with-azure-alerts-step-by-step-setup","status":"publish","type":"post","link":"https:\/\/opstree.com\/blog\/2021\/06\/08\/servicenow-integration-with-azure-alerts-step-by-step-setup\/","title":{"rendered":"ServiceNow Integration with Azure Alerts &#8211; Step By Step Setup"},"content":{"rendered":"\r\n<p>Integrating ServiceNow with Azure Alerts (Monitor) requires setting up a dedicated user in ServiceNow with the appropriate evt_mgmt_integration roles. You&#8217;ll also need to create a webhook or connector within Azure Monitor&#8217;s action groups and arrange the JSON payload required for incident creation.The important steps that must be followed include generating API credentials, configuring URLs, and validating the alert flow to ensure everything is working smoothly.<\/p>\r\n<p><span style=\"text-decoration: underline;\">Topics Breakdown<\/span><\/p>\r\n\r\n\r\n\r\n<ol>\r\n<li>Introduction\u00a0and relevance of this Integration<\/li>\r\n<li>Steps of Setup\u00a0<\/li>\r\n<li>Execution Flow Diagram\u00a0<\/li>\r\n<li>ServiceNow Setup Part\u00a0<\/li>\r\n<li>Azure Logic App Creation Part<br \/>A. Using ServiceNow Connector (Method 1)<br \/>B. Using HTTP Connector (Method 2)<br \/>C. Alert Action Group Creation\u00a0<\/li>\r\n<li>Testing and Validation\u00a0of Setup<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p><!--more--><\/p>\r\n\r\n\r\n\r\n<ol>\r\n<li><span style=\"text-decoration: underline;\"><strong>Introduction and relevance of this Integration<\/strong><\/span> &#8211;<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p>In this article, we\u2019ll be going through the step by step instructions to integrate Azure Alerts and ServiceNow with the help of Azure Logic App.<\/p>\r\n\r\n\r\n\r\n<p>But why do we actually need to integrate any ITSM tool (like ServiceNow) with an Alerting system (like Azure Alerts)? Let&#8217;s discuss this below, by highlighting some advantages\u00a0&#8211;<\/p>\r\n\r\n\r\n\r\n<ul>\r\n<li>When each deteriorated system condition is recorded, managed and maintained through a ticket, then this may increase<em> accountability and answerability<\/em><strong><em>.<\/em><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul>\r\n<li>Monitoring of Application or Infrastructure is a crucial aspect during Application Operations which can ultimately lead to improvement scopes for both Infrastructure and Application itself. ITSM tools (like ServiceNow) when integrated with any monitoring system (like azure alert) to automatically respond with Incident\/Ticket when an issue is captured by Azure Alerts, will optimize the flow of Infra\/Application improvement. These new tickets can be included (linked) with the ongoing Topics, Sprint Cycles, or new releases.\u00a0<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul>\r\n<li>This makes the RCA Tracking process more fluent for each captured Issue, as we have a better view of ongoing issue trends and respective RCAs. This time tracking of RCAs is more precise.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>When we integrate ServiceNow with Azure Alert, it will <strong><em>automatically <\/em><\/strong>generate a ServiceNow Incident whenever an alert is fired(due to failed system conditions) in Azure.\u00a0<\/p>\r\n\r\n\r\n\r\n<p><strong>2. <span style=\"text-decoration: underline;\">Steps of ServiceNow and Azure Alert Integration Setup<\/span> &#8211;<\/strong><\/p>\r\n\r\n\r\n\r\n<p>Now coming to the steps for this Integration Setup, we divide the setup into two Parts &#8211;\u00a0<\/p>\r\n\r\n\r\n\r\n<ul>\r\n<li>ServiceNow Setup Part &#8211; In this part, we will use a developer Instance of ServiceNow, to find ServiceNow API Endpoints, Header content, Request Body etc and use these details in our Azure Logic App.\u00a0<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul>\r\n<li>Azure LogicApp Creation Part &#8211; In this part, we will create our code logic (using LogicApp Designer) to integrate ServiceNow and call ServiceNow API through Logic App Connectors. We will discuss two different types of LogicApp connectors which can be used alternatively to Integrate Azure Alerts with ServiceNow.\u00a0<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ol start=\"3\">\r\n<li><strong><span style=\"text-decoration: underline;\">Execution Flow Diagram<\/span>\u00a0<\/strong>&#8211;<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p>This flow diagram helps us to understand about the Automation Flow that we have to create for this Integration Setup.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"557\" class=\"wp-image-6834\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2021\/05\/snow-automation-flow.png?w=780\" alt=\"\" \/><\/figure>\r\n\r\n\r\n\r\n<ol start=\"4\">\r\n<li><strong><span style=\"text-decoration: underline;\">ServiceNow Setup Part<\/span>\u00a0<\/strong>&#8211;<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p>ServiceNow is a cloud-based ITSM platform that covers incident management, problem management, change management, release management, and request management. ServiceNow has different types of tables(for example Incident table, Change table etc) to store respective ticket information, which can be modified through REST API Calls. In our below example we are using a REST API call to ServiceNow to Create Incident i.e. adding rows in the Incident Table of ServiceNow.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>For Demo purpose, we will use Developer Instance of ServiceNow to fetch API Call information, as your company\/client\u2019s ServiceNow instance may have restricted access to explore the \u201cExplore API\u201d feature. Let&#8217;s get started by registering a developer ServiceNow Instance and create a Sample Incident through manual calling the API. [Below Demo is to know better about the working of ServiceNow APIs. You may skip this part and jump directly to Azure Logic App Creation part as well].<\/p>\r\n\r\n\r\n\r\n<ul>\r\n<li>Setup developer instance on ServiceNow &#8211;\u00a0<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>Go to &#8211; <a href=\"https:\/\/developer.servicenow.com\" target=\"_blank\" rel=\"noopener\">https:\/\/developer.servicenow.com<\/a> and sign-up to get started.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/Nrqm940UEayif32mwiTELyYixxJBEt_L_wDkn34ddCO0gZW8WtP-eAU-4xVp8I4GR1HVuypp4rqvGomW3dMZJUESjv84i0_UuoZXaEjNmpld04uKNOV9xrHiauZD1b1Bw0R6GZQA\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/kaBM_DAWonCDOxQVhWfyeX4elv8JVFMSK3QJsHsDE6eH1kcEuaM54p55mZ26SLKwt2yKcaJVmZw2HuUmV_tp0ayKE6zpeuPXzIXafA1QzghIo2Dy3Gc2-Ykd7RnzAqahHj5zHbsA\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<ul>\r\n<li>After successful login, &#8216;Request&#8217; a ServiceNow Instance (it&#8217;s good to select same location of instance as your client\u2019s\/company\u2019s ServiceNow Instance location). Note the credentials of your requested instance.\u00a0<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul>\r\n<li>Login to your developer Instance with the credentials generated in the previous step.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/pRVizCqKohVinByB8xqY6kPo99VCrMsOLvdZWXDJIjL8nJ6R71SV35Hl3yfHXUzRSyJrdjsJWKJmKcpvFn1IADR_btiJhjUUjoU3bNA19GjnlnZ2_OiYRkksSHxeya0HHtuqqNKx\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<ul>\r\n<li>From the left-hand search bar, search and select the &#8220;REST API Explorer\u201d blade. Select your namespace as \u201cNOW\u201d, and \u201ctable API\u201d to get started. On this page we can find &#8211; GET, POST, PUT, DELETE API request syntax to modify table contents. Choose \u201cPOST\u201d request to create a record in the table. Now choose Table Name as \u201cIncident\u201d<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>NOTE: Copy-Paste the highlighted URL and save it aside, we require this API endpoint to automate the integration from Azure Logic App.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/kh3XHBZ2s2H7PqVNrt9QhyzTzn3ZrAD9BGoKrdmkkS6ZtIAywT79WxqlaE3APJ2ls59ulwL3FokuAaOoraVvC_A6KzVmLuvY2DVddxG-WMlsHZiw6eDrGKojI8kT1DalS3a2mbFN\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<ul>\r\n<li>Identify the \u201cRequest Headers\u201d (and note these aside). Optionally we can Input relevant \u201cIncident fields information\u201d in the \u201cResponse body\u201d space shown below by checking any sample incidents present on the instance, we can also leave it empty. Now CLICK on \u201cSend\u201d to trigger the API Call and create the incident.\u00a0\u00a0<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/IcKQ7KkjLFqEQyIa8nNpj1xJMFA4-MD-DD15_umwEjnR2_MSi9if4wucOiIdOWbdx3fO3F1L4CW4zOjnwjFDcYR6jyydsGgUTL8wnCW1uMeDULI6xkBJxKvDpg7ix0hguxQOHHsk\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>This will show a 201 response for that API Call, and the response body will display the Incident Number of the newly created Incident.\u00a0<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/wfymopY6dfPn7RLbj_qr3dZjmpCTSVRzIXD92TZ9wKbfdjg5Sl77NlT6-zuFk2A8vOFlgczP8HM3-eX9QP8hItvDcXkEe7bWFPYQZB2rc-VMXBLhY-H6WDtE9F1MyLvqBVTQ9go0\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>We can verify the incident creation by searching this Incident Number on Incident Dashboard as shown below.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/uYSU1X-MWh5Yg14beYkF3irsvPK4heaAdE5nuXu4xJDON7CVbg0xL-rH9P7LG8s00GTFqVTn8kjj_hYgx-GSHMxtMB7svTFZt5nrHzafkRCluX2l5qn-JAO4a4DXMigmlj-ej2uq\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>This is the manual way of triggering the ServiceNow API. Now, in the next part, we have to incorporate this API calling in our Azure Logic App.<\/p>\r\n\r\n\r\n\r\n<p>Note: For Company\/Client\u2019s ServiceNow account we need a service account of the ServiceNow Instance. Domain-based or SSO based logins won&#8217;t work. The Service Account will directly talk to the API and update the tables of your Client\u2019s ServiceNow Instance.<\/p>\r\n\r\n\r\n\r\n<p><strong>5. <span style=\"text-decoration: underline;\">Logic App Part<\/span>\u00a0<\/strong>&#8211;<\/p>\r\n\r\n\r\n\r\n<p>Azure Logic App is a PaaS based service that is used to create Automated workflows and Integrations. We will use Azure Logic App to integrate with ServiceNow. The code logic is also present on the Logic App. Logic App gives two ways to write the logic for our workflows &#8211; Logic App Designer with UI and JSON scripting. For the sake of simplicity, we will use UI based Logic App Designer in our Demo below.\u00a0<\/p>\r\n\r\n\r\n\r\n<ol>\r\n<li>Create an Azure Logic app which will have our code logic and which will communicate with specified ServiceNow Instance and triggers ServiceNow API. (as shown below)<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/_-2wA-VyWWV1Pv-NsPpb5GIPcuC5bwhHikoK2hp6AXzWa5Qcg1gV3SKSd1ter55zky6q9RRWSCWe9wEkY7zMBwF6Mgl2WStSMawArQHlBIVPU-g-mxA3aV4wyLIWjk2oRs7oItYP\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<ol start=\"2\">\r\n<li>From the \u201cLogic App Designer\u201d blade. Select any of these Action modules &#8211; \u201cHTTP request received Trigger \/ Azure Monitor Trigger\u201d\u00a0<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/MOBgOm3y9zFhEF3Zp3Ma4Q6pRnq_hXUglBBV52C3Tu2gVeW4JwCvmOUXq5aFHAiny22Vsrc3lQmaD0qM5KYtRkGUNI_2QsdAsxlO1mPCXJ0LnqcLe017p0COnXyGZQDUnRf4d5zO\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/_6UO60w2Rbq9GVQJ7mZ6_eIwVE7iwP0l8A-cQS1LehAMXyu0AxcIB3E9OzgmCsJT5FYanJJdAQe_syoQppLyvbkTEseNBV4w2rYSsCIekBpKtipu7mj_hAADWVMVJvvynyKcQi5v\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>In our example, we will see two separate methods of API Calling to ServiceNow Instance, with two different Azure Logic App connectors &#8211;\u00a0<\/p>\r\n\r\n\r\n\r\n<p>A. <span style=\"text-decoration: underline;\">With ServiceNow connector<\/span> (1st Method)<\/p>\r\n\r\n\r\n\r\n<p>Add ServiceNow connector Action below HTTP Trigger Action. (as shown below)<img decoding=\"async\" style=\"width: 700px;\" src=\"https:\/\/lh5.googleusercontent.com\/sSV-pMyBvwZ4XpVGSEk75GGCwmJp44Y1B9U-scPm_KZaZJzvaISQea6BOG57u7ggziTdnPCbN6j4MRoiFWkXREOL8oSmS0MA-AUQEAPdx3wBlPxB6x9TXUyJuhJv6PfKJagdQKvp\" \/><\/p>\r\n\r\n\r\n\r\n<p>In the connection Pop-up, fill Connection details such as &#8211;\u00a0<\/p>\r\n\r\n\r\n\r\n<p><strong>Connection Name<\/strong> &#8211; Your choice of name for this connection setting<\/p>\r\n\r\n\r\n\r\n<p><strong>Instance Name<\/strong> &#8211; URL of your ServiceNow instance\u00a0<\/p>\r\n\r\n\r\n\r\n<p><strong>Username <\/strong>&#8211; Username of your ServiceNow Service Account or ServiceNow Developer Instance<\/p>\r\n\r\n\r\n\r\n<p><strong>Password <\/strong>&#8211; Password of your ServiceNow Service Account or ServiceNow Developer Instance<\/p>\r\n\r\n\r\n\r\n<p>Hit on Create, this automatically validates the connection and use this setting.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/AQJyyIEezSLBtp6QWqSHuCnwiRb6OM9h0AKCwTWrs5Eyj0vuIdw5DAHKMPB5sL6PjH8_T1EtuOwSyD2DYisI3S9kF6Kg0qAMXimDnAMF6aw3ZP7O8GxoH087wBqzNgM7Ec7rOV4u\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>After creating the connection, this connection is set to be used (as seen in the below image). This connector will hit the ServiceNow API with a POST request in the background. We just have to select the respective table to put the record information. In our case, we need to create an Incident so we use the Incident table.<\/p>\r\n\r\n\r\n\r\n<p>Also, we get the option of \u201cAdd Parameter\u201d, and from the pop-up box, we can select the options which are used as fields of the Incident such as Assigned_To, Assignment_Group, Location, Email etc.\u00a0<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/IdVb7ZTnIdK5C3DTmeL97UMcm1306V3qJ7LWMn2Jm2O-jp9A8HF8Ed2dj3XtRE5bbHxz3ErnLvYJBWVlWgU0iy9A6oaStEt9sunp9rs9UskM2eM5QtRUu2l5jZ54vcl-rLAOb1KY\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>This is UI based selection of Incident Fields, as shown in below example &#8211; \u201cCategory\u201d field is selected with the value \u201cSample Application Name\u201d<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/j_Oqg5Afg1PS7XF2vkmgJNPaiC-zFcQ7jodDQTtlmbZs9OybTBemtxwSJl4uLGkTKriAn1qEZ6m2lalhL4VJoufv1ojMOyzUtWNsl7NGxK3JP9wg5QdELE-IEM_pLe0B3XPFaRgd\" alt=\"\" \/><\/figure>\r\n\r\n\r\n\r\n<p>NOTE:\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Similar to this UI based field selection for ServiceNow Incident, we can also alternatively use code view to add ServiceNow Incident Fields. For this &#8211; Go to the \u201cCode View\u201d of your Logic App Designer &gt; then find the block named \u201cbody\u201d under your \u201cServiceNow connector name\u201d and add the fields(in JSON syntax) which are present in your Sample Incident. The advantage of using \u201cCode view\u201d to add \u201cfield parameters\u201d is that sometimes the required Incident fields are not present in the \u201cAdd Parameters\u201d drop-down menu. So, we can define custom fields as per our ServiceNow Instance Incidents by adding those in JSON format of \u201cCode view\u201d.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/YiFaqlQ49aJ7OR2KfI32-jJ0ProgDLpEAesEsUOdcV6Z16A9JVrWx7R6qoilwvLBIkDzTLwVyxgkZ4oi4bF3a7xuUE3mcqxmBONvKIYl5QubLQIfbn8GgYiG29NfgikmeYGSAmmP\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<p>B. <span style=\"text-decoration: underline;\">With HTTP Connector<\/span> (2nd Method)<\/p>\r\n\r\n\r\n\r\n<p>Add HTTP connector Action below HTTP Trigger Action. (as shown in below image)<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/hYPRHFhpecwRpQNnZb2boGYPdp0ED8VlIdKAZvWqZ2YpdZO1e5UCU09CW6jJAyJxf819ltewqEeckxIVLXdBIrpdZX6HxSwEaUp9YrOynB2ntaQkh1wwszsxWGOrsrwuTuG-hbTW\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>Now fill required details as below &#8211;\u00a0<\/p>\r\n\r\n\r\n\r\n<ul>\r\n<li>Select Request Method &#8211; which has to be \u201cPOST\u201d as we want to create\/add a new record in the Table(i.e. Creating a ServiceNow Incident)<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul>\r\n<li>Mention URL of your ServiceNow Instance &#8211;\u00a0<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>In this format create your URL &#8220;https:\/\/{MY-CLIENT-NAME}.service-now.com\/api\/now\/table\/incident&#8221;.<\/p>\r\n\r\n\r\n\r\n<ul>\r\n<li>For Headers &#8211; you can write\u00a0<br \/>Accept &#8211; application\/json<br \/>Content-Type &#8211; application\/json<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>NOTE: If the default information(such as API Endpoint, Headers Info etc) for the ServiceNow API mentioned above is not working for you, then you have to find the information by following the steps mentioned in the \u201cServiceNow Activity Part\u201d provided in the starting of this article.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/L7bNzT1YlCstGJIhMSM1Pkp3itUMW2W7v_HB2Sy-9pwQnqA0HhROQA8u-snq1IKlF_ZUfciXJm_V_mkIiZyZHVIOYUM_5uc7DiFzP6rHf3pnRqvaD5oMddjdcdh0FQHaP6jWkJrK\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>For the \u201cRequest Body\u201d of this POST HTTP request, we can mention all the fields of the ServiceNow Incident in a JSON formatted way. As placed in the screenshot below.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/wvHedRMe74GGUC5ij8uAM8Fp1A-6xK7SXczEJ41qX5xkg8wkVNz-n_J-6q0NqpyIfxuD90OJ-svoavCgh_KGwQY_uoYEzu0eK-Z8xZpb6IiD4KoDiJ_-FfE5lRU6fvEKzqBSkK8p\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>For Authentication, there are multiple options provided in this HTTP connector.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>In our case, we use \u201cBasic Authentication\u201d and mention the username and password of our ServiceNow Service Account or Developer ServiceNow Instance(if using developer instance)<\/p>\r\n\r\n\r\n\r\n<p><br \/>NOTE: In this example, we are providing credential details in \u201cPlain-Text\u201d. For using Keyvault secrets to be used in Logic Apps, follow this upcoming Blog.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/JkKHZzvNa8GHIP0B4swZCoeSxCJK-0Ut_zSGDYsLLGVuj6JjZ3lQytCLA8DjPoPOLj-GbWRIKk1koLVVozqv4NwKz-K_Z2cGBanHXdSKORDbj8YzCdonsw_n1NpCwSrHr61eL0XB\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<p>C. <span style=\"text-decoration: underline;\">Create Action Group<\/span> (which will be used to test and validate this integration setup)<\/p>\r\n\r\n\r\n\r\n<p>We have created our Azure Logic App, now to trigger this Logic App from Azure Alerts we need to link this Logic App with an Action Group. For this create an Action Group as shown below.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/xS4krLfxx-UXHle-nJ6QB2HrSfccOzu-NQ41xzOa_EfqKACp82MM8c4FE43bgfH_OFrsjTluZVXTs-5pnGThnKA7vp3Ab0Fnrp4D7LJW-DcaxUy5Qnh3CMGjM043DZcNPbAAcAHn\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>Remember to enable common Alert Schema, by which you will get <strong><em>common Json Payload<\/em><\/strong> of the Alert Information in your Azure Logic App for any type of Azure Alert (either Metric Alert, Log Alert or Activity Log Alert)\u00a0<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/BZ8XY2zo8Hm1vkr20XJIDt7Du0R28cISqBqCyXaESNKyKY1H9G_0zFEyM1CEZreXj-jV1H3gGFkpaX6zopbG0cBzt7A1kjAkEMrcOUAIx008cJlgqGeCMf67Ch0svTvOx_6w1rxD\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<p><strong>6. <span style=\"text-decoration: underline;\">Test and Validate<\/span><\/strong>\u00a0&#8211;<\/p>\r\n\r\n\r\n\r\n<p>We have created the Logic App, linked the logic app with an Action Group, now it&#8217;s time to generate a dummy alert and validate if it is creating a ServiceNow Incident.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>For testing purposes, we will create a dummy alert on a sample resource like a storage account and make such alert signal conditions that the alert will be fired and hence the action group is triggered which ultimately triggers the Logic App and creates a ServiceNow Incident.\u00a0<\/p>\r\n\r\n\r\n\r\n<ol>\r\n<li>Create a storage account for testing this Integration Setup.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/9nY_ScJwNz-NJq30UxJJgWel5P-WwymAcUnIw8qp4EPTo2KMVKF_gVoTLGjfv-EnrnX9r2HT7dpwiHRYLQ2YWJMkImvslidbzML61SPnDLwhbqKIh1re5mdXCHRXMPzXPsPpK6MI\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<ol start=\"2\">\r\n<li>Now create Dummy Alert on this storage account.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/URODdS6K1x3db8Jk-k1LgtZcuAOYNRRfABpaC9TT9DGs_FYZri7cMZjLgZwRabh_ZDiBtmWUHvsjagT2wbPsemLtfJFcv2zZJvyCX4V8NrPmBH6EXCTSslrvuZ-MGa0fuZbQe_TK\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>Here, using Used Capacity as a signal condition\u00a0<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/K_ijGF5j86TjBS8ll38AiX_n5iEXwzsVeqD0NBzfECL8mJxySnzaRQC9pXiWQBHFZpbHR7iZoU7Ljw5FPHZu7U45Xea_XJW2EqkStoqKZ3k0p1lkHfvUOxihKUCNDt3rBqFYu54n\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>Create the alert condition in such a way that it will fire the alert on the first check, and the Logic App will be triggered without much waiting. (as shown below).<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/RUSLFZfgPO5xJBBYPe5ARWbX63CzWtXcG5YyrrjQtI6KOhGdhcZP6ogrV0wR9P5Mbwr2t0y2vGtn6SIH8ZqmYRWZ7Z55GfXN64JhWOz2rGDIx9LFRftawE_97wcZuDkW6NBzHZLu\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>Select the same Action Group which you have created in part 5C of this article.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/FVj67B_5fLQcChKr4zhe_7Mbb7OTE-nDoTgT8o6IErGbXtHjwM1yB1gj5NToXNTJemyjspo5Wss3dDL82hr9Zvp_7FQ3lcn3fPnv-Se9tiSjC185cMkQwYqIWtOnDZ5qAdMabD3_\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<ol start=\"3\">\r\n<li>Check Alert and respective Incident &#8211;\u00a0<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<ul>\r\n<li>Wait for the alert to fire on Azure Portal\u00a0<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/VPhXTGRPBNVnK_x0zZ6yp3LpeC_2M0dS8_YF-E8nIjQsKERKLL0Vdw-ye3qubBajG7CHEdL-v3jLL7-fydw9V04PGPioxQTHHmShnICDZYgHfxWxNYJyRiXFDNZJYjfvlqxJisBq\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<ul>\r\n<li>After the alert is fired, check if the Azure Logic App is triggered<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/KScoxxtlALutsw8-c-Hr5xplDMLFTDf3pu7yDrRl8Hdhljy0aASnRmxWJauzlOIc4NlZgk23MMwIheemnbzvzvxhK2d7-UFNoBsQGwAOaTBegz60yP-g4-UDPSLLf7feOv_Ck5tl\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p>Find the Incident Number from the \u201cLogic App Run\u201d<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/7gEI_MKspiNcjVl8VO0rKKqZxXQNn54UOlCzimejUqT07NlqyJGrwCpMWdDtXaCPnyUGpmLOYlbF51fuftuwM5-TZE3FHkwLJLqOm2OdoxuA8OalJV3CZjeD95o3aghSYadTl_La\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/Cl-MCe0NrpqqvPdsssa1DOaAnUSOj8ItLee-NDGpsFllSHb6bHOQ93nZQ9rpPesQ43g8l_2gcOfVzvVO50Kte8Isg82l2yJQyyxpDGRlyCvHrd5yFyB9a7lNIi2b2Fc4pCq7XS5h\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<ul>\r\n<li>Find the Incident number on ServiceNow Instance and validate if the Incident has been created.\u00a0<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/gVrdev1cwJHP3gSRA1X-jCQAPLGRK7hKOa5ty965pg-LRoZM2H3VFIKdEObo7MN1bCfXcxOKWZ8I7hLJsSaNMCrVSG6m9lB5xvYNW2L9h3MUzcrT8_O4lKUXtugjKEX-4SxW490m\" alt=\"\" width=\"700\" \/><\/figure>\r\n\r\n\r\n\r\n<p><br \/>Voila ..<\/p>\r\n\r\n\r\n\r\n<p>Azure Logic Apps provides a convenient solution to many integration requirements (like this ServiceNow Integration setup). With Azure Logic Apps we can create ad-hoc automation tasks, serverless code logics, 3rd Party integrations making its usage scope quite vast.<\/p>\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<p><strong>Blog Pundit:<\/strong> <a href=\"https:\/\/opstree.com\/blog\/\/author\/adeel109\/\"><strong>Adeel Ahmad<\/strong><\/a> &amp; <strong><strong><strong>Sanjeev Pandey<\/strong>\u00a0<\/strong><\/strong><\/p>\r\n\r\n\r\n\r\n<p>Opstree is an End to End DevOps solution provider<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\r\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link\" href=\"https:\/\/www.opstree.com\/contact-us\" target=\"_blank\" rel=\"noreferrer noopener\">CONTACT US<\/a><\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Integrating ServiceNow with Azure Alerts (Monitor) requires setting up a dedicated user in ServiceNow with the appropriate evt_mgmt_integration roles. You&#8217;ll also need to create a webhook or connector within Azure Monitor&#8217;s action groups and arrange the JSON payload required for incident creation.The important steps that must be followed include generating API credentials, configuring URLs, and &hellip; <a href=\"https:\/\/opstree.com\/blog\/2021\/06\/08\/servicenow-integration-with-azure-alerts-step-by-step-setup\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;ServiceNow Integration with Azure Alerts &#8211; Step By Step Setup&#8221;<\/span><\/a><\/p>\n","protected":false},"author":204235873,"featured_media":29900,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[28070474],"tags":[719697917,335778,688033412,604879251,552433798,43613005,719697912],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/11\/DevSecOps-1.jpg","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfDBOm-1Jm","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/6656"}],"collection":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/users\/204235873"}],"replies":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/comments?post=6656"}],"version-history":[{"count":30,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/6656\/revisions"}],"predecessor-version":[{"id":30912,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/6656\/revisions\/30912"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media\/29900"}],"wp:attachment":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media?parent=6656"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/categories?post=6656"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/tags?post=6656"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}