Pendo Webhook Handler
The PendoWebhookHandler is an HTTP handler that processes incoming requests from Pendo webhooks, which are notifications generated by user interactions with the Pendo platform. This handler primarily receives and verifies webhook events (such as poll or NPS submissions), logs them, and sends email notifications with feedback data. Key capabilities include validating incoming requests using a signature to ensure authenticity, parsing and logging the webhook content, and sending structured email notifications based on configurable settings.
Monday.com
Email notifications can be configured to send to a Monday.com board.
Key Functionalities:
- GET Request Handling: Returns an HTML page for basic information if accessed via a browser (GET request).
- POST Request Handling: Processes incoming POST requests containing JSON payloads from Pendo, primarily handling feedback events.
- Signature Validation: Uses HMAC-SHA256 to verify the signature of the payload when configured to do so, ensuring authenticity.
- Event Filtering: Only processes events of type
pollSubmitted or npsSubmitted.
- Data Logging: Stores webhook data in a configured directory as text files.
- Email Notifications: Sends an email with a formatted summary of the feedback if recipients are configured.
- Configurable Settings: Allows for enabling/disabling signature validation, setting recipients, SMTP server details, and log paths via a configuration file.
Release Notes
Version 2.0
28/02/2025
- The Azure Event Logger applied to record requests in the Azure SQL database.
- The column User changed to UserName.
- Bug-fix: the null values respected.
Version 1.0
13/11/2024
Initial release which:
- Basic Event Handling: Supports pollSubmitted and npsSubmitted event types, ignoring others.
- Signature Validation (Configurable): Validates incoming webhook signatures based on HMAC-SHA256 if enabled in the configuration.
- Logging:
- Debug Logging: Logs detailed actions and errors, depending on the debug mode.
- Event Data Logging: Saves webhook payloads to disk for record-keeping.
- Email Notifications:
- Formats and sends HTML emails summarising feedback, including poll responses.
- Retrieves recipient list, SMTP settings, and sender details from configuration.
- Error Handling: Returns appropriate HTTP status codes (400, 403, 500) based on request issues, signature errors, or internal exceptions.
- Configuration-based Security: Fetches sensitive information, like secret keys, from a secondary configuration file for improved security.