A Rails engine that provides an endpoint for SendGrid webhooks
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
app/controllers/gridhook Rails parses JSON automatically when proper headers are present Sep 21, 2013
lib All test cases pass Feb 26, 2018
.travis.yml just a change to file, to see how travis works Sep 19, 2017
Gemfile initial commit for Gridhook Feb 28, 2013
LICENSE.txt initial commit for Gridhook Feb 28, 2013
Rakefile initial commit for Gridhook Feb 28, 2013
gridhook.gemspec drop sqlite3 gem, seems like it's not used Feb 26, 2018


Build Status


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.

Build Status


Add Gridhook to your application's Gemfile and run bundle install:

gem 'gridhook'

You must also tell Gridhook how to process your event. Simply add an initializer in config/initializers/gridhook.rb:

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

The 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!

# config/initializers/gridhook.rb
Gridhook.configure do |config|
  config.event_processor = EventProcessor.new


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 Information