Alerts within Opsgenie can be created via different sources:
- Incoming/Bi-Directional Integrations: Any external service or application that Opsgenie is integrated with can create alerts within Opsgenie. Opsgenie processes any received data from an external service according to the configuration of the integration that the provided API Key belongs to, and creates alerts if required to do so. Refer to the Integrations section or Integrations Page to see the list of external services that we already integrate with.
- E-Mails: Integrate any service or software that has the capability of sending e-mails with Opsgenie. Forward these e-mails to Opsgenie after configuring an Email. Opsgenie processes any received emails according to the configuration of the email integration that the e-mail address belongs to.
- Alert API: Create alerts via the Create Alert Requests of the Alert API, after configuring an API integration within Opsgenie. Any data within the request will be processed according to the configuration of API integration that the provided API Key belongs to.
- Heartbeat Monitoring: Heartbeat Monitoring creates alerts within Opsgenie. If Opsgenie does not receive a Send Heartbeat Request within the defined time threshold, an alert will be created according to the configuration of the Heartbeat Integration.
- Incoming Calls: Forward your phone calls to the number that Opsgenie provided while configuring an Incoming Call integration. When a call is received by Opsgenie, an alert is created by the Incoming Call integration that the provided call number belongs to.
- Opsgenie Web Application: Create alerts via the Alerts->Create Alert page. By default, Opsgenie uses the Default API Integration while processing the data that was provided while creating an alert on the Web Application, but there is the option to select another API integration via the drop-down list (As shown in the screenshot below) to use in the process.
A team is assigned as the owner team of an alert according to the following conditions:
If an alert is created via a team integration (an integration that is assigned to a team), the team is assigned as the owner team of the alert.
If the alert creation is triggered via an incident, the team of the each responder alert is assigned as the owner team of the alert.
If an alert is created via a global integration and is routed to only one team, the team is assigned as the owner team of the alert.
The diagram above is a clear summary of the alert creation flow from the moment of receiving Alert Create Content to the creation of the alert. The following is the step-by-step explanation:
1. Opsgenie matches the request source with the related integration configuration. If the provided content does not match any enabled integrations, Opsgenie ignores the request/data.
2. If the matched integration has ignore rules and the received content satisfies the conditions for at least one of these ignore rules, Opsgenie ignores the request/data.
3. If the matched integration does not have any Create Alert Rules, or the received content does not satisfy at least one of the specified conditions, Opsgenie ignores the request/data. Otherwise, Opsgenie will prepare an alert template according to first matched Create Alert Rule.
4. If there is at least one Global Alert Policy whose conditions / time restrictions are satisfied by the prepared alert template, Opsgenie modifies the alert template according to the matched global alert policy/policies.
5. If the alert has an owner team and there is at least one Team Alert Policy, Opsgenie modifies the alert template according to the matched team alert policy/policies.
6. & 7. Opsgenie checks whether there is an open alert that has the same alias with the prepared and modified alert template. If there is, the existing open alert is de-duplicated . If there is not, Opsgenie creates a new open alert according to the prepared and modified alert template and starts an Alert Notifications Flow Alert Notifications Flow.