What is Griddler?
Griddler is an open-source Ruby gem, originally developed by thoughtbot, that provides a Rails engine for receiving parsed inbound emails forwarded from third-party services like SendGrid, Mailgun, and Mandrill. Rather than being an email service itself, Griddler acts as a normalization layer that translates different inbound webhook payload formats into a consistent Ruby object for use in Rails applications.
Griddler is offered by thoughtbot (open source) and is a popular choice for teams that need to process inbound email at scale. It integrates into existing workflows through routing rules, filters, and forwarding options that make it flexible for many use cases.
However, as teams grow and requirements evolve, many developers find that Griddler introduces complexity, cost, or integration overhead that does not match what they actually need. JsonHook was designed to address these gaps by delivering every inbound email as a clean, structured JSON webhook with zero configuration required.
Pricing: Free (open source), but requires a paid inbound email service (SendGrid, Mailgun, etc.) behind it
- Standalone service: JsonHook handles inbound email receipt, parsing, and webhook delivery — no additional email service required
- Language-agnostic: Works with any HTTP server in any language or framework
- Consistent JSON schema: No adapter layer needed — the same payload structure regardless of how the email was sent
- Automatic retries and delivery logs as a managed service feature
- HMAC-SHA256 signatures on every delivery with code examples for Ruby and other languages
Limitations of Griddler
Before committing to Griddler for your inbound email pipeline, it is important to understand where it falls short. Development teams frequently encounter the following pain points:
- Not a standalone service: Griddler requires a separate inbound email service to forward webhooks — you still pay for and maintain SendGrid Inbound Parse or Mailgun Routes alongside the gem
- Rails-only: Griddler is a Rails engine and only works within Ruby on Rails applications — it is not usable from Node.js, Python, Go, or any other runtime
- Maintenance burden: As an open-source library, you are responsible for keeping it updated as the upstream services change their webhook payload formats
- Limited adapter coverage: Not all inbound email services have up-to-date Griddler adapters; some adapters are community-maintained and may lag behind API changes
- No retry logic, no delivery logs: Because Griddler is a library rather than a service, there is no infrastructure for tracking delivery attempts or retrying failed processing
These limitations become particularly painful at scale or when building applications that require low-latency, reliable delivery of email data as structured JSON. JsonHook solves each of these issues out of the box.
Griddler vs JsonHook
The following table provides a direct, feature-by-feature comparison between Griddler and JsonHook. Both tools handle inbound email processing, but they differ significantly in approach, pricing, and developer experience.
| Feature | Griddler | JsonHook |
|---|---|---|
| Standalone service | ✗ Requires upstream service | ✓ Complete service |
| Language support | Ruby on Rails only | Any HTTP server |
| HMAC-SHA256 signatures | Via upstream service | ✓ Built in |
| Automatic retries | ✗ Library only | ✓ Managed service |
| Delivery logs | ✗ Not provided | ✓ Full logs |
| Structured JSON output | Ruby object (not JSON per se) | ✓ Clean JSON |
| Maintenance required | Yes, gem updates + adapter | Managed for you |
| Free tier | Free (but upstream costs money) | 100 emails/mo truly free |
| Setup time | Gem + upstream config (1-2 hrs) | 5 minutes |
| Custom addresses via API | ✗ Not applicable | ✓ Yes |
JsonHook is purpose-built for developers who want inbound email delivered as a JSON webhook endpoint call — nothing more, nothing less. There is no dashboard complexity to navigate for basic delivery, no per-message parsing fees, and no lock-in to a specific email provider SDK.
How to Migrate from Griddler to JsonHook
Migrating from Griddler to JsonHook is straightforward. Most teams complete the switch in under 30 minutes. Follow the steps below to move your inbound email pipeline without downtime:
- Register for JsonHook and create an inbound address — this replaces both Griddler and the upstream service (SendGrid/Mailgun) you are currently using
- Create a standard webhook endpoint in your Rails application (or any framework) using a plain controller action that reads
request.bodyas JSON - Remove the Griddler gem and adapter gems from your Gemfile; replace the Griddler controller action with your new JSON webhook handler
- Point your domain's MX records or email forwarding to JsonHook, verify delivery in the log, and remove the old inbound email service configuration
Because JsonHook delivers a consistent JSON payload for every inbound email — including parsed headers, text body, HTML body, and attachment metadata — you typically need fewer lines of application code after the migration than before.
Pricing Comparison
Griddler pricing: Free (open source), but requires a paid inbound email service (SendGrid, Mailgun, etc.) behind it. Costs can escalate quickly as email volume grows, and many plans gate key features like webhook retries or attachment handling behind higher tiers.
JsonHook offers transparent, volume-based pricing with a generous free tier that is suitable for side projects, staging environments, and low-volume production use:
| Plan | Price | Emails / Month | Features |
|---|---|---|---|
| Free | $0 | 100 | All core features, 1 address, HMAC signatures |
| Starter | $12/mo | 5,000 | 5 addresses, retries, attachment parsing |
| Pro | $39/mo | 50,000 | Unlimited addresses, priority delivery, logs |
Compared to Griddler, JsonHook's Starter plan ($12/mo) covers the majority of small-to-medium use cases at a fraction of the cost, with no per-email parsing fees and no credit card required for the free tier.