No results for ""
EXPAND ALL
  • Home
  • API docs

Using flag triggers with Datadog

Read time: 3 minutes
Last edited: Nov 04, 2024
Flag triggers is an Enterprise feature

Flag triggers is available to customers on an Enterprise plan. To learn more, read about our pricing. To upgrade your plan, contact Sales.

Overview

This topic explains how to use LaunchDarkly's trigger feature with Datadog. For example, you can create an alert in Datadog that toggles a flag's targeting on or off if a performance metric drops below a certain threshold.

We recommend using flag triggers for Datadog alerts only, not recovery alerts. If you connect a trigger to recovery alerts, the trigger activates on recovery as well as on alert.

To learn more about configuring your webhook without recovery alerts, read Connect the webhook to a Datadog event.

Prerequisites

In order to complete this topic, you must meet the following prerequisites.

  • You must have a feature flag with a trigger. To learn more about creating triggers, read Creating flag triggers.
  • You must have access to the trigger's URL, which you copied and saved during the trigger creation process. To learn more, read Flag trigger security.
  • You must have an existing Datadog account.

Connect a flag trigger to Datadog

Connecting a LaunchDarkly trigger to Datadog takes two steps.

You must:

  1. Create a webhook in Datadog that includes a custom JSON template with your trigger URL, and
  2. Connect that webhook to a Datadog alert.

Set up a JSON template in Datadog

First you must configure a JSON template to use the LaunchDarkly trigger.

To configure the template:

  1. Log in to Datadog.

  2. Navigate to Integrations and search for the Webhooks section.

  3. Create a new webhook based on the Installation instructions and paste the LaunchDarkly trigger URL into the URL field.

  4. Copy this Datadog payload into the configuration field in Datadog:

    {
    "title": "$EVENT_TITLE",
    "url": "$LINK"
    }
You must customize the payload to view trigger details in LaunchDarkly

The only payload keys LaunchDarkly processes are title and url. Any other fields you put in the payload do not appear in LaunchDarkly.

If you use a different JSON template than the one provided above, you must include the title and url fields or the trigger will not save useful data about the event in the flag's change history. The url is the URl of your Datadog event.

  1. Click Save.

Connect the webhook to a Datadog event

After you create the webhook in Datadog, you must connect it to an event in order for the LaunchDarkly trigger to perform actions on the flag.

  1. Navigate to Monitors.

  2. Choose the Alert you wish to connect to the trigger and add the webhook you created earlier to that alert.

    If you don't want Datadog to trigger when the alert recovers, wrap the webhook in the following template expression:

    `{{#is_alert}} @webhook-<YOUR_WEBHOOK_NAME> {{/is_alert}}`
  3. Click Save.

  4. In the Datadog metric alert you want to activate the flag trigger, add @webhook-<YOUR_WEBHOOK_NAME>.

Test the trigger configuration

After you create a trigger in Datadog, you can verify that it has connected to LaunchDarkly correctly.

To test the trigger:

  1. Navigate to Datadog and find the metric alert to which you added the webhook.
  2. Click Test Notifications at the bottom of the page.
  3. Select any single notification and click Run Test. This sends a test event to LaunchDarkly.
  4. Navigate back to the flag's Settings page in LaunchDarkly.
  5. Click the overflow menu on your LaunchDarkly trigger to confirm that the execution count has incremented. Sending a test notification does not trigger the flag action, so don't worry that you might toggle a flag by testing the configuration.

Your configuration details may vary based on your requirements.

To learn more about how Datadog handles webhooks, read Datadog's documentation.