Skip to main content

Webhook Guide: Setup, Usage & Monitoring

Discover how to create, test, manage, and track webhooks to streamline workflows and seamlessly integrate IdealTraits with your other tools.

Jazmyne Behnke avatar
Written by Jazmyne Behnke
Updated over 2 weeks ago

In this article, we will cover the following:


Accessing the Webhook Manager

To get started, log in to your IdealTraits account and navigate to the Marketplace. From the Marketplace menu, select Webhook Manager to open the tool.


Creating a Webhook

Inside the Webhook Manager, click the Add New button to begin setting up a webhook. You'll be prompted to complete the following required fields:

  • Webhook Name

    • Enter a clear, unique name to help you easily identify the purpose of the webhook.

  • Webhook URL

    • This is the destination where IdealTraits will send data when the selected event is triggered.

  • Event Trigger

    • Choose the specific action in IdealTraits that will activate the webhook. For example, selecting “New Candidate Applies” will send candidate data to your webhook URL as soon as someone applies.

Once both the Webhook URL and Event Trigger are set, the 'Test' button will become active. Click it to send a sample payload and verify that the webhook is functioning correctly. In order to add or update a webhook, you must first test it - the save button will remain disabled until a test is completed.

  • Error Notifications

    • Insert the email address(es) you want to receive notifications in the event the webhook fails. See more on webhook failures.

  • Webhook Status

    • Use this toggle to activate the webhook immediately, or leave it off if you’re not ready to use it yet.

Once saved, your webhook will appear in the Webhook Manager along with its status, trigger type, and log access for monitoring activity.


Webhook Credits

The number of active webhooks you can use is based on your current plan. Your usage (e.g., “1/1 Webhooks Added”) will be displayed at the top of the Webhook Manager. If you are needing more webhook credits, please reach out to our support team for assistance.


Event Triggers & Payloads

Candidate-Based Event Triggers:

  • New Candidate Applies

  • Candidate Stage Changes

  • Assessment is Complete

  • Candidate is Tagged

  • Video Interview Invitation is Sent

  • Video Interview is Complete

    • Note: The payload delivery for Video Interview is Complete trigger is delayed for 30 minutes while gathering transcripts

  • Candidate is Hired

  • Candidate is Archived

Example Use Cases:

  • Send applicant data to your HRIS, CRM, Payroll system or internal dashboards

  • Start a custom workflow in tools like Zapier or Make

  • Notify hiring managers when a candidate reaches a key stage

  • Trigger background checks or external interview scheduling tools

  • Update internal hiring metrics or dashboards in external systems

Payload:

Field Name

Description

candidate_ID

IdealTraits unique identifier for the candidate

First_name

Candidate first name

Last_name

Candidate last name

Email

Candidate email

Phone_no

Candidate phone number

Smstext_consent

Whether or not the candidate opted to receive mobile alerts pertaining to the job they applied to. Can be "Consented" or "Did not consent".

Business_ID

IdealTraits unique identifier for the business account

Source

Candidate apply source

Location_applied

The company location the candidate applied to

Webhook_tag

"New" for new candidates

"Update" for existing candidates

Candidate_tags

Any tags you’ve manually added to the candidate (ie. “Qualified”, “Needs Follow-up”). Blank means no tags have been added.

Resume_URL

A URL link to the candidate’s resume. If blank, no resume was uploaded.

Job_ID

IdealTraits unique identifier for the job applied

Job_title

The title of the job the candidate applied to. If blank, the candidate may have been added manually.

Position_name

The internal name of the position this candidate is associated with in your account.

Star_rating

A star rating you (or your team) gave the candidate. If blank, no rating was given.

Assessment_username

Candidate username for the assessment

Assessment_ID

IdealTraits unique identifier for the assessment test

Assessment_URL

The invitation URL sent to the candidate to take their assessment test.

Assessment_current_page

The current page the candidate is on in their assessment test

Assessment_summary_URL

A URL link to the candidate’s assessment results.

Personality_profile_result

The candidate’s personality type result.

Problem_solving_result

The candidate’s problem-solving result type.

Problem_solving_score

The candidate’s problem-solving result score.

Self_perception_motivation_drive

Represents the numerical value in the candidate’s personality index for Self-Perception: Motivation and Drive

Self_perception_persuasive_convincing

Represents the numerical value in the candidate’s personality index for Self-Perception: Persuasiveness

Self_perception_structure_routine

Represents the numerical value in the candidate’s personality index for Self-Perception: Structure and Routine

Self_perception_thorough_compliance

Represents the numerical value in the candidate’s personality index for Self-Perception: Thoroughness and Compliance

Under_pressure_motivation_drive

Represents the numerical value in the candidate’s personality index for Under Pressure: Motivation and Drive

Under_pressure_persuasive_convincing

Represents the numerical value in the candidate’s personality index for Under Pressure: Persuasiveness

Under_pressure_structure_routine

Represents the numerical value in the candidate’s personality index for Under Pressure: Structure and Routine

Under_pressure_thorough_compliance

Represents the numerical value in the candidate’s personality index for Under Pressure: Thoroughness and Compliance

Others_perception_motivation_drive

Represents the numerical value in the candidate’s personality index for Others Perception: Motivation and Drive

Others_perception_persuasive_convincing

Represents the numerical value in the candidate’s personality index for Others Perception: Persuasiveness

Others_perception_structure_routine

