Gridhook is a Rails engine providing an endpoint for handling incoming SendGrid webhook events.
This engine supports both batched and non-batched events from SendGrid.
Looking to handle incoming email from the SendGrid Parse API? Gridhook will eventually support that, until then, you should check out Griddler. It's awesome.
Add Gridhook to your application's Gemfile and run
You must also tell Gridhook how to process your event. Simply add an
Gridhook.configure do |config| # The path we want to receive events config.event_receive_path = '/sendgrid/event' config.event_processor = proc do |event| # event is a Gridhook::Event object EmailEvent.create! event.attributes end end
config.event_processor just needs to be any object that responds to
call(). So, if you'd prefer to use a separate class, that's fine:
class EventProcessor def call(event) # do some stuff with my event! end end # config/initializers/gridhook.rb Gridhook.configure do |config| config.event_processor = EventProcessor.new end
v0.2.1 Use built-in rails JSON parser.
v0.2.0 Supports version 3 of the Sendgrid webhook released on September 6th, 2013, which provides the proper headers and JSON post body without hacks or middleware. If upgrading to this version, please make sure to update the Webhooks settings in your SendGrid App to use V3 of their API.
- More tests
- Integrate parse webhook