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 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

If you need inbound events to arrive from a predictable set of IP addresses, contact us to request the static IP add-on for your project.

To check whether the static IP add-on is enabled, see the Delivery section under your general project settings. If enabled, Hookdeck requests will arrive from one of the following IP addresses:

34.138.140.223, 34.138.161.100, 35.231.250.193, 35.196.71.29, 34.138.56.192

To request the static IP add-on for your project, please contact us.

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. Add or remove members to manage their access. 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.

Manage project members

Managing project members lets you grant access to organization members to the private project with a specific role.

Add a member

  1. Visit the Access Control tab in your project settings.
  2. Make sure the project is set to "private"
  3. Click the Add members button.
  4. Select the organization member to add from the dropdown.
  5. Click Add to project.
  6. The new members will now appear in the Members with Project Access list.

Remove a member

Remove a member by clicking the Delete button next to their name.

Change a member's role

Change a member's role by clicking the role dropdown next to their name and selecting a new role.

Leaving a project

You can leave a project by clicking the ... and Leave Project button next to your name. You will lose access to the project right away; you can select or create a new one and get back to the dashboard.

Roles

There are 3 roles available for private project members:

  • Project Admin: Can manage project settings, add and remove members, purchase throughput, and view all project data.
  • Project Member: Can view all project data and manage connections but cannot manage members or purchase throughput.
  • Project Viewer: Can view all project data and manage connections but update or delete any data.

Quotas

The Quotas tab in your project settings reports your current plan's ceilings, including its maximum throughput rates, total request limit, maximum payload size, delivery timeout, and more. Some of these values can be increased by upgrading your throughout plan or your organization plan or by contacting us directly.

Throughput

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

Projects are allocated a certain capacity for processing and delivering events. This capacity is measured in terms of maximum events per second (EPS), which is the maximum rate at which events can be processed and delivered.

Events beyond your allocated throughput will be queued and delivered on a FIFO basis. Under no circumstances will events be dropped within your retention window.. The consequence of exceeding your throughput will be increased latency on your event delivery.

It's strongly recommended that you configure backpressure Issue Triggers to alert you when your queue grows beyond a certain threshold. By default, all projects have an issue trigger that will alert you when the queue has a delay of more than 10 minutes.

Changing your throughput

You must be on a paid plan to increase your project throughput.

You can change your throughput by selecting a new "size" for your project. Each size comes with an event-per-second (EPS) capacity and a fee. You can change the size of your project at any time.

Upon changing size, you'll be charged a prorated amount for the remaining days of your billing cycle. If you downgrade to a cheaper size before the end of your billing cycle, you'll receive a credit for the remaining days of your billing cycle.

Throughput changes take effect immediately.

  1. Visit the Quotas tab in your project settings.
  2. Click Change throughput.
  3. Select a new size in the table.
  4. Click Update throughput.

Integrations

Project integrations are additional channels where you can receive notifications from Issue Triggers.

Supported integrations

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 a Issue Trigger channel. Once connected, you can apply this new channel to your existing Issue Triggers.

Request a new integration by sending us a message.

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.