diff --git a/CHANGELOG.md b/CHANGELOG.md
index d3d73214..138905d3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ### Added
 
  - The new API for dialogue handlers: `teloxide::handler!` ([issue 567](https://github.com/teloxide/teloxide/issues/567)).
+- Built-in webhooks support via `teloxide::dispatching::update_listeners::webhooks` module
 
 ### Changed
 
diff --git a/examples/heroku_ping_pong.rs b/examples/heroku_ping_pong.rs
index 197eb579..957133d1 100644
--- a/examples/heroku_ping_pong.rs
+++ b/examples/heroku_ping_pong.rs
@@ -18,6 +18,8 @@
 //
 // [1] https://github.com/emk/heroku-buildpack-rust
 
+// TODO: use built-in webhook support
+
 use teloxide::{
     dispatching::{
         stop_token::AsyncStopToken,
diff --git a/src/dispatching/update_listeners/webhooks.rs b/src/dispatching/update_listeners/webhooks.rs
index 7cae9f10..b20afd86 100644
--- a/src/dispatching/update_listeners/webhooks.rs
+++ b/src/dispatching/update_listeners/webhooks.rs
@@ -79,6 +79,8 @@ pub use self::axum::{axum, axum_no_setup, axum_to_router};
 #[cfg(feature = "webhooks-axum")]
 mod axum;
 
+// TODO: add different implementation (for example: warp)
+
 /// Calls `set_webhook` with arguments from `options`.
 ///
 /// Note: this takes out `certificate`.