Route webhook requests through chat.webhooks[name]() instead of calling adapter.handleWebhook() directly, getting proper auto-initialization and signature verification. Extract Node↔Web Request/Response conversion into reusable helpers, parse URL pathname properly for query string safety, and support all HTTP methods (not just POST). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>