← All N8N workflows
AI & researchAggregateBamboo HrChain LLMDebug HelperFilter

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.

Workflow preview
TriggerWhen clicking ‘Testworkflow’Manual TriggerTransformMergeMergeWeb / APICreate BinHTTP RequestIntegrationGET BinPost BinTransformFormat url for webhookEdit FieldsIntegrationGET most recent requestPost BinIntegrationMOCK requestPost BinWeb / APICreate Bin1HTTP RequestIntegrationGET Bin1Post BinTransformFormat url for webhook1Edit FieldsTransformSET BambooHR subdomainEdit FieldsTransformSplit out fieldsSplit OutTransformCombine fields tomonitorAggregateTransformFormat payload forBambooHR webhookEdit FieldsWeb / APICreate webhook inBambooHRHTTP RequestIntegrationCreate dummy data foremployeesDebug HelperRoutingKeep only new employeefieldsFilterWeb / APIGET all possible fieldsto monitor in BambooHRHTTP RequestRoutingRegister and testwebhookNo OpWeb / APICheck BambooHR forcalls to webhookHTTP RequestIntegrationCreate employee recordswith dummy dataBamboo HrTransformSplit out employeesSplit OutTransformFormat displayNameEdit FieldsAI & modelsOpenAI Chat ModelOpenAI Chat ModelTransformAuto-fixing OutputParserOutput Parser AutofixingAI & modelsOpenAI Chat Model1OpenAI Chat ModelTransformStructured OutputParserOutput Parser StructuredAI & modelsBasic LLM ChainChain LLMTransformCombine employees intolistAggregateTransformPluralize keyRename KeysMessagingWelcome employees onSlackSlackWeb / APIDELETE BambooHR webhookHTTP RequestIntegrationGET most recentrequest1Post BinWaitWait 60 + 1 seconds forwebhook to fireWait

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.

Workflow node names, types, and operations
NodeCategoryTypeOperation
When clicking ‘Test workflow’TriggerManual TriggerSee node parameters
MergeTransformMergeSee node parameters
Create BinWeb / APIHTTP RequestPOST
GET BinIntegrationPost Binget
Format url for webhookTransformEdit FieldsSee node parameters
GET most recent requestIntegrationPost Binrequest / removeFirst
MOCK requestIntegrationPost Binrequest / send
Create Bin1Web / APIHTTP RequestPOST
GET Bin1IntegrationPost Binget
Format url for webhook1TransformEdit FieldsSee node parameters
SET BambooHR subdomainTransformEdit FieldsSee node parameters
Split out fieldsTransformSplit OutSee node parameters
Combine fields to monitorTransformAggregateSee node parameters
Format payload for BambooHR webhookTransformEdit FieldsSee node parameters
Create webhook in BambooHRWeb / APIHTTP RequestPOST
Create dummy data for employeesIntegrationDebug HelperSee node parameters
Keep only new employee fieldsRoutingFilterSee node parameters
GET all possible fields to monitor in BambooHRWeb / APIHTTP RequestSee node parameters
Register and test webhookRoutingNo OpSee node parameters
Check BambooHR for calls to webhookWeb / APIHTTP RequestSee node parameters
Create employee records with dummy dataIntegrationBamboo HrSee node parameters
Split out employeesTransformSplit OutSee node parameters
Format displayNameTransformEdit FieldsSee node parameters
OpenAI Chat ModelAI & modelsOpenAI Chat ModelSee node parameters
Auto-fixing Output ParserTransformOutput Parser AutofixingSee node parameters
OpenAI Chat Model1AI & modelsOpenAI Chat ModelSee node parameters
Structured Output ParserTransformOutput Parser StructuredSee node parameters
Basic LLM ChainAI & modelsChain LLMSee node parameters
Combine employees into listTransformAggregateSee node parameters
Pluralize keyTransformRename KeysSee node parameters
Welcome employees on SlackMessagingSlackSee node parameters
DELETE BambooHR webhookWeb / APIHTTP RequestDELETE
GET most recent request1IntegrationPost Binrequest / removeFirst
Wait 60 + 1 seconds for webhook to fireWaitWaitSee node parameters

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. 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

  • bambooHrApi
  • httpBasicAuth
  • openAiApi
  • slackApi

Workflow notes

Requirements:

Requirements:

  1. BambooHR instance (free trial link)
  2. BambooHR API key* (documentation)
  3. 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

  1. Fraud & Compliance Monitoring (Triggered by Pay Rate, Pay Type, Compensation Change Reason, Bonus Amount, Commission Amount)
  2. Offboarding & Security Access Revocation (Triggered by Employment Status, Job Title, Department, Location)
  3. 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:

  1. Checking BambooHR for a record of calls made by it to the webhook URL we registered (provided by PostBin).
  2. Retrieving the most recent call made by BambooHR to the webhook URL from PostBin.
About the maker
Sticky Note22

What's happening here?

What's happening here?

In this section, we do the following:

  1. Extract employee information from webhook call (from PostBin)
  2. Create a displayName from each employee's first and last name
  3. Combine the names into a list and format the key
  4. Ask OpenAI to compose a welcome message with the employee names
  5. 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

More in AI & research