How to: Configure the Candidate Hired webhook for the Workday integration

Note: Before enabling the webhook, please review the webhooks developer documentation by clicking here.

Click here for an example of the Candidate Hired JSON schema. The webhook for your Greenhouse Recruiting instance will contain all of the same object keys for Greenhouse's standard fields. The only keys that will be unique to your Greenhouse Recruiting instance are those in the custom_fields array for each object.

To create a webhook, click the Configure icon Configure.png > Dev Center > Web Hooks > Web Hooks. Then provide the following details: 

  • Name: We recommend something easily identifiable to an end user, such as Workday candidate export.
  • When: Candidate has been hired
  • Endpoint URL: The Workday URL that will receive and transform the candidate data.
  • Secret key: This can be set to any value. Greenhouse Recruiting combines the value set with the body of the webhook and uses the SHA256 algorithm to generate a signature header to include in the payload. When the webhook listener receives the webhook, the integration should compute the HMAC digest using the secret key and the body of the payload, then verify that Greenhouse sent the webhook by comparing the signature header that was previously generated with the signature header included in the webhook.
  • Error recipient email: The address that receives an email notification if the webhook fails. There is no in-app notification if the webhook fails after the initial ping (see below, so we recommend specifying an internal admin to receive the notification.


If your Workday endpoint requires additional Basic or OAuth authentication, click Advanced settings. You can enter additional webhook headers as required, and configure the number of retry attempts Greenhouse Recruiting should make if the webhook fails. The default number of retry attempts is 25. Click here to learn more about the webhooks retry policy.


Click Create Webhook to complete the setup. Greenhouse then pings your endpoint. If the ping is accepted successfully, the endpoint is created. If the ping is unsuccessful, the configurations are saved, but the webhook is deactivated. 

To continue/edit the webhook setup, click the Edit icon edit_2.png to adjust the configuration. Once you've made the necessary changes, set the Disabled? option to No

Click Update Webhook to try saving the webhook again. Repeat as needed until configurations are saved and the webhook is enabled.