Event Gateway Projects

A project is a home for your configuration, connections, routing logic, and event history. You can create multiple projects within an organization to separate different environments, use cases, or teams.

Create a project

Creating a project gives you a blank canvas for new connections. Each project is completely distinct from the next.

Organization administrators can create both public and private projects. Organization members can only create private projects for which they will be the only member until an organization administrator adds more members or makes the project public.

  1. Click your current organization on the left of the dashboard.
  2. Click Create Project at the bottom of the dropdown.
  3. Give your new project a name and choose the "Event Gateway" project type and click Create Project.
  4. You will be taken to your new project. To return to a previous project, click the current organization name in the top left of the dashboard and select the desired project in the dropdown.

General settings

The General tab in your project settings allows you to define project-wide configurations, such as the project name, custom domain, and notification preferences.

Custom domain

You can set a custom domain for your project, which will be used within your generated Source HTTP URLs. This is useful if you want to customize the URLs you share with your customers or embed them into your clients that generate events.

Set a custom domain

  1. Visit the General tab in your project settings.
  2. Scroll to the "Custom Domain" section of the general settings.
  3. Click Configure Domain .
  4. Input the domain you want to use. The domain name must be a subdomain of your registered domain name.
  5. Click Configure.
  6. Update your DNS configuration with the provided TXT and CNAME configuration.
  7. Click the refresh icon to check the validation status. Once "active" your custom domain is ready to use.

For the SSL certification to be provisioned your DNS config must authorize the following Certification Authorities through CAA records. For most DNS providers, they will be configured by default.

example.com. IN CAA 0 issue "digicert.com"
example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issue "pki.goog"

See this article for CAA records requirements.

Delivery with static IPs

Static IP billing and enablement are documented in Billing.

Set custom HTTP headers prefix

By default, Hookdeck adds x-hookdeck prefixed headers to HTTP requests to Destinations that can be used to identify various Hookdeck details. The x-hookdeck prefix in some of those headers can be replaced with your own prefix. The rest of the headers will be removed.

  1. Visit the General tab in your project settings.
  2. Scroll to the Delivery section of the general settings.
  3. Enable the Use custom HTTP headers prefix switch.
  4. Input the Headers Prefix you want to use.
  5. Click the Save button.

With the custom prefix applied, all the other x-hookdeck prefixed headers will be removed and the following will be present with the custom prefix:

  • ${custom_prefix}-eventid
  • ${custom_prefix}-requestid
  • ${custom_prefix}-attempt-count

Setting a custom prefix does not set a prefix for the x-hookdeck-signature header. To remove this header, change the Authentication setting within the Destination configuration.

Manage notifications

You can enable or disable email notifications for your project. By default, email notifications are enabled for all projects, and each project member receives every notification.

Additionally, you can configure webhook notifications for specific events in the dashboard or via the API. Read me about configuring notifications here: Notifications.

Transfer a project

Projects can be transferred from one organization to another. In order to transfer a project, you must be an admin of both the current and destination organizations.

A transfer will not affect the project's configuration, connections, or event history. The transfer happens immediately, but any existing private project members will lose access. You will need to re-add them to the project in the new organization if they have access to that organization.

  1. Visit the General tab in your project settings.
  2. Scroll to the "Transfer Project" section of the general settings.
  3. Click the Transfer button.
  4. Select the destination organization from the dropdown.
  5. Click Transfer project.

Delete a project

Projects can be deleted. Deleting a project is irreversible and will delete all the project's configuration, connections, and event history.

Any usage charges incurred by the project will be billed to the organization's billing account.

  1. Visit the General tab in your project settings.
  2. Scroll to the "Delete Project" section of the general settings.
  3. Click the Delete button.
  4. Type in the name of your project as confirmation
  5. Click Delete project.
  6. You will lose access to the project right away; you can select or create a new one and get back to the dashboard.

Secrets

The Secrets tab in your project settings is where you can manage your project's API key and signing secret.

API Key

Your API key serves as the Bearer token to authenticate with Hookdeck's API.

Signing secret

The signing secret is used to verify Hookdeck SHA256 HMAC signatures sent to your destination server. You can use this value to verify the authenticity of requests coming from Hookdeck. Read the verify the Hookdeck signature docs to learn how to verify Hookdeck's signature.

Rolling your credentials

To roll your secret, click the more ... button next to the secret then Roll Key.

When rolling the secret, you can select an expiration allowing for no downtime rotation. The secret will expire after the selected time. Both the old and the new secret will be valid during the transition period.

Access control

The Access Control tab in your project settings displays all the users who have access to your project's connections, event history, issues, and more. Project and organization admins can toggle the project between public and private.

Public vs Private projects

Projects can be public or private, as indicated by the lock icon next to the project name. Public projects are visible to all organization members.

Private projects are only visible to members who have been granted access. Organization admins always have access to all projects within the organization and are shown as "Inherited" members on private projects.

On private projects, organization members need to be explicitly added to the project to access it.

Project membership, private project access, and project member roles are documented in Members and Access Control.

Quotas

Event Gateway projects are allocated throughput capacity measured in events per second (EPS).

Each Event Gateway project includes 5 events per second by default for free.

When traffic exceeds your allocated throughput, events are queued and delivered on a FIFO basis. Under no circumstances will events be dropped within your retention window. The consequence of exceeding throughput is increased delivery latency.

It's strongly recommended that you configure backpressure Issue Triggers to alert you when queue delay grows beyond your threshold.

For throughput pricing, quota details, and instructions to change throughput, see Billing.

Integrations

Project integrations are additional channels where you can receive notifications from Issue Triggers. There are 2 types of integrations available, "alerting" and "metrics export".

Alerting

Alerting integrations send notifications when an issue is triggered. Each connected integration becomes available as an Issue Trigger channel. Once connected, you can apply this new notification channel to your existing Issue Triggers.

Request a new integration by sending us a message.

Slack

The Slack integration allows you to receive notifications in a Slack channel when an issue is triggered. You can configure the channel that will receive the notifications.

Discord

The Discord integration allows you to receive notifications in a Discord channel when an issue is triggered. You can configure the channel that will receive the notifications.

Microsoft Teams

The Microsoft Teams integration allows you to receive notifications in a Microsoft Teams channel when an issue is triggered. You can configure the channel that will receive the notifications.

Pagerduty

The Pagerduty integration enables by-directional syncing of Hookdeck issues and Pagerduty incidents for associated services. Incident status updates are reflected in Hookdeck by updating the associated issue status and vice versa.

Metrics Export

Metrics integrations send Hookdeck metrics data to external services. For each connected integration, metrics will automatically begin exporting to that destination. Datadog is the only supported integration at this time, but we have plans for Grafana, New Relic, and others.

Metrics integrations are only available with "Metrics" and need to be offered on your plan.

Add an integration

  1. Select the "Settings" tab in the bottom right of the main navigation sidebar.
  2. Click Integrations under the Project settings.
  3. Click Connect on the integration you wish to add.
  4. Follow the instructions displayed specific to each Integration.
  5. Click Confirm.
  6. The Integration will now appear as Connected.

Remove an integration

  1. Click Disconnect to remove the integration.