Convoy

Convoy is a fast & secure webhooks service. It receives event data from an HTTP API and sends these event data to the configured endpoints. To get started download the openapi spec into Postman or Insomnia.

Convoy includes the following features:

  • Security: Convoy signs the payload of events, so applications ensure the events have not been tampered with. You can configure your desired hash function to use as well as the name of the header E.g. X-Stripe-Signature to enable backward compatible migrations from custom-built systems to Convoy.
  • URL per Events: Convoy is able to receive one event and fan-out the event to multiple endpoints based on the configuration by the endpoint owner. On subscription, the endpoint owner configures what events should go to each endpoint. Overlaps are allowed.
  • Retries: Convoy currently supports two retry mechanisms: Constant time retries and exponential backoff. You can configure which retry mechanism works best for your application.
  • Management UI: Visibility and easy debugging are one of highly coveted features of a webhook delivery system. Convoy provides a UI to view your delivery attempt logs, filter by application, event status, date & time and perform flexible batch retries during downtimes.
  • Other features(Coming soon): Application Portal; enable you embed Convoy dashboard directly into your dashboard, Rate Limiting, Replay Attacks prevention, Multiple Ingest sources.

Software Included

Package Version License
Typesense 0.22.2 GPL-3.0
Redis 6.2.7 BSD-3-Clause
MongoDB 5.0.8 SSPL

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating a Droplet from the Convoy 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB Convoy Droplet in the SFO2 region, you can use the following curl command. You need to either save your API access token) to an environment variable or substitute it in the command below.

curl -X POST -H 'Content-Type: application/json' \
         -H 'Authorization: Bearer '$TOKEN'' -d \
        '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image": "convoy"}' \
        "https://api.digitalocean.com/v2/droplets"

Getting Started After Deploying Convoy

Connect to http://your_droplet_public_ipv4