Skip to main content
Version: ZIO 2.x

Introduction to ZIO Webhooks

ZIO Webhooks is a microlibrary for reliable and persistent webhook delivery.

Below is a state diagram for each webhook handled by a server. Note that there aren't any initial or final states as the server doesn't manage the entire lifecycle of webhooks and events—only the subset needed for reliable webhook delivery.

stateDiagram-v2
Enabled --> Disabled : disabled externally
Enabled --> Enabled : event dispatch success
Disabled --> Enabled : enabled externally
Enabled --> Retrying : event dispatch failure
Retrying --> Enabled : retry queue emptied
Retrying --> Unavailable : continuous failure for duration D
Unavailable --> Enabled : enabled externally
Unavailable --> Disabled : disabled externally

Installation

Include ZIO Webhooks in your project by adding the following to your build.sbt:

libraryDependencies += "dev.zio" %% "zio-webhooks" % "0.2.1"