ActionHooks is a Ruby on Rails engine designed to securely handle incoming webhooks. It standardizes the process of receiving webhooks from various third-party services (like Stripe, GitHub, etc.) by:
- Persisting Webhooks: Saving all incoming requests to the database (
webhook_requeststable) with their payload, source, and processing state before any business logic is executed. - Security & Verification: Verifying the authenticity of the webhook via signature validation logic and optionally restricting access by IP address.
- Asynchronous Processing: Automatically dispatching the saved webhook to a configured background worker (
ActiveJob) for asynchronous processing.