Workflow automation
Send Webhooks to n8n Workflows
Route provider webhooks into n8n without making a temporary n8n Test URL your public integration boundary. FastHook receives and verifies the original request, then delivers accepted events to a published n8n Webhook node through a first-class N8N destination.
Each delivery keeps request, event, response, latency, retry, and replay evidence. When a workflow breaks, inspect the exact n8n response, fix the workflow, and replay only the affected events.
Paste an n8n Production Webhook URL and connect it to any FastHook source.
Provider to FastHook to n8n
- Create a FastHook source and use its stable Source URL in the provider.
- Add a Webhook node to n8n and finish the workflow with the Test URL.
- Save, publish, and activate the n8n workflow.
- Create an n8n destination in FastHook with the Production Webhook URL.
- Connect the source to n8n, add filters or transformations, and send a test event.
- Inspect the FastHook attempt and the matching n8n execution.
Why not point the provider directly at n8n?
| Capability | Direct to n8n | FastHook before n8n |
|---|---|---|
| Stable provider URL | Changes when test and production URLs are swapped. | The provider keeps one FastHook Source URL. |
| Failure evidence | Starts at the n8n execution. | Keeps inbound request, routed event, and every delivery attempt. |
| Recovery | Depends on the provider or a custom workflow. | Retry or replay selected failed events after the workflow is fixed. |
| Fan-out | Requires workflow branches. | Route the same verified event to n8n, Slack, storage, or an API. |
| Traffic control | Handled inside the workflow or n8n deployment. | Apply destination rate limits before workflow execution. |
Create the n8n destination
Copy the Production Webhook URL from the published n8n Webhook node. The Test URL only listens temporarily and is not suitable for durable delivery.
curl -X POST "https://api.fasthook.io/v1/destinations" \
-H "Authorization: Bearer fhp_xxx" \
-H "x-team-id: tm_xxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Orders to n8n",
"type": "N8N",
"config": {
"url": "https://n8n.example.com/webhook/orders",
"http_method": "POST",
"auth_type": "CUSTOM_HEADER",
"auth": {
"header_name": "x-fasthook-route-secret",
"value": "receiver-secret"
},
"rate_limit": 10,
"rate_limit_period": "second"
}
}'Filter before workflow execution
n8n executions consume workers and may call paid APIs. Put provider verification, event-type filters, environment routing, and throughput limits before the workflow so irrelevant traffic never starts it.
- Route invoice.paid events to finance automation and payment_failed events to recovery automation.
- Keep staging and production n8n destinations separate.
- Transform large provider payloads into the smaller object the workflow expects.
- Rate-limit replay when the workflow calls a constrained database or third-party API.
- Fan out important events to n8n and an archive destination for independent evidence.
Debug and recover n8n deliveries
- 404: confirm the destination uses the Production URL and the workflow is active.
- 401 or 403: match the FastHook destination auth with the n8n Webhook node authentication.
- 429: reduce the destination delivery rate or increase n8n worker capacity.
- 5xx or timeout: inspect the n8n execution and downstream node failure before retrying.
- After the fix, replay only the failed event set and verify fresh destination attempts.
Common n8n webhook workflows
| Incoming event | n8n workflow | FastHook control |
|---|---|---|
| Stripe invoice.paid | Update CRM and notify finance. | Verify Stripe, deduplicate, and replay failures. |
| GitHub pull_request | Create review or release tasks. | Filter actions before starting n8n. |
| Form submission | Enrich and route a lead. | Protect the endpoint and rate-limit bursts. |
| Internal service alert | Open an incident workflow. | Fan out to n8n, Slack, and an archive. |
| Order created | Sync inventory and fulfillment. | Keep attempt evidence across downstream outages. |