Logz.io · Arazzo Workflow

Logz.io Grafana Contact Point Setup

Version 1.0.0

Create a Grafana contact point, confirm it by name, and list alert rules.

1 workflow 1 source API 1 provider
View Spec View on GitHub ObservabilityLoggingMetricsTracingSIEMELKElasticsearchOpenSearchPrometheusGrafanaOpenTelemetryAIOpsCloud ObservabilityManaged ELKCost ManagementArazzoWorkflows

Provider

logz-io

Workflows

setup-contact-point
Create a webhook contact point, confirm it, and list alert rules.
Creates a Grafana webhook contact point, lists contact points filtered by name to confirm it, and lists provisioned alert rules.
3 steps inputs: apiToken, contactPointName, webhookUrl outputs: contactPointName
1
createContactPoint
RoutePostContactpoints
Create a webhook contact point through the Grafana provisioning API.
2
confirmContactPoint
RouteGetContactpoints
List contact points filtered to the created name to confirm it now exists.
3
listAlertRules
getAlertRules
List the provisioned alert rules that could route triggers to the new contact point.

Source API Descriptions

Arazzo Workflow Specification

logz-io-grafana-contact-point-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Logz.io Grafana Contact Point Setup
  summary: Create a Grafana contact point, confirm it by name, and list alert rules.
  description: >-
    Prepares Grafana alerting delivery. The workflow creates a webhook contact
    point through the provisioning API, confirms it by listing contact points
    filtered to that name, then lists the existing provisioned alert rules that
    can route to it. Every step spells out its request inline so the flow can be
    read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: logzioApi
  url: ../openapi/logz-io-api-openapi.yml
  type: openapi
workflows:
- workflowId: setup-contact-point
  summary: Create a webhook contact point, confirm it, and list alert rules.
  description: >-
    Creates a Grafana webhook contact point, lists contact points filtered by
    name to confirm it, and lists provisioned alert rules.
  inputs:
    type: object
    required:
    - apiToken
    - contactPointName
    - webhookUrl
    properties:
      apiToken:
        type: string
        description: Logz.io API token sent in the X-API-TOKEN header.
      contactPointName:
        type: string
        description: Name of the Grafana contact point to create.
      webhookUrl:
        type: string
        description: Webhook URL the contact point delivers notifications to.
  steps:
  - stepId: createContactPoint
    description: >-
      Create a webhook contact point through the Grafana provisioning API.
    operationId: RoutePostContactpoints
    parameters:
    - name: X-API-TOKEN
      in: header
      value: $inputs.apiToken
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.contactPointName
        type: webhook
        disableResolveMessage: false
        settings:
          url: $inputs.webhookUrl
    successCriteria:
    - condition: $statusCode == 202
    outputs:
      contactPointName: $response.body#/name
  - stepId: confirmContactPoint
    description: >-
      List contact points filtered to the created name to confirm it now exists.
    operationId: RouteGetContactpoints
    parameters:
    - name: X-API-TOKEN
      in: header
      value: $inputs.apiToken
    - name: name
      in: query
      value: $inputs.contactPointName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstName: $response.body#/0/name
  - stepId: listAlertRules
    description: >-
      List the provisioned alert rules that could route triggers to the new
      contact point.
    operationId: getAlertRules
    parameters:
    - name: X-API-TOKEN
      in: header
      value: $inputs.apiToken
    successCriteria:
    - condition: $statusCode == 200
  outputs:
    contactPointName: $steps.createContactPoint.outputs.contactPointName