If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: docs.geteppo.com/reference/webhook - Webhooks | The Eppo Docs.

site address: docs.geteppo.com/reference/webhook

site title: Webhooks The Eppo Docs

Our opinion (on Monday 14 September 2026 10:47:20 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:


page from cache: 13 minutes ago
Meta tags:
description=Webhooks let your integrations take action in response to events that occur in Eppo.;

Headings (most frequently used words):

experiment, updated, webhook, webhooks, the, signature, configuration, events, flagging, configuring, metric, status, calculated, metrics, flag, integrating, and, verifying,

Text of the page (most frequently used words):
the (37), #signature (27), webhook (23), experiment (19), #updated (17), data (17), body (11), request (11), eppo (9), and (9), flag (9), configuration (9), when (8), experiment_key (8), experiment_id (8), webhooks (7), string (7), event (7), status (6), events (6), metric (5), this (5), crypto (5), you (5), api (4), reference (4), webhooksecret (4), const (4), from (4), boolean (4), secret (4), with (4), your (4), take (4), action (4), date (4), triggers (4), quickstart (4), application (3), flagging (3), metrics (3), page (3), types (3), are (3), example (3), function (3), return (3), req (3), hash (3), needs (3), integrations (3), meta_data (3), sdk (3), sdks (3), security (2), updates (2), integrating (2), verifying (2), configuring (2), calculated (2), rest (2), json (2), generate (2), number (2), 123 (2), will (2), use (2), timingsafeequal (2), note (2), process (2), res (2), isvalidwebhooksignature (2), expectedsignature (2), buffer (2), generatehmacsignature (2), update (2), here (2), node (2), get (2), need (2), that (2), done (2), only (2), user_email (2), any (2), sent (2), environments (2), good (2), solution (2), custom (2), display (2), most (2), state (2), success (2), failure (2), added (2), removed (2), based (2), architecture (2), introduction (2), concepts (2), contextual (2), analysis (2), copyright, 2026, inc, product, blog, links, previous, edit, ensure, preserved, before, stringifying, for, numeric, should, remain, not, coerced, into, result, incorrect, always, constant, time, comparison, like, comparing, signatures, prevent, timing, attacks, invalid, send, 401, webhook_secret, env, stringify, post, app, usage, express, route, handler, hex, digest, sha256, createhmac, import, typescript, compare, generated, received, hmac, sha, 256, verify, signed, object, once, contact, customize, support, admin, first, setup, url, side, receive, field, available, was, via, have, email_of_user_who_updated_flag, flag_key, key, flag_id, short, operation, visible, history, its, associated, models, such, assignments, targeting, rules, audiences, assignments_scan_end_date, assignments_scan_start_date, is_traffic_imbalance, time_taken_seconds, is_data_updated, is_manual_refresh, calculated_metrics, pipeline, run, irrespective, mode, trigger, manual, scheduled, changes, user, edits, collection, sends, four, want, certain, can, filter, just, interested, subscribing, their, type, let, response, occur, administration, statistics, debugging, migrations, advanced, experimentation, topics, metadata, engineering, tutorials, marketing, guides, using, pre, forking, servers, developer, tools, chrome, extension, best, practices, datadog, integration, elixir, ruby, rust, java, python, php, net, server, react, native, ios, dart, flutter, android, javascript, client, logging, keys, bandits, management, core, switchback, bandit, about, getting, started, search, demo, login, watch, recording, webinar, how, delivery, hero, uses, switchbacks, drive, marketplace, innovation, skip, main, content, docs,


Text of the page (random words):
webhooks the eppo docs skip to main content webinar how delivery hero uses switchbacks to drive marketplace innovation watch the recording here login get a demo search getting started about eppo analysis quickstart sdk quickstart contextual bandit quickstart switchback quickstart core concepts flag and experiment configuration data management experiment analysis contextual bandits sdks introduction architecture concepts sdk keys and environments event logging client sdks javascript android dart flutter ios react native server sdks node net php python java go rust ruby elixir datadog integration best practices eppo developer tools chrome extension using eppo sdk with pre forking servers guides introduction marketing integrations engineering tutorials metadata advanced experimentation topics migrations debugging metrics reference statistics administration architecture and security rest api webhooks reference webhooks on this page webhooks webhooks let your integrations take action in response to events that occur in eppo experiment webhook events this webhook is a good solution when a custom application needs to display or take action on the most up to date state of an experiment the webhook sends four types of experiment update events if you only want to take action based on certain types of events you can filter to just the events you are interested in subscribing to based on their event type in the request body experiment metric updated triggers when metric is added or removed metric collection is added or removed request body event experiment metric updated data experiment_id experiment_id experiment_key experiment_key signature signature experiment configuration updated triggers when user edits any configuration request body event experiment configuration updated data experiment_id experiment_id experiment_key experiment_key signature signature experiment status updated triggers when experiment s status changes request body event experiment status updated data experiment_id experiment_id experiment_key experiment_key signature signature experiment calculated metrics updated triggers when data pipeline run irrespective of success or failure and mode of trigger manual or scheduled request body event experiment calculated_metrics updated data experiment_id experiment_id experiment_key experiment_key meta_data status success failure is_manual_refresh boolean is_data_updated boolean time_taken_seconds number is_traffic_imbalance boolean assignments_scan_start_date date assignments_scan_end_date date signature signature flagging webhooks the flagging webhook is a good solution when a custom application needs to display or take action on the most up to date state of a flag flag configuration updated this webhook is sent when a flag or its associated models such as assignments targeting rules environments or audiences are updated in short any operation visible in the flag history is sent to the webhook request body event flag configuration updated data flag id flag_id key flag_key meta_data user_email email_of_user_who_updated_flag signature signature note the user_email field is only available if the flag was updated via the ui updates by the api will have meta_data configuring the webhook to use the webhook you first need to setup a url on your side to receive the webhook request the configuration is done in the admin integrations page once that is done contact eppo support to customize the webhook to your needs webhook signature the webhook request is signed with a signature the signature is a hash of the data object in the webhook request body and the webhook secret integrating and verifying the signature to verify the webhook signature you ll need to get the signature from the webhook request body generate a hmac sha 256 hash with your webhook secret and the data in the webhook request body compare the generated hash with the received signature here s an example in typescript node js import crypto from crypto function generatehmacsignature secret string data string string return crypto createhmac sha256 secret update data digest hex function isvalidwebhooksignature data string signature string webhooksecret string boolean const expectedsignature generatehmacsignature webhooksecret data return crypto timingsafeequal buffer from signature buffer from expectedsignature example usage in an express route handler app post webhook req res const signature req body signature const data json stringify req body data const webhooksecret process env webhook_secret if isvalidwebhooksignature data signature webhooksecret return res status 401 send invalid signature process the webhook note always use a constant time comparison function like crypto timingsafeequal when comparing signatures to prevent timing attacks ensure json data types are preserved before stringifying to generate the signature for example a numeric id should remain a number e g id 123 and not be coerced into a string e g id 123 as this will result in an incorrect signature edit this page previous rest api experiment webhook events experiment metric updated experiment configuration updated experiment status updated experiment calculated metrics updated flagging webhooks flag configuration updated configuring the webhook webhook signature integrating and verifying the signature links eppo blog eppo application product updates reference api reference security copyright 2026 eppo inc
Images from subpage: "docs.geteppo.com/quick-starts/analysis-integration/connect-w... " Verify
Images from subpage: "docs.geteppo.com/quick-starts/sdk-integration/creating-a-fla... " Verify
Images from subpage: "docs.geteppo.com/bandit-quickstart/" Verify
Images from subpage: "docs.geteppo.com/switchback-quickstart/" Verify
Images from subpage: "docs.geteppo.com/feature-flagging/" Verify

Verified site has: 45 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45


The site also has references to the 1 subdomain(s)

  geteppo.com  Verify


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/2 200
accept-ranges bytes
age 0
cache-control public,max-age=0,must-revalidate
cache-status Netlify Edge ; fwd=miss; fwd-status=200; stored
content-encoding gzip
content-type text/html; charset=UTF-8
date Mon, 14 Sep 2026 10:34:05 GMT
etag 0f84b2af25c08bb29ccc78a45d4553a9-ssl-df
server Netlify
strict-transport-security max-age=31536000
vary Accept-Encoding
x-nf-request-id 01M2FQPBQVMWN0PTNPD7BXASR7

Meta Tags

title="Webhooks | The Eppo Docs"
charset="UTF-8"
name="generator" content="Docusaurus v3.7.0"
data-rh="true" name="viewport" content="width=device-width,initial-scale=1"
data-rh="true" name="twitter:card" content="summary_large_image"
data-rh="true" property="og:url" content="htt????/docs.geteppo.com/reference/webhook/"
data-rh="true" property="og:locale" content="en"
data-rh="true" name="docusaurus_locale" content="en"
data-rh="true" name="docsearch:language" content="en"
data-rh="true" name="docusaurus_version" content="current"
data-rh="true" name="docusaurus_tag" content="docs-default-current"
data-rh="true" name="docsearch:version" content="current"
data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"
data-rh="true" property="og:title" content="Webhooks | The Eppo Docs"
data-rh="true" name="description" content="Webhooks let your integrations take action in response to events that occur in Eppo."
data-rh="true" property="og:description" content="Webhooks let your integrations take action in response to events that occur in Eppo."
itemprop="position" content="1"
itemprop="position" content="2"

Load Info

page size75921
load time (s)0.816376
redirect count0
speed download12252
server IP 63.176.8.218
* all occurrences of the string "http://" have been changed to "htt???/"