Announcing Event Triggers on Hasura GraphQL Engine

05 September, 2018 | 2 min read

After much work and sweat over the last few months, I’m extremely happy to announce the public preview of a feature that allows you to trigger webhooks on database events!

Check it out at https://hasura.io/event-triggers/ and try it out on Heroku or with Docker.

This feature is a part of the open-source Hasura GraphQL engine :)

Event-triggers on Postgres with Hasura

With Hasura, creating an event-trigger to listen to a database change on Postgres takes all of 60 seconds:

Create an event trigger for a webhook on a table

Coupled with serverless deployments, this allows our developers to build some really cool things very easily:

  1. Push notifications that get triggered when a new review is added
  2. Purge your CDN or cache to re-render your static content
  3. Update a search index when a product is inserted, updated or deleted
  4. Trigger business logic that can run asynchronously

Check out more use-cases, demos and tutorials on the website: https://hasura.io/event-triggers/

How it works

Triggering webhooks on events are a deceptively simple feature. However, creating events and triggering actions is something fraught with edge-cases that we’ve spent a lot of time working through. Here are some of the things you _don’t_ have to worry with Hasura event-triggers!

  1. Atomic generation of events: If something happened in the database, then the event is captured ?%. Any source of database changes is fair game. A GraphQL mutation, a legacy REST API, a cron-job, direct SQL changes. In fact, events are even captured if Hasura is not running, going through a restart or deployment rollout.
  2. Reliable delivery of events: You can configure retry logic and a retry interval.
  3. Horizontally scalable: You want to deliver more events faster? Just scale Hasura horizontally and stay calm.
  4. Debugging and Observability: Building async logic, especially with serverless functions, is so much fun when you’re trying things out and simultaneously so much nightmare in production. A large part of this is because debugging and tracing events in the new sphagetti backend requires extra instrumentation. With Hasura, events & invocations are already instrumented and the highly structured and informative logs make it easy for you to trace everything from errors to latency issues with your favourite tools :)

Realtime GraphQL ❤️ Serverless triggered by database events

I’m personally the most excited about the killer combination of realtime GraphQL (live-queries) and async business logic.

I’ve put together a video describing what an app using serverless for complex business logic in a real world situation would look like and it’s super fun to look at!

Try it out!

This is a public preview release and we’re eagerly waiting to hear what you think. Take it for a spin at https://hasura.io/event-triggers/ and try it out on Heroku or with Docker.


Close

Get Started with GraphQL Now

Hasura Cloud gives you a fully managed, production ready GraphQL API as a service to help you build modern apps faster.

Tanmai Gopal

Tanmai Gopal

Tanmai is the co-founder of hasura.io. He is passionate about making it easier to build things.

Read More

Ready to get started?
Start for free on Hasura Cloud or you could contact our sales team for a detailed walk-through on how Hasura may benefit your business.
Get monthly product updates
Sign up for full access to our community highlights, new features, and occasional baby animal gifs! Oh, and we have a strict no-spam rule. ✌️