Automation Webhook Step

The Bullhorn Automation Webhook Step enables you to integrate external systems and workflows seamlessly into your Bullhorn Automation processes. This step allows you to send data from Bullhorn to a specified URL, making it a powerful tool for extending your automation capabilities.

How the Webhook Step Works

Bullhorn Automation can interact with third-party applications by using a Webhook as an automation step.

Webhooks are one of a few ways web applications can communicate with each other. With this step, Bullhorn Automation can send real-time data to a third-party application whenever a record passes through the automation step.

Before using this step, we recommend having a solid understanding of what you’re attempting to do with your third-party application and how Webhooks work.

Bullhorn Automation Support can speak to the functionality of the Webhook Step but they will not be able to speak to, or troubleshoot, your Webhook payload content or third-party interactions.

Getting Started

Navigate to Add New Step and select Webhook.

Configure Your Webhook Step

Name

Here you can name your Webhook Step to see a quick view from the Automation Step thumbnail.

Method

There are three options to choose from:

  • GET: This can be used to initiate and/or test a particular endpoint from the third-party application.
  • POST: This can be used to create a new resource in the destination end point, using information from the entity record entering this step in the automation.
  • PUT: This can be used to update an existing resource in the destination endpoint, using information from the record entering this step in the automation.

Bullhorn Automation does not store and/or process any response from the GET request or through any other method in the Webhook Step. This method cannot pull data from the third-party application.

URL

This setting that allows you to configure what endpoint the Webhook Step should be sent to. Bullhorn Automation Merge TagsClosed Merge tags enable the use of Bullhorn ATS or Bullhorn Automation imported data to populate content. They are utilized in emails, notifications, and text messages where applicable. can be added here to allow you to use the data of a record that gets passed through the automation step as an identifier in the URL.

Example: Candidate ATS ID.

If a Merge Token has a space in it, then the field is replaced with an underscore. e.g. %CANDIDATENAME% = John_Doe.

Header

The Include Header checkbox allows you to configure a header to be sent along with the API Request. This supports single or multiple headers under a Header Prefix | Header Content parameter to value configuration.

The Webhook step doesn’t support specific user authentication, so any endpoint that requires an Auth process will need to occur through the parameters set in the header of the Webhook step.

Data

The Data setting is formatted as a text box to allow for more flexibility with your API commands.

This text box is used to configure the payload that will be sent in the request to the endpoint provided. Bullhorn Automation will automatically place a template in this area, which you can configure as needed.

Information to consider:

  • This only supports JSON formatting.
  • The pre-loaded example template is a JSON formatted payload built on the entity type the automation is created for.
  • This area supports nesting conditions or associations.
  • The text within the quotation area (e.g. “Id” "Email" etc.) must reflect the field name located in the third party endpoint. The information after the colon is the data that will be passed to that listed field.

Test Webhook

This button allows you to test the step with the built settings, live. You have the option to pull an example record based on the entity of the automation. If you don't select a record, the application will randomly pull one from the existing data set.

When you select Test Webhook you will see the following settings:

  • Which [Entity] would you like to use to test this Webhook?: This setting will return a test record based on the entity type the automation is built for.
  • This is the request that will be sent: Here you'll see an example of how the entire HTTP request will be structured with the selected Method. If you are using a merge token, you'll see this translated from the selected test record.
  • This is the data that will be sent: Here you'll see an example of the request payload, taken from the Data setting. Any merge tokens are translated from the test record so you can preview them and validate that it is properly configured for the third party destination.
  • Send Webhook: Clicking this button will send the previewed request to the endpoint. The response will then be displayed at the top of the drawer, so you can validate that the Webhook Step is configured properly.

On Failed Request

This setting controls who the service will notify on initial failure. The user will receive an email that includes the error message received from the third-party endpoint.

You can select from the following options:

  • Do Not Send Notification
  • Notify Owner
  • Notify Specific User

FAQ

Is the Webhook Step available in all automation types?

Yes. This step is available in Candidate, Sales Contact, Submission, Placement and Job Based Automations.

Can I configure the error message I receive from Bullhorn Automation regarding a failed Webhook Step?

Bullhorn Automation does not configure the error message. This message will come directly from your third-party endpoint.

If "On Failed Request" is set to send to "Owner", who will be identified as the Owner?

Regardless of the automation type, the Owner will be determined by the Candidate or Sales Contact Owner associated with the record.

Will the "Test Webhook" action be an actual test, similar to a test email where the information is not truly logged? Or will this take action in the third-party endpoint?

This will actually trigger the Webhook to the endpoint that is defined. Because actions will take place when using the Test Webhook option, we recommend you using a test record for this.