Datadog

Create an outgoing webhook to send logs to Datadog triggered by Apono access request events

Datadog monitors your servers, databases, tools, and services, through a SaaS-based data analytics platform.

This guide shows you how to configure and test outbound webhooks for Datadog.



Prerequisite

Item Description
Datadog API key Key for accessing the Datadog REST API


Create the webhook

Follow these steps to configure a webhook:

  1. On the Webhooks page, click Add Webhook. The Add Webhook page appears.
  2. Enter a unique, alphanumeric, user-friendly Name for identifying this webhook.
  3. Click the Status toggle to Active.
  4. From the Method dropdown menu, select POST.
  5. For the webhook URL, enter https://<DATADOG_LOG_COLLECTOR_URL>/api/v2/logs. Be sure to replace <DATADOG_LOG_COLLECTOR_URL> with your Datadog organization location. For example, for the US5 region, enter: https://http-intake.logs.us5.datadoghq.com

    ⚠️

    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, paste the following JSON body for the webhook payload. Replace LOGS_TAGS with a comma-separated list of tags you want to associate with your logs. For example env:staging,version:5.1.
    [
     {
       "ddsource": "apono",
       "ddtags": "<LOGS_TAGS>",
       "hostname": "apono",
       "message": "{ \"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 }}\"}",
       "alert_type": "info",
       "service": "apono"
     }
    ]
    

    💡

    Click View event's payload schema to reveal the payload schema and available data fields. You can also refer to the Webhook Payload Schema Reference to read the descriptions of each data field.


  1. For Headers, enter the following authorization headers. Replace the placeholder values with the API key and key ID that you created in Datadog.

    KeyValue
    DD-API-KEY<API KEY>
    DD-APPLICATION-KEY<KEY ID>

  1. From the Triggers dropdown menu, select one or more of the following event triggers, which correspond to Apono access request statuses:
    • RequestCreated
    • RequestApproved
    • RequestRejected
    • RequestGranted
    • RequestExpired
    • RequestFailed
    • Manual
  2. Under Filters, define one or several filter from the listed dropdown menus.
  3. Click Test to generate a test event to trigger your webhook. A Test successful or Test failed response status will appear at the bottom of the page.

    💡

    For more information about the test, click View Invocation Data. A panel opens revealing the request, response, and other relevant details.

    Should your test fail, view these tips to troubleshoot your webhook.


  1. Click Save Webhook.

The new webhook appears in the Webhooks table. The webhook will be preceded by a green dot if it is active or a white dot if it is inactive.

You can now send logs to Datadog triggered by Apono access request events.