HookDeploy’s Make.com integration lets you trigger scenarios the instant a webhook is captured — or when a delivery succeeds or fails. The integration uses Make’s Dedicated URL pattern for instant delivery, not polling.
Prerequisites
- A HookDeploy account (sign up free)
- A Make.com account (Free plan or above)
Connecting your account
- In your HookDeploy dashboard, go to Integrations and click the Make.com invite link. This adds the HookDeploy app to your Make account.
- In Make.com, create a new scenario and add a HookDeploy module.
- Click Add next to the Connection field.
- Enter your HookDeploy API key (
hd_live_xxxx). Find this in your dashboard under Settings → API Keys. - Click Save. Make validates the key immediately against your org.
Your connection label will show your organization name and current plan.
Triggers
Triggers fire automatically when the corresponding event occurs in HookDeploy. All three triggers deliver the same webhook envelope.
New Webhook Received
Fires within 1–2 seconds when a webhook is captured on your endpoint.
Configuration
| Field | Description |
|---|---|
| Connection | Your HookDeploy API key connection |
| Endpoint | The endpoint to watch (dropdown populated from your org) |
Output — see Payload envelope.
Forwarding Succeeded
Fires when HookDeploy successfully delivers a webhook to a forward destination (HTTP 2xx response received).
Configuration
| Field | Description |
|---|---|
| Connection | Your HookDeploy API key connection |
| Endpoint | The endpoint to watch |
Output
| Field | Type | Description |
|---|---|---|
hookdeploy.request_id | string | UUID of the original captured request |
hookdeploy.endpoint_id | string | UUID of the endpoint |
hookdeploy.endpoint_slug | string | 16-character slug (e.g. k3p9xabc7m2q8r4t) |
hookdeploy.captured_at | datetime | When the webhook was originally captured |
destination.id | string | UUID of the forward destination |
destination.name | string | Name of the forward destination |
destination.url | string | Destination URL (or private tunnel) |
result.status_code | integer | HTTP response code from your server |
result.response_time_ms | integer | Round-trip delivery time in milliseconds |
result.success | boolean | Whether the forward attempt succeeded |
Forwarding Failed
Fires when a delivery attempt returns a non-2xx status or times out.
Configuration — same as Forwarding Succeeded.
Output — same fields as Forwarding Succeeded, plus:
| Field | Type | Description |
|---|---|---|
result.error_message | string | Error message (e.g. timeout, connection refused) |
Actions
Create Endpoint
Creates a new webhook endpoint in your org.
Input
| Field | Required | Description |
|---|---|---|
| Connection | Yes | Your HookDeploy API key connection |
| Name | Yes | Display name for the endpoint |
| Description | No | Optional description |
Output — Returns the created endpoint object including id, slug, url, and created_at.
Pause Endpoint
Pauses webhook capture on an endpoint. Incoming webhooks receive 423 Locked and are not captured or forwarded.
Input
| Field | Required | Description |
|---|---|---|
| Connection | Yes | |
| Endpoint | Yes | Dropdown of your org’s endpoints |
Resume Endpoint
Resumes a paused endpoint.
Input — same as Pause Endpoint.
Replay Request
Re-delivers a previously captured webhook to a target URL.
Input
| Field | Required | Description |
|---|---|---|
| Connection | Yes | |
| Endpoint | Yes | The endpoint the original request belongs to |
| Request ID | Yes | UUID of the request to replay |
| Target URL | Yes | URL to deliver the replayed webhook to |
Output
| Field | Type | Description |
|---|---|---|
status_code | integer | HTTP response code from the target |
response_time_ms | integer | Round-trip delivery time |
success | boolean | true if status code is 2xx |
Invite Member
Invites a new member to your organization. Sends the invitation email automatically.
Requires an API key created by an Admin or Super Admin.
Input
| Field | Required | Description |
|---|---|---|
| Connection | Yes | Admin or Super Admin API key |
| Yes | Email address to invite | |
| Role | Yes | developer, viewer, finance, admin, or super_admin |
Deactivate Member
Immediately revokes a member’s access. Data and history are preserved; the member can be reactivated without a new invitation.
Requires an Admin or Super Admin API key.
Input
| Field | Required | Description |
|---|---|---|
| Connection | Yes | Admin or Super Admin API key |
| Yes | Email of the member to deactivate |
Reactivate Member
Restores access for a previously deactivated member. Access is restored immediately with the member’s original role.
Input — same as Deactivate Member.
Searches
Get Request
Retrieves a single captured webhook request with its full decrypted payload.
Input
| Field | Required | Description |
|---|---|---|
| Connection | Yes | |
| Endpoint | Yes | The endpoint the request belongs to |
| Request ID | Yes | UUID of the request |
Output — Returns the full request object including method, headers, body, query, source_ip, body_size_bytes, and created_at.
List Requests
Returns recent captured requests for an endpoint.
Input
| Field | Required | Description |
|---|---|---|
| Connection | Yes | |
| Endpoint | Yes | |
| Limit | No | Number of results (default 25, max 100) |
Output — Array of request objects (same fields as Get Request, body omitted for performance).
List Endpoints
Returns all endpoints in your org. Primarily used to power dynamic dropdowns in other modules, but available as a search module for lookup scenarios.
Input
| Field | Required | Description |
|---|---|---|
| Connection | Yes |
Output — Array of endpoint objects including id, name, slug, url, paused, and created_at.
Payload envelope
All three trigger modules deliver the same structured output:
{
"hookdeploy": {
"request_id": "uuid",
"endpoint_id": "uuid",
"endpoint_slug": "k3p9xabc7m2q8r4t",
"captured_at": "2026-07-04T19:44:58Z",
"method": "POST",
"source_ip": "1.2.3.4",
"body_size_bytes": 563
},
"headers": {
"content-type": "application/json",
"x-stripe-signature": "t=...,v1=..."
},
"body": {
"id": "evt_xxx",
"type": "payment_intent.succeeded",
"data": { "object": { "amount": 4200 } }
},
"query": {}
}
All fields in headers, body, and query are available for mapping in any Make.com module. HookDeploy decrypts the payload server-side before delivery — Make.com always receives plaintext.
Common scenarios
Stripe payment → Google Sheets row
- Trigger: New Webhook Received on your Stripe endpoint
- Filter:
body.typeequalspayment_intent.succeeded - Action: Google Sheets — Add a Row
- Map
body.data.object.amount→ Amount column - Map
body.data.object.currency→ Currency column - Map
hookdeploy.captured_at→ Timestamp column
- Map
Delivery failure → Slack alert + auto-retry
- Trigger: Forwarding Failed on your endpoint
- Action: Slack — Create a Message with
destination.nameandresult.error_message - Module: Sleep (5 minutes)
- Action: HookDeploy — Replay Request using
hookdeploy.request_id
GitHub push → Jira ticket
- Trigger: New Webhook Received on your GitHub endpoint
- Filter:
headers.x-github-eventequalspush - Action: Jira — Create an Issue
- Summary: map from
body.head_commit.message - Description: map from
body.repository.full_name
- Summary: map from
Troubleshooting
Trigger not firing
Confirm the endpoint is not paused in your HookDeploy dashboard. Paused endpoints return 423 Locked; they do not capture, forward, or trigger subscriptions.
Empty body, headers, or query fields
This can occur if the scenario was tested using Make’s “Run once” button before a real webhook arrived. Send a real webhook to your endpoint to populate sample data, then re-run the scenario.
403 forbidden on member actions
Member management endpoints require an API key created by an Admin or Super Admin. Developer, viewer, and finance keys return 403 on these routes. Create a new API key with the correct permissions.
Subscription auto-disabled HookDeploy automatically disables a Make.com subscription after 10 consecutive delivery failures. If your scenario errors repeatedly, the connection to your Make webhook URL may be broken. Re-enable it by editing the trigger module and re-saving the connection.
Plan limits
All plans including Free include Make.com integration. Payload size and retention limits apply per plan:
| Free | Starter | Team | Enterprise | |
|---|---|---|---|---|
| Max payload | 256 KB | 1 MB | 25 MB | 100 MB |
| Retention | 7 days | 30 days | 90 days | 365 days |
| Requests/month | 5,000 | 15,000 | 100,000 | 1,000,000 |