Hirevire
Integrations

Fetch application details via webhooks

Overview

Hirevire does not expose a public API for fetching application data. Instead, use custom webhooks to receive full application payloads automatically when candidates submit responses or move between stages.

This guide shows you how to configure webhooks, parse application payloads including video and audio URLs, and integrate with automation tools like Make.com.

Custom webhooks with advanced payloads require the Agency plan. Basic webhooks are available on the Professional plan.

Why webhooks instead of an API

Hirevire pushes application data to your endpoint in real-time when events occur. This eliminates the need to poll for updates and ensures your workflows receive candidate information immediately after submission.

Webhooks deliver complete application details including:

  • Applicant contact information and resume links

  • Direct video and audio response URLs

  • AI-generated transcripts in 90+ languages

  • File uploads and text answers

  • Stage changes and metadata

Configure webhooks in Hirevire

Set up webhooks on a per-job basis to send application data to your endpoint.

Step 1: Prepare your endpoint

Your webhook endpoint must accept POST requests with JSON payloads and return a 200 status code. Hirevire will retry failed deliveries up to 3 times.

If you're using Make.com, Zapier, or similar tools, generate a webhook URL from their platform first (covered in the Make.com section below).

Step 2: Add webhook URL to your job

  1. Navigate to Jobs and select the job you want to monitor

  2. Click the Settings tab

  3. Open the Webhook section

  4. Paste your endpoint URL (e.g., https://api.example.com/webhooks/applications)

Step 3: Choose triggers

Select when Hirevire should send data to your endpoint:

  • On new application: Sends payload when a candidate completes and submits their screening

  • On stage change: Sends payload when you manually move a candidate between stages after submission

You can enable both triggers simultaneously.

Webhooks do not fire for pre-submission stages. Candidates in "Invited" or "In-progress" status have not yet submitted their application, so these stages do not trigger webhooks. See "Understanding webhook triggers" below for details.

Step 4: Enable advanced webhook data

Toggle "Include answers, video urls and transcripts" to receive full application details including media links and AI transcripts. Without this setting, you'll only receive basic applicant metadata.

If your webhook payload doesn't include video URLs or transcript data, verify that the advanced toggle is enabled. This is the most common configuration issue.

Step 5: Test and save

Click Test trigger to send a sample payload to your endpoint. Verify your system receives and processes the data correctly, then click Save.

Monitor delivery status in Logs > Webhooks tab. Failed deliveries will show error details.

Understanding webhook triggers

Webhooks fire only for submitted applications, not pre-submission candidate activity. This prevents duplicate or incomplete data from reaching your integrations.

What triggers webhooks

New submission event: Fires when a candidate completes their screening and clicks submit. The application moves from "In-progress" to "New" or "To be reviewed" status. The webhook payload includes all answers, media URLs, and transcripts.

Stage change event: Fires when you manually move an application between stages after submission. This includes moving from "To be reviewed" to custom stages like "Interview" or "Rejected." The payload includes both the previous and current stage.

What does NOT trigger webhooks

These candidate states do not fire webhooks:

Webhooks only fire after a candidate submits their complete application or you change the stage of a submitted application.

If you need to track invited candidates or in-progress applications, export this data manually via CSV from your job dashboard or use the bulk invite feature to manage outreach separately.

Sample webhook payloads

Here are example payloads for each trigger type to help you build integrations.

New submission payload:

{
  "id": 12345,
  "jobID": 789,
  "jobTitle": "Senior Developer",
  "applicantName": "John Doe",
  "applicantEmail": "[email protected]",
  "applicantContactNumber": "+1234567890",
  "customFieldValue": "Referral code ABC",
  "applicantResumeURL": "https://storage.hirevire.com/resumes/resume.pdf",
  "shareableURL": "https://app.hirevire.com/shared/links/abc123",
  "submittedOn": "2025-01-15T10:30:00Z",
  "previousStage": null,
  "currentStage": "New",
  "answers": [
    {
      "question": {
        "id": "q_123",
        "text": "Tell us about yourself",
        "responseType": "Video"
      },
      "id": 456,
      "url": "https://storage.hirevire.com/videos/candidate-response.mp4",
      "transcript": "I have 5 years of experience in full-stack development...",
      "numberOfRetakes": 2
    },
    {
      "question": {
        "id": "q_124",
        "text": "Why do you want this role?",
        "responseType": "Text"
      },
      "id": 457,
      "text": "I'm passionate about building scalable applications..."
    }
  ]
}

Stage change payload:

{
  "id": 12345,
  "jobID": 789,
  "jobTitle": "Senior Developer",
  "applicantName": "John Doe",
  "applicantEmail": "[email protected]",
  "applicantContactNumber": "+1234567890",
  "customFieldValue": "Referral code ABC",
  "applicantResumeURL": "https://storage.hirevire.com/resumes/resume.pdf",
  "shareableURL": "https://app.hirevire.com/shared/links/abc123",
  "submittedOn": "2025-01-15T10:30:00Z",
  "previousStage": "New",
  "currentStage": "Interview",
  "answers": [
    {
      "question": {
        "id": "q_123",
        "text": "Tell us about yourself",
        "responseType": "Video"
      },
      "id": 456,
      "url": "https://storage.hirevire.com/videos/candidate-response.mp4",
      "transcript": "I have 5 years of experience in full-stack development...",
      "numberOfRetakes": 2
    },
    {
      "question": {
        "id": "q_124",
        "text": "Why do you want this role?",
        "responseType": "Text"
      },
      "id": 457,
      "text": "I'm passionate about building scalable applications..."
    }
  ]
}

The key difference: previousStage is null for new submissions and populated for stage changes.

Understanding webhook payloads

When a webhook triggers, Hirevire sends a POST request with a JSON payload containing the complete application.

Key payload fields

Applicant metadata:

  • id: Unique application ID

  • applicantName, applicantEmail, applicantContactNumber: Contact details

  • applicantResumeURL: Direct download link to uploaded resume

  • shareableURL: Link to view the full application in Hirevire

  • submittedOn: ISO 8601 timestamp

  • currentStage / previousStage: Workflow stage information

Answers array: Each answer object contains:

  • question.text and question.responseType: What was asked and how

  • url: Direct link to video or audio file (MP4/WebM format)

  • transcript: AI-generated text transcript if enabled

  • text: Text answer content

  • fileURLs: Array of uploaded file links

  • numberOfRetakes: How many times the candidate re-recorded

Parse the answers array based on responseType to handle different question formats. Video and audio responses use the url field, while text responses use text and file uploads use fileURLs.

Integrate with Make.com

Make.com (formerly Integromat) can receive Hirevire webhooks and route application data to your CRM, ATS, or other systems.

Generate a webhook URL in Make.com

  1. Create a new scenario in Make.com

  2. Add a Webhooks module as the first step

  3. Select Custom webhook

  4. Click Add to create a new webhook

  5. Copy the generated webhook URL

Connect Make.com to Hirevire

  1. Paste the Make.com webhook URL into your Hirevire job settings (see configuration steps above)

  2. Enable the advanced toggle to include media URLs

  3. Click Test trigger in Hirevire

  4. Return to Make.com and verify the test payload appears

  5. Click Determine data structure to map fields

  6. Add subsequent modules to process the data (e.g., create records in Google Sheets, send to Slack, update ATS)

Once configured, Make.com will receive application data automatically when candidates submit responses.

Make.com scenarios let you filter applications by stage, parse video transcripts for keywords, or route candidates to different workflows based on their answers.

Download and store media files

Video and audio URLs in webhook payloads are direct download links. You can fetch these files programmatically or manually.

Best practices for media handling

  • Download immediately: Media files expire based on your plan's retention period (90 days on all plans). Download critical recordings to your own storage as soon as webhooks arrive.

  • Secure storage: Store candidate videos with appropriate access controls and encryption. Follow GDPR guidelines if processing EU applicants.

  • Bandwidth considerations: Video files can be large (5-50 MB per recording). Use background jobs or queues to download files asynchronously without blocking your webhook endpoint.

  • Verify downloads: Check HTTP response codes and file sizes to ensure successful transfers.

For manual download options and browser-based workflows, see How to download video and audio responses from applications.

Troubleshooting common issues

Webhook payload missing video URLs

Ensure the "Include answers, video urls and transcripts" toggle is enabled in your job's webhook settings. Basic webhooks only send applicant metadata without answer details.

Endpoint not receiving data

Check the following:

  • Your endpoint URL is publicly accessible via HTTPS

  • Your server returns a 200 status code on POST requests

  • Review Logs > Webhooks in Hirevire for error messages

  • Test your endpoint with tools like Postman or curl using the sample payload

Media files are deleted after your plan's retention period. Upgrade to a longer retention plan or purchase the storage extension add-on ($9 per job) to keep files for 30 additional days beyond your plan limit.

Transcript fields are empty

AI transcripts are included on all paid plans. If transcripts aren't appearing, verify that transcripts are enabled in your job's question settings.

Hirevire retries failed webhook deliveries 3 times with exponential backoff. If all retries fail, you'll need to manually retrieve the application via the Hirevire dashboard or fix your endpoint and re-trigger the webhook.

Security and data retention

Webhook payloads contain sensitive candidate information. Follow these guidelines:

  • Use HTTPS endpoints: Encrypt data in transit to prevent interception

  • Validate webhook sources: Verify requests originate from Hirevire's servers (check IP ranges or implement webhook signatures if available)

  • Limit data retention: Store candidate videos and personal information only as long as needed for hiring decisions, then delete per GDPR/privacy requirements

  • Access controls: Restrict who can view candidate recordings and transcripts in your systems

  • Audit logs: Track who accessed application data and when

Hirevire automatically deletes candidate data after your retention period expires. Communicate your data handling practices to candidates in your job posting or privacy policy.

Recent webhook improvements

Hirevire recently enhanced webhook functionality with improved payload structure and configuration options. Review the custom webhook improvements changelog for the latest updates.

Next steps

  • Set up webhooks for your active jobs

  • Test payloads with your automation tools

  • Download critical candidate videos to your storage

  • Explore native integrations like Ashby ATS for tighter workflow integration

Was this helpful?