Test Webhooks in n8n Without Changing WEBHOOK_URL (PostBin & BambooHR Example)
Configured with Aggregate, Bamboo Hr, Chain LLM, Debug Helper, and additional nodes. Review the connections and setup before adapting this template.
Node categories in this workflow
- Trigger
- Transform
- Web / API
- Integration
- Routing
- AI & models
- Messaging
- Wait
Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.
Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.
How it works
The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.
| Node | Category | Type | Operation |
|---|---|---|---|
| When clicking ‘Test workflow’ | Trigger | Manual Trigger | See node parameters |
| Merge | Transform | Merge | See node parameters |
| Create Bin | Web / API | HTTP Request | POST |
| GET Bin | Integration | Post Bin | get |
| Format url for webhook | Transform | Edit Fields | See node parameters |
| GET most recent request | Integration | Post Bin | request / removeFirst |
| MOCK request | Integration | Post Bin | request / send |
| Create Bin1 | Web / API | HTTP Request | POST |
| GET Bin1 | Integration | Post Bin | get |
| Format url for webhook1 | Transform | Edit Fields | See node parameters |
| SET BambooHR subdomain | Transform | Edit Fields | See node parameters |
| Split out fields | Transform | Split Out | See node parameters |
| Combine fields to monitor | Transform | Aggregate | See node parameters |
| Format payload for BambooHR webhook | Transform | Edit Fields | See node parameters |
| Create webhook in BambooHR | Web / API | HTTP Request | POST |
| Create dummy data for employees | Integration | Debug Helper | See node parameters |
| Keep only new employee fields | Routing | Filter | See node parameters |
| GET all possible fields to monitor in BambooHR | Web / API | HTTP Request | See node parameters |
| Register and test webhook | Routing | No Op | See node parameters |
| Check BambooHR for calls to webhook | Web / API | HTTP Request | See node parameters |
| Create employee records with dummy data | Integration | Bamboo Hr | See node parameters |
| Split out employees | Transform | Split Out | See node parameters |
| Format displayName | Transform | Edit Fields | See node parameters |
| OpenAI Chat Model | AI & models | OpenAI Chat Model | See node parameters |
| Auto-fixing Output Parser | Transform | Output Parser Autofixing | See node parameters |
| OpenAI Chat Model1 | AI & models | OpenAI Chat Model | See node parameters |
| Structured Output Parser | Transform | Output Parser Structured | See node parameters |
| Basic LLM Chain | AI & models | Chain LLM | See node parameters |
| Combine employees into list | Transform | Aggregate | See node parameters |
| Pluralize key | Transform | Rename Keys | See node parameters |
| Welcome employees on Slack | Messaging | Slack | See node parameters |
| DELETE BambooHR webhook | Web / API | HTTP Request | DELETE |
| GET most recent request1 | Integration | Post Bin | request / removeFirst |
| Wait 60 + 1 seconds for webhook to fire | Wait | Wait | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.
Requirements
An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.
Credential types declared in the source
bambooHrApihttpBasicAuthopenAiApislackApi
Workflow notes
Requirements:
Requirements:
- BambooHR instance (free trial link)
- BambooHR API key* (documentation)
- Slack connection (n8n documentation)
- Note about API key: Set up in n8n as Generic Credential (Basic Auth) with the API key as the username and any string for the password.
Other use cases for BambooHR webhook
Other use cases for BambooHR webhook
- Fraud & Compliance Monitoring (Triggered by Pay Rate, Pay Type, Compensation Change Reason, Bonus Amount, Commission Amount)
- Offboarding & Security Access Revocation (Triggered by Employment Status, Job Title, Department, Location)
- Manager Change Alert for Team & Workflow Updates (Triggered by Reporting To, Job Title, Department)
STEP #1: Create a new Bin in PostBin
STEP #1: Create a new Bin in PostBin
No authentication needed. Use API to create Bin and retrieve BinId to craft URL for subsequent usage.
How to Test a Short-Lived Webhook in n8n **WITHOUT** Changing WEBHOOK_URL
How to Test a Short-Lived Webhook in n8n WITHOUT Changing WEBHOOK_URL
Typically in n8n, in order to test a webhook, you first need to go through the process of changing the WEBHOOK_URL environment variable to an address that is accessible to the service you want to test. Time permitting, that can be done with ngrok (example) or by self-hosting with one of n8n's recommended deployment options.
But if you're new to n8n and in a rush to test a webhook's functionality, you can use PostBin as demonstrated in this workflow to test a proof of concept fast and avoid any unnecessary time on n8n setup and configuration.
Sticky Note10
This may respond with a 404 If no requests have been sent to the Bin, an error is raised.
Sticky Note11
Uses API call to bypass broken PostBin create bin endpoint in n8n.
Sticky Note12
Retrieve the binId (can also be found in response of Create Bin node). Craft a url that uses https://www.postb.in/:binId structure
Sticky Note7
Per PostBin API Documentation: You can hit the https://www.postb.in/:binId endpoint to collect any kind of request data whether it is a GET, POST, PUT, PATCH, DELETE or whatever. This particular endpoint is not RESTful and is not part of this API. It isn't RESTful by definition. ie. it is meant to collect whatever you send to it.
Note about this section
Note about this section
Depending on your familiarity with BambooHR and your intention with the webhook, you could hard code the fields to monitor with your webhook or use AI to filter based on topic. I chose a middle ground for this example.
STEP #2
STEP #2
Use the PostBin URL in place of your normal webhook
Sticky Note20
BambooHR's /webhook API endpoint expects arguments passed in the body of the request. You can see what arguments are required in their documentation and examples. In the arguments we pass through, we have set our webhook to fire at the same frequency as BambooHR's rate limit: 1 time every 60 seconds.
What is this?
What is this?
In the above two nodes, we performing two actions:
- Checking BambooHR for a record of calls made by it to the webhook URL we registered (provided by PostBin).
- Retrieving the most recent call made by BambooHR to the webhook URL from PostBin.
About the maker
About the maker
Sticky Note22
What's happening here?
What's happening here?
In this section, we do the following:
- Extract employee information from webhook call (from PostBin)
- Create a displayName from each employee's first and last name
- Combine the names into a list and format the key
- Ask OpenAI to compose a welcome message with the employee names
- Post that welcome message to Slack
Test Webhooks in n8n Without Changing WEBHOOK_URL (PostBin & BambooHR Example)
Test Webhooks in n8n Without Changing WEBHOOK_URL (PostBin & BambooHR Example)
Purpose and structure
This folder contains the Test Webhooks in n8n Without Changing WEBHOOK_URL (PostBin & BambooHR Example) workflow. Its executable nodes use aggregate, bambooHr, chainLlm, debugHelper, filter, httpRequest, lmChatOpenAi, manualTrigger, merge, noOp, outputParserAutofixing, outputParserStructured, postBin, renameKeys, set, slack, splitOut, wait. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.
Setup
Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.
Entry points
When clicking ‘Test workflow’
Verification
Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.
Attribution
https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Wait/1977_Wait_Splitout_Automation_Webhook.json MIT; preserve source notices.
Canvas section labels
These name areas of the original canvas; they do not include explanatory instructions.
- Create a new Bin in PostBin (STEP #1 above)
- Register webhook (STEP #2 above)
- STEP #3: Confirm webhook functionality
- Example: Register and test a webhook in BambooHR
- GET fields from BambooHR to monitor for changes [[src]](https://documentation.bamboohr.com/reference/get-monitor-fields)
- Test webhook
- (For example purposes) Send message to Slack channel welcoming new employees
- FOR TESTING: DELETE WEBHOOK