# Services and Integrations

Create a service and add integrations to begin receiving incident notifications

A technical service reflects a discrete piece of functionality that is wholly owned by one team. One or more technical services combine to deliver business capabilities. You can add one or more [integrations](/integrations) to a technical service to receive events from those tools.

> **Best Practices:** Read the [Full Service Ownership](/ops-guides/service-ownership) guide when creating new services. This guide provides best practices that software delivery operations teams can use to ensure they are equipped to fully own their services.

> **Required User Permissions:** The following roles can create, edit, and delete services:
>
> - User
> - Admin
> - Manager base roles and team roles. Manager team roles can only manage services associated with their team.
> - Global Admin
> - Account Owner

## Create a Service

To create a service in the web app:

1. Navigate to **Services**  →  **Service Directory** and click **New Service**.
2. Enter the following details:
   | Field           | Value                                                                |
   | --------------- | -------------------------------------------------------------------- |
   | **Name**        | Enter a name based on the function that the service provides.        |
   | **Description** | Enter a description based on the function that the service provides. |
3. Click **Next**.
4. Select **Generate a new escalation policy** or **Select an existing escalation policy**. Click **Next**.
   - If you generate a new escalation policy, you are the first-level on-call for the service. You can [edit the escalation policy](/incident-management/schedules/escalation-policies#edit-an-escalation-policy) at any time after the service is created.
5. Configure **AIOps** settings:

   
> **AIOps Notes:** - Alert grouping is only available with the [PagerDuty AIOps](/ai-automation/aiops/overview) add-on product. If you do not have PagerDuty AIOps, you skip ahead to **Integrations** in step 6.
>    - If you have AIOps, all newly created services have AIOps enabled by default. Refer to the [Manage AIOps](/incident-management/services/configurable-service-settings#manage-aiops) section for steps to disable AIOps after service creation.

   <div className="alpha-steps">

   1. Select one of the following options:
      - **[Intelligent](/ai-automation/aiops/noise-reduction/alert-grouping/intelligent-alert-grouping)**: Select this option to group intelligently, based on alert content and past groups.
      - **[Content-Based](/ai-automation/aiops/noise-reduction/alert-grouping/content-based-alert-grouping)**: To group alerts when contents of specified alert fields match, click **Create Grouping** and select your alert grouping criteria. You can choose to group alerts based on **Any** or **All** of the following fields, then select your preferred **Field Name**.
      - **[Unified Alert Grouping](/ai-automation/aiops/noise-reduction/alert-grouping/unified-alert-grouping)**: Combines content-based alert grouping and intelligent alert grouping with a flexible time window.
      - **[Time-Based](/ai-automation/aiops/noise-reduction/alert-grouping/time-based-alert-grouping)**: To group for a selected duration, select your preferred **duration** from the dropdown.
      - **Turn Off Alert Grouping**: Select this option if you do not want to use alert grouping.
   2. Click **Next**.

   </div>
6. **Integrations**: Select the integrations you use to send alerts to this service from the search bar, dropdown, or from the list of most popular integrations.
   - If you do not want to add an integration, click **Create service without an integration** at the bottom of the page.
7. Click **Create Service**.
   - If you add an integration to your service, you are directed to the service's **Integrations** tab, where you can find the integration guide, along with an integration key. **Follow the integration guide instructions to complete configuration**. Once you complete the integration guide instructions, your service configuration is complete.
   - If you do not add an integration to the service, no further configuration is necessary.
   - You can also customize your service to include other attributes such as [urgency](/incident-management/services/configurable-service-settings#notification-urgency), [acknowledgment timeouts](/incident-management/services/configurable-service-settings#acknowledgement-timeout), [auto-resolution](/incident-management/services/configurable-service-settings#auto-resolution), or [incident workflows](/ai-automation/automation/incident-workflows).

## Edit Service Settings

To edit an existing service's settings:

1. Navigate to **Services**  →  **Service Directory** and select or search for your service.
2. Click **Edit** to the right of the [service detail or setting](/incident-management/services/configurable-service-settings) you want to change.
3. Once you edit your preferred settings, click **Save changes**.

### Edit a Service's Escalation Policy

1. Navigate to **Services**  →  **Service Directory** and select or search for your service.
2. Select the **Settings** tab and click **Edit** to the right of **Assign and Notify**.
3. Under **Assign to escalation policy**, search for and select an escalation policy.
4. Click **Save changes**.

## Disable and Re-Enable Services

Disabling a service is a choice in the following cases:

- A service is no longer in use and you want to preserve its settings for future use.
- To prevent incidents from triggering.

Disabling a service is similar to [putting a service in maintenance mode](/incident-management/services/maintenance-windows). New incidents do not trigger while a service is in either of these states.

The main difference is that a maintenance window eventually ends and brings a service back online. A disabled service must be manually re-enabled.

### Disable a Service

1. Navigate to **Services**  →  **Service Directory** and select or search for your service.
2. On the right side, navigate to **More**  →  **Disable Service**.
3. In the confirmation dialog, click **Disable**.

### Re-Enable a Service

1. Navigate to **Services**  →  **Service Directory** and select or search for your service.
2. On the right side, navigate to **More** ​​ →  **Enable Service**.

## Delete a Service

1. Navigate to **Services**  →  **Service Directory** and select or search for your service.
2. In the top right, navigate to **More**  →  **Delete Service**.
3. Read the confirmation modal and click **Delete Service**.

## Add Integrations to an Existing Service

You can add more than one integration to a service, which allows you to represent the components in your tech stack as services in PagerDuty. Components can be applications, micro-services in an application's architecture, or cross-cutting shared infrastructure (for example, networks and security). Consolidating integrations into appropriate services also helps improve accuracy with service-level reporting in [Insights](/incident-management/analytics/insights) reports.

1. In the [Integrations Directory](/integrations), search for and select your integration's guide.
2. Navigate to **Services**  →  **Service Directory** and select the service where you want to add the integration.
3. Select the **Integrations** tab and click **Add another integration**.
4. Select the integrations you use to send alerts to this service from the search bar, dropdown, or from the most popular integrations list.
5. Click **Add**.

> **Product Limit:** A service cannot have more than 250 integrations.

6. Find your integration in the list and click  on the right to view and copy your **Integration Key**.
7. Continue with the instructions in the integration guide to complete configuration.

For information on how to add extensions to a service, refer to [Extensions](/integrations/extensions).

## Edit an Integration

To edit an integration that exists on a service:

1. Navigate to **Services**  →  **Service Directory** and select or search for the service with the integration you want to edit.
2. Select the **Integrations** tab and click the gear icon  to the right of your integration.
3. In the top right, click **Edit Integration**.
4. Enter a new value for the **Integration name**.
5. Click **Save changes**.

### Generate a New Integration Key

You can rotate an integration key for routine security or if it becomes compromised.

1. Navigate to **Services**  →  **Service Directory** and select or search for the service with the integration key you want to rotate.
2. Select the **Integrations** tab and click the gear icon  to the right of your integration.
3. In the top right, click **Edit Integration**.
4. Select **Generate a new integration key**
   - A browser alert asks you to confirm your decision before generating the new key. If you click **Cancel**, the integration key remains unchanged. If you confirm the change, the key is overwritten immediately, even if you leave the edit page.
5. Click **Save changes**.

### Move an Integration to Another Service

You can move an integration from one service to another. You can move integrations between as many services as needed, as many times as needed, and all incidents tied to that integration follow.

> **Note:** - Your integration key does **not** change after moving the integration from one service to another.
> - If there are more than 8,000 open (that is, triggered or acknowledged) incidents associated with an integration, you cannot move the integration unless you resolve some first. [Contact the Support team](https://www.pagerduty.com/contact-us/#contact-support) if you want to move an integration with more than 8,000 open incidents.

1. Navigate to **Services**  →  **Service Directory** and select or search for the service with the integration you want to move.
2. Select the **Integrations** tab and click the gear icon  to the right of the integration.
3. On the right side of the screen, select **Move to Another Service**.
4. In the **Destination Service** dropdown, select the new service where you want to move the integration.

> **Note:** If the settings on the destination service differ from the current service, you receive a warning message alerting you to the configuration differences.

5. Select **Confirm & Move Integration**.

## Delete an Integration

If an integration is no longer needed, it can be deleted from the service. A deleted integration cannot be recovered. If you need to use the integration again, you can create a new one of the same type on the service.

1. Navigate to **Services**  →  **Service Directory** and select or search for the service with the integration you want to delete.
2. Select the **Integrations** tab and click the gear icon  to the right of the integration you want to delete.
3. On the right side, select **Delete Integration**.
4. Confirm your selection in the dialog window.

> **Note:** - To temporarily deactivate an integration instead, you can either place the service in [maintenance mode](/incident-management/services/maintenance-windows), or temporarily [move the integration](/incident-management/services/services-and-integrations#move-an-integration-to-another-service) to an inactive service.
> - When an integration is deleted, PagerDuty does not remove the incidents. There are no changes to the open or resolved incidents.

## Create a Generic Events API Integration

If there is not an out-of-the-box integration for your tool, so long as your system can make outbound HTTP calls, you can integrate using the Events API.

> **Required User Permissions:** The following roles can add integrations:
>
> - Manager\*
> - Admin
> - Global Admin
> - Account Owner
>
> \*Permissions for adding integrations can vary. Check for notes on requirements in the introduction of the integration guide.

To add a generic integration:

1. Follow the instructions to [add an integration to an existing service](#add-integrations-to-an-existing-service), or to [create a service with an integration](#create-a-service), and select **Events API V2** or **Events API V1** on the Integrations page.
2. Once complete, you can find the **Integration Key** in the Integrations tab by clicking  to the right of the integration. Use this key in your monitoring tool to send events to PagerDuty.

### Events API v2

The Events API allows monitoring tools to directly send events in the [PD-CEF](/developer/api/pd-cef) format. If you are using custom monitoring, you can also use this format to take advantage of PD-CEF's display and workflow features.

## Create a Vendor Specific Service via API

You can create a service with a vendor-specific integration (for example, AWS CloudWatch) via the [REST API](/developer/rest-api-overview).

You must know the vendor details, which are not shown in the web app, but can be obtained from the [Vendors API](/developer/api/reference/rest/vendors/get-vendor). Afterward, you can create a [new service](/developer/api/reference/rest/services/create-service) or [new integration](/developer/api/reference/rest/services/create-service-integration) with the details you received from the Vendors API.

## FAQ

**Should I use Events API v1 or v2?**

Events API v2 is designed to handle machine-generated monitoring and event data, such as infrastructure monitoring (Nagios, SignalFX, Datadog), application performance monitoring (New Relic, AppDynamics), and external site checks (Pingdom, Wormly).

For human-generated events, tickets, or incidents, such as those from ServiceNow or JIRA, use the [REST API](/developer/api/reference/rest/incidents/create-incident) to enable direct, streamlined creation of PagerDuty incidents.

If you are using a custom monitoring tool, library, or script that has not yet been updated to v2, select [Events API v1](/developer/events-api-v1-overview).