Represents the numerical value in the candidate’s personality index for Others Perception: Structure and Routine

Others_perception_thorough_compliance

Represents the numerical value in the candidate’s personality index for Others Perception: Thoroughness and Compliance

Short_answer_question_{1,2,3..}

Assessment short-answer question.

Short answer questions will appear as short_answer_question_1, short_answer_question_2, and so on, for the number of questions being asked in the assessment.

Short_answer_{1,2,3..}

Assessment short-answer answer.

Short answer answer will appear as short_answer_1, short_answer_2, and so on, for the number of questions being asked in the assessment.

PQQ_question_{1,2,3..}

Pre-qualifying question.

PQQ questions will appear as pqq_question_1, pqq_question_2, and so on, for the number of questions being asked in PQQ.

PQQ_answer_{1,2,3..}

Pre-qualifying question answer.

PQQ answers will appear as pqq_answer_1, pqq_answer_2, and so on, for the number of questions being asked in PQQ.

PQQ_score_{1,2,3..}

The score the candidate received for their answer (typically 0 or 10). If blank, the question may not have been scored or answered.

PQQ score will appear as pqq_score_1, pqq_score_2, and so on, for the number of questions with scoring, being asked in PQQ.

Video_invite_date

The date and time a video interview invitation was sent to the candidate.

Video_interview_status

Status of video interview, if video interview is sent to a candidate, this field will be "Sent", "In-Progress" or "Complete".

Video_question_{1,2,3..}

Video Interview question.

Video Interview questions will appear as video_question_1, video_question_2, and so on, for the number of questions being asked in the video interview.

Video_transcription_{1,2,3..}

Video Interview transcriptions.

Video Interview transcriptions will appear as video_transcription_1, video_transcription_2, and so on, for the number of questions being asked in the video interview.

Archive_tag

The tag that was applied when the candidate was moved to the "Archived" stage. If blank, the candidate may not have been tagged with an archive tag, or is not in archive status.

Offer_expiration_date

Offer letter expiration date if an offer letter was sent via the IdealTraits system. If blank, no offer letter was sent.

Offer_created_date

Offer letter created date if an offer letter was sent via the IdealTraits system. If blank, no offer letter was sent.

Offer_signed_date

Offer letter signed date if an offer letter was sent via the IdealTraits system. If blank, no offer letter was sent.

Hired_date

Candidates Hired Date, if moved to hired status via the IdealTraits system. If blank, candidate was not moved to hired.

Event Triggers & Payloads

Job-Based Event Triggers:

  • Job ad is posted/updated

Example Use Cases:

  • Sync job listings with external systems

  • Automate social media posts or email campaigns

  • Notify your team internal when a new position is posted

Payload:

Field Name

Description

job_ID

IdealTraits unique identifier for the job posting

Business_ID

IdealTraits unique identifier for the business account

Job_title

The title of the job posting.

Location

The company location associated with the job posting

Date_posted

The datetime the job was posted

Date_modified

The datetime the job was modified

Job_status

The status of the job in IdealTraits. Can be Paused/Draft, Active, Sponsored, Expired or Archived

Job_category

The job category assigned to the job posting

Position_name

The position assigned to the job posting

Remote_type

The remote type associated with the job. Can be Fully Remote, Hybrid Remote or No (in-office)

Job_type

The job type. Can be Full-Time, Part-Time, Either Full-Time or Part-Time, or Contractor

Salary_range

The salary / salary range listed on the job ad. Will be "-" if no salary is listed.

Salary_per

The salary per is taken from the salary information listed on the job ad and can be hour, day, month or year. Will be blank if no salary is listed.

Salary_type

The salary type selected on the job listing, for example: Annual Base Salary + Commission + Bonus Opportunities

Job_description

HTML of the job description

Job_responsibilities

HTML of the job responsibilities

Job_requirements

HTML of the job requirements

Job_benefits

HTML of the job benefits

Job_url

URL for the job landing page and apply portal.

Indeed_status

Can be free or sponsor

Indeed_budget

Budget applied for indeed campaign, can be 0 if no sponsorship is applied.

indeed_sponsor_duration

Duration selected for Indeed campaign, can be NULL if no sponsorship is applied.

Ziprecruiter_status

Can be free or sponsor

Ziprecruiter_budget

Budget applied for ZipRecruiter Boost, can be 0 if no sponsorship is applied.

PQQ_question_{1,2,3..}

Pre-qualifying question.

PQQ questions will appear as pqq_question_1, pqq_question_2, and so on, for the number of questions being asked in PQQ.

PQQ_question_{1,2,3..}_scoring

Indicates whether the question has scoring enabled, can be Y (scoring enabled) or N (scoring not enabled).

PQQ score will appear as PQQ_question_1_scoring, PQQ_question_2_scoring, and so on, for the number of questions with scoring, being asked in PQQ.


Logs, Failures & Notifications

Webhook Logs

You can see how many times a payload was sent and view its full details by opening the action menu and selecting "View Logs."

Webhook Failures

If a webhook fails, IdealTraits will automatically retry up to five times. If all five attempts are unsuccessful, an alert will be sent to the email address(es) listed in the "Error Notification" field. After the final failed attempt, that specific record will be skipped, but future payloads will continue to send as normal.

Retrying Webhook Failures

To manually retry a failed webhook delivery, go to the Webhook Logs, locate the failed attempt, and click the 'Retry' button next to it. This allows you to resend the exact payload on demand.

Did this answer your question?